Commands

Warps and spawn

modules/warps.yml and modules/spawn.yml

Warps#

Command Permission
/warp <name> [player] chorus.warp.use
/warps [section] chorus.warp.list
/warpinfo <name> chorus.warp.info
/setwarp <name> chorus.warp.set
/warpset <name> <setting> [value] chorus.warp.set
/delwarp <name> chorus.warp.delete

Settings on one warp#

Everything a single warp overrides lives in the database rather than in a file, because warps are made in game.

/warpset shop icon EMERALD           how it looks in /warps
/warpset shop price 100              what that one warp costs
/warpset shop cooldown 60            the wait after using that one
/warpset shop permission group.vip   who may use it
/warpset shop description The shop   a line under its name
/warpset shop section Towns          groups it in /warps

Leaving the value off puts a setting back to what warps.yml says.

A permission set on the warp itself wins outright, so one warp can be locked without turning on per-warp permissions for every other one.

/warpinfo shows all of it, plus how many times the warp has been used. chorus.warp.info.full adds the permission it needs.

Per-warp permissions#

warps:
  per-warp-permission: false

On, every warp additionally needs chorus.warp.use.<name>:

lp group vip permission set chorus.warp.use.vipzone

Warps a player cannot use disappear from /warps rather than erroring on /warp.

Sections and sorting#

warps:
  sort: name        # name, uses, or created
  max-name-length: 24

/warps opens a screen of sections once two or more warps have one; /warps Towns goes straight into one. Warps with no section land in a group named by menu.warps.section-loose.

sort says what order they come in inside a section: name alphabetically, uses for the most used first, or created for the order they were made in.

Sending somebody else#

/warp shop Notch

Needs chorus.warp.use.others. Their trip is free and starts no cooldown — paying for somebody else's warp out of your own pocket is nobody's idea of how that should work.

Warp signs#

[Warp]
shop

Right-clicking sends the player, honouring that warp's price, wait and permission exactly as /warp would.

Making one needs chorus.warp.sign.create, using one chorus.warp.sign.use. warps.signs: false turns the whole thing off.

Confirmations#

/delwarp asks to be run a second time.

Spawn#

Command Permission
/spawn [world] chorus.spawn.use
/setspawn chorus.spawn.set
spawn:
  teleport-on-first-join: true
  teleport-on-respawn: false
  per-world: false
  fallback-world: ''
Key What it does
teleport-on-first-join Sends players to spawn the first time they ever join.
teleport-on-respawn Sends them to spawn when they die. A bed or a respawn anchor always wins, since that is the player's own choice.
per-world One spawn per world instead of a single one for the server.
fallback-world With per-world on, the world whose spawn covers worlds that have none. Empty falls back to the single spawn instead.

With per-world: true, /setspawn sets the spawn of the world you are standing in and /spawn sends players to the spawn of the world they are in. /spawn <world> reaches another one and needs chorus.spawn.world.

Config reference#

# modules/warps.yml
enabled: true

warps:
  per-warp-permission: false
  max-name-length: 24
  sort: name
  signs: true
  menu:
    enabled: true
    rows: 3
    icon: ENDER_PEARL
    filler: ''
    navigation-filler: GRAY_STAINED_GLASS_PANE
    previous-page: ARROW
    next-page: ARROW
    close: BARRIER

commands:
  defaults: ...
  warp: ...
  warps: ...
  setwarp: ...
  delwarp: ...
  warpinfo: ...
  warpset: ...
# modules/spawn.yml
enabled: true

spawn:
  teleport-on-first-join: true
  teleport-on-respawn: false
  per-world: false
  fallback-world: ''

commands:
  defaults: ...
  spawn: ...
  setspawn: ...

Permissions#

Permission Effect
chorus.warp.use /warp
chorus.warp.use.<name> Required per warp when per-warp-permission is on
chorus.warp.use.others Sends another player to a warp
chorus.warp.list /warps
chorus.warp.set /setwarp and /warpset
chorus.warp.delete /delwarp
chorus.warp.info /warpinfo
chorus.warp.info.full Adds the permission a warp needs to /warpinfo
chorus.warp.sign.create Makes a [Warp] sign
chorus.warp.sign.use Uses one
chorus.spawn.use /spawn
chorus.spawn.set /setspawn
chorus.spawn.world /spawn <world>