From b9dda8a2c1e386b7fe2afd65342335c284b8e53c Mon Sep 17 00:00:00 2001 From: Christian Weeks Date: Fri, 27 Jan 2012 16:38:21 -0500 Subject: [PATCH] Custom renderer in and working --- .../ironchest/client/IronChestRenderHelper.java | 17 +++++++++++++++++ .../client/TileEntityIronChestRenderer.java | 2 -- .../client/net/minecraft/src/mod_IronChest.java | 3 ++- .../cpw/mods/ironchest/BlockIronChest.java | 15 +++++++++++++-- .../cpw/mods/ironchest/IronChestType.java | 4 +--- 5 files changed, 33 insertions(+), 8 deletions(-) create mode 100644 IronChests2/client/cpw/mods/ironchest/client/IronChestRenderHelper.java diff --git a/IronChests2/client/cpw/mods/ironchest/client/IronChestRenderHelper.java b/IronChests2/client/cpw/mods/ironchest/client/IronChestRenderHelper.java new file mode 100644 index 0000000..d8bf76f --- /dev/null +++ b/IronChests2/client/cpw/mods/ironchest/client/IronChestRenderHelper.java @@ -0,0 +1,17 @@ +package cpw.mods.ironchest.client; + +import net.minecraft.src.Block; +import net.minecraft.src.ChestItemRenderHelper; +import net.minecraft.src.TileEntityRenderer; +import net.minecraft.src.mod_IronChest; + +public class IronChestRenderHelper extends ChestItemRenderHelper { + @Override + public void func_35609_a(Block block, int i, float f) { + if (block==mod_IronChest.ironChestBlock) { + TileEntityRenderer.instance.renderTileEntityAt(block.getTileEntity(i), 0.0D, 0.0D, 0.0D, 0.0F); + } else { + super.func_35609_a(block, i, f); + } + } +} diff --git a/IronChests2/client/cpw/mods/ironchest/client/TileEntityIronChestRenderer.java b/IronChests2/client/cpw/mods/ironchest/client/TileEntityIronChestRenderer.java index 1acba70..df0ad25 100644 --- a/IronChests2/client/cpw/mods/ironchest/client/TileEntityIronChestRenderer.java +++ b/IronChests2/client/cpw/mods/ironchest/client/TileEntityIronChestRenderer.java @@ -16,9 +16,7 @@ public class TileEntityIronChestRenderer extends TileEntitySpecialRenderer { public void render(TileEntityIronChest tile, double d, double d1, double d2, float f) { int facing = 3; - int metatype = 0; if (tile != null && tile.worldObj != null) { - metatype = tile.getBlockMetadata(); facing = tile.getFacing(); } bindTextureByName(tile.getType().getModelTexture()); diff --git a/IronChests2/client/net/minecraft/src/mod_IronChest.java b/IronChests2/client/net/minecraft/src/mod_IronChest.java index f597fa5..9c2fcfc 100644 --- a/IronChests2/client/net/minecraft/src/mod_IronChest.java +++ b/IronChests2/client/net/minecraft/src/mod_IronChest.java @@ -5,6 +5,7 @@ import java.io.File; import cpw.mods.ironchest.BlockIronChest; import cpw.mods.ironchest.IronChestType; import cpw.mods.ironchest.ItemIronChest; +import cpw.mods.ironchest.client.IronChestRenderHelper; import cpw.mods.ironchest.client.TileEntityIronChestRenderer; import net.minecraft.client.Minecraft; import net.minecraft.src.forge.Configuration; @@ -46,7 +47,7 @@ public class mod_IronChest extends BaseModMp { IronChestType.registerTileEntities(TileEntityIronChestRenderer.class); IronChestType.registerRecipes(ironChestBlock); - System.out.printf("Item : %s\n", Item.itemsList[ironChestBlock.blockID]); + ChestItemRenderHelper.instance=new IronChestRenderHelper(); MinecraftForgeClient.preloadTexture("ic2/sprites/ironchest_block_tex.png"); } diff --git a/IronChests2/common/cpw/mods/ironchest/BlockIronChest.java b/IronChests2/common/cpw/mods/ironchest/BlockIronChest.java index 1ad6422..e516a68 100644 --- a/IronChests2/common/cpw/mods/ironchest/BlockIronChest.java +++ b/IronChests2/common/cpw/mods/ironchest/BlockIronChest.java @@ -1,7 +1,5 @@ package cpw.mods.ironchest; -import java.util.Random; - import net.minecraft.src.BlockContainer; import net.minecraft.src.EntityLiving; import net.minecraft.src.IBlockAccess; @@ -29,6 +27,19 @@ public class BlockIronChest extends BlockContainer implements ITextureProvider { return "ic2/sprites/ironchest_block_tex.png"; } + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + @Override + public int getRenderType() { + return 22; + } @Override public TileEntity getBlockEntity(int metadata) { return IronChestType.makeEntity(metadata); diff --git a/IronChests2/common/cpw/mods/ironchest/IronChestType.java b/IronChests2/common/cpw/mods/ironchest/IronChestType.java index 699477a..40bc2a0 100644 --- a/IronChests2/common/cpw/mods/ironchest/IronChestType.java +++ b/IronChests2/common/cpw/mods/ironchest/IronChestType.java @@ -1,7 +1,5 @@ package cpw.mods.ironchest; -import java.util.Arrays; - import net.minecraft.src.Block; import net.minecraft.src.Item; import net.minecraft.src.ItemStack; @@ -25,7 +23,7 @@ public enum IronChestType { IronChestType(int size, String friendlyName, String modelTexture, int textureRow, Item mat, Class clazz, String... recipes) { this.size = size; this.friendlyName = friendlyName; - this.modelTexture = "ic2/sprites/"+modelTexture; + this.modelTexture = "/ic2/sprites/"+modelTexture; this.textureRow = textureRow; this.clazz = clazz; this.mat = mat;