diff --git a/src/main/java/com/xcompwiz/lookingglass/client/proxyworld/ProxyWorldManager.java b/src/main/java/com/xcompwiz/lookingglass/client/proxyworld/ProxyWorldManager.java index 8534135..2c0e4a3 100644 --- a/src/main/java/com/xcompwiz/lookingglass/client/proxyworld/ProxyWorldManager.java +++ b/src/main/java/com/xcompwiz/lookingglass/client/proxyworld/ProxyWorldManager.java @@ -119,6 +119,15 @@ public static WorldView createWorldView(int dimid, ChunkCoordinates spawn, int w EntityLivingBase backup = mc.renderViewEntity; mc.renderViewEntity = view.camera; view.getRenderGlobal().setWorldAndLoadRenderers(proxyworld); + if(proxyworld.provider.dimensionId == Minecraft.getMinecraft().thePlayer.dimension) { + proxyworld.removeWorldAccess(view.getRenderGlobal()); + } + else if(proxyworld.provider.dimensionId != Minecraft.getMinecraft().thePlayer.dimension){ + // Since there is no "getWorldAccess" or "hasWorldAccess(dim)" method in WorldClient, + // this is a makeshift way to prevent duplicate world accesses being added + proxyworld.removeWorldAccess(view.getRenderGlobal()); + proxyworld.addWorldAccess(view.getRenderGlobal()); + } mc.renderViewEntity = backup; // Inform the server of the new view