diff --git a/src/main/java/com/hbm/render/tileentity/RenderSkeletonHolder.java b/src/main/java/com/hbm/render/tileentity/RenderSkeletonHolder.java index 725e9f7ec..eaaf88738 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderSkeletonHolder.java +++ b/src/main/java/com/hbm/render/tileentity/RenderSkeletonHolder.java @@ -1,5 +1,6 @@ package com.hbm.render.tileentity; +import net.minecraft.world.World; import org.lwjgl.opengl.GL11; import com.hbm.blocks.generic.BlockSkeletonHolder.TileEntitySkeletonHolder; @@ -22,33 +23,41 @@ public class RenderSkeletonHolder extends TileEntitySpecialRenderer { public void renderTileEntityAt(TileEntity te, double x, double y, double z, float interp) { GL11.glPushMatrix(); GL11.glTranslated(x + 0.5, y, z + 0.5); - - switch(te.getBlockMetadata()) { - case 2: GL11.glRotatef(180, 0F, 1F, 0F); break; - case 4: GL11.glRotatef(270, 0F, 1F, 0F); break; - case 3: GL11.glRotatef(0, 0F, 1F, 0F); break; - case 5: GL11.glRotatef(90, 0F, 1F, 0F); break; + + int meta = 0; + World world = te.getWorldObj(); + if (world != null) { + meta = world.getBlockMetadata(te.xCoord, te.yCoord, te.zCoord); } - + + int rotation = 0; + switch (meta) { + case 2: rotation = 180; break; // east + case 3: rotation = 0; break; // west + case 4: rotation = 270; break; // north + case 5: rotation = 90; break; // south + } + GL11.glRotatef(rotation, 0F, 1F, 0F); + GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_CULL_FACE); RenderHelper.enableStandardItemLighting(); bindTexture(ResourceManager.skeleton_holder_tex); ResourceManager.skeleton_holder.renderPart("Holder1"); - + TileEntitySkeletonHolder pedestal = (TileEntitySkeletonHolder) te; - + if(pedestal.item != null) { ItemStack stack = pedestal.item.copy(); - + GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); if(!(stack.getItemSpriteNumber() == 0 && stack.getItem() instanceof ItemBlock && RenderBlocks.renderItemIn3d(Block.getBlockFromItem(stack.getItem()).getRenderType()))) { GL11.glScaled(1.5, 1.5, 1.5); } - + GL11.glTranslated(0, 0.125, 0); EntityItem dummy = new EntityItem(te.getWorldObj(), 0, 0, 0, stack); @@ -58,7 +67,7 @@ public class RenderSkeletonHolder extends TileEntitySpecialRenderer { RenderManager.instance.renderEntityWithPosYaw(dummy, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F); RenderItem.renderInFrame = false; } - + GL11.glPopMatrix(); } }