9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-19 15:09:25 +00:00

fix rabbit randompath

This commit is contained in:
Taiyou06
2025-07-22 12:24:21 +02:00
parent d2ec1cf133
commit 0bddec33f8
2 changed files with 25 additions and 6 deletions

View File

@@ -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

View File

@@ -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;
}