Posted September 28, 201312 yr Hi I would like to know the easiest way to make a item render above a block in the world.
September 28, 201312 yr Try using EntityItem. There's a variable for the amount of time it takes to pick up. Kain
September 28, 201312 yr Author How do I spawn the item in the world above the block? And how would I make it so it just floats there similar to the wand in thaumcraft?
September 28, 201312 yr Here's the render function for my TE model: public void render(TileEntity te, double x, double y, double z) { TEDisplayPedestal es = (TEDisplayPedestal)te; if(es.itemEnt != null) { //store the item entity in the tile entity GL11.glPushMatrix(); GL11.glTranslatef((float)x + 0.5F, (float)y + 0.75F, (float)z + 0.25F);//position where I want it GL11.glRotatef(90, 1, 0, 0); //lay the item flat RenderHelper.enableStandardItemLighting(); RenderManager.instance.renderEntityWithPosYaw(es.itemEnt, 0, 0, 0, 0, 0); GL11.glPopMatrix(); } GL11.glPushMatrix(); GL11.glTranslatef((float)x + 0.5f, (float)y - 0.5f, (float)z + 0.5f); ResourceLocation rl = new ResourceLocation(es.getModelTexture()); Minecraft.getMinecraft().renderEngine.bindTexture(rl); this.render(); GL11.glPopMatrix(); } Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
September 28, 201312 yr I have that as part of the Model (public class MyModel extends ModelBase). es.itemEnt is just an EntityItem that is stored in the custom tile entity so that I'm not creating a new one all the time (I also force its position, rotation, and age to zero). Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
September 28, 201312 yr I hate to reply to someone else's conversation, but Draco, this seems to render it at different angles and positions each time you place the block down...
September 28, 201312 yr I hate to reply to someone else's conversation, but Draco, this seems to render it at different angles and positions each time you place the block down... It shouldn't. That code was where I stopped last night, before I did placement angles (my TE now has 4 facings). Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
September 28, 201312 yr I hate to reply to someone else's conversation, but Draco, this seems to render it at different angles and positions each time you place the block down... It shouldn't. That code was where I stopped last night, before I did placement angles (my TE now has 4 facings). Pic: Code: TileEntity item definition public EntityItem star = new EntityItem(this.worldObj, this.xCoord, this.yCoord, this.zCoord, new ItemStack(Item.netherStar)); TileEntityRenderer public class RenderAdvCrafter extends TileEntitySpecialRenderer { @Override public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { TileAdvCrafter tile = (TileAdvCrafter) tileentity; if(tile.star != null) { tile.star.setPositionAndRotation(0, 0, 0, 0, 0); tile.star.age = 0; GL11.glPushMatrix(); GL11.glTranslatef((float)x+0.5F, (float)y+0.8F, (float)z+0.25F); GL11.glRotatef(90, 1, 0, 0); GL11.glScalef(1.5F, 1.5F, 1.5F); RenderHelper.enableStandardItemLighting(); RenderManager.instance.renderEntityWithPosYaw(tile.star, 0, 0, 0, 0, 0); GL11.glPopMatrix(); } } } The angles of each star change upon world reload also. It seems to be ignoring the rotational infomation it is given...
September 28, 201312 yr Ah! I see your problem. This is from my tile entity: @Override public void onInventoryChanged() { super.onInventoryChanged(); if(contents[0] != null) { itemEnt = new EntityItem(this.worldObj, this.xCoord, this.yCoord, this.zCoord, contents[0]); itemEnt.hoverStart = 0; //this is making it be off-center itemEnt.rotationYaw = 0; //this is what's making it rotate for you itemEnt.motionX = 0; //zero out these just in case itemEnt.motionY = 0; itemEnt.motionZ = 0; } else { itemEnt = null; } } Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
September 28, 201312 yr Ah! I see your problem. This is from my tile entity: @Override public void onInventoryChanged() { super.onInventoryChanged(); if(contents[0] != null) { itemEnt = new EntityItem(this.worldObj, this.xCoord, this.yCoord, this.zCoord, contents[0]); itemEnt.hoverStart = 0; //this is making it be off-center itemEnt.rotationYaw = 0; //this is what's making it rotate for you itemEnt.motionX = 0; //zero out these just in case itemEnt.motionY = 0; itemEnt.motionZ = 0; } else { itemEnt = null; } } Ah, thanks!
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.