consumed by the sludge

This commit is contained in:
Bob 2025-08-04 19:18:41 +02:00
parent 737c56ed07
commit 69b9ea9a7d
40 changed files with 430 additions and 158 deletions

View File

@ -7,6 +7,7 @@
* Rebar
* When hooked up to liquid concrete using pipes, will fill to create reinforced concrete
* Fills bottom to top, so connect the pipes to the top
* The rendering on this is still experimental, so don't overdo it with how large of an area you're casting
* Rebar placer
* Can be configured with different types of concrete, reinforced or not, or even colored
* Rebar created with the rebar placer will remember its type and assume it when being filled with liquid concrete
@ -15,6 +16,7 @@
* Handles all the nuclear fuel reprocessing that was previously done by the standard centrifuge
* All reprocessing recipes now require both kerosene and nitric acid
* Also handles the vitrification recipes and the thorium salt reprocessing from the chemical plant
* Comes with new schrabidium extraction recipes from MEP/MEN fuels using schrabidic acid (yield is twice the schrabidium cost for acid used)
## Changed
* The alternate recipes for nitric acid and xenon gas in the chemical plant now require blueprints
@ -25,10 +27,27 @@
* Biogas can now be cracked into aromatics and petroleum gas
* Custom missile part recipes have been added to the new assembler
* Mini nukes are now made from weapon steel instead of regular steel
* Meteorite ingots are now made from meteorite powder, not blocks
* Starmetal now requires meteorite ingots instead of blocks
* Added auto switch groups
* The new standardized processing machines (assembler, chemplant, purex) can now have recipes that are grouped
* Recipes in groups will accept non-recipe items, if the item is used in another recipe from that same group
* When this happens, the recipe switches automatically, if possible
* This means that many PUREX recycling recipes and the ingot to plate recipes don't need dedicated machines for every single recipe, rather only one for that auto switch group
* The tooltip of the chosen recipe on the recipe selector now renders in the bottom left corner instead of following the mouse, preventing an issue where the tooltip is cut off on larger GUI scales
* Expensive mode has been changed
* Instead of using heavy components for most things, there's now "expensive" items that are used by many assembler recipes
* "Expensive" items replace some of the microcrafting that's part of the recipe, meaning that expensive mode recipes are generally simpler (but require way more materials)
* All heavy components have been annihilated and any recipes that may still use them (e.g. from old configs) default to using cast plates instead
* Removed the assembly factory's recipe, as it still uses the deprecated recipe set
* A new assembly factory will be added soon
* All recently deprecated machines have been removed from the creative tabs
## Fixed
* Fixed a few assembler recipes using the old crafting numbers which sometimes exceed the stack limit
* As an extra safeguard, the recipe loader now throws an exception if that happens
* Fixed dupe caused by the breeding reactor
* Fixed a potential crash caused by a change done to tile entity proxies in relation to EnergyControl
* Fixed the assembler achievement still using the old one
* Fixed the assembler achievement still using the old one
* Fixed the RBMK auto control rod's function not syncing to the client properly
* Fixed crash caused by new standardized machine recipes with chance-based output when they output nothing

View File

@ -1,6 +1,6 @@
mod_version=1.0.27
# Empty build number makes a release type
mod_build_number=5397
mod_build_number=5412
credits=HbMinecraft,\
\ rodolphito (explosion algorithms),\

View File

@ -1006,14 +1006,14 @@ public class ModBlocks {
@Deprecated public static Block machine_assembler;
public static Block machine_assembly_machine;
public static Block machine_assemfac;
@Deprecated public static Block machine_assemfac;
public static Block machine_arc_welder;
public static Block machine_soldering_station;
public static Block machine_arc_furnace;
@Deprecated public static Block machine_chemplant;
public static Block machine_chemical_plant;
public static Block machine_chemfac;
@Deprecated public static Block machine_chemfac;
public static Block machine_chemical_factory;
public static Block machine_purex;
public static Block machine_mixer;
@ -2237,14 +2237,14 @@ public class ModBlocks {
machine_ore_slopper = new MachineOreSlopper().setBlockName("machine_ore_slopper").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_mining_laser = new MachineMiningLaser(Material.iron).setBlockName("machine_mining_laser").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_mining_laser");
barricade = new BlockNoDrop(Material.sand).setBlockName("barricade").setHardness(1.0F).setResistance(2.5F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":barricade");
machine_assembler = new MachineAssembler(Material.iron).setBlockName("machine_assembler").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_assembler");
machine_assembler = new MachineAssembler(Material.iron).setBlockName("machine_assembler").setHardness(5.0F).setResistance(30.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":machine_assembler");
machine_assembly_machine = new MachineAssemblyMachine(Material.iron).setBlockName("machine_assembly_machine").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_assemfac = new MachineAssemfac(Material.iron).setBlockName("machine_assemfac").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_assemfac = new MachineAssemfac(Material.iron).setBlockName("machine_assemfac").setHardness(5.0F).setResistance(30.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_arc_welder = new MachineArcWelder(Material.iron).setBlockName("machine_arc_welder").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_soldering_station = new MachineSolderingStation(Material.iron).setBlockName("machine_soldering_station").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_chemplant = new MachineChemplant(Material.iron).setBlockName("machine_chemplant").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_chemplant = new MachineChemplant(Material.iron).setBlockName("machine_chemplant").setHardness(5.0F).setResistance(30.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_chemical_plant = new MachineChemicalPlant(Material.iron).setBlockName("machine_chemical_plant").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_chemfac = new MachineChemfac(Material.iron).setBlockName("machine_chemfac").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_chemfac = new MachineChemfac(Material.iron).setBlockName("machine_chemfac").setHardness(5.0F).setResistance(30.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_chemical_factory = new MachineChemicalFactory(Material.iron).setBlockName("machine_chemical_factory").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_purex = new MachinePUREX(Material.iron).setBlockName("machine_purex").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_mixer = new MachineMixer(Material.iron).setBlockName("machine_mixer").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");

View File

@ -552,7 +552,6 @@ public class OreDictManager {
if(mat.smeltable == SmeltingBehavior.SMELTABLE) {
if(mat.autogen.contains(MaterialShapes.CASTPLATE)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.CASTPLATE.name() + name, new ItemStack(ModItems.plate_cast, 1, mat.id));
if(mat.autogen.contains(MaterialShapes.WELDEDPLATE)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.WELDEDPLATE.name() + name, new ItemStack(ModItems.plate_welded, 1, mat.id));
if(mat.autogen.contains(MaterialShapes.HEAVY_COMPONENT)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.HEAVY_COMPONENT.name() + name, new ItemStack(ModItems.heavy_component, 1, mat.id));
if(mat.autogen.contains(MaterialShapes.DENSEWIRE)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.DENSEWIRE.name() + name, new ItemStack(ModItems.wire_dense, 1, mat.id));
}
if(mat.autogen.contains(MaterialShapes.BOLT)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.BOLT.name() + name, new ItemStack(ModItems.bolt, 1, mat.id));
@ -680,7 +679,7 @@ public class OreDictManager {
ANY_RUBBER.addPrefix(INGOT, true);
ANY_PLASTIC.addPrefix(INGOT, true).addPrefix(DUST, true).addPrefix(BLOCK, true).addPrefix(GRIP, true).addPrefix(STOCK, true);
ANY_HARDPLASTIC.addPrefix(INGOT, true).addPrefix(STOCK, true).addPrefix(GRIP, true);
ANY_RESISTANTALLOY.addPrefix(INGOT, true).addPrefix(DUST, true).addPrefix(CASTPLATE, true).addPrefix(WELDEDPLATE, true).addPrefix(HEAVY_COMPONENT, true).addPrefix(BLOCK, true)
ANY_RESISTANTALLOY.addPrefix(INGOT, true).addPrefix(DUST, true).addPrefix(CASTPLATE, true).addPrefix(WELDEDPLATE, true).addPrefix(BLOCK, true)
.addPrefix(LIGHTBARREL, true).addPrefix(HEAVYBARREL, true).addPrefix(LIGHTRECEIVER, true).addPrefix(HEAVYRECEIVER, true);
ANY_BISMOIDBRONZE.addPrefix(INGOT, true).addPrefix(CASTPLATE, true).addPrefix(LIGHTBARREL, true).addPrefix(HEAVYBARREL, true).addPrefix(LIGHTRECEIVER, true).addPrefix(HEAVYRECEIVER, true);
ANY_TAR.addPrefix(ANY, false);
@ -759,7 +758,7 @@ public class OreDictManager {
public String plate() { return PLATE.name() + mats[0]; }
public String plateCast() { return CASTPLATE.name() + mats[0]; }
public String plateWelded() { return WELDEDPLATE.name() + mats[0]; }
public String heavyComp() { return HEAVY_COMPONENT.name() + mats[0]; }
@Deprecated public String heavyComp() { return WELDEDPLATE.name() + mats[0]; }
public String wireFine() { return WIRE.name() + mats[0]; }
public String wireDense() { return DENSEWIRE.name() + mats[0]; }
public String shell() { return SHELL.name() + mats[0]; }
@ -1013,7 +1012,7 @@ public class OreDictManager {
public String plate() { return PLATE.name() + groupName; }
public String plateCast() { return CASTPLATE.name() + groupName; }
public String plateWelded() { return WELDEDPLATE.name() + groupName; }
public String heavyComp() { return HEAVY_COMPONENT.name() + groupName; }
@Deprecated public String heavyComp() { return WELDEDPLATE.name() + groupName; }
public String wireFine() { return WIRE.name() + groupName; }
public String wireDense() { return DENSEWIRE.name() + groupName; }
public String billet() { return BILLET.name() + groupName; }

View File

@ -135,7 +135,7 @@ public class GUIScreenRecipeSelector extends GuiScreen {
if(guiLeft + ix <= mouseX && guiLeft + ix + 18 > mouseX && guiTop + iy < mouseY && guiTop + iy + 18 >= mouseY) {
GenericRecipe recipe = recipes.get(i);
this.func_146283_a(recipe.print(), mouseX, mouseY);
this.func_146283_a(recipe.print(), 0, 900);
}
}
}
@ -143,7 +143,7 @@ public class GUIScreenRecipeSelector extends GuiScreen {
if(guiLeft + 151 <= mouseX && guiLeft + 151 + 18 > mouseX && guiTop + 71 < mouseY && guiTop + 71 + 18 >= mouseY) {
if(this.selection != null && this.recipeSet.recipeNameMap.containsKey(selection)) {
GenericRecipe recipe = (GenericRecipe) this.recipeSet.recipeNameMap.get(selection);
this.func_146283_a(recipe.print(), mouseX, mouseY);
this.func_146283_a(recipe.print(), 0, 900);
}
}

View File

@ -34,7 +34,6 @@ public class MaterialShapes {
public static final MaterialShapes PIPE = new MaterialShapes(INGOT.quantity * 3, "ntmpipe");
public static final MaterialShapes QUART = new MaterialShapes(162);
public static final MaterialShapes BLOCK = new MaterialShapes(INGOT.quantity * 9, "block");
public static final MaterialShapes HEAVY_COMPONENT = new MaterialShapes(CASTPLATE.quantity * 256, "componentHeavy");
public static final MaterialShapes LIGHTBARREL = new MaterialShapes(INGOT.quantity * 3, "barrelLight");
public static final MaterialShapes HEAVYBARREL = new MaterialShapes(INGOT.quantity * 6, "barrelHeavy");

View File

@ -100,11 +100,11 @@ public class Mats {
public static final NTMMaterial MAT_GHIORSIUM = makeSmeltable(12836, GH336, 0xF4EFE1, 0x2A3306, 0xC6C6A1).setAutogen(NUGGET, BILLET, BLOCK).m();
//Base metals
public static final NTMMaterial MAT_TITANIUM = makeSmeltable(2200, TI, 0xF7F3F2, 0x4F4C4B, 0xA99E79).setAutogen(FRAGMENT, DUST, PLATE, DENSEWIRE, CASTPLATE, WELDEDPLATE, SHELL, BLOCK, HEAVY_COMPONENT).m();
public static final NTMMaterial MAT_COPPER = makeSmeltable(2900, CU, 0xFDCA88, 0x601E0D, 0xC18336).setAutogen(FRAGMENT, WIRE, DUST, PLATE, DENSEWIRE, CASTPLATE, WELDEDPLATE, SHELL, PIPE, BLOCK, HEAVY_COMPONENT).m();
public static final NTMMaterial MAT_TUNGSTEN = makeSmeltable(7400, W, 0x868686, 0x000000, 0x977474).setAutogen(FRAGMENT, WIRE, BOLT, DUST, DENSEWIRE, CASTPLATE, WELDEDPLATE, BLOCK, HEAVY_COMPONENT).m();
public static final NTMMaterial MAT_ALUMINIUM = makeSmeltable(1300, AL, 0xFFFFFF, 0x344550, 0xD0B8EB).setAutogen(FRAGMENT, WIRE, DUST, PLATE, CASTPLATE, WELDEDPLATE, SHELL, PIPE, BLOCK, HEAVY_COMPONENT).m();
public static final NTMMaterial MAT_LEAD = makeSmeltable(8200, PB, 0xA6A6B2, 0x03030F, 0x646470).setAutogen(FRAGMENT, NUGGET, WIRE, BOLT, DUST, PLATE, CASTPLATE, PIPE, BLOCK, HEAVY_COMPONENT).m();
public static final NTMMaterial MAT_TITANIUM = makeSmeltable(2200, TI, 0xF7F3F2, 0x4F4C4B, 0xA99E79).setAutogen(FRAGMENT, DUST, PLATE, DENSEWIRE, CASTPLATE, WELDEDPLATE, SHELL, BLOCK).m();
public static final NTMMaterial MAT_COPPER = makeSmeltable(2900, CU, 0xFDCA88, 0x601E0D, 0xC18336).setAutogen(FRAGMENT, WIRE, DUST, PLATE, DENSEWIRE, CASTPLATE, WELDEDPLATE, SHELL, PIPE, BLOCK).m();
public static final NTMMaterial MAT_TUNGSTEN = makeSmeltable(7400, W, 0x868686, 0x000000, 0x977474).setAutogen(FRAGMENT, WIRE, BOLT, DUST, DENSEWIRE, CASTPLATE, WELDEDPLATE, BLOCK).m();
public static final NTMMaterial MAT_ALUMINIUM = makeSmeltable(1300, AL, 0xFFFFFF, 0x344550, 0xD0B8EB).setAutogen(FRAGMENT, WIRE, DUST, PLATE, CASTPLATE, WELDEDPLATE, SHELL, PIPE, BLOCK).m();
public static final NTMMaterial MAT_LEAD = makeSmeltable(8200, PB, 0xA6A6B2, 0x03030F, 0x646470).setAutogen(FRAGMENT, NUGGET, WIRE, BOLT, DUST, PLATE, CASTPLATE, PIPE, BLOCK).m();
public static final NTMMaterial MAT_BISMUTH = makeSmeltable(8300, BI, 0xB200FF, 0xB200FF, 0xB200FF).setAutogen(FRAGMENT, NUGGET, BILLET, DUST, BLOCK).m();
public static final NTMMaterial MAT_ARSENIC = makeSmeltable(3300, AS, 0x6CBABA, 0x242525, 0x558080).setAutogen(NUGGET).m();
public static final NTMMaterial MAT_TANTALIUM = makeSmeltable(7300, TA, 0xFFFFFF, 0x1D1D36, 0xA89B74).setAutogen(NUGGET, DUST, BLOCK).m();
@ -135,15 +135,15 @@ public class Mats {
public static final NTMMaterial MAT_OSMIRIDIUM = makeSmeltable(7699, OSMIRIDIUM, 0xDBE3EF, 0x7891BE, 0xACBDD9).setAutogen(NUGGET, CASTPLATE, WELDEDPLATE).m();
//Alloys
public static final NTMMaterial MAT_STEEL = makeSmeltable(_AS + 0, STEEL, 0xAFAFAF, 0x0F0F0F, 0x4A4A4A).setAutogen(DUSTTINY, BOLT, WIRE, DUST, PLATE, CASTPLATE, WELDEDPLATE, SHELL, PIPE, BLOCK, HEAVY_COMPONENT, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, GRIP).m();
public static final NTMMaterial MAT_STEEL = makeSmeltable(_AS + 0, STEEL, 0xAFAFAF, 0x0F0F0F, 0x4A4A4A).setAutogen(DUSTTINY, BOLT, WIRE, DUST, PLATE, CASTPLATE, WELDEDPLATE, SHELL, PIPE, BLOCK, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, GRIP).m();
public static final NTMMaterial MAT_MINGRADE = makeSmeltable(_AS + 1, MINGRADE, 0xFFBA7D, 0xAF1700, 0xE44C0F).setAutogen(WIRE, DUST, DENSEWIRE, BLOCK).m();
public static final NTMMaterial MAT_ALLOY = makeSmeltable(_AS + 2, ALLOY, 0xFF8330, 0x700000, 0xFF7318).setAutogen(WIRE, DUST, DENSEWIRE, PLATE, CASTPLATE, BLOCK, HEAVY_COMPONENT).m();
public static final NTMMaterial MAT_ALLOY = makeSmeltable(_AS + 2, ALLOY, 0xFF8330, 0x700000, 0xFF7318).setAutogen(WIRE, DUST, DENSEWIRE, PLATE, CASTPLATE, BLOCK).m();
public static final NTMMaterial MAT_DURA = makeSmeltable(_AS + 3, DURA, 0x82A59C, 0x06281E, 0x42665C).setAutogen(BOLT, DUST, PLATE, CASTPLATE, PIPE, BLOCK, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, HEAVYRECEIVER, GRIP).m();
public static final NTMMaterial MAT_DESH = makeSmeltable(_AS + 12, DESH, 0xFF6D6D, 0x720000, 0xF22929).setAutogen(DUST, CASTPLATE, BLOCK, HEAVY_COMPONENT, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, STOCK, GRIP).m();
public static final NTMMaterial MAT_DESH = makeSmeltable(_AS + 12, DESH, 0xFF6D6D, 0x720000, 0xF22929).setAutogen(DUST, CASTPLATE, BLOCK, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, STOCK, GRIP).m();
public static final NTMMaterial MAT_STAR = makeSmeltable(_AS + 5, STAR, 0xCCCCEA, 0x11111A, 0xA5A5D3).setAutogen(DUST, DENSEWIRE, BLOCK).m();
public static final NTMMaterial MAT_FERRO = makeSmeltable(_AS + 7, FERRO, 0xB7B7C9, 0x101022, 0x6B6B8B).setAutogen(CASTPLATE, HEAVYBARREL, HEAVYRECEIVER).m();
public static final NTMMaterial MAT_TCALLOY = makeSmeltable(_AS + 6, TCALLOY, 0xD4D6D6, 0x323D3D, 0x9CA6A6).setAutogen(DUST, CASTPLATE, WELDEDPLATE, HEAVY_COMPONENT, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, HEAVYRECEIVER).m();
public static final NTMMaterial MAT_CDALLOY = makeSmeltable(_AS + 13, CDALLOY, 0xF7DF8F, 0x604308, 0xFBD368).setAutogen(CASTPLATE, WELDEDPLATE, HEAVY_COMPONENT, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, HEAVYRECEIVER).m();
public static final NTMMaterial MAT_TCALLOY = makeSmeltable(_AS + 6, TCALLOY, 0xD4D6D6, 0x323D3D, 0x9CA6A6).setAutogen(DUST, CASTPLATE, WELDEDPLATE, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, HEAVYRECEIVER).m();
public static final NTMMaterial MAT_CDALLOY = makeSmeltable(_AS + 13, CDALLOY, 0xF7DF8F, 0x604308, 0xFBD368).setAutogen(CASTPLATE, WELDEDPLATE, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, HEAVYRECEIVER).m();
public static final NTMMaterial MAT_BBRONZE = makeSmeltable(_AS + 16, BBRONZE, 0xE19A69, 0x485353, 0x987D65).setAutogen(CASTPLATE, LIGHTBARREL, LIGHTRECEIVER, HEAVYRECEIVER).m();
public static final NTMMaterial MAT_ABRONZE = makeSmeltable(_AS + 17, ABRONZE, 0xDB9462, 0x203331, 0x77644D).setAutogen(CASTPLATE, LIGHTBARREL, LIGHTRECEIVER, HEAVYRECEIVER).m();
public static final NTMMaterial MAT_BSCCO = makeSmeltable(_AS + 18, BSCCO, 0x767BF1, 0x000000, 0x5E62C0).setAutogen(DENSEWIRE).m();

View File

@ -43,7 +43,7 @@ import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class AssemblerRecipes extends SerializableRecipe {
@Deprecated public class AssemblerRecipes extends SerializableRecipe {
public static HashMap<ComparableStack, AssemblerRecipe> recipes = new HashMap();
public static List<ComparableStack> recipeList = new ArrayList();
@ -54,7 +54,7 @@ public class AssemblerRecipes extends SerializableRecipe {
@Override
public void registerDefaults() {
boolean exp = GeneralConfig.enableExpensiveMode;
boolean exp = false;//GeneralConfig.enableExpensiveMode;
makeRecipe(new ComparableStack(ModItems.plate_iron, 2), new AStack[] {new OreDictStack(IRON.ingot(), 3), },30);
makeRecipe(new ComparableStack(ModItems.plate_gold, 2), new AStack[] {new OreDictStack(GOLD.ingot(), 3), },30);

View File

@ -57,20 +57,21 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
public void registerDefaults() {
// plates and ingots
this.register(new GenericRecipe("ass.plateiron").setup(60, 100).outputItems(new ItemStack(ModItems.plate_iron, 1)).inputItems(new OreDictStack(IRON.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates"));
this.register(new GenericRecipe("ass.plategold").setup(60, 100).outputItems(new ItemStack(ModItems.plate_gold, 1)).inputItems(new OreDictStack(GOLD.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates"));
this.register(new GenericRecipe("ass.platetitanium").setup(60, 100).outputItems(new ItemStack(ModItems.plate_titanium, 1)).inputItems(new OreDictStack(TI.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates"));
this.register(new GenericRecipe("ass.platealu").setup(60, 100).outputItems(new ItemStack(ModItems.plate_aluminium, 1)).inputItems(new OreDictStack(AL.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates"));
this.register(new GenericRecipe("ass.platesteel").setup(60, 100).outputItems(new ItemStack(ModItems.plate_steel, 1)).inputItems(new OreDictStack(STEEL.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates"));
this.register(new GenericRecipe("ass.platelead").setup(60, 100).outputItems(new ItemStack(ModItems.plate_lead, 1)).inputItems(new OreDictStack(PB.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates"));
this.register(new GenericRecipe("ass.platecopper").setup(60, 100).outputItems(new ItemStack(ModItems.plate_copper, 1)).inputItems(new OreDictStack(CU.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates"));
this.register(new GenericRecipe("ass.platealloy").setup(60, 100).outputItems(new ItemStack(ModItems.plate_advanced_alloy, 1)).inputItems(new OreDictStack(ALLOY.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates"));
this.register(new GenericRecipe("ass.plateschrab").setup(60, 100).outputItems(new ItemStack(ModItems.plate_schrabidium, 1)).inputItems(new OreDictStack(SA326.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates"));
this.register(new GenericRecipe("ass.platecmb").setup(60, 100).outputItems(new ItemStack(ModItems.plate_combine_steel, 1)).inputItems(new OreDictStack(CMB.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates"));
this.register(new GenericRecipe("ass.plategunmetal").setup(60, 100).outputItems(new ItemStack(ModItems.plate_gunmetal, 1)).inputItems(new OreDictStack(GUNMETAL.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates"));
this.register(new GenericRecipe("ass.plateweaponsteel").setup(60, 100).outputItems(new ItemStack(ModItems.plate_weaponsteel, 1)).inputItems(new OreDictStack(WEAPONSTEEL.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates"));
this.register(new GenericRecipe("ass.platesaturnite").setup(60, 100).outputItems(new ItemStack(ModItems.plate_saturnite, 1)).inputItems(new OreDictStack(BIGMT.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates"));
this.register(new GenericRecipe("ass.platedura").setup(60, 100).outputItems(new ItemStack(ModItems.plate_dura_steel, 1)).inputItems(new OreDictStack(DURA.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates"));
String autoPlate = "autoswitch.plates";
this.register(new GenericRecipe("ass.plateiron").setup(60, 100).outputItems(new ItemStack(ModItems.plate_iron, 1)).inputItems(new OreDictStack(IRON.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates").setGroup(autoPlate, this));
this.register(new GenericRecipe("ass.plategold").setup(60, 100).outputItems(new ItemStack(ModItems.plate_gold, 1)).inputItems(new OreDictStack(GOLD.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates").setGroup(autoPlate, this));
this.register(new GenericRecipe("ass.platetitanium").setup(60, 100).outputItems(new ItemStack(ModItems.plate_titanium, 1)).inputItems(new OreDictStack(TI.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates").setGroup(autoPlate, this));
this.register(new GenericRecipe("ass.platealu").setup(60, 100).outputItems(new ItemStack(ModItems.plate_aluminium, 1)).inputItems(new OreDictStack(AL.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates").setGroup(autoPlate, this));
this.register(new GenericRecipe("ass.platesteel").setup(60, 100).outputItems(new ItemStack(ModItems.plate_steel, 1)).inputItems(new OreDictStack(STEEL.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates").setGroup(autoPlate, this));
this.register(new GenericRecipe("ass.platelead").setup(60, 100).outputItems(new ItemStack(ModItems.plate_lead, 1)).inputItems(new OreDictStack(PB.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates").setGroup(autoPlate, this));
this.register(new GenericRecipe("ass.platecopper").setup(60, 100).outputItems(new ItemStack(ModItems.plate_copper, 1)).inputItems(new OreDictStack(CU.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates").setGroup(autoPlate, this));
this.register(new GenericRecipe("ass.platealloy").setup(60, 100).outputItems(new ItemStack(ModItems.plate_advanced_alloy, 1)).inputItems(new OreDictStack(ALLOY.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates").setGroup(autoPlate, this));
this.register(new GenericRecipe("ass.plateschrab").setup(60, 100).outputItems(new ItemStack(ModItems.plate_schrabidium, 1)).inputItems(new OreDictStack(SA326.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates").setGroup(autoPlate, this));
this.register(new GenericRecipe("ass.platecmb").setup(60, 100).outputItems(new ItemStack(ModItems.plate_combine_steel, 1)).inputItems(new OreDictStack(CMB.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates").setGroup(autoPlate, this));
this.register(new GenericRecipe("ass.plategunmetal").setup(60, 100).outputItems(new ItemStack(ModItems.plate_gunmetal, 1)).inputItems(new OreDictStack(GUNMETAL.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates").setGroup(autoPlate, this));
this.register(new GenericRecipe("ass.plateweaponsteel").setup(60, 100).outputItems(new ItemStack(ModItems.plate_weaponsteel, 1)).inputItems(new OreDictStack(WEAPONSTEEL.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates").setGroup(autoPlate, this));
this.register(new GenericRecipe("ass.platesaturnite").setup(60, 100).outputItems(new ItemStack(ModItems.plate_saturnite, 1)).inputItems(new OreDictStack(BIGMT.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates").setGroup(autoPlate, this));
this.register(new GenericRecipe("ass.platedura").setup(60, 100).outputItems(new ItemStack(ModItems.plate_dura_steel, 1)).inputItems(new OreDictStack(DURA.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates").setGroup(autoPlate, this));
this.register(new GenericRecipe("ass.platemixed").setup(50, 100).outputItems(new ItemStack(ModItems.plate_mixed, 4))
.inputItems(new OreDictStack(ALLOY.plate(), 2), new OreDictStack(OreDictManager.getReflector(), 1), new OreDictStack(BIGMT.plate(), 1)));
this.register(new GenericRecipe("ass.dalekanium").setup(200, 100).outputItems(new ItemStack(ModItems.plate_dalekanium, 1))
@ -211,7 +212,10 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 1, EnumExpensiveType.STEEL_PLATING), new OreDictStack(CU.plate(), 4), new ComparableStack(ModItems.motor, 2)));
this.register(new GenericRecipe("ass.chemplant").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_chemical_plant, 1))
.inputItems(new OreDictStack(STEEL.ingot(), 8), new OreDictStack(CU.pipe(), 2), new ComparableStack(ModItems.plate_polymer, 16), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.coil_tungsten, 2), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ANALOG))
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 3, EnumExpensiveType.STEEL_PLATING), new OreDictStack(CU.pipe(), 2), new ComparableStack(ModItems.plate_polymer, 16), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.coil_tungsten, 2), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ANALOG)));
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 3, EnumExpensiveType.STEEL_PLATING), new OreDictStack(CU.pipe(), 2), new ComparableStack(ModItems.plate_polymer, 16), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.coil_tungsten, 2), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.ANALOG)));
this.register(new GenericRecipe("ass.purex").setup(300, 100).outputItems(new ItemStack(ModBlocks.machine_purex, 1))
.inputItems(new OreDictStack(STEEL.shell(), 4), new OreDictStack(RUBBER.pipe(), 8), new OreDictStack(PB.plateCast(), 4), new ComparableStack(ModItems.motor_desh, 1), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.BASIC))
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 2, EnumExpensiveType.LEAD_PLATING), new OreDictStack(STEEL.shell(), 4), new OreDictStack(RUBBER.pipe(), 12), new ComparableStack(ModItems.motor_desh, 3), new ComparableStack(ModItems.item_expensive, 2, EnumExpensiveType.CIRCUIT)));
this.register(new GenericRecipe("ass.centrifuge").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_centrifuge, 1))
.inputItems(new ComparableStack(ModItems.centrifuge_element, 1), new OreDictStack(ANY_PLASTIC.ingot(), 4), new OreDictStack(STEEL.plate528(), 8), new OreDictStack(CU.plate(), 4), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ANALOG))
.inputItemsEx(new ComparableStack(ModItems.centrifuge_element, 1), new OreDictStack(ANY_PLASTIC.ingot(), 4), new ComparableStack(ModItems.item_expensive, 3, EnumExpensiveType.STEEL_PLATING), new OreDictStack(CU.plateCast(), 4), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ANALOG)));
@ -328,9 +332,6 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
this.register(new GenericRecipe("ass.strandcaster").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_strand_caster, 1))
.inputItems(new ComparableStack(ModItems.ingot_firebrick, 16), new OreDictStack(STEEL.plateCast(), 6), new OreDictStack(CU.plateWelded(), 2), new OreDictStack(STEEL.shell(), 2), new OreDictStack(ANY_CONCRETE.any(), 8))
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 1, EnumExpensiveType.HEAVY_FRAME), new ComparableStack(ModItems.ingot_firebrick, 16), new OreDictStack(STEEL.shell(), 4), new OreDictStack(ANY_CONCRETE.any(), 8)));
this.register(new GenericRecipe("ass.assemfac").setup(400, 100).outputItems(new ItemStack(ModBlocks.machine_assemfac, 1))
.inputItems(new OreDictStack(STEEL.ingot(), 48), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 8), new OreDictStack(B.ingot(), 4), new OreDictStack(RUBBER.ingot(), 16), new OreDictStack(KEY_ANYPANE, 64), new ComparableStack(ModItems.motor, 18), new OreDictStack(W.bolt(), 16), new OreDictStack(STEEL.pipe(), 8), new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BASIC))
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 4, EnumExpensiveType.HEAVY_FRAME), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 16), new OreDictStack(B.ingot(), 4), new OreDictStack(RUBBER.ingot(), 16), new OreDictStack(KEY_ANYPANE, 64), new ComparableStack(ModItems.motor_desh, 16), new ComparableStack(ModItems.item_expensive, 4, EnumExpensiveType.CIRCUIT)));
this.register(new GenericRecipe("ass.chemfac").setup(400, 100).outputItems(new ItemStack(ModBlocks.machine_chemical_factory, 1))
.inputItems(new OreDictStack(DURA.ingot(), 16), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 8), new OreDictStack(RUBBER.ingot(), 16), new OreDictStack(STEEL.shell(), 12), new OreDictStack(CU.pipe(), 8), new ComparableStack(ModItems.motor_desh, 4), new ComparableStack(ModItems.coil_tungsten, 16), new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BASIC))
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 4, EnumExpensiveType.HEAVY_FRAME), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 16), new OreDictStack(RUBBER.ingot(), 16), new OreDictStack(STEEL.shell(), 12), new OreDictStack(CU.pipe(), 16), new ComparableStack(ModItems.motor_desh, 16), new ComparableStack(ModItems.item_expensive, 4, EnumExpensiveType.CIRCUIT)));
@ -448,7 +449,7 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
this.register(new GenericRecipe("ass.pachlorophyte").setup(400, 100).outputItems(new ItemStack(ModItems.pa_coil, 1, EnumCoilType.CHLOROPHYTE.ordinal())).inputItems(new OreDictStack(CU.wireDense(), 64), new OreDictStack(CU.wireDense(), 64), new ComparableStack(ModItems.powder_chlorophyte, 16)));
this.register(new GenericRecipe("ass.exposurechamber").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_exposure_chamber, 1))
.inputItems(new OreDictStack(AL.plateCast(), 12), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), new OreDictStack(ANY_HARDPLASTIC.ingot(), 12), new OreDictStack(ALLOY.wireDense(), 32), new ComparableStack(ModItems.motor_desh, 2), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.BISMOID), new ComparableStack(ModBlocks.capacitor_tantalium, 1), new ComparableStack(ModBlocks.glass_quartz, 16))
.inputItems(new ComparableStack(ModItems.item_expensive, 8, EnumExpensiveType.LEAD_PLATING), new OreDictStack(ANY_HARDPLASTIC.ingot(), 24), new OreDictStack(ALLOY.wireDense(), 32), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.BISMOID), new ComparableStack(ModItems.item_expensive, 2, EnumExpensiveType.COMPUTER)));
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 8, EnumExpensiveType.LEAD_PLATING), new OreDictStack(ANY_HARDPLASTIC.ingot(), 24), new OreDictStack(ALLOY.wireDense(), 32), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.BISMOID), new ComparableStack(ModItems.item_expensive, 2, EnumExpensiveType.COMPUTER)));
// reactors
this.register(new GenericRecipe("ass.breedingreactor").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_reactor_breeding, 1))
@ -492,10 +493,10 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 3, EnumExpensiveType.FERRO_PLATING), new OreDictStack(BIGMT.ingot(), 6), new OreDictStack(ANY_HARDPLASTIC.ingot(), 4)));
this.register(new GenericRecipe("ass.watzcooler").setup(200, 100).outputItems(new ItemStack(ModBlocks.watz_cooler, 3))
.inputItems(new OreDictStack(STEEL.plateCast(), 2), new OreDictStack(CU.plateCast(), 4), new OreDictStack(RUBBER.ingot(), 2))
.inputItems(new ComparableStack(ModItems.item_expensive, 3, EnumExpensiveType.FERRO_PLATING), new OreDictStack(RUBBER.ingot(), 8)));
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 3, EnumExpensiveType.FERRO_PLATING), new OreDictStack(RUBBER.ingot(), 8)));
this.register(new GenericRecipe("ass.watzcasing").setup(100, 100).outputItems(new ItemStack(ModBlocks.watz_end, 3))
.inputItems(new OreDictStack(ANY_RESISTANTALLOY.plateWelded()), new OreDictStack(B.ingot(), 3), new OreDictStack(STEEL.plateWelded(), 2))
.inputItems(new ComparableStack(ModItems.item_expensive, 6, EnumExpensiveType.LEAD_PLATING), new OreDictStack(ANY_RESISTANTALLOY.plateWelded())));
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 6, EnumExpensiveType.LEAD_PLATING), new OreDictStack(ANY_RESISTANTALLOY.plateWelded())));
// ICF
this.register(new GenericRecipe("ass.icfcell").setup(200, 100).outputItems(new ItemStack(ModBlocks.icf_laser_component, 1, EnumICFPart.CELL.ordinal()))

View File

@ -16,7 +16,6 @@ import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.stream.JsonWriter;
import com.hbm.blocks.ModBlocks;
import com.hbm.config.GeneralConfig;
import com.hbm.handler.imc.IMCBlastFurnace;
import com.hbm.inventory.RecipesCommon.AStack;
@ -59,10 +58,9 @@ public class BlastFurnaceRecipes extends SerializableRecipe {
addRecipe(W, SA326.nugget(), new ItemStack(ModItems.ingot_magnetized_tungsten));
addRecipe(STEEL, TC99.nugget(), new ItemStack(ModItems.ingot_tcalloy));
addRecipe(GOLD.plate(), ModItems.plate_mixed, new ItemStack(ModItems.plate_paa, 2));
addRecipe(BIGMT, ModItems.powder_meteorite, new ItemStack(ModItems.ingot_starmetal, 2));
addRecipe(CO, ModBlocks.block_meteor, new ItemStack(ModItems.ingot_meteorite));
addRecipe(BIGMT, ModItems.ingot_meteorite, new ItemStack(ModItems.ingot_starmetal, 2));
addRecipe(CO, ModItems.powder_meteorite, new ItemStack(ModItems.ingot_meteorite));
addRecipe(ModItems.meteorite_sword_hardened, CO, new ItemStack(ModItems.meteorite_sword_alloyed));
addRecipe(ModBlocks.block_meteor, CO, new ItemStack(ModItems.ingot_meteorite));
if(GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleChemsitry) {
addRecipe(ModItems.canister_empty, COAL, new ItemStack(ModItems.canister_full, 1, Fluids.OIL.getID()));

View File

@ -1,7 +1,6 @@
package com.hbm.inventory.recipes;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map.Entry;
@ -26,7 +25,6 @@ import com.hbm.items.ItemEnums;
import com.hbm.items.ItemEnums.EnumAshType;
import com.hbm.items.ItemEnums.EnumChunkType;
import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemWatzPellet.EnumWatzType;
import com.hbm.items.special.ItemBedrockOreNew;
import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre;
import com.hbm.items.special.ItemBedrockOreNew.BedrockOreGrade;
@ -49,35 +47,12 @@ public class CentrifugeRecipes extends SerializableRecipe {
boolean lbs = GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleCentrifuge;
recipes.put(new ComparableStack(ModItems.icf_pellet_depleted), new ItemStack[] {
new ItemStack(ModItems.icf_pellet_empty, 1),
new ItemStack(ModItems.pellet_charged, 1),
new ItemStack(ModItems.pellet_charged, 1),
new ItemStack(ModItems.powder_iron, 1) });
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.RARE)), new ItemStack[] {
new ItemStack(ModItems.powder_cobalt_tiny, 2),
new ItemStack(ModItems.powder_boron_tiny, 2),
new ItemStack(ModItems.powder_niobium_tiny, 2),
new ItemStack(ModItems.nugget_zirconium, 3) });
ArrayList<ItemStack> naquadriaNuggets = OreDictionary.getOres("nuggetNaquadria");
if(naquadriaNuggets.size() != 0) {
ItemStack nuggetNQR = naquadriaNuggets.get(0);
ItemStack copy = nuggetNQR.copy();
copy.stackSize = 12;
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.NQD)), new ItemStack[] {
new ItemStack(ModItems.ingot_mud, 1),
copy,
new ItemStack(ModItems.nugget_euphemium, 6),
new ItemStack(ModItems.nuclear_waste, 2) });
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.NQR)), new ItemStack[] {
new ItemStack(ModItems.ingot_mud, 1),
new ItemStack(ModItems.nugget_co60, 12),
new ItemStack(ModItems.nugget_euphemium, 6),
new ItemStack(ModItems.nuclear_waste, 2) });
}
recipes.put(new OreDictStack(COAL.ore()), new ItemStack[] {
new ItemStack(ModItems.powder_coal, 2),
new ItemStack(ModItems.powder_coal, 2),
@ -329,8 +304,6 @@ public class CentrifugeRecipes extends SerializableRecipe {
recipes.put(new ComparableStack(Items.blaze_rod), new ItemStack[] {new ItemStack(Items.blaze_powder, 1), new ItemStack(Items.blaze_powder, 1), new ItemStack(ModItems.powder_fire, 1), new ItemStack(ModItems.powder_fire, 1) });
recipes.put(new ComparableStack(ModItems.ingot_schraranium), new ItemStack[] { new ItemStack(ModItems.nugget_schrabidium, 2), new ItemStack(ModItems.nugget_schrabidium, 1), new ItemStack(ModItems.nugget_uranium, 3), new ItemStack(ModItems.nugget_neptunium, 2) });
recipes.put(new ComparableStack(ModItems.crystal_coal), new ItemStack[] { new ItemStack(ModItems.powder_coal, 3), new ItemStack(ModItems.powder_coal, 3), new ItemStack(ModItems.powder_coal, 3), new ItemStack(ModItems.powder_lithium_tiny, 1) });
recipes.put(new ComparableStack(ModItems.crystal_iron), new ItemStack[] { new ItemStack(ModItems.powder_iron, 2), new ItemStack(ModItems.powder_iron, 2), new ItemStack(ModItems.powder_titanium, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) });
recipes.put(new ComparableStack(ModItems.crystal_gold), new ItemStack[] { new ItemStack(ModItems.powder_gold, 2), new ItemStack(ModItems.powder_gold, 2), new ItemStack(ModItems.ingot_mercury, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) });

View File

@ -2,6 +2,8 @@ package com.hbm.inventory.recipes;
import static com.hbm.inventory.OreDictManager.*;
import java.util.ArrayList;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.FluidStack;
import com.hbm.inventory.RecipesCommon.ComparableStack;
@ -14,6 +16,7 @@ import com.hbm.items.machine.ItemPWRFuel.EnumPWRFuel;
import com.hbm.items.machine.ItemWatzPellet.EnumWatzType;
import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
@ -37,7 +40,8 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
long vitrification = 1_000;
// ZIRNOX
this.register(new GenericRecipe("purex.zirnoxnu").setup(100, zirnoxPower).setNameWrapper("purex.recycle")
String autoZirnox = "autoswitch.zirnox";
this.register(new GenericRecipe("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),
@ -46,8 +50,8 @@ 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")
.inputItems(new ComparableStack(ModItems.waste_natural_uranium))
this.register(new GenericRecipe("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_u238, 1),
new ItemStack(ModItems.nugget_pu_mix, 2),
@ -55,7 +59,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")
this.register(new GenericRecipe("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),
@ -64,7 +68,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")
this.register(new GenericRecipe("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),
@ -73,7 +77,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")
this.register(new GenericRecipe("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, 1),
@ -82,7 +86,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")
this.register(new GenericRecipe("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),
@ -91,7 +95,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")
this.register(new GenericRecipe("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),
@ -100,7 +104,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")
this.register(new GenericRecipe("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),
@ -109,7 +113,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")
this.register(new GenericRecipe("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),
@ -119,7 +123,8 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
.setIconToFirstIngredient());
// Plate Fuel
this.register(new GenericRecipe("purex.platemox").setup(100, platePower).setNameWrapper("purex.recycle")
String autoPlate = "autoswitch.plate";
this.register(new GenericRecipe("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),
@ -128,7 +133,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")
this.register(new GenericRecipe("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),
@ -137,7 +142,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")
this.register(new GenericRecipe("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),
@ -146,7 +151,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")
this.register(new GenericRecipe("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),
@ -155,7 +160,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")
this.register(new GenericRecipe("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),
@ -164,7 +169,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")
this.register(new GenericRecipe("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),
@ -173,7 +178,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")
this.register(new GenericRecipe("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),
@ -183,7 +188,8 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
.setIconToFirstIngredient());
// PWR
this.register(new GenericRecipe("purex.pwrmeu").setup(100, pwrPower).setNameWrapper("purex.recycle")
String autoPWR = "autoswitch.pwr";
this.register(new GenericRecipe("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),
@ -192,7 +198,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")
this.register(new GenericRecipe("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),
@ -201,7 +207,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")
this.register(new GenericRecipe("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),
@ -210,7 +216,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")
this.register(new GenericRecipe("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),
@ -219,7 +225,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")
this.register(new GenericRecipe("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),
@ -228,7 +234,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")
this.register(new GenericRecipe("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),
@ -237,7 +243,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")
this.register(new GenericRecipe("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),
@ -246,7 +252,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")
this.register(new GenericRecipe("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),
@ -255,7 +261,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")
this.register(new GenericRecipe("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),
@ -264,7 +270,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")
this.register(new GenericRecipe("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),
@ -273,7 +279,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")
this.register(new GenericRecipe("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),
@ -282,7 +288,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")
this.register(new GenericRecipe("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),
@ -291,7 +297,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")
this.register(new GenericRecipe("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),
@ -300,7 +306,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")
this.register(new GenericRecipe("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),
@ -309,7 +315,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")
this.register(new GenericRecipe("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),
@ -328,7 +334,8 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
new ChanceOutput(new ItemStack(ModItems.nuclear_waste_tiny, 1), 0.25F)));
// Watz
this.register(new GenericRecipe("purex.watzschrab").setup(60, watzPower).setNameWrapper("purex.recycle")
String autoWatz = "autoswitch.watz";
this.register(new GenericRecipe("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),
@ -337,7 +344,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")
this.register(new GenericRecipe("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),
@ -346,7 +353,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")
this.register(new GenericRecipe("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),
@ -355,7 +362,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")
this.register(new GenericRecipe("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),
@ -364,7 +371,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")
this.register(new GenericRecipe("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),
@ -373,7 +380,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")
this.register(new GenericRecipe("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),
@ -382,7 +389,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")
this.register(new GenericRecipe("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),
@ -391,7 +398,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")
this.register(new GenericRecipe("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),
@ -400,7 +407,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")
this.register(new GenericRecipe("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),
@ -409,7 +416,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")
this.register(new GenericRecipe("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),
@ -418,6 +425,40 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
.outputFluids(new FluidStack(Fluids.WATZ, 1_000))
.setIconToFirstIngredient());
ArrayList<ItemStack> naquadriaNuggets = OreDictionary.getOres("nuggetNaquadria");
if(naquadriaNuggets.size() != 0) {
ItemStack nuggetNQR = naquadriaNuggets.get(0);
ItemStack copy = nuggetNQR.copy();
copy.stackSize = 12;
this.register(new GenericRecipe("purex.watzdu").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,
new ItemStack(ModItems.nugget_euphemium, 6),
new ItemStack(ModItems.nuclear_waste, 2))
.outputFluids(new FluidStack(Fluids.WATZ, 1_000))
.setIconToFirstIngredient());
this.register(new GenericRecipe("purex.watzdu").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),
new ItemStack(ModItems.nugget_euphemium, 6),
new ItemStack(ModItems.nuclear_waste, 2))
.outputFluids(new FluidStack(Fluids.WATZ, 1_000))
.setIconToFirstIngredient());
}
//ICF
this.register(new GenericRecipe("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),
new ItemStack(ModItems.pellet_charged, 1),
new ItemStack(ModItems.powder_iron, 1))
.setIconToFirstIngredient());
/// Vitrification
this.register(new GenericRecipe("purex.vitliquid").setup(100, vitrification)
.inputItems(new ComparableStack(ModBlocks.sand_lead))
@ -432,5 +473,37 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
this.register(new GenericRecipe("purex.vitsolid").setup(300, vitrification)
.inputItems(new ComparableStack(ModBlocks.sand_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")
.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),
new ItemStack(ModItems.nugget_uranium, 3),
new ItemStack(ModItems.nugget_neptunium, 2))
.setIconToFirstIngredient());
String autoSchrab = "autoswitch.schrab";
this.register(new GenericRecipe("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, 500))
.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)
.inputItems(new ComparableStack(ModItems.pwr_fuel_depleted, 1, EnumPWRFuel.MEP))
.inputFluids(new FluidStack(Fluids.SOLVENT, 4_000), new FluidStack(Fluids.SCHRABIDIC, 500))
.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)
.inputItems(new ComparableStack(ModItems.pwr_fuel_depleted, 1, EnumPWRFuel.MEN))
.inputFluids(new FluidStack(Fluids.SOLVENT, 4_000), new FluidStack(Fluids.SCHRABIDIC, 500))
.outputItems(new ItemStack(ModItems.powder_schrabidium, 1),
new ItemStack(ModItems.nugget_technetium, 3),
new ItemStack(ModItems.nuclear_waste_tiny, 4))
.setIconToFirstIngredient());
}
}

View File

@ -34,6 +34,7 @@ public class GenericRecipe {
public boolean writeIcon = false;
public boolean customLocalization = false;
protected String[] blueprintPools = null;
public String autoSwitchGroup = null;
public GenericRecipe(String name) {
this.name = name;
@ -59,6 +60,7 @@ public class GenericRecipe {
public GenericRecipe setIcon(Block block) { return this.setIcon(new ItemStack(block)); }
public GenericRecipe setNamed() { this.customLocalization = true; return this; }
public GenericRecipe setPools(String... pools) { this.blueprintPools = pools; for(String pool : pools) GenericRecipes.addToPool(pool, this); return this; }
public GenericRecipe setGroup(String autoSwitch, GenericRecipes set) { this.autoSwitchGroup = autoSwitch; set.addToGroup(autoSwitch, this); return this; }
public GenericRecipe inputItems(AStack... input) { this.inputItem = input; for(AStack stack : this.inputItem) if(stack.stacksize > 64) throw new IllegalArgumentException("AStack in " + this.name + " exceeds stack limit!"); return this; }
public GenericRecipe inputItemsEx(AStack... input) { if(!GeneralConfig.enableExpensiveMode) return this; this.inputItem = input; for(AStack stack : this.inputItem) if(stack.stacksize > 64) throw new IllegalArgumentException("AStack in " + this.name + " exceeds stack limit!"); return this; }
@ -113,6 +115,10 @@ public class GenericRecipe {
public List<String> print() {
List<String> list = new ArrayList();
list.add(EnumChatFormatting.YELLOW + this.getLocalizedName());
if(this.autoSwitchGroup != null) {
String[] lines = I18nUtil.resolveKeyArray("autoswitch", I18nUtil.resolveKey(this.autoSwitchGroup));
for(String line : lines) list.add(EnumChatFormatting.GOLD + line);
}
if(duration > 0) list.add(EnumChatFormatting.RED + "Duration: " + this.duration / 20D + "s");
if(power > 0) list.add(EnumChatFormatting.RED + "Consumption: " + BobMathUtil.getShortNumber(power) + "HE/t");
list.add(EnumChatFormatting.BOLD + "Input:");

View File

@ -46,6 +46,9 @@ public abstract class GenericRecipes<T extends GenericRecipe> extends Serializab
public static HashMap<String, List<String>> blueprintPools = new HashMap();
/** Name to recipe map for all recipes that are part of pools for lookup */
public static HashMap<String, GenericRecipe> pooledBlueprints = new HashMap();
/** Groups for auto switch functionality (changes recipe automatically based on first solid input) */
public HashMap<String, List<GenericRecipe>> autoSwitchGroups = new HashMap();
public abstract int inputItemLimit();
public abstract int inputFluidLimit();
@ -54,6 +57,7 @@ public abstract class GenericRecipes<T extends GenericRecipe> extends Serializab
public boolean hasDuration() { return true; }
public boolean hasPower() { return true; }
/** Adds a recipe to a blueprint pool (i.e. a blueprint item's recipe list) */
public static void addToPool(String pool, GenericRecipe recipe) {
List<String> list = blueprintPools.get(pool);
if(list == null) {
@ -64,6 +68,14 @@ public abstract class GenericRecipes<T extends GenericRecipe> extends Serializab
pooledBlueprints.put(recipe.name, recipe);
}
/** Adds a recipe to an auto switch group (recipe can switch based on first solid input) */
public void addToGroup(String group, GenericRecipe recipe) {
List<GenericRecipe> list = autoSwitchGroups.get(group);
if(list == null) list = new ArrayList();
list.add(recipe);
autoSwitchGroups.put(group, list);
}
public static void clearPools() {
blueprintPools.clear();
pooledBlueprints.clear();
@ -78,6 +90,7 @@ public abstract class GenericRecipes<T extends GenericRecipe> extends Serializab
public void deleteRecipes() {
this.recipeOrderedList.clear();
this.recipeNameMap.clear();
this.autoSwitchGroups.clear();
}
public void register(T recipe) {
@ -104,6 +117,7 @@ public abstract class GenericRecipes<T extends GenericRecipe> extends Serializab
if(obj.has("named") && obj.get("named").getAsBoolean()) recipe.setNamed();
if(obj.has("blueprintpool")) recipe.setPools(obj.get("blueprintpool").getAsString().split(":"));
if(obj.has("nameWrapper")) recipe.setNameWrapper(obj.get("nameWrapper").getAsString());
if(obj.has("autoSwitchGroup")) recipe.setGroup(obj.get("autoSwitchGroup").getAsString(), this);
readExtraData(element, recipe);
@ -154,6 +168,7 @@ public abstract class GenericRecipes<T extends GenericRecipe> extends Serializab
if(recipe.customLocalization) writer.name("named").value(true);
if(recipe.nameWrapper != null) writer.name("nameWrapper").value(recipe.nameWrapper);
if(recipe.blueprintPools != null && recipe.blueprintPools.length > 0) writer.name("blueprintpool").value(String.join(":", recipe.blueprintPools));
if(recipe.autoSwitchGroup != null) writer.name("autoSwitchGroup").value(recipe.autoSwitchGroup);
writeExtraData(recipe, writer);
}

View File

@ -702,7 +702,6 @@ public class ModItems {
public static Item ingot_raw;
public static Item plate_cast;
public static Item plate_welded;
public static Item heavy_component;
public static Item wire_fine;
public static Item wire_dense;
public static Item part_barrel_light;
@ -1458,6 +1457,7 @@ public class ModItems {
public static Item gun_autoshotgun;
public static Item gun_autoshotgun_shredder;
public static Item gun_autoshotgun_sexy;
public static Item gun_autoshotgun_heretic;
public static Item gun_quadro;
public static Item gun_lag;
public static Item gun_minigun;
@ -2346,7 +2346,7 @@ public class ModItems {
thruster_nuclear = new Item().setUnlocalizedName("thruster_nuclear").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":thruster_nuclear");
safety_fuse = new Item().setUnlocalizedName("safety_fuse").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":safety_fuse");
part_generic = new ItemGenericPart().setUnlocalizedName("part_generic").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":part_generic");
item_expensive = new ItemEnumMulti(EnumExpensiveType.class, true, true).setUnlocalizedName("item_expensive").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":item_expensive");
item_expensive = new ItemExpensive().setUnlocalizedName("item_expensive").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":item_expensive");
item_secret = new ItemEnumMulti(EnumSecretType.class, true, true).setUnlocalizedName("item_secret").setCreativeTab(null).setTextureName(RefStrings.MODID + ":item_secret");
ingot_metal = new ItemEnumMulti(EnumIngotMetal.class, true, true).setUnlocalizedName("ingot_metal").setCreativeTab(null).setTextureName(RefStrings.MODID + ":ingot_metal");
chemical_dye = new ItemChemicalDye().setUnlocalizedName("chemical_dye").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":chemical_dye");
@ -2931,7 +2931,6 @@ public class ModItems {
ingot_raw = new ItemAutogen(MaterialShapes.INGOT).setUnlocalizedName("ingot_raw").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_raw");
plate_cast = new ItemAutogen(MaterialShapes.CASTPLATE).aot(Mats.MAT_BISMUTH, "plate_cast_bismuth").setUnlocalizedName("plate_cast").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_cast");
plate_welded = new ItemAutogen(MaterialShapes.WELDEDPLATE).setUnlocalizedName("plate_welded").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_welded");
heavy_component = new ItemAutogen(MaterialShapes.HEAVY_COMPONENT).setUnlocalizedName("heavy_component").setCreativeTab(null).setTextureName(RefStrings.MODID + ":heavy_component");
wire_fine = new ItemAutogen(MaterialShapes.WIRE)
.aot(Mats.MAT_ALUMINIUM, "wire_aluminium").aot(Mats.MAT_COPPER, "wire_copper")
.aot(Mats.MAT_MINGRADE, "wire_red_copper").aot(Mats.MAT_GOLD, "wire_gold")
@ -5461,7 +5460,6 @@ public class ModItems {
GameRegistry.registerItem(plate_welded, plate_welded.getUnlocalizedName());
GameRegistry.registerItem(shell, shell.getUnlocalizedName());
GameRegistry.registerItem(pipe, pipe.getUnlocalizedName());
GameRegistry.registerItem(heavy_component, heavy_component.getUnlocalizedName());
//Bolts
GameRegistry.registerItem(bolt, bolt.getUnlocalizedName());
@ -6391,6 +6389,7 @@ public class ModItems {
GameRegistry.registerItem(gun_autoshotgun, gun_autoshotgun.getUnlocalizedName());
GameRegistry.registerItem(gun_autoshotgun_shredder, gun_autoshotgun_shredder.getUnlocalizedName());
GameRegistry.registerItem(gun_autoshotgun_sexy, gun_autoshotgun_sexy.getUnlocalizedName());
GameRegistry.registerItem(gun_autoshotgun_heretic, gun_autoshotgun_heretic.getUnlocalizedName());
GameRegistry.registerItem(gun_quadro, gun_quadro.getUnlocalizedName());
GameRegistry.registerItem(gun_lag, gun_lag.getUnlocalizedName());
GameRegistry.registerItem(gun_minigun, gun_minigun.getUnlocalizedName());

View File

@ -202,7 +202,7 @@ public class ItemDrop extends Item {
list.add("Continuously heats up matter by");
list.add("resonating every planck second.");
list.add("Tends to catch fire or to create");
list.add("small plamsa arcs. Not edible.");
list.add("small plasma arcs. Not edible.");
}
if (this == ModItems.black_hole) {
list.add("Contains a regular singularity");

View File

@ -0,0 +1,22 @@
package com.hbm.items.special;
import java.util.List;
import com.hbm.items.ItemEnumMulti;
import com.hbm.items.ItemEnums.EnumExpensiveType;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
public class ItemExpensive extends ItemEnumMulti {
public ItemExpensive() {
super(EnumExpensiveType.class, true, true);
}
@Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
list.add(EnumChatFormatting.RED + "Expensive mode item");
}
}

View File

@ -450,6 +450,9 @@ public class ItemGunBaseNT extends Item implements IKeybindReceiver, IItemHUD, I
Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons);
}
@Override
public boolean getShareTag() { return false; }
public static class SmokeNode {
public double forward = 0D;

View File

@ -76,7 +76,8 @@ public class GunFactoryClient {
MinecraftForgeClient.registerItemRenderer(ModItems.gun_m2, new ItemRenderM2());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_autoshotgun, new ItemRenderShredder(ResourceManager.shredder_tex));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_autoshotgun_shredder, new ItemRenderShredder(ResourceManager.shredder_orig_tex));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_autoshotgun_sexy, new ItemRenderSexy());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_autoshotgun_sexy, new ItemRenderSexy(ResourceManager.sexy_tex));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_autoshotgun_heretic, new ItemRenderSexy(ResourceManager.heretic_tex));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_quadro, new ItemRenderQuadro());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_minigun, new ItemRenderMinigun(ResourceManager.minigun_tex));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_minigun_lacunae, new ItemRenderMinigun(ResourceManager.minigun_lacunae_tex));
@ -267,6 +268,7 @@ public class GunFactoryClient {
((ItemGunBaseNT) ModItems.gun_autoshotgun) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
((ItemGunBaseNT) ModItems.gun_autoshotgun_shredder) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
((ItemGunBaseNT) ModItems.gun_autoshotgun_sexy) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
((ItemGunBaseNT) ModItems.gun_autoshotgun_heretic) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_AMMO);
((ItemGunBaseNT) ModItems.gun_quadro) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
((ItemGunBaseNT) ModItems.gun_lag) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
((ItemGunBaseNT) ModItems.gun_minigun) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);

View File

@ -67,6 +67,17 @@ public class XFactory10ga {
.setupStandardConfiguration()
.anim(LAMBDA_DOUBLE_BARREL_ANIMS).orchestra(Orchestras.ORCHESTRA_DOUBLE_BARREL)
).setUnlocalizedName("gun_double_barrel_sacred_dragon");
ModItems.gun_autoshotgun_heretic = new ItemGunBaseNT(WeaponQuality.DEBUG, new GunConfig()
.draw(20).inspect(65).reloadSequential(true).inspectCancel(false).crosshair(Crosshair.L_CIRCLE).hideCrosshair(false).smoke(Lego.LAMBDA_STANDARD_SMOKE)
.rec(new Receiver(0)
.dmg(100F).delay(3).auto(true).dryfireAfterAuto(true).reload(110).jam(19).sound("hbm:weapon.fire.shotgunAuto", 1.0F, 1.0F)
.mag(new MagazineFullReload(0, 250).addConfigs(g10, g10_shrapnel, g10_du, g10_slug, g10_explosive))
.offset(0.75, -0.125, -0.25)
.canFire(Lego.LAMBDA_STANDARD_CAN_FIRE).fire(Lego.LAMBDA_NOWEAR_FIRE).recoil(XFactory12ga.LAMBDA_RECOIL_SEXY))
.setupStandardConfiguration()
.anim(XFactory12ga.LAMBDA_SEXY_ANIMS).orchestra(Orchestras.ORCHESTRA_SHREDDER_SEXY)
).setUnlocalizedName("gun_autoshotgun_heretic");
}
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_RECOIL_DOUBLE_BARREL = (stack, ctx) -> {

View File

@ -138,7 +138,7 @@ public class WeaponModManager {
new WeaponModDefinition(EnumModSpecial.SPEEDUP)
.addMod(new Item[] {ModItems.gun_minigun, ModItems.gun_minigun_dual}, new WeaponModMinigunSpeedup(ID_MINIGUN_SPEED))
.addMod(new Item[] {ModItems.gun_autoshotgun, ModItems.gun_autoshotgun_shredder}, new WeaponModShredderSpeedup(209));
new WeaponModDefinition(EnumModSpecial.CHOKE).addMod(new Item[] {ModItems.gun_pepperbox, ModItems.gun_maresleg, ModItems.gun_double_barrel, ModItems.gun_liberator, ModItems.gun_spas12, ModItems.gun_autoshotgun_sexy}, new WeaponModChoke(210));
new WeaponModDefinition(EnumModSpecial.CHOKE).addMod(new Item[] {ModItems.gun_pepperbox, ModItems.gun_maresleg, ModItems.gun_double_barrel, ModItems.gun_liberator, ModItems.gun_spas12, ModItems.gun_autoshotgun_sexy, ModItems.gun_autoshotgun_heretic}, new WeaponModChoke(210));
new WeaponModDefinition(EnumModSpecial.FURNITURE_GREEN).addMod(ModItems.gun_g3, new WeaponModPolymerFurniture(ID_FURNITURE_GREEN));
new WeaponModDefinition(EnumModSpecial.FURNITURE_BLACK).addMod(ModItems.gun_g3, new WeaponModPolymerFurniture(ID_FURNITURE_BLACK));
new WeaponModDefinition(EnumModSpecial.BAYONET)

View File

@ -3,7 +3,7 @@ package com.hbm.lib;
public class RefStrings {
public static final String MODID = "hbm";
public static final String NAME = "Hbm's Nuclear Tech Mod";
public static final String VERSION = "1.0.27 BETA (5397)";
public static final String VERSION = "1.0.27 BETA (5412)";
//HBM's Beta Naming Convention:
//V T (X)
//V -> next release version

View File

@ -22,6 +22,7 @@ import com.hbm.inventory.material.NTMMaterial;
import static com.hbm.inventory.OreDictManager.*;
import com.hbm.items.ModItems;
import com.hbm.items.ItemEnums.EnumExpensiveType;
import com.hbm.items.ItemEnums.EnumLegendaryType;
import com.hbm.items.ItemEnums.EnumPages;
import com.hbm.items.ItemEnums.EnumPlantType;
@ -865,7 +866,7 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(ModBlocks.pwr_heatsink, 4), new Object[] { "SCS", "CRC", "SCS", 'S', BIGMT.plateCast(), 'C', CU.plate(), 'R', RUBBER.ingot() });
addRecipeAuto(new ItemStack(ModBlocks.pwr_reflector, 4), new Object[] { "RLR", "LSL", "RLR", 'R', OreDictManager.getReflector(), 'L', PB.plate528(), 'S', STEEL.plateCast() });
addRecipeAuto(new ItemStack(ModBlocks.pwr_casing, 4), new Object[] { "LCL", "CSC", "LCL", 'L', PB.plate528(), 'C', ANY_CONCRETE.any(), 'S', STEEL.plateCast() });
addRecipeAuto(new ItemStack(ModBlocks.pwr_controller, 1), new Object[] { "CPC", "PSP", "CPC", 'C', ModBlocks.pwr_casing, 'P', ANY_PLASTIC.ingot(), 'S', !GeneralConfig.enableExpensiveMode ? DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC) : STEEL.heavyComp() });
addRecipeAuto(new ItemStack(ModBlocks.pwr_controller, 1), new Object[] { "CPC", "PSP", "CPC", 'C', ModBlocks.pwr_casing, 'P', ANY_PLASTIC.ingot(), 'S', !GeneralConfig.enableExpensiveMode ? DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC) : DictFrame.fromOne(ModItems.item_expensive, EnumExpensiveType.CIRCUIT) });
addRecipeAuto(new ItemStack(ModBlocks.pwr_port, 1), new Object[] { "S", "C", "S", 'S', STEEL.plate(), 'C', ModBlocks.pwr_casing });
addRecipeAuto(new ItemStack(ModBlocks.pwr_neutron_source, 1), new Object[] { "LRL", "ZRZ", "LRL", 'L', PB.plate528(), 'R', ModItems.billet_ra226be, 'Z', ZR.plateCast() });

View File

@ -1723,6 +1723,7 @@ public class MainRegistry {
ignoreMappings.add("hbm:item.journal_silver");
ignoreMappings.add("hbm:tile.machine_arc_furnace_off");
ignoreMappings.add("hbm:tile.machine_arc_furnace_on");
ignoreMappings.add("hbm:item.heavy_component");
/// REMAP ///
remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses);

View File

@ -40,6 +40,7 @@ import com.hbm.items.weapon.sedna.factory.XFactory12ga;
import com.hbm.lib.ModDamageSource;
import com.hbm.lib.RefStrings;
import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.toclient.HeldItemNBTPacket;
import com.hbm.packet.toclient.PermaSyncPacket;
import com.hbm.packet.toclient.PlayerInformPacket;
import com.hbm.packet.toclient.SerializableRecipePacket;
@ -988,6 +989,11 @@ public class ModEventHandler {
player.worldObj.spawnParticle("townaura", player.posX + vec.xCoord, player.posY + 1 + vec.yCoord, player.posZ + vec.zCoord, 0.0, 0.0, 0.0);
}
}
if(!player.worldObj.isRemote && event.phase == TickEvent.Phase.END && player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ItemGunBaseNT && player instanceof EntityPlayerMP) {
HeldItemNBTPacket packet = new HeldItemNBTPacket(player.getHeldItem());
PacketDispatcher.wrapper.sendTo(packet, (EntityPlayerMP) player);
}
}
@SubscribeEvent

View File

@ -1014,6 +1014,7 @@ public class ResourceManager {
public static final ResourceLocation shredder_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/shredder.png");
public static final ResourceLocation shredder_orig_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/shredder_orig.png");
public static final ResourceLocation sexy_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/sexy_real_no_fake.png");
public static final ResourceLocation heretic_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/sexy_heretic.png");
public static final ResourceLocation whiskey_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/whiskey.png");
public static final ResourceLocation quadro_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/quadro.png");
public static final ResourceLocation quadro_rocket_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/quadro_rocket.png");

View File

@ -3,6 +3,7 @@ package com.hbm.module.machine;
import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.recipes.AssemblyMachineRecipes;
import com.hbm.inventory.recipes.loader.GenericRecipe;
import com.hbm.inventory.recipes.loader.GenericRecipes;
import com.hbm.util.BobMathUtil;
import api.hbm.energymk2.IEnergyHandlerMK2;
@ -19,8 +20,8 @@ public class ModuleMachineAssembler extends ModuleMachineBase {
}
@Override
public GenericRecipe getRecipe() {
return AssemblyMachineRecipes.INSTANCE.recipeNameMap.get(this.recipe);
public GenericRecipes getRecipeSet() {
return AssemblyMachineRecipes.INSTANCE;
}
@Override

View File

@ -1,7 +1,10 @@
package com.hbm.module.machine;
import java.util.List;
import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.recipes.loader.GenericRecipe;
import com.hbm.inventory.recipes.loader.GenericRecipes;
import com.hbm.inventory.recipes.loader.GenericRecipes.IOutput;
import com.hbm.items.machine.ItemBlueprints;
@ -44,6 +47,20 @@ public abstract class ModuleMachineBase {
/** Expects the tanks to be set up correctly beforehand */
public boolean canProcess(GenericRecipe recipe, double speed, double power) {
if(recipe == null) return false;
// auto switch functionality
if(recipe.autoSwitchGroup != null && slots[inputSlots[0]] != null) {
ItemStack itemToSwitchBy = slots[inputSlots[0]];
List<GenericRecipe> recipes = (List<GenericRecipe>) this.getRecipeSet().autoSwitchGroups.get(recipe.autoSwitchGroup);
if(recipes != null) for(GenericRecipe nextRec : recipes) {
if(nextRec.inputItem == null) continue;
if(nextRec.inputItem[0].matchesRecipe(itemToSwitchBy, true)) { // perform the switch
this.recipe = nextRec.getInternalName();
return false; // cancel the recipe this tick since we need to do the previous checking all over again
}
}
}
if(power != 1 && battery.getPower() < recipe.power * power) return false; // only check with floating point numbers if mult is not 1
if(power == 1 && battery.getPower() < recipe.power) return false;
@ -109,7 +126,7 @@ public abstract class ModuleMachineBase {
if(slots[outputSlots[i]] == null) {
slots[outputSlots[i]] = collapse;
} else {
slots[outputSlots[i]].stackSize += collapse.stackSize; // we can do this because we've already established that the result slot is not null if it's a single output
if(collapse != null) slots[outputSlots[i]].stackSize += collapse.stackSize; // we can do this because we've already established that the result slot is not null if it's a single output
}
}
}
@ -128,8 +145,12 @@ public abstract class ModuleMachineBase {
this.progress = 0D;
}
}
public GenericRecipe getRecipe() {
return (GenericRecipe) getRecipeSet().recipeNameMap.get(this.recipe);
}
public abstract GenericRecipe getRecipe();
public abstract GenericRecipes getRecipeSet();
public void update(double speed, double power, boolean extraCondition, ItemStack blueprint) {
GenericRecipe recipe = getRecipe();
@ -164,6 +185,16 @@ public abstract class ModuleMachineBase {
if(inputSlots[i] == slot && recipe.inputItem[i].matchesRecipe(stack, true)) return true;
}
if(recipe.autoSwitchGroup != null) {
List<GenericRecipe> recipes = (List<GenericRecipe>) this.getRecipeSet().autoSwitchGroups.get(recipe.autoSwitchGroup); // why the FUCK does this need a cast
if(recipes != null) for(GenericRecipe newRec : recipes) {
if(newRec.inputItem == null) continue;
if(inputSlots[0] == slot && newRec.inputItem[0].matchesRecipe(stack, true)) {
return true;
}
}
}
return false;
}

View File

@ -2,7 +2,7 @@ package com.hbm.module.machine;
import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.recipes.ChemicalPlantRecipes;
import com.hbm.inventory.recipes.loader.GenericRecipe;
import com.hbm.inventory.recipes.loader.GenericRecipes;
import api.hbm.energymk2.IEnergyHandlerMK2;
import net.minecraft.item.ItemStack;
@ -24,8 +24,8 @@ public class ModuleMachineChemplant extends ModuleMachineBase {
}
@Override
public GenericRecipe getRecipe() {
return ChemicalPlantRecipes.INSTANCE.recipeNameMap.get(this.recipe);
public GenericRecipes getRecipeSet() {
return ChemicalPlantRecipes.INSTANCE;
}
public ModuleMachineChemplant itemInput(int a, int b, int c) { inputSlots[0] = a; inputSlots[1] = b; inputSlots[2] = c; return this; }

View File

@ -2,7 +2,7 @@ package com.hbm.module.machine;
import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.recipes.PUREXRecipes;
import com.hbm.inventory.recipes.loader.GenericRecipe;
import com.hbm.inventory.recipes.loader.GenericRecipes;
import api.hbm.energymk2.IEnergyHandlerMK2;
import net.minecraft.item.ItemStack;
@ -18,8 +18,8 @@ public class ModuleMachinePUREX extends ModuleMachineBase {
}
@Override
public GenericRecipe getRecipe() {
return PUREXRecipes.INSTANCE.recipeNameMap.get(this.recipe);
public GenericRecipes getRecipeSet() {
return PUREXRecipes.INSTANCE;
}
public ModuleMachinePUREX itemInput(int start) { for(int i = 0; i < inputSlots.length; i++) inputSlots[i] = start + i; return this; }

View File

@ -67,6 +67,8 @@ public class PacketDispatcher {
wrapper.registerMessage(BufPacket.Handler.class, BufPacket.class, i++, Side.CLIENT);
//Syncs server recipe configs to the client
wrapper.registerMessage(SerializableRecipePacket.Handler.class, SerializableRecipePacket.class, i++, Side.CLIENT);
//Syncing of NBT for guns
wrapper.registerMessage(HeldItemNBTPacket.Handler.class, HeldItemNBTPacket.class, i++, Side.CLIENT);
}
}

View File

@ -0,0 +1,68 @@
package com.hbm.packet.toclient;
import com.hbm.util.BufferUtil;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import io.netty.buffer.ByteBuf;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
public class HeldItemNBTPacket implements IMessage {
private ItemStack stack;
public HeldItemNBTPacket() { }
public HeldItemNBTPacket(ItemStack stack) {
this.stack = stack;
}
@Override
public void toBytes(ByteBuf buf) {
buf.writeShort(Item.getIdFromItem(stack.getItem()));
buf.writeByte(stack.stackSize);
buf.writeShort(stack.getItemDamage());
NBTTagCompound nbtTagCompound = null;
nbtTagCompound = stack.stackTagCompound;
BufferUtil.writeNBT(buf, nbtTagCompound);
}
@Override
public void fromBytes(ByteBuf buf) {
short id = buf.readShort();
if(id >= 0) {
byte quantity = buf.readByte();
short meta = buf.readShort();
stack = new ItemStack(Item.getItemById(id), quantity, meta);
stack.stackTagCompound = BufferUtil.readNBT(buf);
}
}
public static class Handler implements IMessageHandler<HeldItemNBTPacket, IMessage> {
@Override
@SideOnly(Side.CLIENT)
public IMessage onMessage(HeldItemNBTPacket m, MessageContext ctx) {
try {
EntityPlayer player = Minecraft.getMinecraft().thePlayer;
if(m.stack == null) return null;
ItemStack held = player.getHeldItem();
if(held == null) return null;
if(held.getItem() != m.stack.getItem()) return null;
if(held.getItemDamage() != m.stack.getItemDamage()) return null;
held.stackTagCompound = m.stack.stackTagCompound;
} catch(Exception x) { } finally { }
return null;
}
}
}

View File

@ -11,9 +11,16 @@ import com.hbm.util.Vec3NT;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
@NotableComments
public class ItemRenderSexy extends ItemRenderWeaponBase {
protected ResourceLocation texture;
public ItemRenderSexy(ResourceLocation texture) {
this.texture = texture;
}
@Override
protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; }
@ -76,7 +83,7 @@ public class ItemRenderSexy extends ItemRenderWeaponBase {
GL11.glPopMatrix();
}
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.sexy_tex);
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
GL11.glTranslated(0, -1, -8);
GL11.glRotated(equip[0], 1, 0, 0);
@ -209,7 +216,7 @@ public class ItemRenderSexy extends ItemRenderWeaponBase {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.sexy_tex);
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
ResourceManager.sexy.renderPart("Gun");
ResourceManager.sexy.renderPart("Barrel");
ResourceManager.sexy.renderPart("RecoilSpring");

View File

@ -10,7 +10,7 @@ import com.hbm.inventory.container.ContainerMachinePUREX;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.gui.GUIMachinePUREX;
import com.hbm.inventory.recipes.ChemicalPlantRecipes;
import com.hbm.inventory.recipes.PUREXRecipes;
import com.hbm.inventory.recipes.loader.GenericRecipe;
import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemMachineUpgrade;
@ -59,9 +59,9 @@ public class TileEntityMachinePUREX extends TileEntityMachineBase implements IEn
this.inputTanks = new FluidTank[3];
this.outputTanks = new FluidTank[1];
for(int i = 0; i < 3; i++) {
this.inputTanks[i] = new FluidTank(Fluids.NONE, 16_000);
this.inputTanks[i] = new FluidTank(Fluids.NONE, 24_000);
}
this.outputTanks[0] = new FluidTank(Fluids.NONE, 16_000);
this.outputTanks[0] = new FluidTank(Fluids.NONE, 24_000);
this.purexModule = new ModuleMachinePUREX(0, this, slots)
.itemInput(4).itemOutput(7)
@ -80,7 +80,7 @@ public class TileEntityMachinePUREX extends TileEntityMachineBase implements IEn
if(!worldObj.isRemote) {
GenericRecipe recipe = ChemicalPlantRecipes.INSTANCE.recipeNameMap.get(purexModule.recipe);
GenericRecipe recipe = PUREXRecipes.INSTANCE.recipeNameMap.get(purexModule.recipe);
if(recipe != null) {
this.maxPower = recipe.power * 100;
}
@ -124,18 +124,26 @@ public class TileEntityMachinePUREX extends TileEntityMachineBase implements IEn
public DirPos[] getConPos() {
return new DirPos[] {
new DirPos(xCoord + 2, yCoord, zCoord - 1, Library.POS_X),
new DirPos(xCoord + 2, yCoord, zCoord + 0, Library.POS_X),
new DirPos(xCoord + 2, yCoord, zCoord + 1, Library.POS_X),
new DirPos(xCoord - 2, yCoord, zCoord - 1, Library.NEG_X),
new DirPos(xCoord - 2, yCoord, zCoord + 0, Library.NEG_X),
new DirPos(xCoord - 2, yCoord, zCoord + 1, Library.NEG_X),
new DirPos(xCoord - 1, yCoord, zCoord + 2, Library.POS_Z),
new DirPos(xCoord + 0, yCoord, zCoord + 2, Library.POS_Z),
new DirPos(xCoord + 1, yCoord, zCoord + 2, Library.POS_Z),
new DirPos(xCoord - 1, yCoord, zCoord - 2, Library.NEG_Z),
new DirPos(xCoord + 0, yCoord, zCoord - 2, Library.NEG_Z),
new DirPos(xCoord + 1, yCoord, zCoord - 2, Library.NEG_Z),
new DirPos(xCoord + 3, yCoord, zCoord - 2, Library.POS_X),
new DirPos(xCoord + 3, yCoord, zCoord - 1, Library.POS_X),
new DirPos(xCoord + 3, yCoord, zCoord + 0, Library.POS_X),
new DirPos(xCoord + 3, yCoord, zCoord + 1, Library.POS_X),
new DirPos(xCoord + 3, yCoord, zCoord + 2, Library.POS_X),
new DirPos(xCoord - 3, yCoord, zCoord - 1, Library.NEG_X),
new DirPos(xCoord - 3, yCoord, zCoord - 2, Library.NEG_X),
new DirPos(xCoord - 3, yCoord, zCoord + 0, Library.NEG_X),
new DirPos(xCoord - 3, yCoord, zCoord + 1, Library.NEG_X),
new DirPos(xCoord - 3, yCoord, zCoord + 2, Library.NEG_X),
new DirPos(xCoord - 2, yCoord, zCoord + 3, Library.POS_Z),
new DirPos(xCoord - 1, yCoord, zCoord + 3, Library.POS_Z),
new DirPos(xCoord + 0, yCoord, zCoord + 3, Library.POS_Z),
new DirPos(xCoord + 1, yCoord, zCoord + 3, Library.POS_Z),
new DirPos(xCoord + 2, yCoord, zCoord + 3, Library.POS_Z),
new DirPos(xCoord - 2, yCoord, zCoord - 3, Library.NEG_Z),
new DirPos(xCoord - 1, yCoord, zCoord - 3, Library.NEG_Z),
new DirPos(xCoord + 0, yCoord, zCoord - 3, Library.NEG_Z),
new DirPos(xCoord + 1, yCoord, zCoord - 3, Library.NEG_Z),
new DirPos(xCoord + 2, yCoord, zCoord - 3, Library.NEG_Z),
};
}

View File

@ -112,6 +112,7 @@ public class TileEntityRBMKControlAuto extends TileEntityRBMKControl implements
buf.writeDouble(this.levelUpper);
buf.writeDouble(this.heatLower);
buf.writeDouble(this.heatUpper);
if(function != null) buf.writeInt(function.ordinal());
}
@Override
@ -121,6 +122,7 @@ public class TileEntityRBMKControlAuto extends TileEntityRBMKControl implements
this.levelUpper = buf.readDouble();
this.heatLower = buf.readDouble();
this.heatUpper = buf.readDouble();
this.function = RBMKFunction.values()[buf.readInt()];
}
@Override

View File

@ -129,6 +129,14 @@ armorMod.type.leggings=Beinschienen
armorMod.type.servo=Servos
armorMod.type.special=Spezial
autoswitch=Teil der Rezeptgruppe "%s"$Rezept ändert sich basierend auf das erste Item
autoswitch.plate=Wiederanreicherung Plattenbrennstoff
autoswitch.plates=Metallplatten
autoswitch.pwr=Wiederanreicherung PWR-Brennstoff
autoswitch.schrab=Schrabidium-Extraktion
autoswitch.watz=Wiederanreicherung Watzpellet
autoswitch.zirnox=Wiederanreicherung ZIRNOX-Brennstoff
bomb.detonated=Erfolgreich gezündet!
bomb.incompatible=Gerät kann nicht ausgelöst werden!
bomb.launched=Erfolgreich gestartet!
@ -392,6 +400,7 @@ container.machineLargeTurbine=Industrielle Dampfturbine
container.machineLiquefactor=Verflüssiger
container.machineMixer=Industrieller Mixer
container.machineOreSlopper=B.E.M.
container.machinePUREX=PUREX
container.machinePyroOven=Pyrolyseofen
container.machineRefinery=Ölraffinerie
container.machineRotaryFurnace=Rotationshochofen
@ -2102,6 +2111,7 @@ item.gun_amat.name=Panzerbüchse
item.gun_amat_penance.name=Penance
item.gun_amat_subtlety.name=Subtlety
item.gun_autoshotgun.name=Auto-Flinte
item.gun_autoshotgun_heretic.name=The Heretic
item.gun_autoshotgun_sexy.name=Sexy
item.gun_autoshotgun_shredder.name=Shredder
item.gun_b92.name=§9B92 Energiepistole§r
@ -3710,6 +3720,7 @@ potion.hbm_taint=Verdorben
potion.hbm_telekinesis=! ! !
purex.recycle=Wiederanreicherung von %s
purex.schrab=Schrabidium extrahieren aus %s
radar.clearMap=Karte zurücksetzen
radar.detectMissiles=Raketen erkennen
@ -4460,6 +4471,7 @@ tile.machine_powerrtg.name=PT-Isotopenzelle
tile.machine_press.name=Befeuerte Presse
tile.machine_puf6_tank.name=Plutoniumhexafluorid-Tank
tile.machine_pumpjack.name=Pferdekopfpumpe
tile.machine_purex.name=PUREX
tile.machine_pyrooven.name=Pyrolyseofen
tile.machine_radar.name=Radar
tile.machine_radar_large.name=Großes Radar

View File

@ -184,6 +184,14 @@ armorMod.type.leggings=Leggings
armorMod.type.servo=Servos
armorMod.type.special=Special
autoswitch=Part of auto switch group "%s"$Recipe changes based on first ingredient
autoswitch.plate=Re-Enrichment Plate Fuel
autoswitch.plates=Metal Plates
autoswitch.pwr=Re-Enrichment PWR Fuel
autoswitch.schrab=Schrabidium Extraction
autoswitch.watz=Re-Enrichment Watz Pellet
autoswitch.zirnox=Re-Enrichment ZIRNOX Fuel
battery.mode.buffer=Input/Output Mode
battery.mode.input=Input Mode
battery.mode.off=OffW
@ -794,6 +802,7 @@ container.machineLargeTurbine=Industrial Steam Turbine
container.machineLiquefactor=Liquefactor
container.machineMixer=Industrial Mixer
container.machineOreSlopper=B.O.P.
container.machinePUREX=PUREX
container.machinePyroOven=Pyrolysis Oven
container.machineRefinery=Oil Refinery
container.machineRotaryFurnace=Rotary Furnace
@ -2913,6 +2922,7 @@ item.gun_amat.name=Anti-Materiel Rifle
item.gun_amat_penance.name=Penance
item.gun_amat_subtlety.name=Subtlety
item.gun_autoshotgun.name=Auto Shotgun
item.gun_autoshotgun_heretic.name=The Heretic
item.gun_autoshotgun_sexy.name=Sexy
item.gun_autoshotgun_shredder.name=Shredder
item.gun_b92.name=§9B92 Energy Pistol§r
@ -4768,6 +4778,7 @@ potion.hbm_taint=Tainted
potion.hbm_telekinesis=! ! !
purex.recycle=Re-enrichment of %s
purex.schrab=Schrabidium extraction from %s
radar.clearMap=Clear Map
radar.detectMissiles=Detect Missiles
@ -5597,6 +5608,7 @@ tile.machine_powerrtg.name=PT Isotope Cell
tile.machine_press.name=Burner Press
tile.machine_puf6_tank.name=Plutonium Hexafluoride Tank
tile.machine_pumpjack.name=Pumpjack
tile.machine_purex.name=PUREX
tile.machine_pyrooven.name=Pyrolysis Oven
tile.machine_radar.name=Radar
tile.machine_radar_large.name=Large Radar

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB