From d6ff81fb16170b6a8e141ede0e0511195dccb58a Mon Sep 17 00:00:00 2001 From: videogame hacker Date: Thu, 17 Mar 2022 03:41:46 +0000 Subject: [PATCH] Tweak NoSprint for better swimming behaviour --- .../codes/som/hibiscus/features/movement/Flight.kt | 9 ++++++--- .../som/hibiscus/features/player/NoSprintingPacket.kt | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/codes/som/hibiscus/features/movement/Flight.kt b/src/main/kotlin/codes/som/hibiscus/features/movement/Flight.kt index 539a680..3d3d55a 100644 --- a/src/main/kotlin/codes/som/hibiscus/features/movement/Flight.kt +++ b/src/main/kotlin/codes/som/hibiscus/features/movement/Flight.kt @@ -3,7 +3,10 @@ package codes.som.hibiscus.features.movement import codes.som.hibiscus.api.event.EventPhase import codes.som.hibiscus.api.feature.Feature import codes.som.hibiscus.api.feature.FeatureCategory -import codes.som.hibiscus.events.* +import codes.som.hibiscus.events.MovePlayerEvent +import codes.som.hibiscus.events.NetworkMovingEvent +import codes.som.hibiscus.events.PlayerTickEvent +import codes.som.hibiscus.events.SendPacketEvent import codes.som.hibiscus.mc import codes.som.hibiscus.mixins.MixinExtUpdatePlayerAbilitiesC2SPacket import codes.som.hibiscus.player @@ -51,8 +54,8 @@ class Flight : Feature("Flight", FeatureCategory.MOVEMENT) { player.velocity = movement.multiply(0.25, 0.25, 0.25) } - on(cond = { mode != FlightMode.VANILLA }) { _: PlayerInputTickEvent -> - // player.input.sneaking = false + on(cond = { mode != FlightMode.VANILLA }) { event: NetworkMovingEvent -> + event.sneaking = false } var lastMoveTime: Long = -1 diff --git a/src/main/kotlin/codes/som/hibiscus/features/player/NoSprintingPacket.kt b/src/main/kotlin/codes/som/hibiscus/features/player/NoSprintingPacket.kt index 55345fd..35033c6 100644 --- a/src/main/kotlin/codes/som/hibiscus/features/player/NoSprintingPacket.kt +++ b/src/main/kotlin/codes/som/hibiscus/features/player/NoSprintingPacket.kt @@ -7,7 +7,7 @@ import codes.som.hibiscus.player class NoSprintingPacket : Feature("No Sprinting Packet", FeatureCategory.PLAYER) { init { - on(cond = { !player.isTouchingWater }) { + on(cond = { !player.isSubmergedInWater && !player.isSwimming }) { it.sprinting = false }