navybofus Posted April 23, 2014 Share Posted April 23, 2014 Hello again Minecraft Forge guru's! I've decided to add a small bit of flare to my newest mod (mostly for practice). I'd like to have an item hover over my block and slowly rotate. I'm going to change this item based on the inventory, but I can do that after I find out how to render any item. So far, I've tried using the tesselator to draw ANYTHING above my block, but I can't even figure out if my Renderer is being registered correctly. I've placed a few log notes and none of them show up. Here's some of my code that I believe is the culprit. EDIT: I've made sure that my renderer is being registered and got something on the screen. I forgot to add proxy.registerRenderers(); to my FMLInitilizationEvent public class CommonProxy { public void registerRenderers(){} } public class ClientProxy extends CommonProxy{ public void registerRenderers(){ ClientRegistry.bindTileEntitySpecialRenderer(TEMetalExtractor.class, new RendererMetalExtractor()); } } public class RendererMetalExtractor extends TileEntitySpecialRenderer{ public RendererMetalExtractor(){} private static final ResourceLocation texture = new ResourceLocation(ModInfo.MODID, "textures/blocks/magnet.png"); @Override @SideOnly(Side.CLIENT) public void renderTileEntityAt(TileEntity te, double x, double y, double z, float f) { bindTexture(texture); Tessellator t = Tessellator.instance; GL11.glPushMatrix(); GL11.glColor3ub((byte)255, (byte)0, (byte)0); GL11.glTranslated(x, y+1, z); GL11.glLineWidth(10.0F); t.startDrawingQuads(); t.addVertexWithUV(0, 0, 0, 0, 0); t.addVertexWithUV(0, 1, 0, 0, 1); t.addVertexWithUV(1, 1, 0, 1, 1); t.addVertexWithUV(1, 0, 0, 1, 0); t.draw(); GL11.glPopMatrix(); } } All of this TESR code is the product of several tutorials that don't do what I wanted, but I thought I could figure it out if I got something to show up. I'm going to continue working towards a solution. If anyone can provide some help I'd really appreciate it. Quote http://i43.tinypic.com/95v5n9.png[/img] Link to comment Share on other sites More sharing options...
coolAlias Posted April 23, 2014 Share Posted April 23, 2014 Whenever you're not sure if a method is being called, that's an excellent time to use either break points or a simple println. If it doesn't print, it's not getting called and you should check that your block implements ITileEntityProvider (or extends BlockContainer) and returns your tile entity for the create new tile entity method. If it does print, then the problem is with your rendering. Btw, if you want an item to float and rotate above the block, why not use an EntityItem directly in the render class (not for spawning in the world, but only for rendering) ? I think that could greatly simplify the work you need to do. Quote http://i.imgur.com/NdrFdld.png[/img] Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.