9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2026-01-03 22:26:19 +00:00
This commit is contained in:
hayanesuru
2025-07-19 23:03:54 +09:00
parent bdb5f4586c
commit dbfd54780a

View File

@@ -8,17 +8,15 @@ License: LGPL-3.0 (https://www.gnu.org/licenses/lgpl-3.0.html)
This method is mainly visible when ton of villagers suddenly wants to sleep.
diff --git a/net/minecraft/world/entity/ai/behavior/InsideBrownianWalk.java b/net/minecraft/world/entity/ai/behavior/InsideBrownianWalk.java
index cbde74f4b6d586a5f80cdd675573441636bf682d..0e0a05b7ddbce22faef3ff1060c85c616b6bcf0b 100644
index cbde74f4b6d586a5f80cdd675573441636bf682d..00585419d4c2f58ac8b05ad67cbe674dec96baea 100644
--- a/net/minecraft/world/entity/ai/behavior/InsideBrownianWalk.java
+++ b/net/minecraft/world/entity/ai/behavior/InsideBrownianWalk.java
@@ -9,31 +9,42 @@ import net.minecraft.world.entity.ai.behavior.declarative.BehaviorBuilder;
@@ -9,31 +9,40 @@ import net.minecraft.world.entity.ai.behavior.declarative.BehaviorBuilder;
import net.minecraft.world.entity.ai.memory.MemoryModuleType;
import net.minecraft.world.entity.ai.memory.WalkTarget;
+// Leaf start - rewrite InsideBrownianWalk
public class InsideBrownianWalk {
+ private static final java.util.Random RANDOM = new java.util.Random();
+
public static BehaviorControl<PathfinderMob> create(float speedModifier) {
- return BehaviorBuilder.create(
- instance -> instance.group(instance.absent(MemoryModuleType.WALK_TARGET))
@@ -55,7 +53,7 @@ index cbde74f4b6d586a5f80cdd675573441636bf682d..0e0a05b7ddbce22faef3ff1060c85c61
+
+ // Fisher-Yates shuffle is faster for this case
+ for (int i = nearbyBlocks.length - 1; i > 0; i--) {
+ int j = RANDOM.nextInt(i + 1);
+ int j = mob.random.nextInt(i + 1);
+ BlockPos temp = nearbyBlocks[i];
+ nearbyBlocks[i] = nearbyBlocks[j];
+ nearbyBlocks[j] = temp;