diff --git a/src/main/java/dmillerw/ping/client/PingHandler.java b/src/main/java/dmillerw/ping/client/PingHandler.java index a4247f8..a47d25b 100644 --- a/src/main/java/dmillerw/ping/client/PingHandler.java +++ b/src/main/java/dmillerw/ping/client/PingHandler.java @@ -65,19 +65,22 @@ public static void onRenderWorld(RenderWorldLastEvent event) { if (renderEntity == null || activePings.isEmpty()) return; Vec3d staticPos = TileEntityRendererDispatcher.instance.renderInfo.getProjectedView(); ActiveRenderInfo renderInfo = TileEntityRendererDispatcher.instance.renderInfo; + double clipX = staticPos.getX() + (renderEntity.getPosX() - staticPos.getX()); + double clipY = staticPos.getY() + (renderEntity.getPosY() - staticPos.getY()) + 1; + double clipZ = staticPos.getZ() + (renderEntity.getPosZ() - staticPos.getZ()); MatrixStack projectionLook = new MatrixStack(); EntityViewRenderEvent.CameraSetup cameraSetup = ForgeHooksClient.onCameraSetup(mc.gameRenderer, renderInfo, event.getPartialTicks()); renderInfo.setAnglesInternal(cameraSetup.getYaw(), cameraSetup.getPitch()); - projectionLook.rotate(Vector3f.ZP.rotationDegrees(cameraSetup.getRoll())); projectionLook.rotate(Vector3f.XP.rotationDegrees(renderInfo.getPitch())); projectionLook.rotate(Vector3f.YP.rotationDegrees(renderInfo.getYaw() + 180.0F)); + projectionLook.rotate(Vector3f.ZP.rotationDegrees(cameraSetup.getRoll())); MatrixStack entityLocation = new MatrixStack(); - entityLocation.getLast().getPositionMatrix().multiply(mc.gameRenderer.getProjectionMatrix(renderInfo, event.getPartialTicks(), true)); + entityLocation.getLast().getPositionMatrix().multiply(mc.gameRenderer.getProjectionMatrix(renderInfo, event.getPartialTicks(), false)); //Don't use FOV ClippingHelperImpl clippingHelper = new ClippingHelperImpl(projectionLook.getLast().getPositionMatrix(), entityLocation.getLast().getPositionMatrix()); - clippingHelper.setCameraPosition(staticPos.getX(), staticPos.getY(), staticPos.getZ()); + clippingHelper.setCameraPosition(clipX, clipY, clipZ); for (PingWrapper ping : activePings) { double px = ping.pos.getX() + 0.5D - staticPos.getX(); diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index 990d162..013bf1f 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -1,5 +1,5 @@ modLoader="javafml" -loaderVersion="[30,)" +loaderVersion="[31,)" issueTrackerURL="https://github.com/dmillerw/Ping/issues" logoFile="logo.png" @@ -16,6 +16,6 @@ logoFile="logo.png" [[dependencies.ping]] modId="forge" mandatory=true - versionRange="[30.0.39,)" + versionRange="[31.1,)" ordering="NONE" side="BOTH" \ No newline at end of file diff --git a/src/main/resources/pack.mcmeta b/src/main/resources/pack.mcmeta index b44c096..3846338 100644 --- a/src/main/resources/pack.mcmeta +++ b/src/main/resources/pack.mcmeta @@ -3,4 +3,4 @@ "description": "Ping resources", "pack_format": 5 } -} +} \ No newline at end of file