Posted June 28, 201312 yr I have made a costum render for my item so it looks like a block when its held but I can't get in the right place and it only works right in third person mode. Any help? Render code! package chibill.AdditionalCrafting.Renders; import org.lwjgl.opengl.GL11; import chibill.AdditionalCrafting.Models.Spawner_Model; import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; import net.minecraft.item.ItemStack; import net.minecraftforge.client.ForgeHooksClient; import net.minecraftforge.client.IItemRenderer; public class Spawner_Render implements IItemRenderer { protected static Spawner_Model model; public Spawner_Render(){ model = new Spawner_Model(); } @Override public boolean handleRenderType(ItemStack item, ItemRenderType type) { switch(type){ case EQUIPPED: return true; default: return false; } } @Override public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { // TODO Auto-generated method stub return false; } @Override public void renderItem(ItemRenderType type, ItemStack item, Object... data) { switch(type){ case EQUIPPED:{ GL11.glPushMatrix(); GL11.glTranslatef(0.2F, 0.2F, -0.1F); Minecraft.getMinecraft().renderEngine.bindTexture("/mods/AC/Models/Spawner.png"); model.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0635F); GL11.glPopMatrix(); } default: break; } } } Model package chibill.AdditionalCrafting.Models; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class Spawner_Model extends ModelBase { //fields ModelRenderer Spawner; public Spawner_Model() { textureWidth = 32; textureHeight = 32; Spawner = new ModelRenderer(this, 0, 0); Spawner.addBox(0F, 0F, 0F, 7,7 , 7); Spawner.setRotationPoint(0F, 0F, 0F); Spawner.setTextureSize(32, 32); Spawner.mirror = true; setRotation(Spawner, 0F, 0F, 0F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); Spawner.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z+1F; } } Seting the item to use this render. MinecraftForgeClient.registerItemRenderer(CreeperSpawner.itemID,(IItemRenderer) new Spawner_Render());
June 28, 201312 yr Add cases for the other ItemRenderType enums. (i.e. ENTITY, EQUIPPED_FIRST_PERSON, INVENTORY) EDIT: (Yeah, I got confused between EQUIPPED and EQUIPPED_FIRST_PERSON too...)
June 28, 201312 yr Author I will when I can get to my code. And I know I have to translat the position diffrent. But what about when its on the ground.
June 29, 201312 yr it's as simple as doing what Naftoreiclag said. if it's not working right, you're not doing it right. play around with it more
June 29, 201312 yr Author I may just rewrite my mod to use block because I can't get this right to render my item as a block.
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.