Repository navigation
Configuration Examples
Joshua Prince edited this page Nov 16, 2025
·
1 revision
This page gives several example config.yml recipes that achieve various obfuscation goals. You may paste these into your configuration as-is, or use them as guidance for setting your own offset providers and override rules.
- Always apply an offset in The End that isn't used in other worlds. If you don't, someone can stand near the exit portal (which is always at true 0,0) and see their exact offset in the overworld. Consider how any other custom worlds might allow for similar offset leaks.
-
Want to prevent players from sharing coordinates? Vary offsets between players. Use a RandomOffsetProvider or assign different offset permission nodes through a PermissionOffsetProvider.
- Want to avoid confusing players who share coordinates? Give those players the same offset. Use a single ConstantOffsetProvider.
-
Want to break mods like waypoints and world maps? Regenerate offsets frequently. Use a RandomOffsetProvider or ZeroAtLocationOffsetProvider with
regenerateOnsettings set to true.-
Want to avoid breaking waypoint and world maps? Never change a player's offset. Set all
regenerateOnsettings to false, or use a ConstantOffsetProvider.
-
Want to avoid breaking waypoint and world maps? Never change a player's offset. Set all
- Make players unable to share coordinates to find points of interest or each other.
- Make coordinate leaks between players meaningless.
- Allow mods like waypoints and world maps to still be fully functional.
defaultOffsetProvider: randomConstant
offsetProviderOverrides:
- provider: disabled
world: world_the_end
offsetProviders:
randomConstant:
class: RandomOffsetProvider
randomBound: 100000
regenerateOnJoin: false
regenerateOnDeath: false
regenerateOnWorldChange: false
regenerateOnTeleport: false
disabled:
class: ConstantOffsetProvider
offsetX: 0
offsetZ: 0- Make coordinates consistent until the player dies.
- Effectively erase a player's waypoint and world map data when they die.
- Make in-game recovery compass items the only realistic way to track a death point.
- Make players unable to share coordinates to find points of interest or each other.
- Make coordinate leaks between players meaningless.
defaultOffsetProvider: randomizeOnDeath
offsetProviderOverrides:
- provider: disabled
world: world_the_end
offsetProviders:
randomizeOnDeath:
class: RandomOffsetProvider
randomBound: 100000
regenerateOnJoin: false
regenerateOnDeath: true
regenerateOnWorldChange: false
regenerateOnTeleport: false
disabled:
class: ConstantOffsetProvider
offsetX: 0
offsetZ: 0- Combine with a "random spawn location" plugin to start everyone at their own personal (0, 0).
- Make coordinates consistent so waypoint and world map mods are still usable.
- Make players unable to share coordinates to find points of interest or each other.
defaultOffsetProvider: wilderness
offsetProviderOverrides:
- provider: disabled
world: world_the_end
offsetProviders:
wilderness:
class: ZeroAtLocationOffsetProvider
regenerateOnJoin: false
regenerateOnDeath: false # or true, if you want to change their spawn point every time and break map/waypoint mods
regenerateOnWorldChange: false
regenerateOnTeleport: false
disabled:
class: ConstantOffsetProvider
offsetX: 0
offsetZ: 0- Make coordinates as useless as possible by making them change on every possible occasion.
- Make in-game items like maps and compasses the only way to navigate consistently.
- Make mods that provide waypoints and world maps completely useless.
defaultOffsetProvider: fullRandom
offsetProviders:
fullRandom:
class: RandomOffsetProvider
randomBound: 100000
regenerateOnJoin: true
regenerateOnDeath: true
regenerateOnWorldChange: true
regenerateOnTeleport: true
# Even with max obfuscation, don't set this below 100.
# Ender pearl and chorus fruit effects count as teleports!
minimumTeleportDistance: 256.0- Make seed cracking tools based on world generation more difficult to use.
- Make coordinates incorrect, but otherwise fully shareable and usable.
defaultOffsetProvider: constant
offsetProviderOverrides:
- provider: disabled
world: world_the_end
offsetProviders:
constant:
class: ConstantOffsetProvider
offsetX: 943680 # generate your own random numbers here
offsetZ: −43856
disabled:
class: ConstantOffsetProvider
offsetX: 0
offsetZ: 0- Let players query their own offset and real coordinates.
- Let players regenerate their own offset.
- Prevent reverse-engineering of coordinates based on a screenshot (since everyone has their own offset that they control).
# Give players permissions: "coordinateoffset.query", "coordinateoffset.regenerate"
defaultOffsetProvider: randomConstant
offsetProviderOverrides:
- provider: disabled
world: world_the_end
offsetProviders:
randomConstant:
class: RandomOffsetProvider
randomBound: 100000
regenerateOnJoin: false
regenerateOnDeath: false
regenerateOnWorldChange: false
regenerateOnTeleport: false
# offsets still regenerate when a player runs /offset regenerate
disabled:
class: ConstantOffsetProvider
offsetX: 0
offsetZ: 0- Give each faction their own coordinate system.
- Make coordinate leaks between factions less impactful (but note that it's not hard for a dedicated griefer to reverse-engineer the system).
- Allow mods like waypoints and world maps to still be fully functional.
defaultOffsetProvider: permission
offsetProviderOverrides:
- provider: disabled
world: world_the_end
offsetProviders:
permission:
class: PermissionOffsetProvider
prefix: coordinateoffset.offset
disabled:
class: ConstantOffsetProvider
offsetX: 0
offsetZ: 0Give everyone in faction A a permission node like coordinateoffset.offset.-558272.-13584, faction B one like coordinateoffset.offset.117984.−469136, etc. Generate these numbers randomly and make sure they are evenly divisible by 16.