From 6d0833ece52b9fee45d58d5eb670d1a974609d3d Mon Sep 17 00:00:00 2001 From: Pedro <3602279+Doc94@users.noreply.github.com> Date: Thu, 7 Aug 2025 06:36:23 -0400 Subject: [PATCH] Use target level for waypoint modify command (#12933) --- .../server/commands/WaypointCommand.java.patch | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 paper-server/patches/sources/net/minecraft/server/commands/WaypointCommand.java.patch diff --git a/paper-server/patches/sources/net/minecraft/server/commands/WaypointCommand.java.patch b/paper-server/patches/sources/net/minecraft/server/commands/WaypointCommand.java.patch new file mode 100644 index 000000000..c5eb7abe8 --- /dev/null +++ b/paper-server/patches/sources/net/minecraft/server/commands/WaypointCommand.java.patch @@ -0,0 +1,11 @@ +--- a/net/minecraft/server/commands/WaypointCommand.java ++++ b/net/minecraft/server/commands/WaypointCommand.java +@@ -165,7 +_,7 @@ + } + + private static void mutateIcon(CommandSourceStack source, WaypointTransmitter waypoint, Consumer mutator) { +- ServerLevel level = source.getLevel(); ++ ServerLevel level = (waypoint instanceof LivingEntity livingEntity) ? (net.minecraft.server.level.ServerLevel) livingEntity.level() : source.getLevel(); // Paper - MC-300685 use level of waypoint if it's a living entity for broadcast + level.getWaypointManager().untrackWaypoint(waypoint); + mutator.accept(waypoint.waypointIcon()); + level.getWaypointManager().trackWaypoint(waypoint);