From 7e5bd5796354d4ebc544e43d8078842f841008df Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Mon, 7 Dec 2015 20:29:30 +0100 Subject: [PATCH] render cable in inventory --- src/main/java/storagecraft/SCItems.java | 4 ++ .../java/storagecraft/proxy/ClientProxy.java | 10 ++++- ...eRenderer.java => BlockCableRenderer.java} | 5 ++- .../render/ItemCableRenderer.java | 23 ++++++++++ .../storagecraft/render/model/CableModel.java | 41 ++++++++++-------- .../storagecraft/textures/items/cable.png | Bin 246 -> 0 bytes 6 files changed, 62 insertions(+), 21 deletions(-) create mode 100644 src/main/java/storagecraft/SCItems.java rename src/main/java/storagecraft/render/{CableRenderer.java => BlockCableRenderer.java} (89%) create mode 100644 src/main/java/storagecraft/render/ItemCableRenderer.java delete mode 100644 src/main/resources/assets/storagecraft/textures/items/cable.png diff --git a/src/main/java/storagecraft/SCItems.java b/src/main/java/storagecraft/SCItems.java new file mode 100644 index 000000000..76d969190 --- /dev/null +++ b/src/main/java/storagecraft/SCItems.java @@ -0,0 +1,4 @@ +package storagecraft; + +public class SCItems { +} diff --git a/src/main/java/storagecraft/proxy/ClientProxy.java b/src/main/java/storagecraft/proxy/ClientProxy.java index 120f97ba8..d3b7d07ad 100644 --- a/src/main/java/storagecraft/proxy/ClientProxy.java +++ b/src/main/java/storagecraft/proxy/ClientProxy.java @@ -2,7 +2,11 @@ package storagecraft.proxy; import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import storagecraft.render.CableRenderer; +import net.minecraft.item.Item; +import net.minecraftforge.client.MinecraftForgeClient; +import storagecraft.SCBlocks; +import storagecraft.render.BlockCableRenderer; +import storagecraft.render.ItemCableRenderer; import storagecraft.tile.TileCable; public class ClientProxy extends CommonProxy { @@ -10,6 +14,8 @@ public class ClientProxy extends CommonProxy { public void preInit(FMLPreInitializationEvent e) { super.preInit(e); - ClientRegistry.bindTileEntitySpecialRenderer(TileCable.class, new CableRenderer()); + ClientRegistry.bindTileEntitySpecialRenderer(TileCable.class, new BlockCableRenderer()); + + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(SCBlocks.CABLE), new ItemCableRenderer()); } } diff --git a/src/main/java/storagecraft/render/CableRenderer.java b/src/main/java/storagecraft/render/BlockCableRenderer.java similarity index 89% rename from src/main/java/storagecraft/render/CableRenderer.java rename to src/main/java/storagecraft/render/BlockCableRenderer.java index 5b979c055..d684fccbb 100644 --- a/src/main/java/storagecraft/render/CableRenderer.java +++ b/src/main/java/storagecraft/render/BlockCableRenderer.java @@ -8,7 +8,7 @@ import org.lwjgl.opengl.GL11; import storagecraft.render.model.CableModel; import storagecraft.tile.TileCable; -public class CableRenderer extends TileEntitySpecialRenderer { +public class BlockCableRenderer extends TileEntitySpecialRenderer { public static final ResourceLocation CABLE_RESOURCE = new ResourceLocation("storagecraft:textures/blocks/cable.png"); @Override @@ -20,8 +20,11 @@ public class CableRenderer extends TileEntitySpecialRenderer { { GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(CABLE_RESOURCE); + model.render(null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); + GL11.glPopMatrix(); } diff --git a/src/main/java/storagecraft/render/ItemCableRenderer.java b/src/main/java/storagecraft/render/ItemCableRenderer.java new file mode 100644 index 000000000..c59d5e706 --- /dev/null +++ b/src/main/java/storagecraft/render/ItemCableRenderer.java @@ -0,0 +1,23 @@ +package storagecraft.render; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.client.IItemRenderer; + +public class ItemCableRenderer implements IItemRenderer { + public static final BlockCableRenderer CABLE_RENDERER = new BlockCableRenderer(); + + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) { + return true; + } + + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { + return true; + } + + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + CABLE_RENDERER.renderTileEntityAt(null, 0, 0, 0, 0); + } +} diff --git a/src/main/java/storagecraft/render/model/CableModel.java b/src/main/java/storagecraft/render/model/CableModel.java index 138fd5977..33a6b2ad7 100644 --- a/src/main/java/storagecraft/render/model/CableModel.java +++ b/src/main/java/storagecraft/render/model/CableModel.java @@ -53,28 +53,33 @@ public class CableModel extends ModelBase { public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { core.render(f5); - if (cable.hasConnection(ForgeDirection.UP)) { - up.render(f5); - } + if (cable != null) { + if (cable.hasConnection(ForgeDirection.UP)) { + up.render(f5); + } - if (cable.hasConnection(ForgeDirection.DOWN)) { - down.render(f5); - } + if (cable.hasConnection(ForgeDirection.DOWN)) { + down.render(f5); + } - if (cable.hasConnection(ForgeDirection.NORTH)) { + if (cable.hasConnection(ForgeDirection.NORTH)) { + north.render(f5); + } + + if (cable.hasConnection(ForgeDirection.EAST)) { + east.render(f5); + } + + if (cable.hasConnection(ForgeDirection.SOUTH)) { + south.render(f5); + } + + if (cable.hasConnection(ForgeDirection.WEST)) { + west.render(f5); + } + } else { north.render(f5); - } - - if (cable.hasConnection(ForgeDirection.EAST)) { - east.render(f5); - } - - if (cable.hasConnection(ForgeDirection.SOUTH)) { south.render(f5); } - - if (cable.hasConnection(ForgeDirection.WEST)) { - west.render(f5); - } } } diff --git a/src/main/resources/assets/storagecraft/textures/items/cable.png b/src/main/resources/assets/storagecraft/textures/items/cable.png deleted file mode 100644 index a8e8dbf514063a93ec2292ab87c7a94d6f5aafcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ+nVO$@hV3(mh=qLoEE4p1a7^pup3bIKNs!`p1KAR^h_qFRmPQ|2h5gvv>OsoM@QH zsLbrf*38bg=d#Wzp$Py5U0Fi_