It's been a long time... after more than 71 days, new BedWars update is here and it brings features that I was too lazy to do them, but I finally did it. Also thank you guys for awesome 71k downloads! I hope we will reach 100k before the end of 2020.
Additions:
- Custom prefixes for games
- Imagine situation: You have a single server with minigames and you want to run BedWars, AnchorWars, EggWars and CakeWars using ScreamingBedWars plugin. Before 0.2.15 you could just change the global prefix used by the plugin so each games sent messages with same prefix despite of what is the game you are playing. This is solved by new custom prefix feature.
- The usage of this feature is simple. Just turn the edit mode on or create new arena and use command /bw admin <arena> customprefix <and here write anything you want and spaces are allowed>
- If you wanted to remove the custom prefix, just do /bw admin <arena> customprefix off
- So where is the custom prefix feature applied? If you join the <put any block here>wars arena, just looked at the join message or any message that would be sent to you while playing in the arena. Instead of [BW] you can see e.g. AnchorWars.
- Colors are also supported, so if you want to have it colored, just use & character and the code of color. If you wish to use 32 BPP colors, it's also possible as in other messages with format &x&R&R&G&G&B&B introduced in spigot 1.16. Just Replace R,G,B with the exact colors in HEX format.
- What about /bw command?
/bw command is not affected by this feature. Only ingame experience is affected. We are planning to introduce custom join commands which would introduce which would have this feature too.
- Bungee MOTD
- You are now probably wondering 'For what is MOTD used in Bungeecord?'. Let me introduce plugin BungeeSigns. This plugin is using server's motd to get information from the server.
- How to configure that?
On the BedWars side, open config.yml and look for bungee section like when setting up the bungee mode. New subsection has been added: motd.
Code (YAML):
bungee:
enabled
: false
serverRestart
: false
serverStop
: false
server
: hub
auto-game-connect
: false
motd:
enabled
: false
waiting
: '
%name%: Waiting for players [%current%/%max%]'
waiting_full
: '
%name%: Game is full [%current%/%max%]'
running
: '
%name%: Game is running [%current%/%max%]'
rebuilding
: '
%name%: Rebuilding...'
disabled
: '
%name%: Game is disabled'
So just enable these sections and motd would be updated.
- There are three placeholders:
%name%, %current% and %max%. Guess what are the doing 
- TAB manager
- So you have set the bedwars arena, the bungee mode and the bungee motd, but now you want to modify the tablist's header and footer and automatically hide spectators from it. So while using 3rd party plugins, when we have Bedwars' built-in tab manager?
- How to use that?
It's quite easy. Go to the config.yml and locate new section: tab.
Code (YAML):
tab:
enable
: true
header:
enabled
: true
contents
:
- '&aMy awesome BedWars server'
- '&bMap
:
%map%'
- '&cOnline
:
%players%/%max%'
footer:
enabled
: true
contents
:
- '&eexample.com'
- '&fWow!!'
hide-spectators
: true
hide-foreign-players
: false
- Now you are seeing some lines and you are guessing what they mean.
- tab.enable is for enabling/disabling the whole feature
- tab.header.enable is for enabling/disabling the tablist header
- tab.header.contents is list containing all lines of header
- tab.footer.enable id for enabling/disabling the tablist footer
- tab.footer.contents is list containing all lines of footer
- tab.hide-spectators hides any spectators excluding players in respawn cooldown
- tab.hide-foreign-players hides any players that are not connected in bedwars game (useless on bungeecord servers)
- There are also few placeholders that you can use in header or footer:
- %players% - current player count in arena, including spectators
- %alive% - current count of alive players excluding players in respawn cooldown
- %spectating% - current count of all players in spectator mode including players in respawn cooldown
- %spectators% - current count of all players in spectator mode excluding players in respawn cooldown
- %respawnable% - current count of alive players and players in respawn cooldown
- %max% - max players of the current arena
- %map% - name of current arena
- Citizens shop
- Are you tired of villager shops and want shop that looks like normal person? (no rasism)
Just change the entity type of the shop via command /bw admin <arena> store type player:<name of player with skin>
- Don't forget that you have to stand on location of your shop
- Fake death
- Do you have problems with bugging people after respawning? Do you have players connecting through Geyser?
- Then go to config.yml and change allow-fake-death to true
- How does it helps with these problems?
- These problems are related with bugs inside the respawn logic of Minecraft. Fake Death actually skips the Notchian respawn logic and replace it with its own. And our logic doesn't send info about death to clients. They think that player just got teleported, his inventory has been erased and he was magically healed.
- Also note this feature is still experimental, that's why it's disabled in default config. If you find any bugs connected with fake-death, immediately report it on github issue tracker.
- Leaderboard
- You read a lot of text about features that you would maybe use but it's not what are you looking for. But now you saw that. Leaderboard.
- Leaderboard is the most wanted feature by BedWars community for long time and its first version is finally here.
- To see the leaderboard ingame, just use /bw leaderboard command. If you want holograms, just use /bw addholo leaderboard. On the hologram you will see up to 10 best players of the server and their score. So now we have two types of holograms:
- Also leaderboard is accessible via BedWars API.
Changes:
After very long time of reading the additions you are here. So let's look what has been changed.
- API has been changed. New api methods has been introduced as usuall, but also some methods has been changed. Now you shouldn't use PlayerStatistic#current<Anything>() methods! And also GameStore is now just interface.
- For contributors: The whole project is now built by Gradle.
- All materials in config.yml are now resolved by SimpleInventories' Material Search Engine so it doesn't matter if the version of server is flattening or legacy.
- If shop.yml/shop.groovy is broken, the plugin will load default one instead of crashing.
- /bw addholo command has been changed (described above)
- New permission with default value true has been introduced: bw.cmd.leaderboard
- Now you can disable all chat for spectators via option chat.disable-all-chat-for-spectators
- Now if spectator leave the game, the message doesn't appear
- Added new placeholders to PAPI, see this page
Fixes:
- Fixed spectators joined to running game see multiple holograms above bed with same position.
- Fixed keep inventory with respawn cooldown.
- Fixed player can't connect to running game as spectators via bungeecord.
- Fixed spectator's items don't work.
- Fixed ChunkUnloadEvent has not been properly handled.