Skip to main content

Config

In the latest version the config only controls where data is stored. This is done through the database-details section. The default config is shown below.

Default config
# © EnvyWare Ltd Software 2025
# For assistance visit https://discord.envyware.co.uk

# The storage type and details for all battle tower player data. Only change this if you know what you're doing. For more information visit https://www.envyware.co.uk/docs/general-help/general-config/config-databases
database-details:
id: sqlite
file-path: config/EnvyBattleTower/data.db

Locale

The locale has settings controlling the time and date formatting in the UIs, and a message sent when a player has a blacklisted Pokemon in their party. The default config is shown below.

Locale
# © EnvyWare Ltd Software 2025
# For assistance visit https://discord.envyware.co.uk

# This is the message that will be sent to the player if they have a blacklisted pokemon in their party
blacklisted-pokemon-error:
- '&c&l(!) &cError: you have a blacklisted pokemon in your party so you cannot enter
the battle tower! %pokemon%'
# This is used for formatting any times that appear in GUIs, or in messages
time-format:
format: '%days%%hours%%minutes%%seconds%'
placeholders:
hours: '%hours_value% hours '
days: '%days_value% days '
seconds: '%seconds_value% seconds'
minutes: '%minutes_value% minutes '
# This is used for formatting any dates that appear in GUIs, or in messages
date-format:
format: dd/MM/yyyy

GUIs

The GUIs config has a setting for controlling the setting of the only GUI used by the battle tower. The default config is shown below.

GUIs
# © EnvyWare Ltd Software 2025
# For assistance visit https://discord.envyware.co.uk

# The settings for the GUI that opens when the player runs /battletower. If you want to find the settings for specific items you need to look in the battle tower specific configs (e.g. config/EnvyBattleTower/towers/<tower>.yml)
battle-tower-u-i:
gui-settings:
title: EnvyBattleTower
height: 3
fill-type: BLOCK
filler-items:
'1':
enabled: true
type: minecraft:black_stained_glass_pane
amount: '1'
name: ' '
flags: []
lore: []
enchants: {}
nbt: {}
display-items: {}

Battle Tower

Each battle tower is stored in a separate file in the config/EnvyBattleTower/towers directory. To create a new battle tower you need to create a new file in the towers directory with the name of the tower. The default config for a battle tower is shown below.

Battle Tower
# © EnvyWare Ltd Software 2025
# For assistance visit https://discord.envyware.co.uk

enabled: true
positions:
'0':
player-position:
world-name: world
pos-x: 1.0
pos-y: 0.0
pos-z: 0.0
pitch: 0.0
yaw: 0.0
trainer-position:
world-name: world
pos-x: 2.0
pos-y: 0.0
pos-z: 0.0
pitch: 0.0
yaw: 0.0
'1':
player-position:
world-name: world
pos-x: 2.0
pos-y: 0.0
pos-z: 0.0
pitch: 0.0
yaw: 0.0
trainer-position:
world-name: world
pos-x: 3.0
pos-y: 0.0
pos-z: 0.0
pitch: 0.0
yaw: 0.0
team-options:
'0':
start-floor: 0
end-floor: 1000
teams:
entries:
'1':
weight: 10.0
object:
paste: https://pokepast.es/8c84d94a0da05c13
player-win-commands:
entries:
'0':
weight: 10.0
object:
- broadcast %player%
player-loss-commands:
entries:
'0':
weight: 10.0
object:
- broadcast %player%
return-position:
pos-x: 0.0
pos-y: 0.0
pos-z: 0.0
pitch: 0.0
yaw: 0.0
world-name: world
max-floor: 200
allow-spectating: false
cooldown-seconds: 60
allow-exp-gain: false
battle-rules:
LEVEL_CAP:
battle-rule-type: LEVEL_CAP
battle-rule-value: '50'
attempt-finish-loss-commands:
- minecraft:tell %player% You lost! Better luck next time
attempt-finish-win-commands:
- give %player% diamond 1
blacklisted-pokemon:
- shiny
cooldown-item:
enabled: true
type: pixelmon:ui_element
amount: '1'
name: '&aExample Battle Tower'
flags: []
lore:
- '&c&lYou are on cooldown'
- '&c%cooldown%'
- ' '
- '&aLeaderboard:'
- '&71. %leaderboard_1_player% - %leaderboard_1_floor% floors (%leaderboard_1_time%)
on %leaderboard_1_date%'
- '&72. %leaderboard_2_player% - %leaderboard_2_floor% floors (%leaderboard_2_time%)
on %leaderboard_2_date%'
- '&73. %leaderboard_3_player% - %leaderboard_3_floor% floors (%leaderboard_3_time%)
on %leaderboard_3_date%'
- '&74. %leaderboard_4_player% - %leaderboard_4_floor% floors (%leaderboard_4_time%)
on %leaderboard_4_date%'
- '&75. %leaderboard_5_player% - %leaderboard_5_floor% floors (%leaderboard_5_time%)
on %leaderboard_5_date%'
enchants: {}
nbt:
UIImage:
type: string
data: pixelmon:textures/gui/uielements/tile_0049.png
positions:
'0':
x: 3
y: 1
requires-permission: false
close-on-click: false
commands-executed: []
display-item:
enabled: true
type: pixelmon:ui_element
amount: '1'
name: '&aExample Battle Tower'
flags: []
lore:
- '&7This is an example battle tower'
- '&7It has a cooldown of 60 seconds'
- '&7You can''t use shiny Pokemon'
- '&7You can''t gain exp'
- '&7You can''t spectate'
- ' '
- '&aClick to enter!'
- ' '
- '&aLeaderboard:'
- '&71. %leaderboard_1_player% - %leaderboard_1_floor% floors (%leaderboard_1_time%)
on %leaderboard_1_date%'
- '&72. %leaderboard_2_player% - %leaderboard_2_floor% floors (%leaderboard_2_time%)
on %leaderboard_2_date%'
- '&73. %leaderboard_3_player% - %leaderboard_3_floor% floors (%leaderboard_3_time%)
on %leaderboard_3_date%'
- '&74. %leaderboard_4_player% - %leaderboard_4_floor% floors (%leaderboard_4_time%)
on %leaderboard_4_date%'
- '&75. %leaderboard_5_player% - %leaderboard_5_floor% floors (%leaderboard_5_time%)
on %leaderboard_5_date%'
enchants: {}
nbt:
UIImage:
type: string
data: pixelmon:textures/gui/uielements/tile_0049.png
positions:
'0':
x: 3
y: 1
requires-permission: false
close-on-click: false
commands-executed: []
virtual: true
id: example

If you don't understand some of the patterns found in the config above you should read through the sections here

More specifically the location information can be found here