diff --git a/src/main/java/crazypants/enderio/gui/IoConfigRenderer.java b/src/main/java/crazypants/enderio/gui/IoConfigRenderer.java index 63364434..928f0ae1 100644 --- a/src/main/java/crazypants/enderio/gui/IoConfigRenderer.java +++ b/src/main/java/crazypants/enderio/gui/IoConfigRenderer.java @@ -53,16 +53,16 @@ import crazypants.util.RenderPassHelper; public class IoConfigRenderer { - protected static final RenderBlocks RB = new RenderBlocks(); + protected final RenderBlocks RB = new RenderBlocks(); private boolean dragging = false; - private float pitch = 0; - private float yaw = 0; + private float pitch; + private float yaw; private double distance; private long initTime; private final Minecraft mc = Minecraft.getMinecraft(); - private World world = mc.thePlayer.worldObj; + private final World world; private final Vector3d origin = new Vector3d(); private final Vector3d eye = new Vector3d(); diff --git a/src/main/java/crazypants/enderio/item/darksteel/upgrade/GliderUpgrade.java b/src/main/java/crazypants/enderio/item/darksteel/upgrade/GliderUpgrade.java index 9734c15c..58e4e10c 100644 --- a/src/main/java/crazypants/enderio/item/darksteel/upgrade/GliderUpgrade.java +++ b/src/main/java/crazypants/enderio/item/darksteel/upgrade/GliderUpgrade.java @@ -2,7 +2,6 @@ package crazypants.enderio.item.darksteel.upgrade; import static org.lwjgl.opengl.GL11.glDepthMask; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.entity.item.EntityItem; import net.minecraft.item.ItemStack; @@ -77,11 +76,11 @@ public class GliderUpgrade extends AbstractUpgrade { @SideOnly(Side.CLIENT) private static class Render implements IRenderUpgrade { - private final EntityItem item = new EntityItem(Minecraft.getMinecraft().theWorld); + private final EntityItem item; private Render() { ItemStack glider = new ItemStack(DarkSteelItems.itemGliderWing, 1, 1); - item.setEntityItemStack(glider); + item = new EntityItem(null, 0, 0, 0, glider); } @Override @@ -94,7 +93,12 @@ public class GliderUpgrade extends AbstractUpgrade { GL11.glTranslatef(-0, 1, 0.25f); GL11.glRotatef(180, 1, 0, 0); GL11.glScalef(3, 3, 3); - RenderManager.instance.renderEntityWithPosYaw(item, 0, 0, 0, 0, 0); + try { + item.setWorld(event.entityPlayer.worldObj); + RenderManager.instance.renderEntityWithPosYaw(item, 0, 0, 0, 0, 0); + } finally { + item.setWorld(null); + } } } } diff --git a/src/main/java/crazypants/enderio/item/darksteel/upgrade/SolarUpgrade.java b/src/main/java/crazypants/enderio/item/darksteel/upgrade/SolarUpgrade.java index 59ea02c5..18278815 100644 --- a/src/main/java/crazypants/enderio/item/darksteel/upgrade/SolarUpgrade.java +++ b/src/main/java/crazypants/enderio/item/darksteel/upgrade/SolarUpgrade.java @@ -2,7 +2,6 @@ package crazypants.enderio.item.darksteel.upgrade; import static org.lwjgl.opengl.GL11.glDepthMask; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.entity.item.EntityItem; import net.minecraft.item.ItemStack; @@ -119,7 +118,7 @@ public class SolarUpgrade extends AbstractUpgrade { @SideOnly(Side.CLIENT) private static class Render implements IRenderUpgrade { - private final EntityItem item = new EntityItem(Minecraft.getMinecraft().theWorld); + private final EntityItem item = new EntityItem(null); @Override public void render(RenderPlayerEvent event, ItemStack stack, boolean head) { @@ -132,8 +131,13 @@ public class SolarUpgrade extends AbstractUpgrade { GL11.glRotated(180, 1, 0, 0); GL11.glScalef(2.1f, 2.1f, 2.1f); byte level = loadFromItem(stack).level; - item.setEntityItemStack(new ItemStack(EnderIO.blockSolarPanel, 1, level - 1)); - RenderManager.instance.renderEntityWithPosYaw(item, 0, 0, 0, 0, 0); + try { + item.setWorld(event.entityPlayer.worldObj); + item.setEntityItemStack(new ItemStack(EnderIO.blockSolarPanel, 1, level - 1)); + RenderManager.instance.renderEntityWithPosYaw(item, 0, 0, 0, 0, 0); + } finally { + item.setWorld(null); + } } } } diff --git a/src/main/java/crazypants/enderio/teleport/anchor/TravelEntitySpecialRenderer.java b/src/main/java/crazypants/enderio/teleport/anchor/TravelEntitySpecialRenderer.java index 9ca54b65..415e1e3b 100644 --- a/src/main/java/crazypants/enderio/teleport/anchor/TravelEntitySpecialRenderer.java +++ b/src/main/java/crazypants/enderio/teleport/anchor/TravelEntitySpecialRenderer.java @@ -161,11 +161,16 @@ public class TravelEntitySpecialRenderer extends TileEntitySpecialRenderer { GL11.glScalef(2, 2, 2); if (ei == null) { - ei = new EntityItem(tileentity.getWorldObj(), x, y, z, itemLabel); + ei = new EntityItem(null, x, y, z, itemLabel); } else { ei.setEntityItemStack(itemLabel); } - RenderUtil.render3DItem(ei, false); + try { + ei.setWorld(tileentity.getWorldObj()); + RenderUtil.render3DItem(ei, false); + } finally { + ei.setWorld(null); + } GL11.glPopMatrix(); } GL11.glPopMatrix();