Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions src/main/java/gregtech/common/items/MetaItem1.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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.*;
Expand All @@ -78,6 +83,26 @@ public MetaItem1() {
super();
}

@Override
public void getSubItems(@NotNull CreativeTabs tab, @NotNull NonNullList<ItemStack> subItems) {
if (!isInCreativeTab(tab)) return;
for (MetaItem<?>.MetaValueItem item : metaItems.values()) {
if (!item.isInCreativeTab(tab)) continue;

int itemMetaData = item.getMetaValue();
if (itemMetaData >= 1004 && itemMetaData <= 1013) continue;

item.getSubItemHandler().getSubItems(item.getStackForm(), tab, subItems);

if (itemMetaData == 30) {
for (MetaItem<?>.MetaValueItem moldItem : SHAPE_MOLDS) {
if (moldItem.getMetaValue() < 1005) continue;
moldItem.getSubItemHandler().getSubItems(moldItem.getStackForm(), tab, subItems);
}
}
}
}

@Override
public void registerSubItems() {
// Credits: ID 0-10
Expand Down Expand Up @@ -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_SCREW = addItem(29, "shape.mold.screw")
.setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4)));
SHAPE_MOLDS[18] = SHAPE_MOLD_ROUND = addItem(30, "shape.mold.round")
.setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4)));

// Extruder Shapes: ID 31-59
SHAPE_EXTRUDERS[0] = SHAPE_EXTRUDER_PLATE = addItem(31, "shape.extruder.plate")
Expand Down Expand Up @@ -1143,5 +1180,25 @@ public void registerSubItems() {

MULTIBLOCK_BUILDER = addItem(1004, "tool.multiblock_builder").addComponents(new MultiblockBuilderBehavior())
.setMaxStackSize(1);

// Extra molds 1005-1013
SHAPE_MOLDS[19] = SHAPE_MOLD_TURBINE_BLADE = addItem(1005, "shape.mold.turbine_blade")
.setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4)));
SHAPE_MOLDS[20] = SHAPE_MOLD_PIPE_TINY = addItem(1006, "shape.mold.pipe.tiny")
.setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4)));
SHAPE_MOLDS[21] = SHAPE_MOLD_PIPE_SMALL = addItem(1007, "shape.mold.pipe.small")
.setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4)));
SHAPE_MOLDS[22] = SHAPE_MOLD_PIPE_NORMAL = addItem(1008, "shape.mold.pipe.normal")
.setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4)));
SHAPE_MOLDS[23] = SHAPE_MOLD_PIPE_LARGE = addItem(1009, "shape.mold.pipe.large")
.setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4)));
SHAPE_MOLDS[24] = SHAPE_MOLD_PIPE_HUGE = addItem(1010, "shape.mold.pipe.huge")
.setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4)));
SHAPE_MOLDS[25] = SHAPE_MOLD_BUN = addItem(1011, "shape.mold.bun")
.setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4)));
SHAPE_MOLDS[26] = SHAPE_MOLD_BREAD = addItem(1012, "shape.mold.bread")
.setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4)));
SHAPE_MOLDS[27] = SHAPE_MOLD_BAGUETTE = addItem(1013, "shape.mold.baguette")
.setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, M * 4)));
}
}
17 changes: 16 additions & 1 deletion src/main/java/gregtech/common/items/MetaItems.java
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,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[28];
public static MetaItem<?>.MetaValueItem SHAPE_MOLD_PLATE;
public static MetaItem<?>.MetaValueItem SHAPE_MOLD_GEAR;
public static MetaItem<?>.MetaValueItem SHAPE_MOLD_CREDIT;
Expand All @@ -71,6 +71,21 @@ 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_SCREW;
public static MetaItem<?>.MetaValueItem SHAPE_MOLD_ROUND;
public static MetaItem<?>.MetaValueItem SHAPE_MOLD_TURBINE_BLADE;
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 MetaItem<?>.MetaValueItem SHAPE_MOLD_BUN;
public static MetaItem<?>.MetaValueItem SHAPE_MOLD_BREAD;
public static MetaItem<?>.MetaValueItem SHAPE_MOLD_BAGUETTE;

public static final MetaItem<?>.MetaValueItem[] SHAPE_EXTRUDERS = new MetaValueItem[27];
public static MetaItem<?>.MetaValueItem SHAPE_EXTRUDER_PLATE;
Expand Down
164 changes: 139 additions & 25 deletions src/main/java/gregtech/loaders/recipe/CraftingRecipeLoader.java
Original file line number Diff line number Diff line change
Expand Up @@ -223,32 +223,146 @@ 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_screw", SHAPE_MOLD_SCREW.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_turbine_blade", SHAPE_MOLD_TURBINE_BLADE.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_bun", SHAPE_MOLD_BUN.getStackForm(),
" ",
"h ",
" S ",
'S', SHAPE_EMPTY.getStackForm());
ModHandler.addShapedRecipe("shape_mold_bread", SHAPE_MOLD_BREAD.getStackForm(),
"h ",
" ",
" S ",
'S', SHAPE_EMPTY.getStackForm());
ModHandler.addShapedRecipe("shape_mold_baguette", SHAPE_MOLD_BAGUETTE.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 //
Expand Down
Loading