mh yes colores

This commit is contained in:
HbmMods 2026-06-02 21:13:56 +02:00
parent b97d1cf5d9
commit a39f82fa53
18 changed files with 190 additions and 81 deletions

View File

@ -75,6 +75,12 @@
* Using state of the art anti-leave-the-screen technology, recipe tooltips (and most tooltips used by `GuiInfoScreen`) should no longer leave the screen
* This means that the recipe selector can now have the tooltip follow the mouse instead of being eternally stuck in the corner
* Recipe selector tooltips now have a nice orange and yellow border
* The nuclear charge and demolition nuclear grenade charge now need neutron reflectors
* Schrabidium grenade charges now use CMB steel instead of bronze
* The satellite base now only uses a medium thruster instead of a large one, making it no longer post pyrolysis
* The steel recipe in the crucible now requires flux
* The recipe is also now a fair bit slower (still faster than a blast furnace overall)
* Remodeled the catalytic reformer
## Fixed
* Fixed RoR graph showing the wrong name in the GUI

View File

@ -277,8 +277,8 @@ public class WeaponRecipes {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_filling, 4, EnumGrenadeFilling.PLASMA.ordinal()), new Object[] { " C ", "KWK", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CAPACITOR_BOARD), 'K', ModItems.cell_tritium, 'W', WEAPONSTEEL.plate() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_filling, 4, EnumGrenadeFilling.LASER.ordinal()), new Object[] { " C ", "KWK", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ATOMIC_CLOCK), 'K', ModItems.crystal_redstone, 'W', WEAPONSTEEL.plate() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_filling, 1, EnumGrenadeFilling.NUCLEAR.ordinal()), new Object[] { " T ", "CPC", " T ", 'T', ModItems.ball_tatb, 'C', WEAPONSTEEL.plate(), 'P', PU239.nugget() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_filling, 1, EnumGrenadeFilling.NUCLEAR_DEMO.ordinal()), new Object[] { "TPT", "CPC", "TPT", 'T', ModItems.ball_tatb, 'C', WEAPONSTEEL.plate(), 'P', PU239.nugget() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_filling, 1, EnumGrenadeFilling.SCHRAB.ordinal()), new Object[] { "BCB", "TST", "BCB", 'B', ANY_BISMOIDBRONZE.plateCast(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CONTROLLER), 'T', ModItems.ball_tatb, 'S', ModItems.cell_sas3 });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_filling, 1, EnumGrenadeFilling.NUCLEAR_DEMO.ordinal()), new Object[] { "TPT", "CPC", "TPT", 'T', ModItems.ball_tatb, 'C', ModItems.neutron_reflector, 'P', PU239.nugget() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_filling, 1, EnumGrenadeFilling.SCHRAB.ordinal()), new Object[] { "BCB", "TST", "BCB", 'B', CMB.plateCast(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CONTROLLER), 'T', ModItems.ball_tatb, 'S', ModItems.cell_sas3 });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_extra, 1, EnumGrenadeExtra.GLUE.ordinal()), new Object[] { " P ", "PSP", " P ", 'P', Items.paper, 'S', Items.slime_ball });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_extra, 1, EnumGrenadeExtra.PROXY_FUZE.ordinal()), new Object[] { "C", "F", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), 'F', ModItems.safety_fuse });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_extra, 1, EnumGrenadeExtra.FRAG_SLEEVE.ordinal()), new Object[] { "BBB", " T ", "BBB", 'B', STEEL.bolt(), 'T', ModItems.ducttape });

View File

@ -1,12 +1,12 @@
package com.hbm.handler.nei;
import java.awt.Rectangle;
import java.util.Locale;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.gui.GUIMachineArcWelder;
import com.hbm.inventory.recipes.ArcWelderRecipes;
import com.hbm.inventory.recipes.ArcWelderRecipes.ArcWelderRecipe;
import com.hbm.util.BobMathUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
@ -48,11 +48,11 @@ public class ArcWelderHandler extends NEIUniversalHandler {
}
FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
String duration = String.format(Locale.US, "%,d", arc.duration) + " ticks";
String consumption = String.format(Locale.US, "%,d", arc.consumption) + " HE/t";
int side = 160;
fontRenderer.drawString(duration, side - fontRenderer.getStringWidth(duration), 43, 0x404040);
fontRenderer.drawString(consumption, side - fontRenderer.getStringWidth(consumption), 55, 0x404040);
String duration = BobMathUtil.getShortNumber(arc.duration) + " ticks";
String consumption = BobMathUtil.getShortNumber(arc.consumption) + "HE/t";
int side = 164;
fontRenderer.drawString(duration, side - fontRenderer.getStringWidth(duration), 45, 0x404040);
fontRenderer.drawString(consumption, side - fontRenderer.getStringWidth(consumption), 57, 0x404040);
return;
}
}

View File

@ -320,4 +320,10 @@ public abstract class NEIGenericRecipeHandler extends TemplateRecipeHandler impl
drawTexturedModalRect(74 + this.getMachineXOffset(rec.recipe), 7, 77, 87, 18, 50);
}
}
@Override
public void drawExtras(int recipe) {
RecipeSet rec = (RecipeSet) this.arecipes.get(recipe);
rec.recipe.printNEIExtras();
}
}

View File

@ -11,6 +11,7 @@ import com.hbm.inventory.FluidStack;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.gui.GuiInfoContainer;
import com.hbm.inventory.gui.element.GUIElements;
import com.hbm.items.ModItems;
import com.hbm.items.machine.IItemFluidIdentifier;
import com.hbm.util.BobMathUtil;
@ -247,7 +248,7 @@ public class FluidTank implements Cloneable {
}
type.addInfo(list);
gui.drawInfo(list.toArray(new String[0]), mouseX, mouseY);
GUIElements.drawHoveringTextFluid(list, mouseX, mouseY, gui.getFontRenderer(), gui.getItemRenderer(), gui.width, gui.height, this.type);
}
}

View File

@ -9,6 +9,7 @@ import org.lwjgl.input.Keyboard;
import org.lwjgl.opengl.GL11;
import com.hbm.inventory.container.ContainerCrucible;
import com.hbm.inventory.gui.element.GUIElements;
import com.hbm.inventory.material.Mats;
import com.hbm.inventory.material.Mats.MaterialStack;
import com.hbm.inventory.material.NTMMaterial.SmeltingBehavior;
@ -52,7 +53,7 @@ public class GUICrucible extends GuiInfoContainer {
if(guiLeft + 106 <= x && guiLeft + 106 + 18 > x && guiTop + 80 < y && guiTop + 80 + 18 >= y) {
if(this.crucible.recipe != null && CrucibleRecipes.INSTANCE.recipeNameMap.containsKey(this.crucible.recipe)) {
CrucibleRecipe recipe = (CrucibleRecipe) CrucibleRecipes.INSTANCE.recipeNameMap.get(this.crucible.recipe);
this.func_146283_a(recipe.print(), x, y);
GUIElements.drawHoveringTextRecipe(recipe.print(), x, y, this.fontRendererObj, itemRender, this.width, this.height);
} else {
this.drawCreativeTabHoveringText(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("gui.recipe.setRecipe"), x, y);
}

View File

@ -59,7 +59,7 @@ public class GUIFusionTorus extends GuiInfoContainer {
if(guiLeft + 43 <= mouseX && guiLeft + 43 + 18 > mouseX && guiTop + 80 < mouseY && guiTop + 80 + 18 >= mouseY) {
if(recipe != null) {
this.func_146283_a(recipe.print(), mouseX, mouseY);
GUIElements.drawHoveringTextRecipe(recipe.print(), mouseX, mouseY, this.fontRendererObj, itemRender, this.width, this.height);
} else {
this.drawCreativeTabHoveringText(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("gui.recipe.setRecipe"), mouseX, mouseY);
}

View File

@ -6,7 +6,9 @@ import java.util.List;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.lib.RefStrings;
import com.hbm.util.ColorUtil;
import com.hbm.util.Vec3NT;
import net.minecraft.client.Minecraft;
@ -99,6 +101,18 @@ public class GUIElements {
drawHoveringText(lines, x, y, font, itemRender, guiWidth, guiHeight, 6, STANDARD_LINE_DIST, STANDARD_COLOR_BACKGROUND, STANDARD_COLOR_BACKGROUND, RECIPE_COLOR_LINE0, RECIPE_COLOR_LINE1);
}
public static void drawHoveringTextFluid(List lines, int x, int y, FontRenderer font, RenderItem itemRender, int guiWidth, int guiHeight, FluidType type) {
int color0 = type.getColor();
int r = ColorUtil.ir(color0);
int g = ColorUtil.ig(color0);
int b = ColorUtil.ib(color0);
int add = (r + g + b) / 3 > 0x80 ? -0x40 : 0x40;
int color1 = ColorUtil.color(MathHelper.clamp_int(r + add, 0, 255), MathHelper.clamp_int(g + add, 0, 255), MathHelper.clamp_int(b + add, 0, 255));
color0 |= 0xff000000;
color1 |= 0xff000000;
drawHoveringText(lines, x, y, font, itemRender, guiWidth, guiHeight, 6, STANDARD_LINE_DIST, STANDARD_COLOR_BACKGROUND, STANDARD_COLOR_BACKGROUND, color0, color1);
}
public static void drawHoveringText(List lines, int x, int y, FontRenderer font, RenderItem itemRender, int guiWidth, int guiHeight, int headerOffset, int lineDist, int colBG0, int colBG1, int colLine0, int colLine1) {
if(!lines.isEmpty()) {

View File

@ -946,7 +946,7 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
this.register(new GenericRecipe("ass.satellitebase").setup(600, 100).outputItems(new ItemStack(ModItems.sat_base, 1))
.inputItems(new OreDictStack(RUBBER.ingot(), 12),
new OreDictStack(TI.shell(), 3),
new ComparableStack(ModItems.thruster_large, 1),
new ComparableStack(ModItems.thruster_medium, 1),
new ComparableStack(ModItems.part_generic, 8, EnumPartType.LDE),
new ComparableStack(ModItems.plate_desh, 4),
new ComparableStack(ModItems.fluid_barrel_full, 1, Fluids.KEROSENE.getID()),

View File

@ -60,19 +60,19 @@ public class CrucibleRecipes extends GenericRecipes<CrucibleRecipe> {
int n = MaterialShapes.NUGGET.q(1);
int i = MaterialShapes.INGOT.q(1);
this.register(new CrucibleRecipe("crucible.steel").setup(2, new ItemStack(ModItems.ingot_steel))
.inputs(new MaterialStack(Mats.MAT_IRON, n * 2), new MaterialStack(Mats.MAT_CARBON, n))
this.register(new CrucibleRecipe("crucible.steel").setup(20, new ItemStack(ModItems.ingot_steel))
.inputs(new MaterialStack(Mats.MAT_IRON, n * 2), new MaterialStack(Mats.MAT_CARBON, n * 3), new MaterialStack(Mats.MAT_FLUX, n))
.outputs(new MaterialStack(Mats.MAT_STEEL, n * 2)));
if(Compat.isModLoaded(Compat.MOD_GT6)) {
this.register(new CrucibleRecipe("crucible.steelWrought").setup(2, new ItemStack(ModItems.ingot_steel))
.inputs(new MaterialStack(Mats.MAT_WROUGHTIRON, n * 2), new MaterialStack(Mats.MAT_CARBON, n))
this.register(new CrucibleRecipe("crucible.steelWrought").setup(20, new ItemStack(ModItems.ingot_steel))
.inputs(new MaterialStack(Mats.MAT_WROUGHTIRON, n * 2), new MaterialStack(Mats.MAT_CARBON, n * 3), new MaterialStack(Mats.MAT_FLUX, n))
.outputs(new MaterialStack(Mats.MAT_STEEL, n * 2)));
this.register(new CrucibleRecipe("crucible.steelPig").setup(2, new ItemStack(ModItems.ingot_steel))
.inputs(new MaterialStack(Mats.MAT_PIGIRON, n * 2), new MaterialStack(Mats.MAT_CARBON, n))
this.register(new CrucibleRecipe("crucible.steelPig").setup(20, new ItemStack(ModItems.ingot_steel))
.inputs(new MaterialStack(Mats.MAT_PIGIRON, n * 2), new MaterialStack(Mats.MAT_CARBON, n * 3), new MaterialStack(Mats.MAT_FLUX, n))
.outputs(new MaterialStack(Mats.MAT_STEEL, n * 2)));
this.register(new CrucibleRecipe("crucible.steelMeteoric").setup(2, new ItemStack(ModItems.ingot_steel))
.inputs(new MaterialStack(Mats.MAT_METEORICIRON, n * 2), new MaterialStack(Mats.MAT_CARBON, n))
this.register(new CrucibleRecipe("crucible.steelMeteoric").setup(20, new ItemStack(ModItems.ingot_steel))
.inputs(new MaterialStack(Mats.MAT_METEORICIRON, n * 2), new MaterialStack(Mats.MAT_CARBON, n * 3), new MaterialStack(Mats.MAT_FLUX, n))
.outputs(new MaterialStack(Mats.MAT_STEEL, n * 2)));
}

View File

@ -5,8 +5,11 @@ import java.util.List;
import com.hbm.inventory.recipes.loader.GenericRecipe;
import com.hbm.util.BobMathUtil;
import com.hbm.util.Clock;
import com.hbm.util.i18n.I18nUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.util.EnumChatFormatting;
public class FusionRecipe extends GenericRecipe {
@ -43,4 +46,22 @@ public class FusionRecipe extends GenericRecipe {
return list;
}
@Override
public void printNEIExtras() {
int side = 164;
FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
String duration = BobMathUtil.getShortNumber(this.duration) + " ticks";
fontRenderer.drawString(duration, side - fontRenderer.getStringWidth(duration), 45, 0x404040);
if(Clock.get_ms() % 2000 < 1000) {
String consumption = BobMathUtil.getShortNumber(this.power) + "HE/t";
fontRenderer.drawString(consumption, side - fontRenderer.getStringWidth(consumption), 57, 0x404040);
} else {
String temp = BobMathUtil.getShortNumber(this.ignitionTemp) + "Ky/t";
fontRenderer.drawString(temp, side - fontRenderer.getStringWidth(temp), 57, 0xa000a0);
}
}
}

View File

@ -0,0 +1,24 @@
package com.hbm.inventory.recipes;
import com.hbm.inventory.recipes.loader.GenericRecipe;
import com.hbm.util.BobMathUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
public class PUREXRecipe extends GenericRecipe {
public PUREXRecipe(String name) {
super(name);
}
@Override
public void printNEIExtras() {
FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
String line = BobMathUtil.getShortNumber(this.duration) + " ticks " + BobMathUtil.getShortNumber(this.power) + "HE/t";
int side = 164;
fontRenderer.drawString(line, side - fontRenderer.getStringWidth(line), 57, 0x306030); // why so geen
}
}

View File

@ -10,7 +10,6 @@ import com.hbm.inventory.FluidStack;
import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.inventory.RecipesCommon.OreDictStack;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.recipes.loader.GenericRecipe;
import com.hbm.inventory.recipes.loader.GenericRecipes;
import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemPWRFuel.EnumPWRFuel;
@ -19,7 +18,7 @@ import com.hbm.items.machine.ItemWatzPellet.EnumWatzType;
import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
public class PUREXRecipes extends GenericRecipes<PUREXRecipe> {
public static final PUREXRecipes INSTANCE = new PUREXRecipes();
@ -29,7 +28,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
@Override public int outputFluidLimit() { return 1; }
@Override public String getFileName() { return "hbmPUREX.json"; }
@Override public GenericRecipe instantiateRecipe(String name) { return new GenericRecipe(name); }
@Override public PUREXRecipe instantiateRecipe(String name) { return new PUREXRecipe(name); }
@Override
public void registerDefaults() {
@ -41,7 +40,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
long watzPower = 10_000;
long vitrification = 1_000;
this.register(new GenericRecipe("purex.uzh").setup(600, 1_000)
this.register((PUREXRecipe) new PUREXRecipe("purex.uzh").setup(600, 1_000)
.inputItems(new ComparableStack(ModItems.billet_uranium_fuel),
new OreDictStack(ZR.billet(), 3))
.inputFluids(new FluidStack(Fluids.NITRIC_ACID, 1000), new FluidStack(Fluids.HYDROGEN, 4000))
@ -49,7 +48,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
//CP-1
String autoPile = "autoswitch.pile";
this.register(new GenericRecipe("purex.pilepu").setup(40, pilePower).setNameWrapper("purex.recycle").setGroup(autoPile, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.pilepu").setup(40, pilePower).setNameWrapper("purex.recycle").setGroup(autoPile, this)
.inputItems(new ComparableStack(ModItems.pile_rod_plutonium))
.inputFluids(new FluidStack(Fluids.SULFURIC_ACID, 100))
.outputItems(new ItemStack(ModItems.billet_pu_mix, 2),
@ -57,7 +56,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.plate_iron, 2))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.pilepu239").setup(40, pilePower).setNameWrapper("purex.recycle").setGroup(autoPile, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.pilepu239").setup(40, pilePower).setNameWrapper("purex.recycle").setGroup(autoPile, this)
.inputItems(new ComparableStack(ModItems.pile_rod_pu239))
.inputFluids(new FluidStack(Fluids.SULFURIC_ACID, 100))
.outputItems(new ItemStack(ModItems.billet_pu239, 1),
@ -68,7 +67,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
// ZIRNOX
String autoZirnox = "autoswitch.zirnox";
this.register(new GenericRecipe("purex.zirnoxnu").setup(100, zirnoxPower).setNameWrapper("purex.recycle").setGroup(autoZirnox, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.zirnoxnu").setup(100, zirnoxPower).setNameWrapper("purex.recycle").setGroup(autoZirnox, this)
.inputItems(new ComparableStack(ModItems.waste_natural_uranium))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_u238, 1),
@ -77,7 +76,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 2))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.zirnoxmeu").setup(100, zirnoxPower).setNameWrapper("purex.recycle").setGroup(autoZirnox, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.zirnoxmeu").setup(100, zirnoxPower).setNameWrapper("purex.recycle").setGroup(autoZirnox, this)
.inputItems(new ComparableStack(ModItems.waste_uranium))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_pu_mix, 1),
@ -86,7 +85,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 2))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.zirnoxthmeu").setup(100, zirnoxPower).setNameWrapper("purex.recycle").setGroup(autoZirnox, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.zirnoxthmeu").setup(100, zirnoxPower).setNameWrapper("purex.recycle").setGroup(autoZirnox, this)
.inputItems(new ComparableStack(ModItems.waste_thorium))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_u238, 1),
@ -95,7 +94,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 2))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.zirnoxmox").setup(100, zirnoxPower).setNameWrapper("purex.recycle").setGroup(autoZirnox, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.zirnoxmox").setup(100, zirnoxPower).setNameWrapper("purex.recycle").setGroup(autoZirnox, this)
.inputItems(new ComparableStack(ModItems.waste_mox))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_pu_mix, 1),
@ -104,7 +103,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 3))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.zirnoxmep").setup(100, zirnoxPower).setNameWrapper("purex.recycle").setGroup(autoZirnox, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.zirnoxmep").setup(100, zirnoxPower).setNameWrapper("purex.recycle").setGroup(autoZirnox, this)
.inputItems(new ComparableStack(ModItems.waste_plutonium))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_pu_mix, 2),
@ -112,7 +111,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 3))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.zirnoxheu233").setup(100, zirnoxPower).setNameWrapper("purex.recycle").setGroup(autoZirnox, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.zirnoxheu233").setup(100, zirnoxPower).setNameWrapper("purex.recycle").setGroup(autoZirnox, this)
.inputItems(new ComparableStack(ModItems.waste_u233))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_u235, 1),
@ -121,7 +120,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 3))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.zirnoxheu235").setup(100, zirnoxPower).setNameWrapper("purex.recycle").setGroup(autoZirnox, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.zirnoxheu235").setup(100, zirnoxPower).setNameWrapper("purex.recycle").setGroup(autoZirnox, this)
.inputItems(new ComparableStack(ModItems.waste_u235))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_pu238, 1),
@ -130,7 +129,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 3))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.zirnoxles").setup(100, zirnoxPower).setNameWrapper("purex.recycle").setGroup(autoZirnox, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.zirnoxles").setup(100, zirnoxPower).setNameWrapper("purex.recycle").setGroup(autoZirnox, this)
.inputItems(new ComparableStack(ModItems.waste_schrabidium))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_beryllium, 2),
@ -139,7 +138,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 2))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.zirnoxzfbmox").setup(100, zirnoxPower).setNameWrapper("purex.recycle").setGroup(autoZirnox, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.zirnoxzfbmox").setup(100, zirnoxPower).setNameWrapper("purex.recycle").setGroup(autoZirnox, this)
.inputItems(new ComparableStack(ModItems.waste_zfb_mox))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_zirconium, 3),
@ -150,7 +149,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
// Plate Fuel
String autoPlate = "autoswitch.plate";
this.register(new GenericRecipe("purex.platemox").setup(100, platePower).setNameWrapper("purex.recycle").setGroup(autoPlate, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.platemox").setup(100, platePower).setNameWrapper("purex.recycle").setGroup(autoPlate, this)
.inputItems(new ComparableStack(ModItems.waste_plate_mox))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.powder_sr90_tiny, 1),
@ -159,7 +158,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 4))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.platepu238be").setup(100, platePower).setNameWrapper("purex.recycle").setGroup(autoPlate, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.platepu238be").setup(100, platePower).setNameWrapper("purex.recycle").setGroup(autoPlate, this)
.inputItems(new ComparableStack(ModItems.waste_plate_pu238be))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_beryllium, 1),
@ -168,7 +167,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nugget_lead, 2))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.platepu239").setup(100, platePower).setNameWrapper("purex.recycle").setGroup(autoPlate, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.platepu239").setup(100, platePower).setNameWrapper("purex.recycle").setGroup(autoPlate, this)
.inputItems(new ComparableStack(ModItems.waste_plate_pu239))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_pu240, 2),
@ -177,7 +176,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 5))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.platera226be").setup(100, platePower).setNameWrapper("purex.recycle").setGroup(autoPlate, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.platera226be").setup(100, platePower).setNameWrapper("purex.recycle").setGroup(autoPlate, this)
.inputItems(new ComparableStack(ModItems.waste_plate_ra226be))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_beryllium, 2),
@ -186,7 +185,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nugget_lead, 1))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.platesa326").setup(100, platePower).setNameWrapper("purex.recycle").setGroup(autoPlate, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.platesa326").setup(100, platePower).setNameWrapper("purex.recycle").setGroup(autoPlate, this)
.inputItems(new ComparableStack(ModItems.waste_plate_sa326))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_solinium, 1),
@ -195,7 +194,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 6))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.plateu233").setup(100, platePower).setNameWrapper("purex.recycle").setGroup(autoPlate, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.plateu233").setup(100, platePower).setNameWrapper("purex.recycle").setGroup(autoPlate, this)
.inputItems(new ComparableStack(ModItems.waste_plate_u233))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_u235, 1),
@ -204,7 +203,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 6))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.plateu235").setup(100, platePower).setNameWrapper("purex.recycle").setGroup(autoPlate, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.plateu235").setup(100, platePower).setNameWrapper("purex.recycle").setGroup(autoPlate, this)
.inputItems(new ComparableStack(ModItems.waste_plate_u235))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_neptunium, 1),
@ -215,7 +214,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
// PWR
String autoPWR = "autoswitch.pwr";
this.register(new GenericRecipe("purex.pwrmeu").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.pwrmeu").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
.inputItems(new ComparableStack(ModItems.pwr_fuel_depleted, 1, EnumPWRFuel.MEU))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_u238, 3),
@ -224,7 +223,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 3))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.pwrheu233").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.pwrheu233").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
.inputItems(new ComparableStack(ModItems.pwr_fuel_depleted, 1, EnumPWRFuel.HEU233))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_u235, 3),
@ -233,7 +232,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 5))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.pwrheu235").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.pwrheu235").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
.inputItems(new ComparableStack(ModItems.pwr_fuel_depleted, 1, EnumPWRFuel.HEU235))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_neptunium, 3),
@ -242,7 +241,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 5))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.pwrmen").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.pwrmen").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
.inputItems(new ComparableStack(ModItems.pwr_fuel_depleted, 1, EnumPWRFuel.MEN))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_u238, 3),
@ -251,7 +250,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 3))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.pwrhen237").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.pwrhen237").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
.inputItems(new ComparableStack(ModItems.pwr_fuel_depleted, 1, EnumPWRFuel.HEN237))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_pu238, 2),
@ -260,7 +259,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 5))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.pwrmox").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.pwrmox").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
.inputItems(new ComparableStack(ModItems.pwr_fuel_depleted, 1, EnumPWRFuel.MOX))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_u238, 3),
@ -269,7 +268,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 3))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.pwrmep").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.pwrmep").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
.inputItems(new ComparableStack(ModItems.pwr_fuel_depleted, 1, EnumPWRFuel.MEP))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_lead, 2),
@ -278,7 +277,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 3))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.pwrhep239").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.pwrhep239").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
.inputItems(new ComparableStack(ModItems.pwr_fuel_depleted, 1, EnumPWRFuel.HEP239))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_pu_mix, 2),
@ -287,7 +286,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 5))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.pwrhep241").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.pwrhep241").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
.inputItems(new ComparableStack(ModItems.pwr_fuel_depleted, 1, EnumPWRFuel.HEP241))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_lead, 3),
@ -296,7 +295,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 6))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.pwrmea").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.pwrmea").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
.inputItems(new ComparableStack(ModItems.pwr_fuel_depleted, 1, EnumPWRFuel.MEA))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_lead, 3),
@ -305,7 +304,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 6))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.pwrhea242").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.pwrhea242").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
.inputItems(new ComparableStack(ModItems.pwr_fuel_depleted, 1, EnumPWRFuel.HEA242))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_lead, 3),
@ -314,7 +313,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 6))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.pwrhes326").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.pwrhes326").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
.inputItems(new ComparableStack(ModItems.pwr_fuel_depleted, 1, EnumPWRFuel.HES326))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_solinium, 3),
@ -323,7 +322,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 6))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.pwrhes327").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.pwrhes327").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
.inputItems(new ComparableStack(ModItems.pwr_fuel_depleted, 1, EnumPWRFuel.HES327))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_australium, 4),
@ -332,7 +331,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 6))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.pwrbfbam").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.pwrbfbam").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
.inputItems(new ComparableStack(ModItems.pwr_fuel_depleted, 1, EnumPWRFuel.BFB_AM_MIX))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_am_mix, 9),
@ -341,7 +340,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ItemStack(ModItems.nuclear_waste_tiny, 1))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.pwrbfpu241").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.pwrbfpu241").setup(100, pwrPower).setNameWrapper("purex.recycle").setGroup(autoPWR, this)
.inputItems(new ComparableStack(ModItems.pwr_fuel_depleted, 1, EnumPWRFuel.BFB_PU241))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_pu241, 9),
@ -351,7 +350,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
.setIconToFirstIngredient());
// Molten Salt
this.register(new GenericRecipe("purex.thoriumsalt").setup(20, 10_000).setIcon(ModItems.fluid_icon, Fluids.THORIUM_SALT.getID())
this.register((PUREXRecipe) new PUREXRecipe("purex.thoriumsalt").setup(20, 10_000).setIcon(ModItems.fluid_icon, Fluids.THORIUM_SALT.getID())
.inputFluids(new FluidStack(Fluids.THORIUM_SALT_DEPLETED, 16_000))
.inputItems(new OreDictStack(TH232.nugget(), 2))
.outputFluids(new FluidStack(Fluids.THORIUM_SALT, 16_000))
@ -361,7 +360,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
// Watz
String autoWatz = "autoswitch.watz";
this.register(new GenericRecipe("purex.watzschrab").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.watzschrab").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
.inputItems(new ComparableStack(ModItems.watz_pellet_depleted, 1, EnumWatzType.SCHRABIDIUM))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_solinium, 15),
@ -370,7 +369,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
.outputFluids(new FluidStack(Fluids.WATZ, 1_000))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.watzhes").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.watzhes").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
.inputItems(new ComparableStack(ModItems.watz_pellet_depleted, 1, EnumWatzType.HES))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_solinium, 17),
@ -379,7 +378,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
.outputFluids(new FluidStack(Fluids.WATZ, 1_000))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.watzmes").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.watzmes").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
.inputItems(new ComparableStack(ModItems.watz_pellet_depleted, 1, EnumWatzType.MES))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_solinium, 12),
@ -388,7 +387,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
.outputFluids(new FluidStack(Fluids.WATZ, 1_000))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.watzles").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.watzles").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
.inputItems(new ComparableStack(ModItems.watz_pellet_depleted, 1, EnumWatzType.LES))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_solinium, 9),
@ -397,7 +396,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
.outputFluids(new FluidStack(Fluids.WATZ, 1_000))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.watzhen").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.watzhen").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
.inputItems(new ComparableStack(ModItems.watz_pellet_depleted, 1, EnumWatzType.HEN))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_pu239, 12),
@ -406,7 +405,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
.outputFluids(new FluidStack(Fluids.WATZ, 1_000))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.watzmeu").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.watzmeu").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
.inputItems(new ComparableStack(ModItems.watz_pellet_depleted, 1, EnumWatzType.MEU))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_pu239, 12),
@ -415,7 +414,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
.outputFluids(new FluidStack(Fluids.WATZ, 1_000))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.watzmep").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.watzmep").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
.inputItems(new ComparableStack(ModItems.watz_pellet_depleted, 1, EnumWatzType.MEP))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_pu241, 12),
@ -424,7 +423,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
.outputFluids(new FluidStack(Fluids.WATZ, 1_000))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.watzlead").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.watzlead").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
.inputItems(new ComparableStack(ModItems.watz_pellet_depleted, 1, EnumWatzType.LEAD))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_lead, 6),
@ -433,7 +432,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
.outputFluids(new FluidStack(Fluids.WATZ, 1_000))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.watzboron").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.watzboron").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
.inputItems(new ComparableStack(ModItems.watz_pellet_depleted, 1, EnumWatzType.BORON))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.powder_coal_tiny, 12),
@ -442,7 +441,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
.outputFluids(new FluidStack(Fluids.WATZ, 1_000))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.watzdu").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.watzdu").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
.inputItems(new ComparableStack(ModItems.watz_pellet_depleted, 1, EnumWatzType.DU))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_polonium, 12),
@ -457,7 +456,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
ItemStack copy = nuggetNQR.copy();
copy.stackSize = 12;
this.register(new GenericRecipe("purex.watznaqadah").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.watznaqadah").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
.inputItems(new ComparableStack(ModItems.watz_pellet_depleted, 1, EnumWatzType.NQD))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(copy,
@ -466,7 +465,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
.outputFluids(new FluidStack(Fluids.WATZ, 1_000))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.watznaqadria").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.watznaqadria").setup(60, watzPower).setNameWrapper("purex.recycle").setGroup(autoWatz, this)
.inputItems(new ComparableStack(ModItems.watz_pellet_depleted, 1, EnumWatzType.NQR))
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
.outputItems(new ItemStack(ModItems.nugget_co60, 12),
@ -477,7 +476,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
}
//ICF
this.register(new GenericRecipe("purex.icf").setup(300, 10_000).setNameWrapper("purex.recycle")
this.register((PUREXRecipe) new PUREXRecipe("purex.icf").setup(300, 10_000).setNameWrapper("purex.recycle")
.inputItems(new ComparableStack(ModItems.icf_pellet_depleted))
.outputItems(new ItemStack(ModItems.icf_pellet_empty, 1),
new ItemStack(ModItems.pellet_charged, 1),
@ -486,22 +485,22 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
.setIconToFirstIngredient());
/// Vitrification
this.register(new GenericRecipe("purex.vitliquid").setup(100, vitrification)
this.register((PUREXRecipe) new PUREXRecipe("purex.vitliquid").setup(100, vitrification)
.inputItems(new ComparableStack(ModBlocks.sand_mix, 1, EnumSandType.LEAD))
.inputFluids(new FluidStack(Fluids.WASTEFLUID, 1_000))
.outputItems(new ItemStack(ModItems.nuclear_waste_vitrified)));
this.register(new GenericRecipe("purex.vitgaseous").setup(100, vitrification)
this.register((PUREXRecipe) new PUREXRecipe("purex.vitgaseous").setup(100, vitrification)
.inputItems(new ComparableStack(ModBlocks.sand_mix, 1, EnumSandType.LEAD))
.inputFluids(new FluidStack(Fluids.WASTEGAS, 1_000))
.outputItems(new ItemStack(ModItems.nuclear_waste_vitrified)));
this.register(new GenericRecipe("purex.vitsolid").setup(300, vitrification)
this.register((PUREXRecipe) new PUREXRecipe("purex.vitsolid").setup(300, vitrification)
.inputItems(new ComparableStack(ModBlocks.sand_mix, 1, EnumSandType.LEAD), new ComparableStack(ModItems.nuclear_waste, 4))
.outputItems(new ItemStack(ModItems.nuclear_waste_vitrified, 4)));
// Schrabidium
this.register(new GenericRecipe("purex.schraranium").setup(200, 1_000).setNameWrapper("purex.schrab")
this.register((PUREXRecipe) new PUREXRecipe("purex.schraranium").setup(200, 1_000).setNameWrapper("purex.schrab")
.inputItems(new ComparableStack(ModItems.ingot_schraranium))
.inputFluids(new FluidStack(Fluids.KEROSENE, 2_000), new FluidStack(Fluids.NITRIC_ACID, 1_000))
.outputItems(new ItemStack(ModItems.nugget_schrabidium, 3),
@ -510,21 +509,21 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
.setIconToFirstIngredient());
String autoSchrab = "autoswitch.schrab";
this.register(new GenericRecipe("purex.schrabzirnox").setup(200, 50_000).setNameWrapper("purex.schrab").setGroup(autoSchrab, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.schrabzirnox").setup(200, 50_000).setNameWrapper("purex.schrab").setGroup(autoSchrab, this)
.inputItems(new ComparableStack(ModItems.waste_plutonium))
.inputFluids(new FluidStack(Fluids.SOLVENT, 4_000), new FluidStack(Fluids.SCHRABIDIC, 250))
.outputItems(new ItemStack(ModItems.powder_schrabidium, 1),
new ItemStack(ModItems.nugget_technetium, 3),
new ItemStack(ModItems.nuclear_waste_tiny, 4))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.schrabpwr").setup(200, 50_000).setNameWrapper("purex.schrab").setGroup(autoSchrab, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.schrabpwr").setup(200, 50_000).setNameWrapper("purex.schrab").setGroup(autoSchrab, this)
.inputItems(new ComparableStack(ModItems.pwr_fuel_depleted, 1, EnumPWRFuel.MEP))
.inputFluids(new FluidStack(Fluids.SOLVENT, 4_000), new FluidStack(Fluids.SCHRABIDIC, 250))
.outputItems(new ItemStack(ModItems.powder_schrabidium, 1),
new ItemStack(ModItems.nugget_technetium, 3),
new ItemStack(ModItems.nuclear_waste_tiny, 4))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.schrabmen").setup(200, 50_000).setNameWrapper("purex.schrab").setGroup(autoSchrab, this)
this.register((PUREXRecipe) new PUREXRecipe("purex.schrabmen").setup(200, 50_000).setNameWrapper("purex.schrab").setGroup(autoSchrab, this)
.inputItems(new ComparableStack(ModItems.pwr_fuel_depleted, 1, EnumPWRFuel.MEN))
.inputFluids(new FluidStack(Fluids.SOLVENT, 4_000), new FluidStack(Fluids.SCHRABIDIC, 250))
.outputItems(new ItemStack(ModItems.powder_schrabidium, 1),

View File

@ -5,8 +5,11 @@ import java.util.List;
import com.hbm.inventory.recipes.loader.GenericRecipe;
import com.hbm.util.BobMathUtil;
import com.hbm.util.Clock;
import com.hbm.util.i18n.I18nUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.util.EnumChatFormatting;
public class PlasmaForgeRecipe extends GenericRecipe {
@ -31,4 +34,22 @@ public class PlasmaForgeRecipe extends GenericRecipe {
return list;
}
@Override
public void printNEIExtras() {
int side = 164;
FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
String duration = BobMathUtil.getShortNumber(this.duration) + " ticks";
fontRenderer.drawString(duration, side - fontRenderer.getStringWidth(duration), 45, 0x404040);
if(Clock.get_ms() % 2000 < 1000) {
String consumption = BobMathUtil.getShortNumber(this.power) + "HE/t";
fontRenderer.drawString(consumption, side - fontRenderer.getStringWidth(consumption), 57, 0x404040);
} else {
String temp = BobMathUtil.getShortNumber(this.ignitionTemp) + "TU/t";
fontRenderer.drawString(temp, side - fontRenderer.getStringWidth(temp), 57, 0xa000a0);
}
}
}

View File

@ -17,6 +17,8 @@ import com.hbm.util.BobMathUtil;
import com.hbm.util.i18n.I18nUtil;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
@ -133,6 +135,17 @@ public class GenericRecipe {
return name;
}
public void printNEIExtras() {
FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
String duration = BobMathUtil.getShortNumber(this.duration) + " ticks";
String consumption = BobMathUtil.getShortNumber(this.power) + "HE/t";
int side = 164;
fontRenderer.drawString(duration, side - fontRenderer.getStringWidth(duration), 45, 0x404040);
fontRenderer.drawString(consumption, side - fontRenderer.getStringWidth(consumption), 57, 0x404040);
}
public List<String> print() {
List<String> list = new ArrayList();
list.add(EnumChatFormatting.YELLOW + this.getLocalizedName());
@ -186,7 +199,6 @@ public class GenericRecipe {
}
}
/** Default impl only matches localized name substring, can be extended to include ingredients as well */
public boolean matchesSearch(String substring) {
return getLocalizedName().toLowerCase(Locale.US).contains(substring.toLowerCase(Locale.US));

View File

@ -517,7 +517,7 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.flame_war), 1), new Object[] { "WHW", "CTP", "WOW", 'W', Item.getItemFromBlock(Blocks.planks), 'T', Item.getItemFromBlock(Blocks.tnt), 'H', ModItems.flame_pony, 'C', ModItems.flame_conspiracy, 'P', ModItems.flame_politics, 'O', ModItems.flame_opinion });
addRecipeAuto(new ItemStack(ModBlocks.det_cord, 4), new Object[] { " P ", "PGP", " P ", 'P', Items.paper, 'G', Items.gunpowder });
addRecipeAuto(new ItemStack(ModBlocks.det_charge, 1), new Object[] { "PDP", "DTD", "PDP", 'P', STEEL.plate(), 'D', ModBlocks.det_cord, 'T', ANY_PLASTICEXPLOSIVE.ingot() });
addRecipeAuto(new ItemStack(ModBlocks.det_nuke, 1), new Object[] { "PFP", "DCD", "PFP", 'P', DESH.plateCast(), 'D', ModBlocks.det_charge, 'C', ModItems.man_core, 'F', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CONTROLLER) });
addRecipeAuto(new ItemStack(ModBlocks.det_nuke, 1), new Object[] { "PFP", "DCD", "PFP", 'P', ModItems.neutron_reflector, 'D', ModBlocks.det_charge, 'C', ModItems.man_core, 'F', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CONTROLLER) });
addRecipeAuto(new ItemStack(ModBlocks.det_miner, 4), new Object[] { "FFF", "ITI", "ITI", 'F', Items.flint, 'I', IRON.plate(), 'T', ModItems.ball_dynamite });
addRecipeAuto(new ItemStack(ModBlocks.det_miner, 12), new Object[] { "FFF", "ITI", "ITI", 'F', Items.flint, 'I', STEEL.plate(), 'T', ANY_PLASTICEXPLOSIVE.ingot() });
addRecipeAuto(new ItemStack(ModBlocks.emp_bomb, 1), new Object[] { "LML", "LCL", "LML", 'L', PB.plate(), 'M', ModItems.magnetron, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED) });

View File

@ -71,6 +71,10 @@ public class ColorUtil {
}
}
public static int color(int r, int g, int b) {
return ((r & 255) << 16) | ((g & 255) << 8) | (b & 255);
}
public static int ir(int color) {
return (color & 0xff0000) >> 16;
}

View File

@ -9,7 +9,7 @@
"zh_CN": "钢"
},
"content": {
"en_US": "Upgraded version of iron, basic material. Used in almost everything. Initially obtained by combining coal and iron in a [[blast furnace|Blast Furnace]]. Upgraded recipes are available later on via [[crucible|Crucible]] and [[rotary furnace|Rotary Furnace]].",
"en_US": "Upgraded version of iron, basic material. Used in almost everything. Initially obtained by combining sand, coal and iron in a [[blast furnace|Blast Furnace]]. Upgraded recipes are available later on via [[crucible|Crucible]] and [[rotary furnace|Rotary Furnace]].",
"uk_UA": "Покращена версія заліза, базовий матеріал. Використовується майже в усьому. Спочатку отримується шляхом поєднання вугілля та заліза в [[доменній печі|Blast Furnace]]. Покращені рецепти доступні пізніше в [[ливарні|Crucible]] та [[роторній печі|Rotary Furnace]].",
"ru_RU": "Улучшенная версия железа, базовый материал. Используется почти во всем. Изначально получается путём комбинирования угля и железа в [[доменной печи|Blast Furnace]]. Улучшенные рецепты доступны позже через [[тигель|Crucible]] и [[роторную печь|Rotary Furnace]].",
"zh_CN": "铁的升级版,是一种基础金属,几乎所有东西都要用到钢。最初可通过在[[高炉|Blast Furnace]]中混合煤炭和铁获取,而之后也有通过[[坩埚|Crucible]]和[[回转炉|Rotary Furnace]]制作的高级配方。"