Files
Chisel/src/main/java/com/cricketcraft/chisel/init/ChiselTabs.java
T

105 lines
3.5 KiB
Java
Raw Normal View History

2014-12-15 00:11:48 +00:00
package com.cricketcraft.chisel.init;
2014-10-28 21:10:08 -04:00
import net.minecraft.creativetab.CreativeTabs;
2015-02-07 15:29:26 +00:00
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
2014-10-28 21:10:08 -04:00
import net.minecraft.item.Item;
2015-01-08 15:27:15 -05:00
import net.minecraft.item.ItemStack;
2015-01-13 01:45:52 -05:00
import com.cricketcraft.chisel.Features;
2015-02-25 04:24:11 -05:00
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class ChiselTabs {
2014-10-28 21:10:08 -04:00
2015-01-08 15:27:15 -05:00
private static class CustomCreativeTab extends CreativeTabs {
2015-02-24 20:20:31 -05:00
private boolean search;
2015-01-08 15:27:15 -05:00
private ItemStack stack;
2015-02-24 20:20:31 -05:00
public CustomCreativeTab(String label, boolean searchbar) {
2015-01-08 15:27:15 -05:00
super(label);
2015-02-24 20:20:31 -05:00
this.search = searchbar;
}
2015-01-08 15:27:15 -05:00
@Override
public Item getTabIconItem() {
return stack.getItem();
}
2015-01-08 15:27:15 -05:00
public void setTabIconItemStack(ItemStack stack) {
this.stack = stack;
}
2015-01-08 15:27:15 -05:00
@Override
public ItemStack getIconItemStack() {
return stack;
}
2015-02-24 20:03:04 -05:00
@Override
@SideOnly(Side.CLIENT)
public String getBackgroundImageName() {
return search ? "item_search.png" : super.getBackgroundImageName();
}
@Override
public int getSearchbarWidth() {
return 89;
}
@Override
public boolean hasSearchBar() {
2015-02-24 20:20:31 -05:00
return search;
2015-02-24 20:03:04 -05:00
}
2015-01-08 15:27:15 -05:00
}
2015-01-08 15:27:15 -05:00
private static boolean atLeastOneModIsLoaded = false;
2015-02-24 20:20:31 -05:00
public static final CustomCreativeTab tabChisel = new CustomCreativeTab("tabChisel", false);
public static final CustomCreativeTab tabStoneChiselBlocks = new CustomCreativeTab("tabStoneChiselBlocks", true);
public static final CustomCreativeTab tabWoodChiselBlocks = new CustomCreativeTab("tabWoodChiselBlocks", true);
public static final CustomCreativeTab tabMetalChiselBlocks = new CustomCreativeTab("tabMetalChiselBlocks", true);
public static final CustomCreativeTab tabOtherChiselBlocks = new CustomCreativeTab("tabOtherChiselBlocks", true);
public static final CustomCreativeTab tabModdedChiselBlocks = new CustomCreativeTab("tabModdedChiselBlocks", true);
2015-01-08 15:27:15 -05:00
// this serves mostly just to load the static initializers
public static void preInit() {
atLeastOneModIsLoaded = Features.oneModdedFeatureLoaded();
}
2015-01-08 15:27:15 -05:00
public static void postInit() {
2015-02-07 15:29:26 +00:00
if(Features.CHISEL.enabled())
2015-01-08 15:27:15 -05:00
tabChisel.setTabIconItemStack(new ItemStack(ChiselItems.chisel));
2015-02-07 15:29:26 +00:00
else tabChisel.setTabIconItemStack(new ItemStack(Items.stick));
if(Features.HOLYSTONE.enabled())
2015-01-08 15:27:15 -05:00
tabStoneChiselBlocks.setTabIconItemStack(new ItemStack(ChiselBlocks.holystone));
2015-02-07 15:29:26 +00:00
else tabStoneChiselBlocks.setTabIconItemStack(new ItemStack(Blocks.stonebrick));
if(Features.WOOD.enabled())
2015-01-10 20:37:38 +00:00
tabWoodChiselBlocks.setTabIconItemStack(new ItemStack(ChiselBlocks.planks[0], 1, 1));
2015-02-07 15:29:26 +00:00
else tabWoodChiselBlocks.setTabIconItemStack(new ItemStack(Blocks.planks));
if(Features.TECHNICAL.enabled())
2015-01-08 15:27:15 -05:00
tabMetalChiselBlocks.setTabIconItemStack(new ItemStack(ChiselBlocks.technical));
2015-02-07 15:29:26 +00:00
else tabMetalChiselBlocks.setTabIconItemStack(new ItemStack(Blocks.iron_block));
if(Features.JACKOLANTERN.enabled())
2015-01-08 15:27:15 -05:00
tabOtherChiselBlocks.setTabIconItemStack(new ItemStack(ChiselBlocks.jackolantern[0]));
2015-02-07 15:29:26 +00:00
else tabOtherChiselBlocks.setTabIconItemStack(new ItemStack(Blocks.lit_pumpkin));
2015-01-08 15:27:15 -05:00
if (atLeastOneModIsLoaded) {
if (Features.ARCANE.enabled()) {
tabModdedChiselBlocks.setTabIconItemStack(new ItemStack(ChiselBlocks.arcane));
} else if (Features.BLOOD_RUNE.enabled()) {
tabModdedChiselBlocks.setTabIconItemStack(new ItemStack(ChiselBlocks.bloodRune));
} else {
2015-02-07 15:29:26 +00:00
if(ChiselBlocks.voidstone != null)
2015-01-08 15:27:15 -05:00
tabModdedChiselBlocks.setTabIconItemStack(new ItemStack(ChiselBlocks.voidstone));
2015-02-07 15:29:26 +00:00
else tabModdedChiselBlocks.setTabIconItemStack(new ItemStack(Blocks.obsidian));
}
2015-01-08 15:27:15 -05:00
}
}
2014-10-28 21:10:08 -04:00
}