Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for jtchips

A plugin that configurably obfuscates players' coordinates.

Report CoordinateOffset?

Release
6.0.0

jtchips released CoordinateOffset version 6.0.0 on November 16, 2025

Supported Minecraft servers: Paper 1.21.4-1.21.10

CoordinateOffset 5.0.0 just came out last month, but thanks to a breakthrough I made in immediate offset changes, it's already time for another major release.

"Immediate offset changes" means that the plugin no longer has to wait for the next opportune event to change a player's offset. By simulating a teleport, the plugin can change a player's offset at any time. This allows for commands like /offset regenerate and /offset set. It also allows safe offset changes when the player teleports any distance.

If you like reading, check out the fully documented list of changes in the v6 Upgrade Guide. You should especially read this if you made any significant configuration changes or use the CoordinateOffset API. Otherwise, here's the summary of everything new:

  • Regular backups are still mandatory.
  • Add /offset regenerate and /offset set commands.
  • Add PermissionOffsetProvider.
  • Add option to specify offsetProviderOverrides rules based on player name, world key, and world UUID. (Previously only player UUID and world name were supported.)
  • Add regenerateOnTeleport and minimumTeleportDistance options to RandomOffsetProvider and ZeroAtLocationOffsetProvider. (Replaces resetOnDistantTeleport and allowUnsafeResetOnDistantTeleport settings)
  • Rename resetOn* offset provider options to regenerateOn* to match the new command. (Configuration will automatically migrate and leave values unchanged.)
  • Rename persistent RandomOffsetProvider option to regenerateOnJoin. (Configuration will automatically migrate and leave behavior unchanged; false and true are swapped automatically.)
  • Remove persistenceKey Random offset provider option in favor of using provider name.
  • Add regenerateOnJoin option to ZeroAtLocationOffsetProvider, allowing zero-at-location offsets to persist across joins and server restarts.
  • Default all regenerateOn* options to false. (The persistent option previously defaulted to false; newly generated configurations now persist random offsets forever by default.)
  • Redesign internal handling for scaling offsets between worlds.
    • Offsets now scale automatically based on world coordinate scale (e.g. nether scales down by 8).
    • Move worldScaling and worldAlignment options out of offset provider settings and into optional worldCoordinateScaleOverrides global configuration. (Not automatically migrated from the previous version)
  • Add a default offsetProviderOverrides rule that disables offsets in the end. (Only for newly generated configs; can be removed if desired.)
  • Automatically disable offsets for Bedrock players with no extra permissions/config required.
  • Add messages.yml to allow customization/translation of most plugin messages.
  • API Changes
    • Offsets returned from custom offset providers are now split into ScalableOffset and FixedOffset to give explicit control over how providers interact with world coordinate scaling.
    • Add new API endpoints to regenerateOffset and setOffset for immediate offset changes.
    • Add onOffsetSetByCommand interface to offset providers.

Information

Published onNovember 16, 2025
Downloads1

Platforms

Paper Paper (1.21.4-1.21.10)

Dependencies

Paper Paper
Edit Plugin Dependencies: Paper