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 e5bdb46..ce35c7a 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,10 @@ public static WorldView createWorldView(int dimid, ChunkCoordinates spawn, int w EntityLivingBase backup = mc.renderViewEntity; mc.renderViewEntity = view.camera; view.getRenderGlobal().setWorldAndLoadRenderers(proxyworld); + // The line of code below prevents block-breaking particles from duplicating + // when a WorldView exists in the same dimension as the player. I've haven't + // noticed any unwanted results from using this yet. + if(proxyworld.provider.dimensionId == Minecraft.getMinecraft().thePlayer.dimension) proxyworld.removeWorldAccess(view.getRenderGlobal()); mc.renderViewEntity = backup; // Inform the server of the new view diff --git a/src/main/java/com/xcompwiz/lookingglass/client/render/RenderUtils.java b/src/main/java/com/xcompwiz/lookingglass/client/render/RenderUtils.java index 0224009..c12a783 100644 --- a/src/main/java/com/xcompwiz/lookingglass/client/render/RenderUtils.java +++ b/src/main/java/com/xcompwiz/lookingglass/client/render/RenderUtils.java @@ -50,8 +50,8 @@ public final static void renderWorldToTexture(float renderTime, int framebuffer, EXTFramebufferObject.glBindFramebufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, framebuffer); GL11.glClearColor(1.0f, 0.0f, 0.0f, 0.5f); GL11.glClear(GL11.GL_COLOR_BUFFER_BIT); - - entityRenderer.updateRenderer(); + + //entityRenderer.updateRenderer(); int i1 = mc.gameSettings.limitFramerate; if (mc.isFramerateLimitBelowMax()) { diff --git a/src/main/java/com/xcompwiz/lookingglass/render/WorldViewRenderManager.java b/src/main/java/com/xcompwiz/lookingglass/render/WorldViewRenderManager.java index 3b95e27..74a6563 100644 --- a/src/main/java/com/xcompwiz/lookingglass/render/WorldViewRenderManager.java +++ b/src/main/java/com/xcompwiz/lookingglass/render/WorldViewRenderManager.java @@ -54,7 +54,10 @@ public static void onRenderTick(PrintStream printstream) { activeview.camera.inventory.mainInventory[playerBackup.inventory.currentItem] = currentClientItem; //Prevents the hand from flickering try { - mc.entityRenderer.updateRenderer(); + // TODO: A "fast-falling rain" bug occurs when the two updateRenderer() calls in WorldViewRenderManager + // and one in RenderUtils aren't commented out. There doesn't seem to be any issues with not + // calling them (everything still looks to render properly), so this is a quick fix for the time being. + //mc.entityRenderer.updateRenderer(); mc.renderGlobal.updateClouds(); mc.theWorld.doVoidFogParticles(MathHelper.floor_double(activeview.camera.posX), MathHelper.floor_double(activeview.camera.posY), MathHelper.floor_double(activeview.camera.posZ)); mc.effectRenderer.updateEffects(); @@ -78,7 +81,7 @@ public static void onRenderTick(PrintStream printstream) { mc.renderGlobal = renderBackup; mc.theWorld = worldBackup; RenderManager.instance.set(mc.theWorld); - mc.entityRenderer.updateRenderer(); + //mc.entityRenderer.updateRenderer(); } }