From 2de123fd1870d7b58e63056acdb3b51fe066713a Mon Sep 17 00:00:00 2001 From: CG360 <16578982+CloudG360@users.noreply.github.com> Date: Tue, 10 Oct 2023 11:11:39 +0100 Subject: [PATCH] Cancel Air-Friction on ladders - Fixes #116 + #122 --- .../grapplinghook/controllers/AirfrictionController.java | 5 +++++ .../yyon/grapplinghook/controllers/GrappleController.java | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/yyon/grapplinghook/controllers/AirfrictionController.java b/src/main/java/com/yyon/grapplinghook/controllers/AirfrictionController.java index edb468e..1b121cb 100644 --- a/src/main/java/com/yyon/grapplinghook/controllers/AirfrictionController.java +++ b/src/main/java/com/yyon/grapplinghook/controllers/AirfrictionController.java @@ -50,6 +50,11 @@ public void updatePlayerPos() { return; } + if(entity instanceof LivingEntity living && living.onClimbable()) { + this.unattach(); + return; + } + Vec additionalmotion = new Vec(0,0,0); if (GrappleConfig.getConf().other.dont_override_movement_in_air && !entity.onGround() && !wasSliding && !wasWallrunning && !wasRocket && !firstTickSinceCreated) { diff --git a/src/main/java/com/yyon/grapplinghook/controllers/GrappleController.java b/src/main/java/com/yyon/grapplinghook/controllers/GrappleController.java index 03d9285..b0b6472 100644 --- a/src/main/java/com/yyon/grapplinghook/controllers/GrappleController.java +++ b/src/main/java/com/yyon/grapplinghook/controllers/GrappleController.java @@ -1027,7 +1027,8 @@ public void doubleJump() { this.motion.y = 0; } this.motion.y += GrappleConfig.getConf().enchantments.doublejump.doublejumpforce; - motion.setMotion(this.entity); + this.motion.setMotion(this.entity); + this.entity.resetFallDistance(); } public void applySlidingFriction() {