From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: hayanesuru Date: Fri, 4 Jul 2025 03:13:33 +0900 Subject: [PATCH] optimize waypoint diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java index 48c2aeee828c1b79d8d6c5f5fd88fae1ef4befc8..b71acd053b38d9b59720e35e664f957df6626b27 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java @@ -5118,7 +5118,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess int floor = Mth.floor(x); int floor1 = Mth.floor(y); int floor2 = Mth.floor(z); - if (floor != this.blockPosition.getX() || floor1 != this.blockPosition.getY() || floor2 != this.blockPosition.getZ()) { + boolean blockUpdated = floor != this.blockPosition.getX() || floor1 != this.blockPosition.getY() || floor2 != this.blockPosition.getZ(); // Leaf - optimize waypoint + if (blockUpdated) { // Leaf - optimize waypoint this.blockPosition = new BlockPos(floor, floor1, floor2); this.inBlockState = null; if (SectionPos.blockToSectionCoord(floor) != this.chunkPosition.x || SectionPos.blockToSectionCoord(floor2) != this.chunkPosition.z) { @@ -5127,7 +5128,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } this.levelCallback.onMove(); - if (!this.firstTick && this.level instanceof ServerLevel serverLevel && !this.isRemoved()) { + if ((!org.dreeam.leaf.config.modules.opt.OptimizeWaypoint.enabled || blockUpdated) && !this.firstTick && this.level instanceof ServerLevel serverLevel && !this.isRemoved()) { // Leaf - optimize waypoint if (this instanceof WaypointTransmitter waypointTransmitter && waypointTransmitter.isTransmittingWaypoint()) { serverLevel.getWaypointManager().updateWaypoint(waypointTransmitter); }