Waypoint Xaeros integration - #47
Open
DCFiendish wants to merge 3 commits into
Open
Conversation
added 3 commits
August 17, 2026 19:42
Creating a town/nation/ally-shared waypoint currently only messages the
creator ("Created waypoint X at ..."); everyone else it's shared with
only finds out by opening /waypoint themselves later. Broadcast a system
message to everyone the waypoint is shared with (via the existing
Waypoint.isSharedWith scoping) the moment it's created, so shared
waypoints act as an actual ping instead of a silent addition to a list.
Sent via Message.print (system message), not chat, so it can't be
spoofed by a player typing matching text. The waypoint name has its
formatting-code prefix stripped before broadcast, since normalizeName
doesn't reject it and the message now reaches more than just the owner.
Verified via ./gradlew compileKotlin ktlintCheck.
…nt list A client mod that mirrors permanent waypoints as its own map markers (e.g. real Xaero waypoints) would otherwise double up with the server's own in-world floating labels (WaypointDisplayManager) and minimap icons (MinimapMarkerRenderer) for the same locations. Add a per-resident, session-only suppressNativeWaypointDisplays flag, toggled via `/waypoint nativedisplay <true|false>`, that both renderers now check before including a resident's permanent waypoints. Death waypoints are intentionally left out of the toggle's scope. Also add `/waypoint list`, a machine-readable one-line-per-waypoint chat dump (name, coordinates, sharing scope, and owner when shared). The creation-time chat announcements only cover waypoints made after a client starts watching chat; a client mod needs this to seed its own markers with whatever already existed on join. Verified via ./gradlew compileKotlin ktlintCheck test.
Verifies the two behaviors the client-mod-integration commits depend on: a town-shared waypoint is visible to town members (the same predicate the chat broadcast targets) but not outsiders, and toggling suppressNativeWaypointDisplays actually empties the minimap snapshot (confirmed to fail without the guard before writing this commit).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I am trying to add xaeros waypoint compatabiltiy to your server side waypoints and needed a way to obtain the info. I figured the simplest way would be a chat broadcast to all players who can see the waypoint when the waypoint is created. This then also required a toggle for the waypoints so that the xaeros and server waypoints displays didnt overlap (/waypoint nativedisplay <true|false>). And then a list feature (/waypoint list) that the mod would read for waypoints made while offline. Idk if you guys will bother to do this but its pretty simple and I tested it on a localhost. I had ai describe what all the code was doing too if that helps.