aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/bop
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/bop')
-rw-r--r--src/Java/gtPlusPlus/xmod/bop/HANDLER_BiomesOPlenty.java31
-rw-r--r--src/Java/gtPlusPlus/xmod/bop/blocks/BOP_Block_Registrator.java27
-rw-r--r--src/Java/gtPlusPlus/xmod/bop/blocks/base/LeavesBase.java100
-rw-r--r--src/Java/gtPlusPlus/xmod/bop/blocks/base/LogBase.java79
-rw-r--r--src/Java/gtPlusPlus/xmod/bop/blocks/base/SaplingBase.java233
-rw-r--r--src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/LeavesRainforestTree.java16
-rw-r--r--src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/LogRainforestTree.java24
-rw-r--r--src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/SaplingRainforestTree.java11
-rw-r--r--src/Java/gtPlusPlus/xmod/bop/creative/MiscUtilsBOPTab.java18
9 files changed, 539 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/xmod/bop/HANDLER_BiomesOPlenty.java b/src/Java/gtPlusPlus/xmod/bop/HANDLER_BiomesOPlenty.java
new file mode 100644
index 0000000000..2c109b8834
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/bop/HANDLER_BiomesOPlenty.java
@@ -0,0 +1,31 @@
+package gtPlusPlus.xmod.bop;
+
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.xmod.bop.blocks.BOP_Block_Registrator;
+
+public class HANDLER_BiomesOPlenty {
+
+
+
+ public static void preInit(){
+ if (LoadedMods.BiomesOPlenty){
+ BOP_Block_Registrator.run();
+ }
+
+ }
+
+ public static void init(){
+ if (LoadedMods.BiomesOPlenty){
+
+ }
+ }
+
+ public static void postInit(){
+ if (LoadedMods.BiomesOPlenty){
+
+ }
+
+ }
+
+
+}
diff --git a/src/Java/gtPlusPlus/xmod/bop/blocks/BOP_Block_Registrator.java b/src/Java/gtPlusPlus/xmod/bop/blocks/BOP_Block_Registrator.java
new file mode 100644
index 0000000000..18fb1914ac
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/bop/blocks/BOP_Block_Registrator.java
@@ -0,0 +1,27 @@
+package gtPlusPlus.xmod.bop.blocks;
+
+import gtPlusPlus.xmod.bop.blocks.rainforest.*;
+import net.minecraft.block.Block;
+
+public class BOP_Block_Registrator {
+
+ static Block log_Rainforest;
+ static Block Leaves_Rainforest;
+ static Block sapling_Rainforest;
+
+ //Runs Each tree Type separately
+ public static final void run(){
+ registerTree_Rainforest();
+ }
+
+
+ private static final boolean registerTree_Rainforest(){
+ log_Rainforest = new LogRainforestTree();
+ Leaves_Rainforest = new LeavesRainforestTree();
+ sapling_Rainforest = new SaplingRainforestTree();
+ return true;
+ }
+
+
+
+}
diff --git a/src/Java/gtPlusPlus/xmod/bop/blocks/base/LeavesBase.java b/src/Java/gtPlusPlus/xmod/bop/blocks/base/LeavesBase.java
new file mode 100644
index 0000000000..d82e2d52b0
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/bop/blocks/base/LeavesBase.java
@@ -0,0 +1,100 @@
+package gtPlusPlus.xmod.bop.blocks.base;
+
+import java.util.List;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.common.registry.LanguageRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.item.ItemUtils;
+import net.minecraft.block.BlockLeaves;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.*;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.World;
+
+public class LeavesBase extends BlockLeaves {
+
+ protected IIcon[][] leafTextures = new IIcon[2][];
+ protected String[][] leafType = new String[][] {{}, {}};
+ protected String[] treeType = new String[] {};
+ protected ItemStack[] bonusDrops;
+
+ @SuppressWarnings("deprecation")
+ public LeavesBase(String blockNameLocalized, String blockNameUnlocalized, ItemStack[] bonusDrops){
+ this.bonusDrops = bonusDrops;
+ String blockName = "block"+Utils.sanitizeString(blockNameLocalized)+"Leaves";
+ GameRegistry.registerBlock(this, ItemBlock.class, blockName);
+ this.setBlockName(blockName);
+ ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(this), "treeLeaves");
+ this.setCreativeTab(AddToCreativeTab.tabBOP);
+ LanguageRegistry.addName(this, blockNameLocalized+" Leaves");
+ }
+
+ private final void setVanillaVariable(Object toSet, Object value){
+ toSet = value;
+ }
+
+
+ @Override//Drops when Leaf is broken
+ protected void func_150124_c(World world, int x, int y, int z, int meta, int randomChance){
+ if (this.treeType.length == this.bonusDrops.length){
+ for (int i = 0; i < this.treeType.length; ++i){
+ if (this.bonusDrops[i] != null && world.rand.nextInt(randomChance) == 0){
+ this.dropBlockAsItem(world, x, y, z, ItemUtils.getSimpleStack(this.bonusDrops[i], 1));
+ }
+ }
+ }
+ else {
+ Utils.LOG_INFO("Unable to drop anything, Leaf Type array and Loot array are different sizes.");
+ }
+ }
+
+ /**
+ * returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks)
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void getSubBlocks(Item item, CreativeTabs tab, @SuppressWarnings("rawtypes") List metaList){
+ for (int i = 0; i < this.treeType.length; ++i){
+ metaList.add(new ItemStack(item, 1, i));
+ }
+ }
+
+ /**
+ * Gets the block's texture. Args: side, meta
+ */
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(int p_149691_1_, int metaID){
+ return (metaID & 3) == 1 ? this.leafTextures[this.field_150127_b][1] : this.leafTextures[this.field_150127_b][0];
+ }
+
+ @Override
+ public boolean isOpaqueCube() {
+ return false;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerBlockIcons(IIconRegister iIcon){
+ for (int i = 0; i < leafType.length; ++i){
+ this.leafTextures[i] = new IIcon[leafType[i].length];
+ for (int j = 0; j < leafType[i].length; ++j){
+ this.leafTextures[i][j] = iIcon.registerIcon(CORE.MODID + ":" + "trees/" + "leaves/" + "leaves_" + leafType[i][j]);
+ }
+ }
+ setVanillaVariable(this.field_150129_M, this.leafTextures);
+ }
+
+ @Override
+ public String[] func_150125_e()
+ {
+ return treeType;
+ }
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/bop/blocks/base/LogBase.java b/src/Java/gtPlusPlus/xmod/bop/blocks/base/LogBase.java
new file mode 100644
index 0000000000..7503007fe1
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/bop/blocks/base/LogBase.java
@@ -0,0 +1,79 @@
+package gtPlusPlus.xmod.bop.blocks.base;
+
+import java.util.List;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.common.registry.LanguageRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.item.ItemUtils;
+import net.minecraft.block.BlockLog;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.*;
+import net.minecraft.util.IIcon;
+
+public abstract class LogBase extends BlockLog
+{
+ public String[] treeType = new String[] {};
+ protected IIcon[] textureSide;
+ protected IIcon[] textureTop;
+
+ @SuppressWarnings("deprecation")
+ public LogBase(String blockNameLocalized, String blockNameUnlocalized, String[] treeTypes){
+ this.treeType = treeTypes;
+ String blockName = "block"+Utils.sanitizeString(blockNameLocalized)+"Log";
+ GameRegistry.registerBlock(this, ItemBlock.class, blockName);
+ this.setBlockName(blockName);
+ ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(this), "log"+Utils.sanitizeString(blockNameLocalized));
+ this.setCreativeTab(AddToCreativeTab.tabBOP);
+ LanguageRegistry.addName(this, blockNameLocalized);
+ }
+
+ private final void setVanillaVariable(Object toSet, Object value){
+ toSet = value;
+ }
+
+ /**
+ * returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks)
+ */
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void getSubBlocks(Item item, CreativeTabs tab, List metaList){
+ for (int i = 0; i < this.textureSide.length; ++i){
+ metaList.add(new ItemStack(item, 1, i));
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ protected IIcon getTopIcon(int meta){
+ return this.textureTop[meta % this.textureTop.length];
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ protected IIcon getSideIcon(int metaID){
+ return this.textureSide[metaID % this.textureSide.length];
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerBlockIcons(IIconRegister iIcon)
+ {
+ this.textureSide = new IIcon[treeType.length];
+ this.textureTop = new IIcon[treeType.length];
+
+ for (int i = 0; i < this.textureSide.length; ++i){
+ this.textureSide[i] = iIcon.registerIcon(CORE.MODID + ":" + "trees/" + "logs/" + "log_" + treeType[i]);
+ this.textureTop[i] = iIcon.registerIcon(CORE.MODID + ":" + "trees/" + "logs/" + "log_" + treeType[i] + "_top");
+ }
+
+ setVanillaVariable(this.field_150167_a, this.textureSide);
+ setVanillaVariable(this.field_150166_b, this.textureTop);
+ }
+
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/bop/blocks/base/SaplingBase.java b/src/Java/gtPlusPlus/xmod/bop/blocks/base/SaplingBase.java
new file mode 100644
index 0000000000..eaf26142d7
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/bop/blocks/base/SaplingBase.java
@@ -0,0 +1,233 @@
+package gtPlusPlus.xmod.bop.blocks.base;
+
+import java.util.List;
+import java.util.Random;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.common.registry.LanguageRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.item.ItemUtils;
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockSapling;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.*;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.World;
+import net.minecraft.world.gen.feature.*;
+
+public class SaplingBase extends BlockSapling
+{
+ protected String[] saplingTypes = new String[] {};
+ protected IIcon[] saplingTextures = new IIcon[] {};
+
+ //Sapling types - field_149882_a
+ //Iicons - field_149881_b
+
+ protected SaplingBase(String blockNameLocalized, String blockNameUnlocalized, String[] saplingTypes){
+ float f = 0.4F;
+ this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f * 2.0F, 0.5F + f);
+ this.saplingTypes = saplingTypes;
+ this.saplingTextures = new IIcon[saplingTypes.length];
+ String blockName = "block"+Utils.sanitizeString(blockNameLocalized)+"Sapling";
+ GameRegistry.registerBlock(this, ItemBlock.class, blockName);
+ this.setBlockName(blockName);
+ ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(this), "treeSapling");
+ this.setCreativeTab(AddToCreativeTab.tabBOP);
+ LanguageRegistry.addName(this, blockNameLocalized);
+ }
+
+ private final void setVanillaVariable(Object toSet, Object value){
+ toSet = value;
+ }
+
+ /**
+ * Gets the block's texture. Args: side, meta
+ */
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(int someInt, int meta){
+ /* p_149691_2_ &= 7;
+ return saplingTextures[MathHelper.clamp_int(p_149691_2_, 0, 5)];*/
+ //return this.saplingTextures[meta % this.saplingTextures.length];
+ Utils.LOG_INFO("Sapling meta is "+meta);
+ return this.saplingTextures[meta];
+ }
+
+
+
+ /* @Override
+ public void func_149879_c(World p_149879_1_, int p_149879_2_, int p_149879_3_, int p_149879_4_, Random p_149879_5_)
+ {
+ int l = p_149879_1_.getBlockMetadata(p_149879_2_, p_149879_3_, p_149879_4_);
+
+ if ((l & 8) == 0)
+ {
+ p_149879_1_.setBlockMetadataWithNotify(p_149879_2_, p_149879_3_, p_149879_4_, l | 8, 4);
+ }
+ else
+ {
+ this.func_149878_d(p_149879_1_, p_149879_2_, p_149879_3_, p_149879_4_, p_149879_5_);
+ }
+ }*/
+
+ @Override
+ public void func_149878_d(World world, int x, int y, int z, Random rand)
+ {
+ if (!net.minecraftforge.event.terraingen.TerrainGen.saplingGrowTree(world, rand, x, y, z)) return;
+ int l = world.getBlockMetadata(x, y, z) & 7;
+ Object object = rand.nextInt(10) == 0 ? new WorldGenBigTree(true) : new WorldGenTrees(true);
+ int i1 = 0;
+ int j1 = 0;
+ boolean flag = false;
+
+ switch (l)
+ {
+ case 0:
+ default:
+ break;
+ case 1:
+ label78:
+
+ for (i1 = 0; i1 >= -1; --i1)
+ {
+ for (j1 = 0; j1 >= -1; --j1)
+ {
+ if (this.func_149880_a(world, x + i1, y, z + j1, 1) && this.func_149880_a(world, x + i1 + 1, y, z + j1, 1) && this.func_149880_a(world, x + i1, y, z + j1 + 1, 1) && this.func_149880_a(world, x + i1 + 1, y, z + j1 + 1, 1))
+ {
+ object = new WorldGenMegaPineTree(false, rand.nextBoolean());
+ flag = true;
+ break label78;
+ }
+ }
+ }
+
+ if (!flag)
+ {
+ j1 = 0;
+ i1 = 0;
+ object = new WorldGenTaiga2(true);
+ }
+
+ break;
+ case 2:
+ object = new WorldGenForest(true, false);
+ break;
+ case 3:
+ label93:
+
+ for (i1 = 0; i1 >= -1; --i1)
+ {
+ for (j1 = 0; j1 >= -1; --j1)
+ {
+ if (this.func_149880_a(world, x + i1, y, z + j1, 3) && this.func_149880_a(world, x + i1 + 1, y, z + j1, 3) && this.func_149880_a(world, x + i1, y, z + j1 + 1, 3) && this.func_149880_a(world, x + i1 + 1, y, z + j1 + 1, 3))
+ {
+ object = new WorldGenMegaJungle(true, 10, 20, 3, 3);
+ flag = true;
+ break label93;
+ }
+ }
+ }
+
+ if (!flag)
+ {
+ j1 = 0;
+ i1 = 0;
+ object = new WorldGenTrees(true, 4 + rand.nextInt(7), 3, 3, false);
+ }
+
+ break;
+ case 4:
+ object = new WorldGenSavannaTree(true);
+ break;
+ case 5:
+ label108:
+
+ for (i1 = 0; i1 >= -1; --i1)
+ {
+ for (j1 = 0; j1 >= -1; --j1)
+ {
+ if (this.func_149880_a(world, x + i1, y, z + j1, 5) && this.func_149880_a(world, x + i1 + 1, y, z + j1, 5) && this.func_149880_a(world, x + i1, y, z + j1 + 1, 5) && this.func_149880_a(world, x + i1 + 1, y, z + j1 + 1, 5))
+ {
+ object = new WorldGenCanopyTree(true);
+ flag = true;
+ break label108;
+ }
+ }
+ }
+
+ if (!flag)
+ {
+ return;
+ }
+ }
+
+ Block block = Blocks.air;
+
+ if (flag)
+ {
+ world.setBlock(x + i1, y, z + j1, block, 0, 4);
+ world.setBlock(x + i1 + 1, y, z + j1, block, 0, 4);
+ world.setBlock(x + i1, y, z + j1 + 1, block, 0, 4);
+ world.setBlock(x + i1 + 1, y, z + j1 + 1, block, 0, 4);
+ }
+ else
+ {
+ world.setBlock(x, y, z, block, 0, 4);
+ }
+
+ if (!((WorldGenerator)object).generate(world, rand, x + i1, y, z + j1))
+ {
+ if (flag)
+ {
+ world.setBlock(x + i1, y, z + j1, this, l, 4);
+ world.setBlock(x + i1 + 1, y, z + j1, this, l, 4);
+ world.setBlock(x + i1, y, z + j1 + 1, this, l, 4);
+ world.setBlock(x + i1 + 1, y, z + j1 + 1, this, l, 4);
+ }
+ else
+ {
+ world.setBlock(x, y, z, this, l, 4);
+ }
+ }
+ }
+
+ @Override
+ public boolean func_149880_a(World world, int p_149880_2_, int p_149880_3_, int p_149880_4_, int p_149880_5_){
+ return world.getBlock(p_149880_2_, p_149880_3_, p_149880_4_) == this && (world.getBlockMetadata(p_149880_2_, p_149880_3_, p_149880_4_) & 7) == p_149880_5_;
+ }
+
+ /**
+ * Determines the damage on the item the block drops. Used in cloth and wood.
+ */
+ @Override
+ public int damageDropped(int meta){
+ return MathHelper.clamp_int(meta & 7, 0, 5);
+ }
+
+ /**
+ * returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks)
+ */
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void getSubBlocks(Item item, CreativeTabs tab, List metaList){
+ for (int i = 0; i < this.saplingTextures.length; ++i){
+ metaList.add(new ItemStack(item, 1, i));
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerBlockIcons(IIconRegister iIcon){
+ for (int i = 0; i < saplingTextures.length; ++i){
+ saplingTextures[i] = iIcon.registerIcon(CORE.MODID + ":" + "trees/" + "saplings/" + "sapling_" + saplingTypes[i]);
+ }
+ }
+
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/LeavesRainforestTree.java b/src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/LeavesRainforestTree.java
new file mode 100644
index 0000000000..890775537f
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/LeavesRainforestTree.java
@@ -0,0 +1,16 @@
+package gtPlusPlus.xmod.bop.blocks.rainforest;
+
+import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.xmod.bop.blocks.base.LeavesBase;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+
+public class LeavesRainforestTree extends LeavesBase {
+
+ public LeavesRainforestTree(){
+ super("Rainforest Oak", "rainforestoak", new ItemStack[]{ItemUtils.getSimpleStack(Items.apple)});
+ this.treeType = new String[] {"rainforest"};
+ this.leafType = new String[][] {{"rainforest"},{"rainforest_opaque"}};
+ }
+
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/LogRainforestTree.java b/src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/LogRainforestTree.java
new file mode 100644
index 0000000000..6d30caafb7
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/LogRainforestTree.java
@@ -0,0 +1,24 @@
+package gtPlusPlus.xmod.bop.blocks.rainforest;
+
+import gtPlusPlus.xmod.bop.blocks.base.LogBase;
+
+public class LogRainforestTree extends LogBase {
+
+ public LogRainforestTree(){
+ super("Rainforest Oak", "rainforestoak", new String[]{"rainforest"});
+ this.treeType = new String[] {"rainforest"};
+ }
+
+ /*@Override
+ @SideOnly(Side.CLIENT)
+ protected IIcon getSideIcon(int metaID){
+ return this.textureSide[metaID % this.textureSide.length];
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ protected IIcon getTopIcon(int metaID){
+ return this.textureTop[metaID % this.textureTop.length];
+ }*/
+
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/SaplingRainforestTree.java b/src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/SaplingRainforestTree.java
new file mode 100644
index 0000000000..76c10d1bb5
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/SaplingRainforestTree.java
@@ -0,0 +1,11 @@
+package gtPlusPlus.xmod.bop.blocks.rainforest;
+
+import gtPlusPlus.xmod.bop.blocks.base.SaplingBase;
+
+public class SaplingRainforestTree extends SaplingBase {
+
+ public SaplingRainforestTree(){
+ super("Rainforest Oak Sapling", "rainforestoak", new String[]{"rainforest"});
+ }
+
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/bop/creative/MiscUtilsBOPTab.java b/src/Java/gtPlusPlus/xmod/bop/creative/MiscUtilsBOPTab.java
new file mode 100644
index 0000000000..054d82ffa7
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/bop/creative/MiscUtilsBOPTab.java
@@ -0,0 +1,18 @@
+package gtPlusPlus.xmod.bop.creative;
+
+import gtPlusPlus.core.item.ModItems;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+
+public class MiscUtilsBOPTab extends CreativeTabs {
+
+ public MiscUtilsBOPTab(final String lable) {
+ super(lable);
+ }
+
+ @Override
+ public Item getTabIconItem() {
+ return ModItems.itemAlkalusDisk;
+ }
+
+}