From c25879ddbc3c9f4354dabe6cbf0adeec2010cc43 Mon Sep 17 00:00:00 2001 From: Cricket Date: Fri, 2 Jan 2015 18:52:53 -0500 Subject: [PATCH] Tab organization --- .../java/com/cricketcraft/chisel/Chisel.java | 8 +++++ .../cricketcraft/chisel/init/ModBlocks.java | 7 +++-- .../com/cricketcraft/chisel/init/ModTabs.java | 29 ++++++++++++++++--- 3 files changed, 37 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/cricketcraft/chisel/Chisel.java b/src/main/java/com/cricketcraft/chisel/Chisel.java index ca03b63e..8c82a22d 100644 --- a/src/main/java/com/cricketcraft/chisel/Chisel.java +++ b/src/main/java/com/cricketcraft/chisel/Chisel.java @@ -45,11 +45,14 @@ import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.config.Configuration; import java.io.File; +import java.util.ArrayList; +import java.util.List; @Mod(modid = Chisel.MOD_ID, name = Chisel.MOD_NAME, version = Chisel.VERSION, guiFactory = "com.cricketcraft.chisel.client.gui.GuiFactory", dependencies = "after:ForgeMultipart;after:Thaumcraft") public class Chisel { + public static final List modsSupported = new ArrayList(); public static final String MOD_ID = "chisel"; public static final BlockCarvable.SoundType soundTempleFootstep = new BlockCarvable.SoundType("dig.stone", MOD_ID + ":step.templeblock", 1.0f, 1.0f); public static final String MOD_NAME = "Chisel 2"; @@ -112,6 +115,11 @@ public class Chisel @EventHandler public void preInit(FMLPreInitializationEvent event) { + modsSupported.add("Thaumcraft"); + modsSupported.add("Twilight Forest"); + modsSupported.add("appliedenergistics2"); + modsSupported.add("Railcraft"); + File configFile = event.getSuggestedConfigurationFile(); Configurations.configExists = configFile.exists(); Configurations.config = new Configuration(configFile); diff --git a/src/main/java/com/cricketcraft/chisel/init/ModBlocks.java b/src/main/java/com/cricketcraft/chisel/init/ModBlocks.java index 98ec7120..373f3eb2 100644 --- a/src/main/java/com/cricketcraft/chisel/init/ModBlocks.java +++ b/src/main/java/com/cricketcraft/chisel/init/ModBlocks.java @@ -1672,11 +1672,11 @@ public class ModBlocks { } public static void postLoad() { - //Thaumcraft + //Thaumcraft if(Configurations.featureEnabled("arcane") && Loader.isModLoaded("Thaumcraft")) { - arcane = (BlockCarvable) new BlockCarvable(Material.rock).setCreativeTab(ModTabs.tabStoneChiselBlocks).setStepSound(Block.soundTypeStone); + arcane = (BlockCarvable) new BlockCarvable(Material.rock).setCreativeTab(ModTabs.tabModdedChiselBlocks).setStepSound(Block.soundTypeStone); Carving.chisel.addVariation("arcane", GameRegistry.findBlock("Thaumcraft", "blockCosmeticSolid"), 6, 0); Carving.chisel.addVariation("arcane", GameRegistry.findBlock("Thaumcraft", "blockCosmeticSolid"), 7, 1); arcane.carverHelper.addVariation(StatCollector.translateToLocal("tile.arcane.0.desc"), 0, "arcane/moonEngrave"); @@ -1691,9 +1691,10 @@ public class ModBlocks { Carving.chisel.registerOre("arcane", "arcane"); } + //Twilight Forest - if(Configurations.featureEnabled("TFMazestone") && Loader.isModLoaded("Twilight Forest")) + if(Configurations.featureEnabled("TFMazestone") && Loader.isModLoaded("TwilightForest")) { Carving.chisel.addVariation("TFMazestone", GameRegistry.findBlock("TwilightForest", "tile.TFMazestone"), 0, 0); Carving.chisel.addVariation("TFMazestone", GameRegistry.findBlock("TwilightForest", "tile.TFMazestone"), 1, 1); diff --git a/src/main/java/com/cricketcraft/chisel/init/ModTabs.java b/src/main/java/com/cricketcraft/chisel/init/ModTabs.java index 092f31a2..1d5b074f 100644 --- a/src/main/java/com/cricketcraft/chisel/init/ModTabs.java +++ b/src/main/java/com/cricketcraft/chisel/init/ModTabs.java @@ -1,12 +1,16 @@ package com.cricketcraft.chisel.init; +import com.cricketcraft.chisel.Chisel; +import cpw.mods.fml.common.Loader; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; public class ModTabs { + private static boolean atLeastOneModIsLoaded = false; + public static CreativeTabs tabChisel; - public static CreativeTabs tabStoneChiselBlocks, tabWoodChiselBlocks,tabMetalChiselBlocks, tabOtherChiselBlocks; + public static CreativeTabs tabStoneChiselBlocks, tabWoodChiselBlocks,tabMetalChiselBlocks, tabOtherChiselBlocks, tabModdedChiselBlocks; public static void load(){ @@ -17,6 +21,22 @@ public class ModTabs { return ModItems.chisel; } }; + + for(String s : Chisel.modsSupported){ + if(Loader.isModLoaded(s)){ + atLeastOneModIsLoaded = true; + } + } + + if(atLeastOneModIsLoaded){ + tabModdedChiselBlocks = new CreativeTabs("tabModdedChiselBlocks") { + @Override + public Item getTabIconItem() { + return Item.getItemFromBlock(ModBlocks.arcane); + } + }; + } + tabStoneChiselBlocks = new CreativeTabs("tabStoneChiselBlocks") { @Override public Item getTabIconItem() @@ -24,15 +44,15 @@ public class ModTabs { return Item.getItemFromBlock(ModBlocks.holystone); } }; + tabWoodChiselBlocks = new CreativeTabs("tabWoodChiselBlocks") { @Override public Item getTabIconItem() { - //Broken - //return Item.getItemFromBlock(ModBlocks.bookshelf); - return ModItems.chisel; + return Item.getItemFromBlock(ModBlocks.planks[0]); } }; + tabMetalChiselBlocks = new CreativeTabs("tabMetalChiselBlocks") { @Override public Item getTabIconItem() @@ -40,6 +60,7 @@ public class ModTabs { return Item.getItemFromBlock(ModBlocks.technical); } }; + tabOtherChiselBlocks = new CreativeTabs("tabOtherChiselBlocks") { @Override public Item getTabIconItem()