gavinsmod / gavinsextensiblemod

A Minecraft mod with a lot of cool features.
MIT License
29 stars 1 forks source link

Freecam broken on MC 1.20.6 #74

Closed GT3CH1 closed 5 months ago

GT3CH1 commented 5 months ago

Describe the bug Freecam broken on MC 1.20.6

To Reproduce Steps to reproduce the behavior:

  1. Start freecam
  2. Unable to move character

Expected behavior character moves

Screenshots/Video If applicable, add screenshots to help explain your problem.

Version Info (please complete the following information):

Additional context Add any other context about the problem here.

GT3CH1 commented 5 months ago

Patch:

Index: src/main/kotlin/com/peasenet/mods/misc/ModFreeCam.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/main/kotlin/com/peasenet/mods/misc/ModFreeCam.kt b/src/main/kotlin/com/peasenet/mods/misc/ModFreeCam.kt
--- a/src/main/kotlin/com/peasenet/mods/misc/ModFreeCam.kt  (revision 5190d350dc5c1f5ae58da8cfc93affb264343818)
+++ b/src/main/kotlin/com/peasenet/mods/misc/ModFreeCam.kt  (date 1715015981407)
@@ -95,17 +95,21 @@

     override fun onDisable() {
         super.onDisable()
+
         fake!!.remove()
         em.unsubscribe(PacketSendListener::class.java, this)
         em.unsubscribe(WorldRenderListener::class.java, this)
         em.unsubscribe(AirStrafeListener::class.java, this)
         client.getPlayer().abilities.flying = false
+        client.getPlayer().velocity = Vec3d.ZERO
+        client.worldRenderer.reload()
+
     }

     override fun onWorldRender(level: ClientWorld, stack: MatrixStack, bufferBuilder: BufferBuilder, delta: Float) {
         val camera = MinecraftClient.getInstance().gameRenderer.camera
         val playerPos = PlayerUtils.getNewPlayerPosition(delta, camera)
-        val aabb = RenderUtils.getEntityBox(delta, fake!!)
+        val aabb = fake!!.boundingBox
         RenderUtils.renderSingleLine(stack, bufferBuilder, playerPos, aabb.center, Settings.getConfig<TracerConfig>("tracer").playerColor)
         RenderUtils.drawBox(stack, bufferBuilder, aabb, Settings.getConfig<EspConfig>("esp").playerColor)
     }
Index: src/main/kotlin/com/peasenet/util/FakePlayer.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/main/kotlin/com/peasenet/util/FakePlayer.kt b/src/main/kotlin/com/peasenet/util/FakePlayer.kt
--- a/src/main/kotlin/com/peasenet/util/FakePlayer.kt   (revision 5190d350dc5c1f5ae58da8cfc93affb264343818)
+++ b/src/main/kotlin/com/peasenet/util/FakePlayer.kt   (date 1715016149758)
@@ -52,7 +52,6 @@
         headYaw = player.getHeadYaw()
         bodyYaw = player.getBodyYaw()
         inventory.clone(player.inventory)
-        this.id = player.id
         minecraftClient.getWorld().addEntity(this)
     }

Looks like it was an issue with how I had copied the player id to the fake player.