# CoordinateOffset Configuration File
# https://github.com/joshuaprince/CoordinateOffset/wiki/Configuration-Guide
# Comments left in this file will be deleted when configuration is loaded.

# Do not change this.
configVersion: 6

# ############################################################################ #
# ################### General CoordinateOffset Configuration ################# #
# ############################################################################ #

# If true, players with the `coordinateoffset.bypass` permission will always
#   see their real coordinates (no offsets). Disable this to test the plugin.
bypassByPermission: true

# Disable server-side collision checks for the listed blocks.
#   If collision checks are left enabled, movement near these blocks will be
#   extremely glitchy for all players with an offset applied.
#   More info: https://github.com/joshuaprince/CoordinateOffset/issues/8
# Note: Requires a server restart for changes to take effect.
fixCollision:
  bamboo: true
  dripstone: true

# Don't send world border packets to players who are far from the world border.
#   Disable if your world border moves, but beware that it may leak coordinates:
#   https://github.com/joshuaprince/CoordinateOffset/wiki/Implications-and-Limitations#world-border
obfuscateWorldBorder: true

# Don't send any "debug" packets to players with an applied offset.
#   Debug information reveals real coordinates if this is disabled.
#   More info: https://minecraft.wiki/w/Debug_property
obfuscateDebugPropertySubscriptions: true

# Round generated offsets to the nearest multiple of this number of blocks.
#   Must be at least 16 and a power of 2 (16, 32, 64, 128, etc.).
#   "auto" selects the lowest value compatible with other installed plugins,
#   e.g. the Distant Horizons plugin requires 64+ for offsets to be compatible.
offsetsAreMultiplesOfBlocks: auto

# Enable a log message when a player's offset changes.
verbose: false

# ############################################################################ #
# ####################### Offset Provider Configuration ###################### #
# ############################################################################ #

# Specify the method used to apply coordinate offsets to players.
# Options are any key under `offsetProviders` below (e.g. constant, random...)
defaultOffsetProvider: constant

# List of overrides to the default offset provider. The first item has the
#   highest priority. `provider` is a required key. Optional keys are
#   `world`, `player`, and `permission` which, if present, must ALL match
#   for the override to apply.
offsetProviderOverrides:
- provider: disabled
  world: world_the_end
- provider: nether
  world: world_the_nether

# Configuration for all available offset providers. Each provider must have a
#   unique key (e.g. "constant"), which is used in `defaultOffsetProvider` and
#   `offsetProviderOverrides`. You may add your own keys to define as many
#   providers as you need.
# See the configuration guide for details about which options are available for
#   each provider class.
# https://github.com/joshuaprince/CoordinateOffset/wiki/Configuration-Guide
offsetProviders:
  constant:
    class: ConstantOffsetProvider
    offsetX: 0
    offsetZ: 16384
  nether:
    class: ConstantOffsetProvider
    offsetX: 0
    offsetZ: 2048
  disabled:
    class: ConstantOffsetProvider
    offsetX: 0
    offsetZ: 0
  random:
    class: RandomOffsetProvider
    randomBound: 100000
    regenerateOnJoin: true
    regenerateOnDeath: false
    regenerateOnWorldChange: false
    regenerateOnTeleport: false
  zeroAtLocation:
    class: ZeroAtLocationOffsetProvider
    regenerateOnJoin: true
    regenerateOnDeath: false
    regenerateOnWorldChange: false
    regenerateOnTeleport: false
