From f94795ffb50f8025b3622848428a9c19add3b368 Mon Sep 17 00:00:00 2001 From: TheCricket Date: Mon, 15 Dec 2014 14:24:31 -0500 Subject: [PATCH] Pumpkin work --- .../chisel/block/BlockCarvablePumpkin.java | 63 +++++++++++++------ .../cricketcraft/chisel/init/ModBlocks.java | 49 +++++++++++++-- 2 files changed, 88 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvablePumpkin.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvablePumpkin.java index 19aa6680..682ca65d 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockCarvablePumpkin.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvablePumpkin.java @@ -1,49 +1,74 @@ package com.cricketcraft.chisel.block; +import com.cricketcraft.chisel.Chisel; import com.cricketcraft.chisel.api.ICarvable; import com.cricketcraft.chisel.carving.CarvableHelper; import com.cricketcraft.chisel.carving.CarvableVariation; - -import net.minecraft.block.BlockPumpkin; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.util.IIcon; +import com.cricketcraft.chisel.init.ModTabs; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.BlockPumpkin; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +import java.util.List; public class BlockCarvablePumpkin extends BlockPumpkin implements ICarvable{ public CarvableHelper carverHelper; @SideOnly(Side.CLIENT) - private IIcon top; + private IIcon[] face = new IIcon[16]; @SideOnly(Side.CLIENT) - private IIcon face; - @SideOnly(Side.CLIENT) - private IIcon side; - private int sideVal, faceVal; + private IIcon top, side; - public BlockCarvablePumpkin(boolean isOn, int sideTexture, int faceTexture) { + private boolean isJackolantern; + + public BlockCarvablePumpkin(boolean isOn) { super(isOn); - sideVal = sideTexture; - faceVal = faceTexture; + setCreativeTab(ModTabs.tabChiselBlocks); + carverHelper = new CarvableHelper(); + this.isJackolantern = isOn; } @Override public IIcon getIcon(int side, int meta) { - //if(side != 0 || side != 1){ - // if(side == ForgeDirection.) - - return null; + if(side == 1 || side == 0){ + return this.top; + } else if(meta == 2 && side == 2){ + return this.face[meta]; + } else if(meta == 3 && side == 5){ + return this.face[meta]; + } else if(meta == 0 && side == 3){ + return this.face[meta]; + } else if(meta == 1 && side == 4){ + return this.face[meta]; + } else { + return this.side; + } } @Override public void registerBlockIcons(IIconRegister icon){ - top = icon.registerIcon(this.getTextureName() + "_top_" + sideVal); - side = icon.registerIcon(this.getTextureName() + "_side_" + sideVal); - face = icon.registerIcon(this.getTextureName() + "_face_" + faceVal); + top = icon.registerIcon(Chisel.MOD_ID + ":pumpkin/pumpkin_top"); + side = icon.registerIcon(Chisel.MOD_ID + ":pumpkin/pumpkin_side"); + for(int x = 0; x < 16; x++){ + face[x] = icon.registerIcon(Chisel.MOD_ID + ":pumpkin/pumpkin_face_" + (x + 1) + (isJackolantern ? "_on" : "_off")); + } } @Override public CarvableVariation getVariation(int metadata) { return carverHelper.getVariation(metadata); } + + @SideOnly(Side.CLIENT) + @Override + public void getSubBlocks(Item item, CreativeTabs creativeTabs, List subItems){ + for(int x = 0; x < 16; x++){ + subItems.add(new ItemStack(this, 1, x)); + } + } } diff --git a/src/main/java/com/cricketcraft/chisel/init/ModBlocks.java b/src/main/java/com/cricketcraft/chisel/init/ModBlocks.java index 3368f86a..76b43416 100644 --- a/src/main/java/com/cricketcraft/chisel/init/ModBlocks.java +++ b/src/main/java/com/cricketcraft/chisel/init/ModBlocks.java @@ -69,8 +69,8 @@ public class ModBlocks { public static BlockCarvablePane paperWall; public static BlockCarvable woolenClay; public static BlockCarvable laboratory; - public static BlockCarvable pumpkin; - public static BlockCarvable jackOLantern; + public static BlockCarvablePumpkin pumpkin; + public static BlockCarvablePumpkin jackolantern; public static BlockVoidstone voidstone; public static BlockVoidstone voidstone2; public static BlockVoidstonePillar voidstonePillar; @@ -1280,10 +1280,49 @@ public class ModBlocks { if(Configurations.featureEnabled("pumpkin")) { - //TODO: Actually finish the class for this - pumpkin = (BlockCarvable) new BlockCarvable(Material.gourd).setHardness(2.0F).setResistance(5F).setStepSound(Block.soundTypeStone); Carving.chisel.addVariation("pumpkin", Blocks.pumpkin, 0, 0); - //pumpkin.carverHelper.addVariation("chisel.title.pumpkin.1.desc", 1, "pumpkin/1"); + pumpkin = (BlockCarvablePumpkin) new BlockCarvablePumpkin(false).setHardness(2.0F).setResistance(5F).setStepSound(Block.soundTypeStone); + pumpkin.carverHelper.addVariation(StatCollector.translateToLocal("tile.pumpkin.0.desc"), 0, pumpkin); + pumpkin.carverHelper.addVariation(StatCollector.translateToLocal("tile.pumpkin.1.desc"), 1, pumpkin); + pumpkin.carverHelper.addVariation(StatCollector.translateToLocal("tile.pumpkin.2.desc"), 2, pumpkin); + pumpkin.carverHelper.addVariation(StatCollector.translateToLocal("tile.pumpkin.3.desc"), 3, pumpkin); + pumpkin.carverHelper.addVariation(StatCollector.translateToLocal("tile.pumpkin.4.desc"), 4, pumpkin); + pumpkin.carverHelper.addVariation(StatCollector.translateToLocal("tile.pumpkin.5.desc"), 5, pumpkin); + pumpkin.carverHelper.addVariation(StatCollector.translateToLocal("tile.pumpkin.6.desc"), 6, pumpkin); + pumpkin.carverHelper.addVariation(StatCollector.translateToLocal("tile.pumpkin.7.desc"), 7, pumpkin); + pumpkin.carverHelper.addVariation(StatCollector.translateToLocal("tile.pumpkin.8.desc"), 8, pumpkin); + pumpkin.carverHelper.addVariation(StatCollector.translateToLocal("tile.pumpkin.9.desc"), 9, pumpkin); + pumpkin.carverHelper.addVariation(StatCollector.translateToLocal("tile.pumpkin.10.desc"), 10, pumpkin); + pumpkin.carverHelper.addVariation(StatCollector.translateToLocal("tile.pumpkin.11.desc"), 11, pumpkin); + pumpkin.carverHelper.addVariation(StatCollector.translateToLocal("tile.pumpkin.12.desc"), 12, pumpkin); + pumpkin.carverHelper.addVariation(StatCollector.translateToLocal("tile.pumpkin.13.desc"), 13, pumpkin); + pumpkin.carverHelper.addVariation(StatCollector.translateToLocal("tile.pumpkin.14.desc"), 14, pumpkin); + pumpkin.carverHelper.addVariation(StatCollector.translateToLocal("tile.pumpkin.15.desc"), 15, pumpkin); + pumpkin.carverHelper.register(pumpkin, "pumpkin"); + Carving.chisel.registerOre("pumpkin", "pumpkin"); + } + + if(Configurations.featureEnabled("jackolantern")) + { + Carving.chisel.addVariation("jackolantern", Blocks.pumpkin, 0, 0); + jackolantern = (BlockCarvablePumpkin) new BlockCarvablePumpkin(false).setHardness(2.0F).setResistance(5F).setStepSound(Block.soundTypeStone); + jackolantern.carverHelper.addVariation(StatCollector.translateToLocal("tile.jackolantern.0.desc"), 0, jackolantern); + jackolantern.carverHelper.addVariation(StatCollector.translateToLocal("tile.jackolantern.1.desc"), 1, jackolantern); + jackolantern.carverHelper.addVariation(StatCollector.translateToLocal("tile.jackolantern.2.desc"), 2, jackolantern); + jackolantern.carverHelper.addVariation(StatCollector.translateToLocal("tile.jackolantern.3.desc"), 3, jackolantern); + jackolantern.carverHelper.addVariation(StatCollector.translateToLocal("tile.jackolantern.4.desc"), 4, jackolantern); + jackolantern.carverHelper.addVariation(StatCollector.translateToLocal("tile.jackolantern.5.desc"), 5, jackolantern); + jackolantern.carverHelper.addVariation(StatCollector.translateToLocal("tile.jackolantern.6.desc"), 6, jackolantern); + jackolantern.carverHelper.addVariation(StatCollector.translateToLocal("tile.jackolantern.7.desc"), 7, jackolantern); + jackolantern.carverHelper.addVariation(StatCollector.translateToLocal("tile.jackolantern.8.desc"), 8, jackolantern); + jackolantern.carverHelper.addVariation(StatCollector.translateToLocal("tile.jackolantern.9.desc"), 9, jackolantern); + jackolantern.carverHelper.addVariation(StatCollector.translateToLocal("tile.jackolantern.10.desc"), 10, jackolantern); + jackolantern.carverHelper.addVariation(StatCollector.translateToLocal("tile.jackolantern.11.desc"), 11, jackolantern); + jackolantern.carverHelper.addVariation(StatCollector.translateToLocal("tile.jackolantern.12.desc"), 12, jackolantern); + jackolantern.carverHelper.addVariation(StatCollector.translateToLocal("tile.jackolantern.13.desc"), 13, jackolantern); + jackolantern.carverHelper.addVariation(StatCollector.translateToLocal("tile.jackolantern.14.desc"), 14, jackolantern); + jackolantern.carverHelper.addVariation(StatCollector.translateToLocal("tile.jackolantern.15.desc"), 15, jackolantern); + Carving.chisel.registerOre("jackolantern", "jackolantern"); } if(Configurations.featureEnabled("leaves")){