Skip to content

Commit 996e6cf

Browse files
authored
move creative tabs out of GregTechAPI (#2317)
1 parent 588695e commit 996e6cf

36 files changed

+259
-162
lines changed

src/main/java/gregtech/api/GregTechAPI.java

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,14 @@
1212
import gregtech.api.modules.IModuleManager;
1313
import gregtech.api.network.INetworkHandler;
1414
import gregtech.api.sound.ISoundManager;
15-
import gregtech.api.unification.OreDictUnifier;
1615
import gregtech.api.unification.material.Material;
17-
import gregtech.api.unification.material.Materials;
1816
import gregtech.api.unification.material.registry.IMaterialRegistryManager;
1917
import gregtech.api.unification.material.registry.MarkerMaterialRegistry;
20-
import gregtech.api.unification.ore.OrePrefix;
2118
import gregtech.api.unification.ore.StoneType;
22-
import gregtech.api.util.BaseCreativeTab;
2319
import gregtech.api.util.GTControlledRegistry;
2420
import gregtech.api.util.GTLog;
2521
import gregtech.api.util.IBlockOre;
2622
import gregtech.common.ConfigHolder;
27-
import gregtech.common.blocks.BlockWarningSign;
28-
import gregtech.common.blocks.MetaBlocks;
29-
import gregtech.common.items.MetaItems;
30-
import gregtech.common.items.ToolItems;
31-
import gregtech.common.metatileentities.MetaTileEntities;
3223

3324
import net.minecraft.block.state.IBlockState;
3425
import net.minecraft.util.ResourceLocation;
@@ -78,23 +69,6 @@ public class GregTechAPI {
7869
public static final Object2ObjectMap<IBlockState, IHeatingCoilBlockStats> HEATING_COILS = new Object2ObjectOpenHashMap<>();
7970
public static final Object2ObjectMap<IBlockState, IBatteryData> PSS_BATTERIES = new Object2ObjectOpenHashMap<>();
8071

81-
public static final BaseCreativeTab TAB_GREGTECH = new BaseCreativeTab(GTValues.MODID + ".main",
82-
() -> MetaItems.LOGO.getStackForm(), true);
83-
public static final BaseCreativeTab TAB_GREGTECH_MACHINES = new BaseCreativeTab(GTValues.MODID + ".machines",
84-
() -> MetaTileEntities.ELECTRIC_BLAST_FURNACE.getStackForm(), true);
85-
public static final BaseCreativeTab TAB_GREGTECH_CABLES = new BaseCreativeTab(GTValues.MODID + ".cables",
86-
() -> OreDictUnifier.get(OrePrefix.cableGtDouble, Materials.Aluminium), true);
87-
public static final BaseCreativeTab TAB_GREGTECH_PIPES = new BaseCreativeTab(GTValues.MODID + ".pipes",
88-
() -> OreDictUnifier.get(OrePrefix.pipeNormalFluid, Materials.Aluminium), true);
89-
public static final BaseCreativeTab TAB_GREGTECH_TOOLS = new BaseCreativeTab(GTValues.MODID + ".tools",
90-
() -> ToolItems.HARD_HAMMER.get(Materials.Aluminium), true);
91-
public static final BaseCreativeTab TAB_GREGTECH_MATERIALS = new BaseCreativeTab(GTValues.MODID + ".materials",
92-
() -> OreDictUnifier.get(OrePrefix.ingot, Materials.Aluminium), true);
93-
public static final BaseCreativeTab TAB_GREGTECH_ORES = new BaseCreativeTab(GTValues.MODID + ".ores",
94-
() -> OreDictUnifier.get(OrePrefix.ore, Materials.Aluminium), true);
95-
public static final BaseCreativeTab TAB_GREGTECH_DECORATIONS = new BaseCreativeTab(GTValues.MODID + ".decorations",
96-
() -> MetaBlocks.WARNING_SIGN.getItemVariant(BlockWarningSign.SignType.YELLOW_STRIPES), true);
97-
9872
/** Will be available at the Pre-Initialization stage */
9973
public static boolean isHighTier() {
10074
return highTier;

src/main/java/gregtech/api/block/VariantBlock.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package gregtech.api.block;
22

3-
import gregtech.api.GregTechAPI;
43
import gregtech.api.util.LocalizationUtils;
4+
import gregtech.common.creativetab.GTCreativeTabs;
55

66
import net.minecraft.block.Block;
77
import net.minecraft.block.material.Material;
@@ -43,7 +43,7 @@ public VariantBlock(Material materialIn) {
4343
state);
4444
}
4545
}
46-
setCreativeTab(GregTechAPI.TAB_GREGTECH);
46+
setCreativeTab(GTCreativeTabs.TAB_GREGTECH);
4747
setDefaultState(this.blockState.getBaseState().withProperty(VARIANT, VALUES[0]));
4848
}
4949

src/main/java/gregtech/api/block/machines/BlockMachine.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import gregtech.api.pipenet.IBlockAppearance;
1717
import gregtech.api.util.GTUtility;
1818
import gregtech.client.renderer.handler.MetaTileEntityRenderer;
19+
import gregtech.common.creativetab.GTCreativeTabs;
1920
import gregtech.common.items.MetaItems;
2021
import gregtech.integration.ctm.IFacadeWrapper;
2122

@@ -92,7 +93,7 @@ public class BlockMachine extends BlockCustomParticle implements ITileEntityProv
9293

9394
public BlockMachine() {
9495
super(Material.IRON);
95-
setCreativeTab(GregTechAPI.TAB_GREGTECH_MACHINES);
96+
setCreativeTab(GTCreativeTabs.TAB_GREGTECH_MACHINES);
9697
setSoundType(SoundType.METAL);
9798
setHardness(6.0f);
9899
setResistance(6.0f);

src/main/java/gregtech/api/block/machines/MachineItemBlock.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import gregtech.api.util.LocalizationUtils;
1111
import gregtech.client.utils.TooltipHelper;
1212
import gregtech.common.ConfigHolder;
13+
import gregtech.common.creativetab.GTCreativeTabs;
1314

1415
import net.minecraft.block.Block;
1516
import net.minecraft.block.state.IBlockState;
@@ -61,8 +62,8 @@ public class MachineItemBlock extends ItemBlock {
6162
*/
6263
public static void addCreativeTab(CreativeTabs creativeTab) {
6364
Preconditions.checkNotNull(creativeTab, "creativeTab");
64-
if (creativeTab == GregTechAPI.TAB_GREGTECH_MACHINES) {
65-
throw new IllegalArgumentException("Adding " + GregTechAPI.TAB_GREGTECH_MACHINES.tabLabel +
65+
if (creativeTab == GTCreativeTabs.TAB_GREGTECH_MACHINES) {
66+
throw new IllegalArgumentException("Adding " + GTCreativeTabs.TAB_GREGTECH_MACHINES.tabLabel +
6667
" as additional creative tab is redundant.");
6768
} else if (creativeTab == CreativeTabs.SEARCH) {
6869
throw new IllegalArgumentException(

src/main/java/gregtech/api/util/BaseCreativeTab.java renamed to src/main/java/gregtech/api/creativetab/BaseCreativeTab.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
package gregtech.api.util;
1+
package gregtech.api.creativetab;
2+
3+
import gregtech.api.util.GTLog;
24

35
import net.minecraft.creativetab.CreativeTabs;
46
import net.minecraft.init.Blocks;
@@ -13,31 +15,32 @@ public class BaseCreativeTab extends CreativeTabs {
1315
private final boolean hasSearchBar;
1416
private final Supplier<ItemStack> iconSupplier;
1517

16-
public BaseCreativeTab(String TabName, Supplier<ItemStack> iconSupplier, boolean hasSearchBar) {
17-
super(TabName);
18+
public BaseCreativeTab(String tabName, Supplier<ItemStack> iconSupplier, boolean hasSearchBar) {
19+
super(tabName);
1820
this.iconSupplier = iconSupplier;
1921
this.hasSearchBar = hasSearchBar;
2022

21-
if (hasSearchBar)
23+
if (hasSearchBar) {
2224
setBackgroundImageName("item_search.png");
25+
}
2326
}
2427

2528
@NotNull
2629
@Override
2730
public ItemStack createIcon() {
2831
if (iconSupplier == null) {
29-
GTLog.logger.error("Icon supplier was null for CreativeTab " + getTabLabel());
32+
GTLog.logger.error("Icon supplier was null for CreativeTab {}", getTabLabel());
3033
return new ItemStack(Blocks.STONE);
3134
}
3235

3336
ItemStack stack = iconSupplier.get();
3437
if (stack == null) {
35-
GTLog.logger.error("Icon supplier return null for CreativeTab " + getTabLabel());
38+
GTLog.logger.error("Icon supplier return null for CreativeTab {}", getTabLabel());
3639
return new ItemStack(Blocks.STONE);
3740
}
3841

39-
if (stack == ItemStack.EMPTY) {
40-
GTLog.logger.error("Icon built from iconSupplied is EMPTY for CreativeTab " + getTabLabel());
42+
if (stack.isEmpty()) {
43+
GTLog.logger.error("Icon built from iconSupplied is EMPTY for CreativeTab {}", getTabLabel());
4144
return new ItemStack(Blocks.STONE);
4245
}
4346

src/main/java/gregtech/api/items/armor/ArmorMetaItem.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package gregtech.api.items.armor;
22

3-
import gregtech.api.GregTechAPI;
43
import gregtech.api.items.metaitem.MetaItem;
54
import gregtech.api.items.metaitem.stats.IEnchantabilityHelper;
65
import gregtech.api.items.metaitem.stats.IItemComponent;
6+
import gregtech.common.creativetab.GTCreativeTabs;
77

88
import net.minecraft.client.gui.ScaledResolution;
99
import net.minecraft.client.model.ModelBiped;
@@ -33,7 +33,7 @@ public class ArmorMetaItem<T extends ArmorMetaItem<?>.ArmorMetaValueItem> extend
3333

3434
public ArmorMetaItem() {
3535
super((short) 0);
36-
setCreativeTab(GregTechAPI.TAB_GREGTECH_TOOLS);
36+
setCreativeTab(GTCreativeTabs.TAB_GREGTECH_TOOLS);
3737
}
3838

3939
@SuppressWarnings("unchecked")

src/main/java/gregtech/api/items/materialitem/MetaPrefixItem.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package gregtech.api.items.materialitem;
22

33
import gregtech.api.GTValues;
4-
import gregtech.api.GregTechAPI;
54
import gregtech.api.damagesources.DamageSources;
65
import gregtech.api.items.armor.ArmorMetaItem;
76
import gregtech.api.items.metaitem.StandardMetaItem;
@@ -15,6 +14,7 @@
1514
import gregtech.api.unification.material.registry.MaterialRegistry;
1615
import gregtech.api.unification.ore.OrePrefix;
1716
import gregtech.api.unification.stack.UnificationEntry;
17+
import gregtech.common.creativetab.GTCreativeTabs;
1818

1919
import net.minecraft.block.BlockCauldron;
2020
import net.minecraft.block.state.IBlockState;
@@ -58,7 +58,7 @@ public MetaPrefixItem(@NotNull MaterialRegistry registry, @NotNull OrePrefix ore
5858
super();
5959
this.registry = registry;
6060
this.prefix = orePrefix;
61-
this.setCreativeTab(GregTechAPI.TAB_GREGTECH_MATERIALS);
61+
this.setCreativeTab(GTCreativeTabs.TAB_GREGTECH_MATERIALS);
6262
}
6363

6464
@Override

src/main/java/gregtech/api/items/metaitem/MetaItem.java

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package gregtech.api.items.metaitem;
22

33
import gregtech.api.GTValues;
4-
import gregtech.api.GregTechAPI;
54
import gregtech.api.capability.GregtechCapabilities;
65
import gregtech.api.capability.IElectricItem;
76
import gregtech.api.capability.IFilteredFluidContainer;
@@ -12,7 +11,18 @@
1211
import gregtech.api.items.OreDictNames;
1312
import gregtech.api.items.gui.ItemUIFactory;
1413
import gregtech.api.items.gui.PlayerInventoryHolder;
15-
import gregtech.api.items.metaitem.stats.*;
14+
import gregtech.api.items.metaitem.stats.IEnchantabilityHelper;
15+
import gregtech.api.items.metaitem.stats.IFoodBehavior;
16+
import gregtech.api.items.metaitem.stats.IItemBehaviour;
17+
import gregtech.api.items.metaitem.stats.IItemCapabilityProvider;
18+
import gregtech.api.items.metaitem.stats.IItemColorProvider;
19+
import gregtech.api.items.metaitem.stats.IItemComponent;
20+
import gregtech.api.items.metaitem.stats.IItemContainerItemProvider;
21+
import gregtech.api.items.metaitem.stats.IItemDurabilityManager;
22+
import gregtech.api.items.metaitem.stats.IItemMaxStackSizeProvider;
23+
import gregtech.api.items.metaitem.stats.IItemNameProvider;
24+
import gregtech.api.items.metaitem.stats.IItemUseManager;
25+
import gregtech.api.items.metaitem.stats.ISubItemHandler;
1626
import gregtech.api.recipes.ingredients.IntCircuitIngredient;
1727
import gregtech.api.unification.OreDictUnifier;
1828
import gregtech.api.unification.material.Material;
@@ -22,6 +32,7 @@
2232
import gregtech.api.util.LocalizationUtils;
2333
import gregtech.client.utils.ToolChargeBarRenderer;
2434
import gregtech.common.ConfigHolder;
35+
import gregtech.common.creativetab.GTCreativeTabs;
2536

2637
import net.minecraft.client.Minecraft;
2738
import net.minecraft.client.renderer.block.model.ModelBakery;
@@ -40,7 +51,12 @@
4051
import net.minecraft.item.Item;
4152
import net.minecraft.item.ItemStack;
4253
import net.minecraft.nbt.NBTTagCompound;
43-
import net.minecraft.util.*;
54+
import net.minecraft.util.ActionResult;
55+
import net.minecraft.util.EnumActionResult;
56+
import net.minecraft.util.EnumFacing;
57+
import net.minecraft.util.EnumHand;
58+
import net.minecraft.util.NonNullList;
59+
import net.minecraft.util.ResourceLocation;
4460
import net.minecraft.util.math.BlockPos;
4561
import net.minecraft.world.World;
4662
import net.minecraftforge.client.model.ModelLoader;
@@ -72,7 +88,13 @@
7288

7389
import java.time.Duration;
7490
import java.time.Instant;
75-
import java.util.*;
91+
import java.util.ArrayList;
92+
import java.util.Arrays;
93+
import java.util.Collection;
94+
import java.util.Collections;
95+
import java.util.List;
96+
import java.util.Map;
97+
import java.util.Set;
7698

7799
/**
78100
* MetaItem is item that can have up to Short.MAX_VALUE items inside one id.
@@ -107,7 +129,7 @@ public static List<MetaItem<?>> getMetaItems() {
107129

108130
protected final short metaItemOffset;
109131

110-
private CreativeTabs[] defaultCreativeTabs = new CreativeTabs[] { GregTechAPI.TAB_GREGTECH };
132+
private CreativeTabs[] defaultCreativeTabs = new CreativeTabs[] { GTCreativeTabs.TAB_GREGTECH };
111133
private final Set<CreativeTabs> additionalCreativeTabs = new ObjectArraySet<>();
112134

113135
public MetaItem(short metaItemOffset) {

src/main/java/gregtech/api/items/toolitem/ItemGTAxe.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package gregtech.api.items.toolitem;
22

3-
import gregtech.api.GregTechAPI;
43
import gregtech.api.util.LocalizationUtils;
4+
import gregtech.common.creativetab.GTCreativeTabs;
55

66
import net.minecraft.block.state.IBlockState;
77
import net.minecraft.client.util.ITooltipFlag;
@@ -14,7 +14,12 @@
1414
import net.minecraft.item.ItemAxe;
1515
import net.minecraft.item.ItemStack;
1616
import net.minecraft.nbt.NBTTagCompound;
17-
import net.minecraft.util.*;
17+
import net.minecraft.util.ActionResult;
18+
import net.minecraft.util.EnumActionResult;
19+
import net.minecraft.util.EnumFacing;
20+
import net.minecraft.util.EnumHand;
21+
import net.minecraft.util.NonNullList;
22+
import net.minecraft.util.SoundEvent;
1823
import net.minecraft.util.math.BlockPos;
1924
import net.minecraft.world.IBlockAccess;
2025
import net.minecraft.world.World;
@@ -59,7 +64,7 @@ protected ItemGTAxe(String domain, String id, int tier, IGTToolDefinition toolSt
5964
this.secondaryOreDicts = secondaryOreDicts;
6065
this.markerItem = markerItem;
6166
setMaxStackSize(1);
62-
setCreativeTab(GregTechAPI.TAB_GREGTECH_TOOLS);
67+
setCreativeTab(GTCreativeTabs.TAB_GREGTECH_TOOLS);
6368
setTranslationKey("gt.tool." + id + ".name");
6469
setRegistryName(domain, id);
6570
}

src/main/java/gregtech/api/items/toolitem/ItemGTHoe.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package gregtech.api.items.toolitem;
22

3-
import gregtech.api.GregTechAPI;
43
import gregtech.api.util.LocalizationUtils;
4+
import gregtech.common.creativetab.GTCreativeTabs;
55

66
import net.minecraft.block.state.IBlockState;
77
import net.minecraft.client.util.ITooltipFlag;
@@ -14,7 +14,12 @@
1414
import net.minecraft.item.ItemHoe;
1515
import net.minecraft.item.ItemStack;
1616
import net.minecraft.nbt.NBTTagCompound;
17-
import net.minecraft.util.*;
17+
import net.minecraft.util.ActionResult;
18+
import net.minecraft.util.EnumActionResult;
19+
import net.minecraft.util.EnumFacing;
20+
import net.minecraft.util.EnumHand;
21+
import net.minecraft.util.NonNullList;
22+
import net.minecraft.util.SoundEvent;
1823
import net.minecraft.util.math.BlockPos;
1924
import net.minecraft.world.IBlockAccess;
2025
import net.minecraft.world.World;
@@ -59,7 +64,7 @@ protected ItemGTHoe(String domain, String id, int tier, IGTToolDefinition toolSt
5964
this.secondaryOreDicts = secondaryOreDicts;
6065
this.markerItem = markerItem;
6166
setMaxStackSize(1);
62-
setCreativeTab(GregTechAPI.TAB_GREGTECH_TOOLS);
67+
setCreativeTab(GTCreativeTabs.TAB_GREGTECH_TOOLS);
6368
setTranslationKey("gt.tool." + id + ".name");
6469
setRegistryName(domain, id);
6570
}

src/main/java/gregtech/api/items/toolitem/ItemGTSword.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package gregtech.api.items.toolitem;
22

3-
import gregtech.api.GregTechAPI;
43
import gregtech.api.util.LocalizationUtils;
4+
import gregtech.common.creativetab.GTCreativeTabs;
55

66
import net.minecraft.block.state.IBlockState;
77
import net.minecraft.client.util.ITooltipFlag;
@@ -14,7 +14,12 @@
1414
import net.minecraft.item.ItemStack;
1515
import net.minecraft.item.ItemSword;
1616
import net.minecraft.nbt.NBTTagCompound;
17-
import net.minecraft.util.*;
17+
import net.minecraft.util.ActionResult;
18+
import net.minecraft.util.EnumActionResult;
19+
import net.minecraft.util.EnumFacing;
20+
import net.minecraft.util.EnumHand;
21+
import net.minecraft.util.NonNullList;
22+
import net.minecraft.util.SoundEvent;
1823
import net.minecraft.util.math.BlockPos;
1924
import net.minecraft.world.IBlockAccess;
2025
import net.minecraft.world.World;
@@ -61,7 +66,7 @@ protected ItemGTSword(String domain, String id, int tier, IGTToolDefinition tool
6166
this.secondaryOreDicts = secondaryOreDicts;
6267
this.markerItem = markerItem;
6368
setMaxStackSize(1);
64-
setCreativeTab(GregTechAPI.TAB_GREGTECH_TOOLS);
69+
setCreativeTab(GTCreativeTabs.TAB_GREGTECH_TOOLS);
6570
setTranslationKey("gt.tool." + id + ".name");
6671
setRegistryName(domain, id);
6772
}

src/main/java/gregtech/api/items/toolitem/ItemGTTool.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package gregtech.api.items.toolitem;
22

3-
import gregtech.api.GregTechAPI;
43
import gregtech.api.util.LocalizationUtils;
4+
import gregtech.common.creativetab.GTCreativeTabs;
55

66
import net.minecraft.block.state.IBlockState;
77
import net.minecraft.client.util.ITooltipFlag;
@@ -14,7 +14,12 @@
1414
import net.minecraft.item.ItemStack;
1515
import net.minecraft.item.ItemTool;
1616
import net.minecraft.nbt.NBTTagCompound;
17-
import net.minecraft.util.*;
17+
import net.minecraft.util.ActionResult;
18+
import net.minecraft.util.EnumActionResult;
19+
import net.minecraft.util.EnumFacing;
20+
import net.minecraft.util.EnumHand;
21+
import net.minecraft.util.NonNullList;
22+
import net.minecraft.util.SoundEvent;
1823
import net.minecraft.util.math.BlockPos;
1924
import net.minecraft.world.IBlockAccess;
2025
import net.minecraft.world.World;
@@ -65,7 +70,7 @@ protected ItemGTTool(String domain, String id, int tier, IGTToolDefinition toolS
6570
this.secondaryOreDicts = secondaryOreDicts;
6671
this.markerItem = markerItem;
6772
setMaxStackSize(1);
68-
setCreativeTab(GregTechAPI.TAB_GREGTECH_TOOLS);
73+
setCreativeTab(GTCreativeTabs.TAB_GREGTECH_TOOLS);
6974
setTranslationKey("gt.tool." + id + ".name");
7075
setRegistryName(domain, id);
7176
}

0 commit comments

Comments
 (0)