mirror of
https://github.com/GTNewHorizons/EnderIO.git
synced 2026-10-25 20:22:23 +00:00
Fix 4 world client leaks (#235)
This commit is contained in:
1 parent
924b4dbbf2
commit
48e30828cf
4 files changed
+27
-14
No files matched your search
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in new issue
Block a user