diff --git a/src/main/java/gregtech/common/items/MetaItem1.java b/src/main/java/gregtech/common/items/MetaItem1.java index cae98881402..5d3950b6a11 100644 --- a/src/main/java/gregtech/common/items/MetaItem1.java +++ b/src/main/java/gregtech/common/items/MetaItem1.java @@ -6,6 +6,7 @@ import gregtech.api.items.metaitem.ElectricStats; import gregtech.api.items.metaitem.FilteredFluidStats; import gregtech.api.items.metaitem.FoodStats; +import gregtech.api.items.metaitem.MetaItem; import gregtech.api.items.metaitem.MusicDiscStats; import gregtech.api.items.metaitem.StandardMetaItem; import gregtech.api.items.metaitem.stats.IItemComponent; @@ -61,13 +62,17 @@ import gregtech.core.sound.GTSoundEvents; import net.minecraft.client.resources.I18n; +import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Items; import net.minecraft.init.MobEffects; import net.minecraft.item.EnumDyeColor; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; +import net.minecraft.util.NonNullList; import net.minecraft.util.ResourceLocation; +import org.jetbrains.annotations.NotNull; + import static gregtech.api.GTValues.M; import static gregtech.api.util.DyeUtil.getOredictColorName; import static gregtech.common.items.MetaItems.*; @@ -78,6 +83,26 @@ public MetaItem1() { super(); } + @Override + public void getSubItems(@NotNull CreativeTabs tab, @NotNull NonNullList subItems) { + if (!isInCreativeTab(tab)) return; + for (MetaItem.MetaValueItem item : metaItems.values()) { + if (!item.isInCreativeTab(tab)) continue; + + int itemMetaData = item.getMetaValue(); + if (itemMetaData >= 1006 && itemMetaData <= 1010) continue; + + item.getSubItemHandler().getSubItems(item.getStackForm(), tab, subItems); + + if (itemMetaData == 29) { + for (MetaItem.MetaValueItem moldItem : SHAPE_MOLDS) { + if (moldItem.getMetaValue() < 1006) continue; + moldItem.getSubItemHandler().getSubItems(moldItem.getStackForm(), tab, subItems); + } + } + } + } + @Override public void registerSubItems() { // Credits: ID 0-10 @@ -131,6 +156,18 @@ public void registerSubItems() { .setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4))); SHAPE_MOLDS[12] = SHAPE_MOLD_ROTOR = addItem(24, "shape.mold.rotor") .setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4))); + SHAPE_MOLDS[13] = SHAPE_MOLD_RING = addItem(25, "shape.mold.ring") + .setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4))); + SHAPE_MOLDS[14] = SHAPE_MOLD_BOLT = addItem(26, "shape.mold.bolt") + .setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4))); + SHAPE_MOLDS[15] = SHAPE_MOLD_ROD = addItem(27, "shape.mold.rod") + .setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4))); + SHAPE_MOLDS[16] = SHAPE_MOLD_ROD_LONG = addItem(28, "shape.mold.rod_long") + .setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4))); + SHAPE_MOLDS[17] = SHAPE_MOLD_ROUND = addItem(29, "shape.mold.round") + .setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4))); + + // Free ID: 30 // Extruder Shapes: ID 31-59 SHAPE_EXTRUDERS[0] = SHAPE_EXTRUDER_PLATE = addItem(31, "shape.extruder.plate") @@ -1148,5 +1185,17 @@ public void registerSubItems() { MULTIBLOCK_BUILDER = addItem(1004, "tool.multiblock_builder").addComponents(new MultiblockBuilderBehavior()) .setMaxStackSize(1); + + // Extra molds 1006-1010 + SHAPE_MOLDS[18] = SHAPE_MOLD_PIPE_TINY = addItem(1006, "shape.mold.pipe.tiny") + .setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4))); + SHAPE_MOLDS[19] = SHAPE_MOLD_PIPE_SMALL = addItem(1007, "shape.mold.pipe.small") + .setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4))); + SHAPE_MOLDS[20] = SHAPE_MOLD_PIPE_NORMAL = addItem(1008, "shape.mold.pipe.normal") + .setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4))); + SHAPE_MOLDS[21] = SHAPE_MOLD_PIPE_LARGE = addItem(1009, "shape.mold.pipe.large") + .setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4))); + SHAPE_MOLDS[22] = SHAPE_MOLD_PIPE_HUGE = addItem(1010, "shape.mold.pipe.huge") + .setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4))); } } diff --git a/src/main/java/gregtech/common/items/MetaItems.java b/src/main/java/gregtech/common/items/MetaItems.java index eaa75bc932f..23c49bb279f 100644 --- a/src/main/java/gregtech/common/items/MetaItems.java +++ b/src/main/java/gregtech/common/items/MetaItems.java @@ -56,7 +56,7 @@ private MetaItems() {} public static MetaItem.MetaValueItem SHAPE_EMPTY; - public static final MetaItem.MetaValueItem[] SHAPE_MOLDS = new MetaValueItem[13]; + public static final MetaItem.MetaValueItem[] SHAPE_MOLDS = new MetaValueItem[23]; public static MetaItem.MetaValueItem SHAPE_MOLD_PLATE; public static MetaItem.MetaValueItem SHAPE_MOLD_GEAR; public static MetaItem.MetaValueItem SHAPE_MOLD_CREDIT; @@ -70,6 +70,16 @@ private MetaItems() {} public static MetaItem.MetaValueItem SHAPE_MOLD_NAME; public static MetaItem.MetaValueItem SHAPE_MOLD_GEAR_SMALL; public static MetaItem.MetaValueItem SHAPE_MOLD_ROTOR; + public static MetaItem.MetaValueItem SHAPE_MOLD_RING; + public static MetaItem.MetaValueItem SHAPE_MOLD_BOLT; + public static MetaItem.MetaValueItem SHAPE_MOLD_ROD; + public static MetaItem.MetaValueItem SHAPE_MOLD_ROD_LONG; + public static MetaItem.MetaValueItem SHAPE_MOLD_ROUND; + public static MetaItem.MetaValueItem SHAPE_MOLD_PIPE_TINY; + public static MetaItem.MetaValueItem SHAPE_MOLD_PIPE_SMALL; + public static MetaItem.MetaValueItem SHAPE_MOLD_PIPE_NORMAL; + public static MetaItem.MetaValueItem SHAPE_MOLD_PIPE_LARGE; + public static MetaItem.MetaValueItem SHAPE_MOLD_PIPE_HUGE; public static final MetaItem.MetaValueItem[] SHAPE_EXTRUDERS = new MetaValueItem[27]; public static MetaItem.MetaValueItem SHAPE_EXTRUDER_PLATE; diff --git a/src/main/java/gregtech/loaders/recipe/CraftingRecipeLoader.java b/src/main/java/gregtech/loaders/recipe/CraftingRecipeLoader.java index 8b18ba7a811..145daa36381 100644 --- a/src/main/java/gregtech/loaders/recipe/CraftingRecipeLoader.java +++ b/src/main/java/gregtech/loaders/recipe/CraftingRecipeLoader.java @@ -223,32 +223,121 @@ private static void loadCraftingRecipes() { ModHandler.addShapedRecipe("shape_extruder_rotor", SHAPE_EXTRUDER_ROTOR.getStackForm(), " ", " S ", "x ", 'S', SHAPE_EMPTY.getStackForm()); - ModHandler.addShapedRecipe("shape_mold_rotor", SHAPE_MOLD_ROTOR.getStackForm(), " h", " S ", " ", 'S', - SHAPE_EMPTY.getStackForm()); - ModHandler.addShapedRecipe("shape_mold_gear_small", SHAPE_MOLD_GEAR_SMALL.getStackForm(), " ", " ", "h S", + ModHandler.addShapedRecipe("shape_mold_rotor", SHAPE_MOLD_ROTOR.getStackForm(), + " h", + " S ", + " ", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_gear_small", SHAPE_MOLD_GEAR_SMALL.getStackForm(), + " ", + " ", + "h S", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_name", SHAPE_MOLD_NAME.getStackForm(), + " S", + " ", + "h ", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_anvil", SHAPE_MOLD_ANVIL.getStackForm(), + " S", + " ", + " h ", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_cylinder", SHAPE_MOLD_CYLINDER.getStackForm(), + " S", + " ", + " h", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_nugget", SHAPE_MOLD_NUGGET.getStackForm(), + "S h", + " ", + " ", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_block", SHAPE_MOLD_BLOCK.getStackForm(), + " ", + "hS ", + " ", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_ball", SHAPE_MOLD_BALL.getStackForm(), + " ", + " S ", + "h ", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_ingot", SHAPE_MOLD_INGOT.getStackForm(), + " ", + " S ", + " h ", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_bottle", SHAPE_MOLD_BOTTLE.getStackForm(), + " ", + " S ", + " h", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_credit", SHAPE_MOLD_CREDIT.getStackForm(), + "h ", + " S ", + " ", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_gear", SHAPE_MOLD_GEAR.getStackForm(), + " ", + " Sh", + " ", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_plate", SHAPE_MOLD_PLATE.getStackForm(), + " h ", + " S ", + " ", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_ring", SHAPE_MOLD_RING.getStackForm(), + " ", + " h ", + " S ", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_bolt", SHAPE_MOLD_BOLT.getStackForm(), + "h ", + " ", + "S ", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_rod", SHAPE_MOLD_ROD.getStackForm(), + " h ", + " ", + "S ", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_rod_long", SHAPE_MOLD_ROD_LONG.getStackForm(), + " h", + " ", + "S ", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_round", SHAPE_MOLD_ROUND.getStackForm(), + " ", + " h ", + "S ", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_pipe_tiny", SHAPE_MOLD_PIPE_TINY.getStackForm(), + " ", + " ", + "Sh ", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_pipe_small", SHAPE_MOLD_PIPE_SMALL.getStackForm(), + " ", + " ", + "S h", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_pipe_normal", SHAPE_MOLD_PIPE_NORMAL.getStackForm(), + " ", + " ", + " Sh", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_pipe_large", SHAPE_MOLD_PIPE_LARGE.getStackForm(), + " ", + " ", + "hS ", + 'S', SHAPE_EMPTY.getStackForm()); + ModHandler.addShapedRecipe("shape_mold_pipe_huge", SHAPE_MOLD_PIPE_HUGE.getStackForm(), + " ", + " h", + " S ", 'S', SHAPE_EMPTY.getStackForm()); - ModHandler.addShapedRecipe("shape_mold_name", SHAPE_MOLD_NAME.getStackForm(), " S", " ", "h ", 'S', - SHAPE_EMPTY.getStackForm()); - ModHandler.addShapedRecipe("shape_mold_anvil", SHAPE_MOLD_ANVIL.getStackForm(), " S", " ", " h ", 'S', - SHAPE_EMPTY.getStackForm()); - ModHandler.addShapedRecipe("shape_mold_cylinder", SHAPE_MOLD_CYLINDER.getStackForm(), " S", " ", " h", 'S', - SHAPE_EMPTY.getStackForm()); - ModHandler.addShapedRecipe("shape_mold_nugget", SHAPE_MOLD_NUGGET.getStackForm(), "S h", " ", " ", 'S', - SHAPE_EMPTY.getStackForm()); - ModHandler.addShapedRecipe("shape_mold_block", SHAPE_MOLD_BLOCK.getStackForm(), " ", "hS ", " ", 'S', - SHAPE_EMPTY.getStackForm()); - ModHandler.addShapedRecipe("shape_mold_ball", SHAPE_MOLD_BALL.getStackForm(), " ", " S ", "h ", 'S', - SHAPE_EMPTY.getStackForm()); - ModHandler.addShapedRecipe("shape_mold_ingot", SHAPE_MOLD_INGOT.getStackForm(), " ", " S ", " h ", 'S', - SHAPE_EMPTY.getStackForm()); - ModHandler.addShapedRecipe("shape_mold_bottle", SHAPE_MOLD_BOTTLE.getStackForm(), " ", " S ", " h", 'S', - SHAPE_EMPTY.getStackForm()); - ModHandler.addShapedRecipe("shape_mold_credit", SHAPE_MOLD_CREDIT.getStackForm(), "h ", " S ", " ", 'S', - SHAPE_EMPTY.getStackForm()); - ModHandler.addShapedRecipe("shape_mold_gear", SHAPE_MOLD_GEAR.getStackForm(), " ", " Sh", " ", 'S', - SHAPE_EMPTY.getStackForm()); - ModHandler.addShapedRecipe("shape_mold_plate", SHAPE_MOLD_PLATE.getStackForm(), " h ", " S ", " ", 'S', - SHAPE_EMPTY.getStackForm()); /////////////////////////////////////////////////// // Credits // diff --git a/src/main/java/gregtech/loaders/recipe/MachineRecipeLoader.java b/src/main/java/gregtech/loaders/recipe/MachineRecipeLoader.java index 13606711c42..b656ca292f8 100644 --- a/src/main/java/gregtech/loaders/recipe/MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/recipe/MachineRecipeLoader.java @@ -111,7 +111,7 @@ private static void registerBendingCompressingRecipes() { FORMING_PRESS_RECIPES.recipeBuilder() .duration(120).EUt(22) .notConsumable(shapeMold.getStackForm()) - .inputs(MetaItems.SHAPE_EMPTY.getStackForm()) + .input(MetaItems.SHAPE_EMPTY) .outputs(shapeMold.getStackForm()) .buildAndRegister(); } diff --git a/src/main/java/gregtech/loaders/recipe/handlers/PartsRecipeHandler.java b/src/main/java/gregtech/loaders/recipe/handlers/PartsRecipeHandler.java index 7e81f53f116..4fa5d8326a1 100644 --- a/src/main/java/gregtech/loaders/recipe/handlers/PartsRecipeHandler.java +++ b/src/main/java/gregtech/loaders/recipe/handlers/PartsRecipeHandler.java @@ -87,6 +87,15 @@ public static void processBolt(OrePrefix boltPrefix, Material material, DustProp .buildAndRegister(); } } + + if (material.hasFluid() && material.getProperty(PropertyKey.FLUID).solidifiesFrom() != null) { + RecipeMaps.FLUID_SOLIDFICATION_RECIPES.recipeBuilder() + .notConsumable(MetaItems.SHAPE_MOLD_BOLT) + .fluidInputs(material.getProperty(PropertyKey.FLUID).solidifiesFrom(L / 8)) + .output(boltPrefix, material) + .EUt(GTUtility.scaleVoltage(VA[MV], workingTier)).duration(2) + .buildAndRegister(); + } } public static void processScrew(OrePrefix screwPrefix, Material material, DustProperty property) { @@ -394,6 +403,16 @@ public static void processRing(OrePrefix ringPrefix, Material material, IngotPro .EUt(GTUtility.scaleVoltage(6 * getVoltageMultiplier(material), workingTier)) .buildAndRegister(); } + + if (material.hasFluid() && material.getProperty(PropertyKey.FLUID).solidifiesFrom() != null) { + RecipeMaps.FLUID_SOLIDFICATION_RECIPES.recipeBuilder() + .notConsumable(MetaItems.SHAPE_MOLD_RING) + .fluidInputs(material.getProperty(PropertyKey.FLUID).solidifiesFrom(L / 4)) + .output(ringPrefix, material) + .EUt(GTUtility.scaleVoltage(6 * getVoltageMultiplier(material), workingTier)) + .duration((int) Math.max((material.getMass() / 2f) * 0.95f, 1f)) + .buildAndRegister(); + } } public static void processSpringSmall(OrePrefix springPrefix, Material material, IngotProperty property) { @@ -507,6 +526,16 @@ public static void processStick(OrePrefix stickPrefix, Material material, DustPr 'X', new UnificationEntry(OrePrefix.stick, material)); } } + + if (material.hasFluid() && material.getProperty(PropertyKey.FLUID).solidifiesFrom() != null) { + RecipeMaps.FLUID_SOLIDFICATION_RECIPES.recipeBuilder() + .notConsumable(MetaItems.SHAPE_MOLD_ROD) + .fluidInputs(material.getProperty(PropertyKey.FLUID).solidifiesFrom(L / 2)) + .output(stickPrefix, material) + .EUt(GTUtility.scaleVoltage(6 * getVoltageMultiplier(material), workingTier)) + .duration((int) Math.max(material.getMass() * 0.95f, 1f)) + .buildAndRegister(); + } } public static void processLongStick(OrePrefix longStickPrefix, Material material, DustProperty property) { @@ -571,6 +600,16 @@ public static void processLongStick(OrePrefix longStickPrefix, Material material .buildAndRegister(); } } + + if (material.hasFluid() && material.getProperty(PropertyKey.FLUID).solidifiesFrom() != null) { + RecipeMaps.FLUID_SOLIDFICATION_RECIPES.recipeBuilder() + .notConsumable(MetaItems.SHAPE_MOLD_ROD_LONG) + .fluidInputs(material.getProperty(PropertyKey.FLUID).solidifiesFrom(L)) + .output(longStickPrefix, material) + .EUt(GTUtility.scaleVoltage(64, workingTier)) + .duration((int) Math.max(material.getMass() * 0.95f, 1f)) + .buildAndRegister(); + } } public static void processTurbine(OrePrefix toolPrefix, Material material, IngotProperty property) { @@ -624,6 +663,16 @@ public static void processRound(OrePrefix roundPrefix, Material material, IngotP .duration(100) .EUt(GTUtility.scaleVoltage(VA[ULV], workingTier)) .buildAndRegister(); + + if (material.hasFluid() && material.getProperty(PropertyKey.FLUID).solidifiesFrom() != null) { + RecipeMaps.FLUID_SOLIDFICATION_RECIPES.recipeBuilder() + .notConsumable(MetaItems.SHAPE_MOLD_ROUND) + .fluidInputs(material.getProperty(PropertyKey.FLUID).solidifiesFrom(L / 9)) + .output(roundPrefix, material) + .EUt(GTUtility.scaleVoltage(VA[ULV], workingTier)) + .duration(90) + .buildAndRegister(); + } } private static long getVoltageMultiplier(Material material) { diff --git a/src/main/java/gregtech/loaders/recipe/handlers/PipeRecipeHandler.java b/src/main/java/gregtech/loaders/recipe/handlers/PipeRecipeHandler.java index 72b6373661e..c2494a3917f 100644 --- a/src/main/java/gregtech/loaders/recipe/handlers/PipeRecipeHandler.java +++ b/src/main/java/gregtech/loaders/recipe/handlers/PipeRecipeHandler.java @@ -123,6 +123,16 @@ private static void processPipeTiny(OrePrefix pipePrefix, Material material, IMa 'X', new UnificationEntry(OrePrefix.plate, material)); } } + + if (material.hasFluid() && material.getProperty(PropertyKey.FLUID).solidifiesFrom() != null) { + RecipeMaps.FLUID_SOLIDFICATION_RECIPES.recipeBuilder() + .notConsumable(MetaItems.SHAPE_MOLD_PIPE_TINY) + .fluidInputs(material.getProperty(PropertyKey.FLUID).solidifiesFrom(L / 2)) + .output(pipePrefix, material) + .EUt(6 * getVoltageMultiplier(material)) + .duration((int) Math.max(((int) material.getMass() / 2f) * 0.95f, 1f)) + .buildAndRegister(); + } } private static void processPipeSmall(OrePrefix pipePrefix, Material material, IMaterialProperty property) { @@ -170,6 +180,16 @@ private static void processPipeSmall(OrePrefix pipePrefix, Material material, IM 'X', new UnificationEntry(OrePrefix.plate, material)); } } + + if (material.hasFluid() && material.getProperty(PropertyKey.FLUID).solidifiesFrom() != null) { + RecipeMaps.FLUID_SOLIDFICATION_RECIPES.recipeBuilder() + .notConsumable(MetaItems.SHAPE_MOLD_PIPE_SMALL) + .fluidInputs(material.getProperty(PropertyKey.FLUID).solidifiesFrom(L)) + .output(pipePrefix, material) + .EUt(6 * getVoltageMultiplier(material)) + .duration((int) Math.max(material.getMass() * 0.95f, 1f)) + .buildAndRegister(); + } } private static void processPipeNormal(OrePrefix pipePrefix, Material material, IMaterialProperty property) { @@ -217,6 +237,16 @@ private static void processPipeNormal(OrePrefix pipePrefix, Material material, I 'X', new UnificationEntry(OrePrefix.plate, material)); } } + + if (material.hasFluid() && material.getProperty(PropertyKey.FLUID).solidifiesFrom() != null) { + RecipeMaps.FLUID_SOLIDFICATION_RECIPES.recipeBuilder() + .notConsumable(MetaItems.SHAPE_MOLD_PIPE_NORMAL) + .fluidInputs(material.getProperty(PropertyKey.FLUID).solidifiesFrom(L * 3)) + .output(pipePrefix, material) + .EUt(6 * getVoltageMultiplier(material)) + .duration((int) Math.max((material.getMass() * 3) * 0.95f, 1f)) + .buildAndRegister(); + } } private static void processPipeLarge(OrePrefix pipePrefix, Material material, IMaterialProperty property) { @@ -263,6 +293,16 @@ private static void processPipeLarge(OrePrefix pipePrefix, Material material, IM 'X', new UnificationEntry(OrePrefix.plate, material)); } } + + if (material.hasFluid() && material.getProperty(PropertyKey.FLUID).solidifiesFrom() != null) { + RecipeMaps.FLUID_SOLIDFICATION_RECIPES.recipeBuilder() + .notConsumable(MetaItems.SHAPE_MOLD_PIPE_LARGE) + .fluidInputs(material.getProperty(PropertyKey.FLUID).solidifiesFrom(L * 6)) + .output(pipePrefix, material) + .EUt(6 * getVoltageMultiplier(material)) + .duration((int) Math.max((material.getMass() * 6) * 0.95f, 1f)) + .buildAndRegister(); + } } private static void processPipeHuge(OrePrefix pipePrefix, Material material, IMaterialProperty property) { @@ -309,6 +349,16 @@ private static void processPipeHuge(OrePrefix pipePrefix, Material material, IMa 'X', new UnificationEntry(OrePrefix.plateDouble, material)); } } + + if (material.hasFluid() && material.getProperty(PropertyKey.FLUID).solidifiesFrom() != null) { + RecipeMaps.FLUID_SOLIDFICATION_RECIPES.recipeBuilder() + .notConsumable(MetaItems.SHAPE_MOLD_PIPE_HUGE) + .fluidInputs(material.getProperty(PropertyKey.FLUID).solidifiesFrom(L * 12)) + .output(pipePrefix, material) + .EUt(6 * getVoltageMultiplier(material)) + .duration((int) Math.max((material.getMass() * 24) * 0.95f, 1f)) + .buildAndRegister(); + } } private static void processPipeQuadruple(OrePrefix pipePrefix, Material material, FluidPipeProperties property) { diff --git a/src/main/resources/assets/gregtech/lang/en_us.lang b/src/main/resources/assets/gregtech/lang/en_us.lang index c29313c2c1f..9e86c2e951a 100644 --- a/src/main/resources/assets/gregtech/lang/en_us.lang +++ b/src/main/resources/assets/gregtech/lang/en_us.lang @@ -249,6 +249,26 @@ metaitem.shape.mold.gear.small.name=Mold (Small Gear) metaitem.shape.mold.gear.small.tooltip=Mold for making small Gears metaitem.shape.mold.rotor.name=Mold (Rotor) metaitem.shape.mold.rotor.tooltip=Mold for making Rotors +metaitem.shape.mold.bolt.name=Mold (Bolt) +metaitem.shape.mold.bolt.tooltip=Mold for making Bolts +metaitem.shape.mold.pipe.tiny.name=Mold (Tiny Pipe) +metaitem.shape.mold.pipe.tiny.tooltip=Mold for making Tiny Pipes +metaitem.shape.mold.pipe.small.name=Mold (Small Pipe) +metaitem.shape.mold.pipe.small.tooltip=Mold for making Small Pipes +metaitem.shape.mold.pipe.normal.name=Mold (Normal Pipe) +metaitem.shape.mold.pipe.normal.tooltip=Mold for making Normal Pipes +metaitem.shape.mold.pipe.large.name=Mold (Large Pipe) +metaitem.shape.mold.pipe.large.tooltip=Mold for making Large Pipes +metaitem.shape.mold.pipe.huge.name=Mold (Huge Pipe) +metaitem.shape.mold.pipe.huge.tooltip=Mold for making Huge Pipes +metaitem.shape.mold.ring.name=Mold (Ring) +metaitem.shape.mold.ring.tooltip=Mold for making Rings +metaitem.shape.mold.rod.name=Mold (Rod) +metaitem.shape.mold.rod.tooltip=Mold for making Rods +metaitem.shape.mold.rod_long.name=Mold (Long Rod) +metaitem.shape.mold.rod_long.tooltip=Mold for making Long Rods +metaitem.shape.mold.round.name=Mold (Round) +metaitem.shape.mold.round.tooltip=Mold for making Rounds metaitem.shape.extruder.plate.name=Extruder Shape (Plate) metaitem.shape.extruder.plate.tooltip=Extruder Shape for making Plates diff --git a/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.baguette.json b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.baguette.json deleted file mode 100644 index 7e6aeb385a8..00000000000 --- a/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.baguette.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "gregtech:items/metaitems/shape.mold.baguette" - } -} diff --git a/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.bolt.json b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.bolt.json new file mode 100644 index 00000000000..78850436b46 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.bolt.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/shape.mold.bolt" + } +} diff --git a/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.bread.json b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.bread.json deleted file mode 100644 index 8cda2182559..00000000000 --- a/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.bread.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "gregtech:items/metaitems/shape.mold.bread" - } -} diff --git a/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.bun.json b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.bun.json deleted file mode 100644 index f27d908d13d..00000000000 --- a/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.bun.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "gregtech:items/metaitems/shape.mold.bun" - } -} diff --git a/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.pipe.huge.json b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.pipe.huge.json new file mode 100644 index 00000000000..3bbcda2c1c9 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.pipe.huge.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/shape.mold.pipe.huge" + } +} diff --git a/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.pipe.large.json b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.pipe.large.json new file mode 100644 index 00000000000..d39a2bc6d51 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.pipe.large.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/shape.mold.pipe.large" + } +} diff --git a/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.pipe.normal.json b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.pipe.normal.json new file mode 100644 index 00000000000..0341f7bdce3 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.pipe.normal.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/shape.mold.pipe.normal" + } +} diff --git a/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.pipe.small.json b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.pipe.small.json new file mode 100644 index 00000000000..aabf5ec72dc --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.pipe.small.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/shape.mold.pipe.small" + } +} diff --git a/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.pipe.tiny.json b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.pipe.tiny.json new file mode 100644 index 00000000000..952bf449066 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.pipe.tiny.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/shape.mold.pipe.tiny" + } +} diff --git a/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.ring.json b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.ring.json new file mode 100644 index 00000000000..0887944b5e3 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.ring.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/shape.mold.ring" + } +} diff --git a/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.rod.json b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.rod.json new file mode 100644 index 00000000000..fb86e3f5195 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.rod.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/shape.mold.rod" + } +} diff --git a/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.rod_long.json b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.rod_long.json new file mode 100644 index 00000000000..a7f8cfb6764 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.rod_long.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/shape.mold.rod_long" + } +} diff --git a/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.round.json b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.round.json new file mode 100644 index 00000000000..885f5da5918 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/metaitems/shape.mold.round.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/shape.mold.round" + } +} diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.baguette.png b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.baguette.png deleted file mode 100644 index 93effe7ba88..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.baguette.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.bolt.png b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.bolt.png new file mode 100644 index 00000000000..0a118002085 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.bolt.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.bread.png b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.bread.png deleted file mode 100644 index 50ba75fca57..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.bread.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.bun.png b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.bun.png deleted file mode 100644 index 0b5f24ba2ae..00000000000 Binary files a/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.bun.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.pipe.huge.png b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.pipe.huge.png new file mode 100644 index 00000000000..e4cf0d0f298 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.pipe.huge.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.pipe.large.png b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.pipe.large.png new file mode 100644 index 00000000000..99b8eddbc04 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.pipe.large.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.pipe.normal.png b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.pipe.normal.png new file mode 100644 index 00000000000..430958e7dd5 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.pipe.normal.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.pipe.small.png b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.pipe.small.png new file mode 100644 index 00000000000..50d82b31a82 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.pipe.small.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.pipe.tiny.png b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.pipe.tiny.png new file mode 100644 index 00000000000..4f5dfa9fb9d Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.pipe.tiny.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.ring.png b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.ring.png new file mode 100644 index 00000000000..9d8a94e24a3 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.ring.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.rod.png b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.rod.png new file mode 100644 index 00000000000..612401b0497 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.rod.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.rod_long.png b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.rod_long.png new file mode 100644 index 00000000000..08250500bcf Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.rod_long.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.round.png b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.round.png new file mode 100644 index 00000000000..9cce46e5438 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/metaitems/shape.mold.round.png differ