Skip to content

Staff guide

Task Command
Open the tower editor GUI /bt admin gui
Browse run history (all, one tower, one player) /bt admin history, /bt admin history tower <id>, /bt admin history player <name>
Reload tower files after editing /bt admin reload
Force a player into a tower /bt admin run <towerId> <player>
Reset a player's attempt cooldown for a tower /bt admin reset <player> <towerId>
  • Console can run reload, run, and reset. The GUIs need a player.
  • Player nodes (battletower.command.*) default to allowed. Admin nodes (battletower.admin.*) default to denied, falling back to op level 2 when no permission plugin is active. LuckPerms grants override both.
  • Each tower also has its own entry permission, set in its JSON (entry.permission, by convention battletower.enter.<towerId>). Grant it to whoever may enter that tower.
  • battletower.admin.enter.disabled lets staff enter a tower whose enabled is false, for testing.

Add a tower

  1. Make sure the arenas exist in Battle Core.
  2. Copy a file from examples/towers/ (or edit config/battletower/towers/example_tower.json, written on first boot) into config/battletower/towers/<id>.json.
  3. Set "enabled": true, the stages, rewards, and entry block.
  4. Run /bt admin reload. Check the console for validation errors.
  5. Give players a way in: set the tower's start location for the browser, and add an NPC click action that runs bt enter <id> (Pixelmon NPC or Citizens). No code changes needed.

The shipped examples in examples/towers/ copy real battle facilities (Kanto Trainer Tower, Johto, Hoenn, and Sinnoh Battle Towers, Battle Maison, Battle Subway, Battle Tree, Battle Chateau, Battle Factory), one for every trainer-selection mode. They need arenas tower_arena_1 to tower_arena_4 and all ship disabled. See examples/towers/README.md.