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() {