Bedwars configuration
Every Bedwars config file and its defaults: match timings, generators, upgrade and shop prices, sounds, names, messages and menus.
Where the files are
Each plugin keeps its files in its own folder in plugins/, named after the product: plugins/Bedwars Game/ on game servers and plugins/Bedwars Lobby/ on lobbies. The loader prints the folder name when it starts.
| File | Bedwars Game | Bedwars Lobby | What it holds |
|---|---|---|---|
settings.yml | Yes | No | Match timings, generators, upgrade prices, shop prices and sounds. |
names.yml | Yes | Yes | What modes, teams, currencies, shop items, traps and statistics are called. |
messages.yml | Yes | Yes | Chat lines, titles and sidebars. |
menus.yml | Yes | Yes | Menu titles, items and slots. |
All files work the same way:
- Saving a file reloads it. Upgrade prices and the timeline only change for matches that start after you save.
- Delete a line to get its default back.
- Each file is written with comments explaining every key.
Files are per server. If you change one, copy it to every server of the same kind.
settings.yml
This file is only on game servers. Most times say their unit in the key name. Generator intervals are in seconds. Currencies are IRON, GOLD, DIAMOND or EMERALD.
Match rules
match:
countdownSeconds: 30
respawnSeconds: 5
rejoinSeconds: 120
killCreditSeconds: 10
tntFuseTicks: 40
explosionDamageCap: 1.0
magicMilkSeconds: 30
healPoolRadius: 6.0
trapRadius: 8.0
trapCooldownSeconds: 10| Key | Default | Meaning |
|---|---|---|
countdownSeconds | 30 | Length of the pre-game countdown once enough players are in. |
respawnSeconds | 5 | Wait before respawning while the bed stands. |
rejoinSeconds | 120 | How long a player who left can rejoin their match. |
killCreditSeconds | 10 | How long after the last hit the attacker still gets the kill. |
tntFuseTicks | 40 | TNT fuse, in ticks. 20 ticks is 1 second. |
explosionDamageCap | 1.0 | Most damage one explosion deals to a player, in health points. 2 is one heart. |
magicMilkSeconds | 30 | How long Magic Milk protects from traps. |
healPoolRadius | 6.0 | Heal Pool range around the team spawn, in blocks. |
trapRadius | 8.0 | How close to a spawn or bed an enemy sets off a trap, in blocks. |
trapCooldownSeconds | 10 | Wait before the same player can set off the same team's next trap. |
Timeline
Each value is the number of minutes after the event before it. The first is counted from the start of the match.
timeline:
diamondTwoMinutes: 6
emeraldTwoMinutes: 6
diamondThreeMinutes: 5
emeraldThreeMinutes: 5
bedDestructionMinutes: 6
overtimeMinutes: 4
gameEndMinutes: 10Generators
Keyed by iron, gold, diamond and emerald. Iron and gold are the island generators. Diamond and emerald are the shared ones.
generators:
iron:
startingInterval: 2
minimumInterval: 1
upgradeStep: 1
maxNearbyItems: 48
gold:
startingInterval: 4
minimumInterval: 1
upgradeStep: 1
maxNearbyItems: 16
diamond:
startingInterval: 30
minimumInterval: 4
upgradeStep: 8
maxNearbyItems: 8
emerald:
startingInterval: 45
minimumInterval: 5
upgradeStep: 12
maxNearbyItems: 6| Key | Meaning |
|---|---|
startingInterval | Seconds between drops when the match starts. |
minimumInterval | The fastest the generator can get, in seconds between drops. |
upgradeStep | Seconds taken off the interval by each forge or timeline upgrade. 0 turns upgrades off. |
maxNearbyItems | The generator stops dropping while this many of its items lie on it. |
Team upgrades and traps
All upgrade prices are in diamonds. For tiered upgrades, list one price per tier, first tier first. Add or remove entries in protection and haste to change how many tiers there are.
upgrades:
soloAndDoubles:
sharpness: 4
protection: [2, 4, 8, 16]
haste: [2, 4]
forge: [2, 4]
healPool: 1
triosAndQuads:
sharpness: 8
protection: [5, 10, 20, 30]
haste: [4, 6]
forge: [4, 8]
healPool: 3
trapCosts: [1, 2, 4, 8]
trapQueueLimit: 3trapCosts is the price of a trap by how many traps are already queued. Once the queue is longer than the list, the last price is used. trapQueueLimit is how many traps a team can have queued at once.
Shop prices
Each shop item is keyed by its id:
shop:
items:
wool_16:
currency: IRON
soloAndDoublesCost: 4
triosAndQuadsCost: 4
amount: 16| Key | Meaning |
|---|---|
currency | What the item is paid with. |
soloAndDoublesCost | Price in Solo and Doubles. |
triosAndQuadsCost | Price in Trios and Quads. |
amount | How many of the item one purchase gives. |
Item ids:
| Tab | Ids |
|---|---|
| Blocks | wool_16, clay_16, glass_4, endstone_12, ladder_16, wood_16, obsidian_4 |
| Melee | stone_sword, iron_sword, diamond_sword, kb_stick |
| Armor | chainmail_armor, iron_armor, diamond_armor |
| Tools | shears |
| Ranged | arrows_8, bow, bow_power, bow_punch |
| Potions | speed_potion, jump_potion, invis_potion |
| Utility | gapple, tnt, ender_pearl, water_bucket, magic_milk, sponge_4 |
The number in an id is only part of its name. Use amount to change how many a purchase gives.
Pickaxe and axe prices are set per tier under shop.pickaxe (tiers wood, iron, gold, diamond) and shop.axe (tiers wood, stone, iron, diamond). The pickaxe and axe entries under shop.items are not used for the price.
shop:
pickaxe:
wood:
currency: IRON
cost: 10
iron:
currency: IRON
cost: 10
gold:
currency: GOLD
cost: 3
diamond:
currency: GOLD
cost: 6Sounds
Sounds are Minecraft sound keys, the same as /playsound uses. Leave one empty to play nothing.
sounds:
countdown: block.note_block.hat
bedDestroyed: entity.ender_dragon.growl
generatorUpgraded: entity.player.levelup
overtime: entity.player.levelup
trapTriggered: block.note_block.pling
chestDeposit: block.chest.opennames.yml
Both plugins write their own copy. The names are filled into messages.yml and menus.yml wherever those mention them. Write plain text here. Colors come from the message around the name.
| Section | Keyed by |
|---|---|
modes | solo, doubles, trios, quads |
teams | red, blue, green, yellow, aqua, white, pink, gray |
currencies | iron, gold, diamond, emerald, each with a singular and a plural |
categories | quick_buy, blocks, melee, armor, tools, ranged, potions, utility |
shopItems | Shop item ids, each with a name and a description |
traps | its_a_trap, counter_offensive, alarm, miner_fatigue, each with a name and a description |
stats | plays, wins, losses, kills, deaths, beds-broken, final-kills, final-deaths, win-streak, highest-win-streak |
messages.yml and menus.yml
Messages accept & color codes, hex colors like &#FFAA00 and MiniMessage tags. <primary> and <secondary> are the server colors set with primaryColor and secondaryColor in Kernel's kernel.yml. Words in braces, like {team}, are filled in by the plugin. The comment above each message lists the ones it gets.
| Plugin | File | Sections |
|---|---|---|
| Bedwars Game | messages.yml | match (countdown, kills, beds, events and the end summary), scoreboard (the match sidebar), actions (building, chests, Magic Milk, traps), shop (shopkeeper holograms, purchases, upgrade names), joining (why a player couldn't be sent into a match) |
| Bedwars Game | menus.yml | shop (item shop), hotbar (Hotbar Manager), upgrades (team upgrades and traps) |
| Bedwars Lobby | messages.yml | sidebar (the lobby sidebar) |
| Bedwars Lobby | menus.yml | play (the /bedwars menu), stats (statistics), leaderboards |
Scaffold settings that affect Bedwars
These live in Scaffold's folder, plugins/Scaffold/.
| File | Key | Default | Meaning |
|---|---|---|---|
scaffold.yml | gameServer | true | Whether this server hosts games. Keep it true on Bedwars game servers. |
settings.yml | game. | 10 | When a match fills up, the countdown jumps down to this many seconds. |
settings.yml | game. | 60 | How long a waiting match may stay empty before it is closed. |
settings.yml | queue.maxQueues | 4 | How many queues one player may be in at once. |