aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/bop/blocks/base/LogBase.java
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2017-05-27 15:41:04 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2017-05-27 15:41:04 +1000
commitb20fad29ca4e6ad5de25080e212ab5257692afa5 (patch)
treea83c378cac103dac82a32b0508212109b5ac0d04 /src/Java/gtPlusPlus/xmod/bop/blocks/base/LogBase.java
parent0c3d983f6bfa7ada1c85a6176f599a3ea4bb8d2a (diff)
downloadGT5-Unofficial-b20fad29ca4e6ad5de25080e212ab5257692afa5.tar.gz
GT5-Unofficial-b20fad29ca4e6ad5de25080e212ab5257692afa5.tar.bz2
GT5-Unofficial-b20fad29ca4e6ad5de25080e212ab5257692afa5.zip
+ Added some modular base tree (Log/Leaf/Sapling) classes.
+ Added BoP Rainforest Trees (Still need a bit of work).
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/bop/blocks/base/LogBase.java')
-rw-r--r--src/Java/gtPlusPlus/xmod/bop/blocks/base/LogBase.java79
1 files changed, 79 insertions, 0 deletions
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