diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java index 1406819af..66bd4f27a 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java @@ -23,6 +23,7 @@ import com.hbm.inventory.recipes.loader.GenericRecipe; import com.hbm.inventory.recipes.loader.GenericRecipes; import com.hbm.items.ModItems; import com.hbm.items.ItemEnums.EnumCasingType; +import com.hbm.items.ItemEnums.EnumExpensiveType; import com.hbm.items.ItemEnums.EnumSecretType; import com.hbm.items.ItemGenericPart.EnumPartType; import com.hbm.items.machine.ItemFluidIcon; @@ -83,6 +84,21 @@ public class AssemblyMachineRecipes extends GenericRecipes { this.register(new GenericRecipe("ass.platednt").setup(600, 100).outputItems(new ItemStack(ModItems.plate_dineutronium, 4)) .inputItems(new OreDictStack(DNT.ingot(), 4), new ComparableStack(ModItems.powder_spark_mix, 2), new OreDictStack(DESH.ingot(), 1))); + this.register(new GenericRecipe("ass.exsteelplating").setup(200, 400).outputItems(new ItemStack(ModItems.item_expensive, 1, EnumExpensiveType.STEEL_PLATING.ordinal())) + .inputItems(new OreDictStack(STEEL.plateCast(), 4), new OreDictStack(TI.plate(), 4), new OreDictStack(STEEL.bolt(), 16))); + this.register(new GenericRecipe("ass.exheavyframe").setup(600, 800).outputItems(new ItemStack(ModItems.item_expensive, 1, EnumExpensiveType.HEAVY_FRAME.ordinal())) + .inputItems(new ComparableStack(ModItems.item_expensive, 3, EnumExpensiveType.STEEL_PLATING), new OreDictStack(ANY_PLASTIC.ingot(), 8), new OreDictStack(CU.plateWelded(), 4), new OreDictStack(DESH.ingot(), 1), new OreDictStack(DURA.bolt(), 32))); + this.register(new GenericRecipe("ass.exleadplating").setup(400, 4_000).outputItems(new ItemStack(ModItems.item_expensive, 1, EnumExpensiveType.LEAD_PLATING.ordinal())) + .inputItems(new ComparableStack(ModItems.item_expensive, 2, EnumExpensiveType.STEEL_PLATING), new OreDictStack(PB.plateCast(), 8), new OreDictStack(B.ingot(), 2), new OreDictStack(W.bolt(), 32)) + .inputFluids(new FluidStack(Fluids.LUBRICANT, 1_000))); + this.register(new GenericRecipe("ass.exferroplating").setup(1_200, 10_000).outputItems(new ItemStack(ModItems.item_expensive, 1, EnumExpensiveType.FERRO_PLATING.ordinal())) + .inputItems(new ComparableStack(ModItems.item_expensive, 3, EnumExpensiveType.LEAD_PLATING), new OreDictStack(FERRO.plateCast(), 4), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4)) + .inputFluids(new FluidStack(Fluids.UNSATURATEDS, 1_000))); + this.register(new GenericRecipe("ass.bronzetubes").setup(3_000, 250_000).outputItems(new ItemStack(ModItems.item_expensive, 1, EnumExpensiveType.BRONZE_TUBES.ordinal())) + .inputItems(new ComparableStack(ModItems.item_expensive, 3, EnumExpensiveType.HEAVY_FRAME), new ComparableStack(ModItems.item_expensive, 1, EnumExpensiveType.FERRO_PLATING), new OreDictStack(ANY_BISMOIDBRONZE.plateCast(), 4), new OreDictStack(ZR.plateWelded(), 1)) + .inputFluids(new FluidStack(Fluids.PERFLUOROMETHYL_COLD, 4_000)) + .outputFluids(new FluidStack(Fluids.PERFLUOROMETHYL, 4_000))); + // cloth this.register(new GenericRecipe("ass.hazcloth").setup(50, 100).outputItems(new ItemStack(ModItems.hazmat_cloth, 4)) .inputItems(new OreDictStack(PB.dust(), 4), new ComparableStack(Items.string, 8))); diff --git a/src/main/java/com/hbm/inventory/recipes/loader/GenericRecipe.java b/src/main/java/com/hbm/inventory/recipes/loader/GenericRecipe.java index 0f98be052..564938092 100644 --- a/src/main/java/com/hbm/inventory/recipes/loader/GenericRecipe.java +++ b/src/main/java/com/hbm/inventory/recipes/loader/GenericRecipe.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Locale; +import com.hbm.config.GeneralConfig; import com.hbm.inventory.FluidStack; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.recipes.loader.GenericRecipes.ChanceOutput; @@ -58,7 +59,9 @@ public class GenericRecipe { public GenericRecipe setPools(String... pools) { this.blueprintPools = pools; for(String pool : pools) GenericRecipes.addToPool(pool, 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; } public GenericRecipe inputFluids(FluidStack... input) { this.inputFluid = input; return this; } + public GenericRecipe inputFluidsEx(FluidStack... input) { if(!GeneralConfig.enableExpensiveMode) return this; this.inputFluid = input; return this; } public GenericRecipe outputItems(IOutput... output) { this.outputItem = output; return this; } public GenericRecipe outputFluids(FluidStack... output) { this.outputFluid = output; return this; } diff --git a/src/main/java/com/hbm/items/ItemEnums.java b/src/main/java/com/hbm/items/ItemEnums.java index 6ca3c76af..e8692cd67 100644 --- a/src/main/java/com/hbm/items/ItemEnums.java +++ b/src/main/java/com/hbm/items/ItemEnums.java @@ -90,4 +90,8 @@ public class ItemEnums { public static enum EnumIngotMetal { SCRAP, INGOT, COUNTER, KEY, BEACON, CASING, CLOCKWORK, BAR, DETECTOR } + + public static enum EnumExpensiveType { + STEEL_PLATING, HEAVY_FRAME, LEAD_PLATING, FERRO_PLATING, BRONZE_TUBES + } } diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index b8bbdbde8..4019a3355 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -342,6 +342,7 @@ public class ModItems { public static Item thruster_nuclear; public static Item safety_fuse; public static Item part_generic; + public static Item item_expensive; public static Item item_secret; public static Item ingot_metal; public static Item chemical_dye; @@ -2345,6 +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_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"); @@ -5505,6 +5507,7 @@ public class ModItems { GameRegistry.registerItem(chemical_dye, chemical_dye.getUnlocalizedName()); GameRegistry.registerItem(crayon, crayon.getUnlocalizedName()); GameRegistry.registerItem(part_generic, part_generic.getUnlocalizedName()); + GameRegistry.registerItem(item_expensive, item_expensive.getUnlocalizedName()); GameRegistry.registerItem(item_secret, item_secret.getUnlocalizedName()); GameRegistry.registerItem(ingot_metal, ingot_metal.getUnlocalizedName()); GameRegistry.registerItem(parts_legendary, parts_legendary.getUnlocalizedName()); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index c569a4c24..deddc496a 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -2351,6 +2351,11 @@ item.insert_polonium.name=Poloniumeinlage item.insert_steel.name=Schwere Stahleinlage item.insert_xsapi.name=XSAPI-Einlage item.insert_yharonite.name=Yharoniteinlage +item.item_expensive.bronze_tubes.name=Bronze-Strukturelement +item.item_expensive.ferro_plating.name=Verstärkte Ferrouraniumpanele +item.item_expensive.heavy_frame.name=Schweres Gestell +item.item_expensive.lead_plating.name=Strahlenresistente Plattierung +item.item_expensive.steel_plating.name=Gebolzte Stahlplatten item.item_secret.aberrator.name=Aberrator-Teil item.item_secret.canister.name=Komposit SB-26 item.item_secret.controller.name=Proprietäre Steuereinheit diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index f5702bf91..18e50f81d 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -3177,6 +3177,11 @@ item.insert_polonium.name=Polonium Insert item.insert_steel.name=Heavy Steel Insert item.insert_xsapi.name=XSAPI Insert item.insert_yharonite.name=Yharonite Insert +item.item_expensive.bronze_tubes.name=Bronze Structural Elements +item.item_expensive.ferro_plating.name=Reinforced Ferrouranium Panels +item.item_expensive.heavy_frame.name=Heavy Framework +item.item_expensive.lead_plating.name=Radiation Resistant Plating +item.item_expensive.steel_plating.name=Bolten Steel Plating item.item_secret.aberrator.name=Aberrator Part item.item_secret.canister.name=Composition SB-26 item.item_secret.controller.name=Proprietary Control Unit diff --git a/src/main/resources/assets/hbm/textures/items/item_expensive.bronze_tubes.png b/src/main/resources/assets/hbm/textures/items/item_expensive.bronze_tubes.png new file mode 100644 index 000000000..8c410bd97 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/item_expensive.bronze_tubes.png differ diff --git a/src/main/resources/assets/hbm/textures/items/item_expensive.bronze_tubes_alt.png b/src/main/resources/assets/hbm/textures/items/item_expensive.bronze_tubes_alt.png new file mode 100644 index 000000000..d8eb827b6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/item_expensive.bronze_tubes_alt.png differ diff --git a/src/main/resources/assets/hbm/textures/items/item_expensive.ferro_plating.png b/src/main/resources/assets/hbm/textures/items/item_expensive.ferro_plating.png new file mode 100644 index 000000000..cd93748e5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/item_expensive.ferro_plating.png differ diff --git a/src/main/resources/assets/hbm/textures/items/item_expensive.heavy_frame.png b/src/main/resources/assets/hbm/textures/items/item_expensive.heavy_frame.png new file mode 100644 index 000000000..8f83e202b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/item_expensive.heavy_frame.png differ diff --git a/src/main/resources/assets/hbm/textures/items/item_expensive.lead_plating.png b/src/main/resources/assets/hbm/textures/items/item_expensive.lead_plating.png new file mode 100644 index 000000000..7c56954a8 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/item_expensive.lead_plating.png differ diff --git a/src/main/resources/assets/hbm/textures/items/item_expensive.steel_plating.png b/src/main/resources/assets/hbm/textures/items/item_expensive.steel_plating.png new file mode 100644 index 000000000..2aad8b6d0 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/item_expensive.steel_plating.png differ