Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -28453,7 +28453,7 @@ index c974b6cafb1f6aa2a57cfdc8a39c887f02f42b1d..ec40f02032f965f548b0c0a29aa9d9bb
// Paper start - PlayerChunkLoadEvent
if (io.papermc.paper.event.packet.PlayerChunkLoadEvent.getHandlerList().getRegisteredListeners().length > 0) {
diff --git a/net/minecraft/server/network/config/PrepareSpawnTask.java b/net/minecraft/server/network/config/PrepareSpawnTask.java
index 83af9ee3ba150da85b9b694cd76a5fabb5b2d8ef..1fb40837bd02672850ec9adc2797190df22b33fc 100644
index b5d993095aa77bb132c513f73dbf6d2afb2e3943..8b318dd8aa918284c5fa89e990b13bec425102cb 100644
--- a/net/minecraft/server/network/config/PrepareSpawnTask.java
+++ b/net/minecraft/server/network/config/PrepareSpawnTask.java
@@ -171,7 +171,7 @@ public class PrepareSpawnTask implements ConfigurationTask {
Expand Down Expand Up @@ -36949,10 +36949,10 @@ index 082258e7d8270d4026a70a5c0a9e1228d70a2e8d..c3825e91504f5df6bfd8e41de1f5dc4a

for (SavedTick<T> pendingTick : this.pendingTicks) {
diff --git a/net/minecraft/world/waypoints/WaypointTransmitter.java b/net/minecraft/world/waypoints/WaypointTransmitter.java
index d785e9a69a109d1d7ce7a7e182c215f3d6a35b64..d6f842cbd2060eb56a1e4384b3ea97feea3e73ba 100644
index ce9e6cc47fc26acf7253d27ac9a587bfad8ce8ff..f8230867b75a25e385475a43b4604e379c0661ea 100644
--- a/net/minecraft/world/waypoints/WaypointTransmitter.java
+++ b/net/minecraft/world/waypoints/WaypointTransmitter.java
@@ -34,7 +34,10 @@ public interface WaypointTransmitter extends Waypoint {
@@ -38,7 +38,10 @@ public interface WaypointTransmitter extends Waypoint {
}

static boolean isChunkVisible(final ChunkPos chunkPos, final ServerPlayer receiver) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,22 @@
--- a/net/minecraft/world/waypoints/WaypointTransmitter.java
+++ b/net/minecraft/world/waypoints/WaypointTransmitter.java
@@ -20,6 +_,7 @@
@@ -20,13 +_,18 @@
Waypoint.Icon waypointIcon();

static boolean doesSourceIgnoreReceiver(final LivingEntity source, final ServerPlayer receiver) {
+ if (!receiver.getBukkitEntity().canSee(source.getBukkitEntity())) return true; // Paper - ignore if entity is hidden from player
if (receiver.isSpectator()) {
return false;
} else if (!source.isSpectator() && !source.hasIndirectPassenger(receiver)) {
double broadcastRange = Math.min(
source.getAttributeValue(Attributes.WAYPOINT_TRANSMIT_RANGE), receiver.getAttributeValue(Attributes.WAYPOINT_RECEIVE_RANGE)
);
- return source.distanceTo(receiver) >= broadcastRange;
+ // Paper start - optimize waypoint distance check by using squared distance
+ if (broadcastRange <= 0)
+ return true;
+ return source.distanceToSqr(receiver) >= broadcastRange*broadcastRange;
+ // Paper end - optimize waypoint distance check by using squared distance
} else {
return true;
}
Loading