From 0bddec33f839b98c511dd8b1f89d1b45b60b7e8c Mon Sep 17 00:00:00 2001 From: Taiyou06 Date: Tue, 22 Jul 2025 12:24:21 +0200 Subject: [PATCH] fix rabbit randompath --- .../0114-Petal-Async-Pathfinding.patch | 21 ++++++++++++++++++- .../features/0230-Async-target-finding.patch | 10 ++++----- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/leaf-server/minecraft-patches/features/0114-Petal-Async-Pathfinding.patch b/leaf-server/minecraft-patches/features/0114-Petal-Async-Pathfinding.patch index 135ab02f..1d3bbd2f 100644 --- a/leaf-server/minecraft-patches/features/0114-Petal-Async-Pathfinding.patch +++ b/leaf-server/minecraft-patches/features/0114-Petal-Async-Pathfinding.patch @@ -560,7 +560,7 @@ index 1f96fd5085bacb4c584576c7cb9f51e7898e9b03..03b6c8c8dcd42e864751e68be9d35d20 + // Leaf end - Kaiiju - await on async path processing } diff --git a/net/minecraft/world/entity/animal/Bee.java b/net/minecraft/world/entity/animal/Bee.java -index ca5651f15552f91fba650747d28a75c00fa11442..119e2b6b198fd4b2aaef7a9a5f46568bd52bd071 100644 +index 7573f1be88ca23096e02efe2fa933429fa4421ba..c25b100fb56f5ac02dcb6fd5c7a11662c43852b4 100644 --- a/net/minecraft/world/entity/animal/Bee.java +++ b/net/minecraft/world/entity/animal/Bee.java @@ -937,7 +937,8 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { @@ -582,6 +582,25 @@ index ca5651f15552f91fba650747d28a75c00fa11442..119e2b6b198fd4b2aaef7a9a5f46568b } } } +diff --git a/net/minecraft/world/entity/animal/Rabbit.java b/net/minecraft/world/entity/animal/Rabbit.java +index 1af1b33702296f9aa74c33436ea2904c5e5ae43d..041ccb96d36cbe0f5683ff6e8b2adb0b79a96738 100644 +--- a/net/minecraft/world/entity/animal/Rabbit.java ++++ b/net/minecraft/world/entity/animal/Rabbit.java +@@ -612,6 +612,14 @@ public class Rabbit extends Animal { + + @Override + public void vanillaTick() { // Purpur - Ridables ++ // Leaf start - async pathfinding - don't make movement decisions with unprocessed paths ++ if (org.dreeam.leaf.config.modules.async.AsyncPathfinding.enabled) { ++ Path path = this.rabbit.getNavigation().getPath(); ++ if (path != null && !path.isProcessed()) { ++ return; // Wait for path processing before making movement decisions ++ } ++ } ++ // Leaf end - async pathfinding + if (this.rabbit.onGround() && !this.rabbit.jumping && !((Rabbit.RabbitJumpControl)this.rabbit.jumpControl).wantJump()) { + this.rabbit.setSpeedModifier(0.0); + } else if (this.hasWanted() || this.operation == MoveControl.Operation.JUMPING) { diff --git a/net/minecraft/world/entity/animal/frog/Frog.java b/net/minecraft/world/entity/animal/frog/Frog.java index a7e9179c287671a689cb5ce668b5a33896da87a4..7d450b6ccde99657a7fac354ae386a80f9f7e879 100644 --- a/net/minecraft/world/entity/animal/frog/Frog.java diff --git a/leaf-server/minecraft-patches/features/0230-Async-target-finding.patch b/leaf-server/minecraft-patches/features/0230-Async-target-finding.patch index 884e510e..60b7404b 100644 --- a/leaf-server/minecraft-patches/features/0230-Async-target-finding.patch +++ b/leaf-server/minecraft-patches/features/0230-Async-target-finding.patch @@ -134,7 +134,7 @@ index 9b8d119116b0c3a51d3fe2ff7efb33cc39627cc4..436e73086678e4afbf94f1b7bca9b0c7 // Gale start - Pufferfish - SIMD support diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java -index ab509260d536dfb5cb0268c20abf445498602fff..da0ce01e3359686c7360367c3af9c79ad8e51aa4 100644 +index a1c2e9018800339fca62d95c522da1bf254568fe..eb5e1e67db2ee1bdbedfa244088fcb7a9356bae3 100644 --- a/net/minecraft/server/level/ServerLevel.java +++ b/net/minecraft/server/level/ServerLevel.java @@ -175,7 +175,16 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -1794,10 +1794,10 @@ index 02bfa88568e635770675ea9173f2cf3ca21457fa..8b37cbae45916227b99c7dae4da5f0c0 ServerLevel serverLevel = getServerLevel(this.mob); if (this.lookAtType == Player.class) { diff --git a/net/minecraft/world/entity/animal/Rabbit.java b/net/minecraft/world/entity/animal/Rabbit.java -index 1af1b33702296f9aa74c33436ea2904c5e5ae43d..da19a60713ef159b86f98e1e718a1776493cdec6 100644 +index 041ccb96d36cbe0f5683ff6e8b2adb0b79a96738..aae1e9691725e40864764c0ad3862a35cce0a6d9 100644 --- a/net/minecraft/world/entity/animal/Rabbit.java +++ b/net/minecraft/world/entity/animal/Rabbit.java -@@ -670,7 +670,13 @@ public class Rabbit extends Animal { +@@ -678,7 +678,13 @@ public class Rabbit extends Animal { this.wantsToRaid = this.rabbit.wantsMoreFood(); } @@ -1812,7 +1812,7 @@ index 1af1b33702296f9aa74c33436ea2904c5e5ae43d..da19a60713ef159b86f98e1e718a1776 } @Override -@@ -713,7 +719,7 @@ public class Rabbit extends Animal { +@@ -721,7 +727,7 @@ public class Rabbit extends Animal { @Override protected boolean isValidTarget(LevelReader level, BlockPos pos) { BlockState blockState = level.getBlockState(pos); @@ -1821,7 +1821,7 @@ index 1af1b33702296f9aa74c33436ea2904c5e5ae43d..da19a60713ef159b86f98e1e718a1776 blockState = level.getBlockState(pos.above()); if (blockState.getBlock() instanceof CarrotBlock && ((CarrotBlock)blockState.getBlock()).isMaxAge(blockState)) { this.canRaid = true; -@@ -723,6 +729,13 @@ public class Rabbit extends Animal { +@@ -731,6 +737,13 @@ public class Rabbit extends Animal { return false; }