By registering with us, you'll be able to discuss, share and private message with other members of our community.
SignUp Now!Note: Due to how small this plugin is, the plugin's version stays at 5.2.4
Fixed bug:
- Fixed problems with /bw join command
As always, I am thankful for @MetallicGoat 's (and of course, everyone else who have reported the bugs in our Discord) contributions to this update. If you appreciate our efforts, we'd greatly appreciate a donation. Thank you very much!
![]()
Added features:
Config changes:
- Upgrade Shop Restrictions (restriction for each level in upgrade shop config -> allows you to create unique upgrade shops for each i.a. mode) (Thanks to @MetallicGoat)
- Quick buy in HyPixelV2 layout: Duplicate items now get auto-removed (Thanks to @MetallicGoat)
- Cloning feature now includes the ability of specifying the modes for which clones shall be created for
Miscellaneous:
- Added:
- restriction to upgrade-shop.yml (Thanks to @MetallicGoat)
- auto-cloning-modes
- Added PlaceholderAPI support for customchatmessage-message
- Replaced "lobby_countdowntitle-*" configs with a single and more customizable "lobby_countdowntitles" config
- Added "description" to shop items (currently only supports HyPixelV2 layout)
API changes:
- Dependency download in template applying during setup now fallbacks to alternative sources if first ones fail
- Not sending whole teleport packets anymore for holograms if just the head rotation changed (causes MBedwarsTweaks feature "Friendly-Villagers-Enabled" to be more smooth)
- Improved system that applies custom textures to skull blocks
- Hurt effects on holograms (i.a. dealers) is now visible for all nearby players, and not just for the one who is punching him
- Action bar message "Waiting..." in lobby no longer collides with other plugins when it is empty
- Remaining action bars and titles now get removed when a player leaves the arena
- Slightly reduced the time during which the "Good Luck!" title will be shown with the start of a match
- "Respawn in x..." message now gets immediately removed when player respawned (previously it'd stay for a second)
- Item names in HyPixelV2 shop are now dyed red by default
- Now removing item attributes in HyPixelV2 shop layout
- GUI of HyPixelV2 renames to the page you currently have open
Fixed bugs:
- Added:
- Upgrade#getRestriction()
- Upgrade#setRestriction(ArenaConditionGroup restriction)
- Class QueuedCloningArena
- ArenaCloningManager#getQueueEntries()
- ArenaCloningManager#addToQueue(QueuedCloningArena)
- ShopItem#getDescription()
- ShopItem#getDescription(CommandSender)
- ShopItem#getConfigDescription()
- ShopItemsetConfigDescription(String)
- NMSHelper#setSkullTexture(Skull, String) now doesn't automatically update the BlockState anymore
- Fixed PlayerUseLobbyItemEvent not being fired
- Fixed error for some people that were using specific versions of 1.19R1
- Fixed problems with world storage using cryptic names for some SWM users thus clearing the spawned dealers
- Fixed "class java.lang.Boolean cannot be cast to class java.lang.Float" error on 1.19.4 (Thanks to @MetallicGoat)
- Fixed missing head rotation for holograms on 1.19.4
- Fixed allowcommand-stats config not working properly
- Fixed no damage effect when hitting holograms (i.a. dealers) on 1.19.4
As always, I am thankful for @MetallicGoat 's (and of course, everyone else who have reported the bugs in our Discord) contributions to this update. If you appreciate our efforts, we'd greatly appreciate a donation. Thank you very much!
![]()
We have been redesigning the select team GUI. We are open for further suggestions!
Config changes:
Miscellaneous:
- Added color code & language support for gui-selectteam-teammaterial-* configs
- Added gui-selectteam-teammaterial-lore-empty
- Added default values to hubcommands config
API addition:
- Added auto-wrapping for upgrade shop item descriptions
- Removed item attributes from upgrade icons
- Removed extra space from auto-wrapped lines
- Made some improvements to the look-and-feel of some centralized parts in GUIs
- Removed decimal places from PosMin/PosMax for region arenas in /bw arena info
Fixed bugs:
- CenterFormat#CENTRALIZED_EVEN
- Fixed chat-event-listener-priority having no effect
- Fixed not being able to enter arenas if the lobby is inside the game area
- Fixed suggesting wrong layouts for /bw tools openupgradeshop
- Fixed "Cannot measure distance between lobby and porto" error when player travels between worlds during a match
- Fixed that regeneration-region-efficient-beta would cause empty cloned region arenas
- Fixed NPE when using the hex color system for teams
![]()
I am extremely happy to announce that we are releasing the colossal 5.2 update!
As always, this update is completely free. We would greatly appreciate if you'd keep the thought of possibly showing us your admiration via a donation while you are preparing your coffee, as this will be a long one![]()
Added support for 1.19.4
While this a short one, it is likely something that most are looking for: We now natively support 1.19.4!
With this update, we also finally made the move of using the Mojang mappings, instead of the legacy Spigot ones. This basically means that we have to spend less time "finding" certain NMS features, with the effect of providing a slight performance to do improvements of certain integrations and reduces the chances of bugs to occur. Equal changes have been made to the 1.19.3 support, however, improvements likely aren't noticeable as it was already running perfectly fine.
The new installation wizard
This is a special one, that you likely have never seen with any other plugin. It is now possibly to easily set up the plugin by visiting a website!
![]()
This works by generating a unique and secure link for your server whenever you are installing the plugin for the first time. There are instructions that help you with each step to make the whole process as easy and quick as possible.
We are certain that the old conventional way was already pretty easy, however the reasons for the development of this feature were to present you with the most important configurations, as it can be overwhelming for newcomers.
It is now also possible to easily install a complete layout of the plugin! With this, you may now choose between the MBedwars Vanilla layout, which we had before by default, and one that is called "HyPixel". Before, you'd have to install the according zip, extract the files and install the required dependencies. The plugin is now taking over the whole process.
![]()
The ability of simply skipping the whole process (aka the conventional way) has been kept. You will be asked whether you want to use the setup wizard or not.
Performance improvements
The performance of the plugin was already perfect before this update. However, there were some parts of the plugin that we have found and improved.
One being better multi-threading. A thread, in a nutshell, is a process that runs certain algorithms in a specific orders. With multiple threads, you are basically able to have multiple things running concurrently, without one thread greatly affecting the others' performance. The server's tick logic has its own thread, and doing too many things in that one may have effects on the TPS, hence proper utilization of threads is key for a lagless experience.
MBedwars was already perfectly utilizing these abilities beforehand, however we improved certain algorithms so that it utilizes them now better by effectively needing less of them. We also found solutions for certain processes to not run on the server thread, which was kept earlier for stability reasons. This change basically means that you will experience less minor hiccups, especially when a match had ended.
Some algorithms have also been rewritten to be more efficient.
Moving from config.cm2 to config.yml
In the past, we had greatly made use of the .cm2 file format. The reason for this was that this file format has a certain syntax that is way more user-friendly and way less prone to accidental problems that potentially could have further consequences.
However, after people have been asking us, we have decided to move to the YAML format (.yml). Commonly because, as most are already used to it. We also used this opportunity to restructure certain internal parts of the plugin to firstly make the inclusion of further features more easy, and secondly include further warnings that should greatly enhance the user experience, as it is now easier to debug and fix certain problems for the user as the plugin will tell you exactly what you have been doing wrong.
The plugin will automatically convert the files. You don't have to worry about that at all.
Added MongoDB support
MongoDB is a NoSQL-DBMS that technically works completely different from the conventional SQL databases, like MySQL. I used to kept saying to people that our SQL implementation was already extremely efficient, as we went the path of implementing certain unique SQL features and algorithms that are not being used by other (Bedwars) plugins, hence MBedwars commonly outperforming them. However, people have been requesting it, and I am happy to tell you all that we finally support it as well![]()
We still recommend to users to not use MongoDB if you have never worked with it, as it works greatly different from e.g. MySQL. Some time must be invested to just install the MongoDB software itself, as most hosting providers usually only provide MySQL or MariaDB. If you, however, want to use it anyway, you may simply make use of the new configurations in the config.yml file. Configuring is as easy as it is with SQL.
Some improvements were made to the code of the internal storage systems. These changes provide further stability, extensibility and also have the side effect that we restructured the configurations to be more understandable.
These changes also made it possible for us to implement a /bw tools migrate command for further storage types, such as MongoDB. What this means is that you may always switch from local, SQL or MongoDB back and forth without having to care about data-loss, as MBedwars is keeping care of that.
Improved the SetupGUI
The SetupGUI is a feature that makes it possibly for users to easily create, set up and modify arenas.
In the past, certain important features didn't exist, specifically ones that aren't directly related to arenas, such as being able to spawn villagers (dealers and upgrade dealers), to identify which arenas are at your current position and to be able to easily specific the WorldEdit corners directly within the GUI.
![]()
We replaced the old arena deletion place with misc tools. It is still possible to delete arenas, you just have go to the arenas list first. I'd guess that most have already been doing it that way and barely anyone actually used the arena deletion page.
The whole change log
Welp, these were just the most significant ones. There were also a bunch of minor changes, which you can find here:
Added support for:
Added features:
- 1.19.4
- MongoDB
Added commands:
- SetupGUI spawn buttons (for spawning dealers, identifying an arena and setting corners) (Thanks to @MetallicGoat)
- It is now possible to remove items from the HyPixel quick buy (Thanks to @MetallicGoat)
- Add a message when a player is hit with a bow (Thanks to @MetallicGoat)
- It is now possible to use PAPI placeholders in more messages
- Sand no longer falls during regeneration for region arenas in 1.8.8 - 1.12.2
Added placeholders:
- /bw tools openshop (Thanks to @MetallicGoat)
- /bw tools openupgradeshop (Thanks to @MetallicGoat)
- /bw tools migrate storage mongodb
Config changes:
- %mbedwars_playerarena-authors%
- %mbedwars_arena-<arena>-displayname%
- %mbedwars_arena-<arena>-authors%
- %mbedwars_playerarena-minplayers%
- %mbedwars_arena-<arena>-minplayers%
Miscellaneous changes:
- Added:
- Various "mongodb-*"
- blocked-commands-mode (You may now whitelist instead of blacklist commands)
- force-slot to the upgrade shop
- Miscellaneous:
- Moved to config.yml from config.cm2 (Thanks to @MetallicGoat)
- Added "" configs
- Replaced configs "sql-enabled" and "sql-type" with "storage-type" (in preperations for MongoDB support)
- Added {team-initials} placeholder to customchatmessage-message config
- Team selector GUI is now being sorted in the order of the teams that you configured
API changes:
- Added {player} placeholder for commands run on lobby/spectator item use (Thanks to @MetallicGoat)
- Traps now aren't being triggered any more after the team eliminated (Thanks to @MetallicGoat)
- Now closing the GUIs of all players when the round ends
- Updated XSeries to 9.3.1
- Moved 1.19R2 to Mojang mappings
- No items will be dropped anymore during regeneration
- Revamped spectator kick algorithm
- Improved arena saving and loading process
- Improved performance
Fixed bugs:
- Additions:
- MigrationProcess.Origin#MONGO_DB
- MigrationProcess.Origin#isStorage()
- AddPlayerCause#END_LOBBY
- KickSpectatorReason#END_LOBBY
- Arena#getUpgradeState(Team)
- Arena#saveAsync()
- Arena#saveNow()
- RoundEndEvent#getQuitWinners()
- RoundEndEvent#getLosers()
- RoundEndEvent#getQuitLosers()
- Helper#getPlayerSkinData(Player)
- NMSHelper#getEntityDamageSound(Entity)
- NMSHelper#getEntityDeathSound(Entity)
- NMSHelper#getSoundByMinecraftName(Entity)
- NMSHelper#getEntityWidth(Entity)
- NMSHelper#getEntityHeight(Entity)
- RemoteArena#getDisplayedAuthors()
- RemoteArena#getDisplayedAuthors(@Nullable CommandSender sender)
- Helper#getBukkitChatColorFromBungee(ChatColor)
- SpawnerDropEvent#getDroppingMaterials()
- SpawnerDropEvent#setDroppingMaterials(ItemStack[])
- Spawner#drop(boolean, ItemStack[])
- Spawner#getNearbyItemsCount()
- Spawner#setMaxNearbyItems(int)
- GameAPI#getUpgrades()
- Upgrade#getMaxLevel()
- #isClone(), #getOriginal(), #clone() to BuyGroup, ShopItem and ShopPage
- ShopItem#setName(String)
- ShopItem#addPriceItem(ItemStack, int)
- ShopItem#addPriceSpawner(DropType, int)
- ShopItem#addProductCommand(String, boolean)
- ShopItem#addProductItem(ItemStack, int)
- ShopItem#addProductSpawner(DropType, int)
- ShopItem#addProductSpecialItem(SpecialItem, int)
- ShopItem#getRestriction()
- ShopItem#setRestriction(ArenaConditionGroup)
- ShopPage#addItem(String, ItemStack)
- ShopPage#removeConnectedItems(ShopItem)
- Deprecated PlayerOpenShopEvent#getPage()
- Added PlayerShopEvent#getClonedPage()
- Fixed:
- Error when using GUI#closeAll()
- Not being able to add null entries to PlayerProperties#setShopHypixelV2QuickBuyItems
- Miscellaneous:
- Team class: Deprecated Spigot ChatColor's and replaced them with new Bungee ChatColor methods
- Deprecated Arena#getQueuedUpgradeTraps(Team) -> moved to UpgradeState class
- Deprecated Arena#addQueuedUpgradeTrap(Team, UpgradeLevel, boolean) -> moved to UpgradeState class
- Arena#save() -> replaced with new methods
- Deprecated ShopOpenCause#DEBUG
- Deprecated UpgradeShopOpenCause#DEBUG
- BuyGroup, ShopItem and ShopPage now extend Cloneable
- Upgrade shop cannot be opened outside a match (Thanks to @MetallicGoat)
- Fix NPE if no arenas are setup and the shop is opened (through command or API) (Thanks to @MetallicGoat)
- Fixed upgrade shop wouldn't open outside a match (through command or API) (Thanks to @MetallicGoat)
- Fixed final kills not being tracked (Thanks to @MetallicGoat)
- PlayerUpgradeTriggerEvent is not being called (in some cases) and PlayerBuyUpgradeEvent is called twice (Thanks to @MetallicGoat)
- Fixed game-breaking bug that allowed to spectate while being ingame
- Fixed error https://cdn.emilinadaniel27.dev/files/1672144495314.png
- Fixed error
- Fixed various bugs related to buygroup downgrading, keep-on-death and one-time-purchase
- Fixed bug with: customchatmessage-message config. Players could use various placeholder when {message} placeholder was used
- Fixed quit player memories would get removed when the player got eliminated but the game hasn't finished + further bugs that came with that
- Fixed arena weather and time not resetting back when the arena hasn't had a match yet and either always-day and no-rain were active
- Fixed that playing players that died and thus became spectators wouldn't get readded as players during end lobby
- Fixed the player amount in the "player join the arena" message would be incorrect if multiple players joined at a very short period of time
- Fixed rare case where the death respawn screen wouldn't disappear (advanced method must be disabled)
- Fixed that NPC could have been seen on the tab on 1.19.3
- Fixed candles are not dyed to the team's color (Thanks to @MetallicGoat)
- Fixed missing action bar for rejoining players
- Fixed NPCs not showing all skin parts on 1.19.3 - 1.19
Added support:
New features:
- Added support for 1.19.3 (Thanks to @MetallicGoat)
Config changes:
- Added Kill-Streak and Top-Kill-Streak stats (Thanks to @MetallicGoat)
Miscellaneous:
- Migrated shop from CM2 to YAML (Thanks to @MetallicGoat)
- Migrated the lobby.cm2 file to lobby-hotbar.yml (Thanks to @MetallicGoat)
- Added new config issue warnings to the shop config file for better QoL (Thanks to @MetallicGoat)
- Improved performance by teleporting players async (if supported by your spigot; 1.14+ and paper required)
- Added Stacked buygroups (a replacement to Tweaks' one-slot-tools feature) to the shop.yml config file (Thanks to @MetallicGoat)
API additions:
- Updated GSON to 2.10
- Made spectators automatically leave the "player spectating mode" when they leave the arena border (because the watched player is e.g. falling into the void)
- Chunks now get loaded before they are being teleported (hotfix for a Spigot bug that causes player to be stuck within blocks)
- Now also showing game stats in "/bw tools playerdata info"
Fixed bugs:
- PlayerPickupDropEvent
- PlayerPropertyChangeEvent
- PlayerStats#set(String key, Number value, boolean dispatchAPIEvent, boolean cacheOnly)
- PlayerStats#add(String key, Number addAmount, boolean dispatchAPIEvent, boolean cacheOnly)
- PlayerProperties#set(String key, String value, boolean dispatchAPIEvent, boolean cacheOnly)
- PlayerProperties#replace(String key, String value, boolean dispatchAPIEvent, boolean cacheOnly)
- PlayerProperties#remove(String key, boolean dispatchAPIEvent, boolean cacheOnly)
- PlayerDataAPI#getStatsByName(String name, Consumer callback)
- Arena#Block[] getBedParts(Team team)
- Arena#Team getTeamByBaseLocation(Location)
- Arena#Team getTeamByBaseLocation(XYZ)
- HologramSkin#getEntityType()
- HologramSkin#getEntityId()
- HologramSkin#getNMSEntity()
- ShopProductType#getId()
- ShopProductType.getById(String)
- ShopPriceType#getId()
- ShopPriceType.getById(String)
- YamlConfigurationDescriptor#addEmptyLine(ConfigurationSection)
- BuyGroup#isStacked()
- BuyGroup#setStacked(boolean)
- Fixed error
- Fixed error https://bin.bloom.host/voguquveli.properties
- Fixed error https://bin.bloom.host/lunaqesewa.properties
- Fixed always kicking player on local server when forcefully switching him using remote API
- Many PlayerStatChangeEvent dispatches when the player stats got loaded
- Fixed super duper rare case of unwanted entities or players being hidden for spectators due to colliding entity ids between worlds
- Fixed that spectators would see a "arena is resetting" message when joining an arena
- Fixed that spectators would experience a glitchy effect when the player they are spectating would die
- Fixed that spectators could get stuck and thus get kicked when they are flying too fast against the border
- Fixed rare ConcurrentModificationException with scoreboards
- Fixed plugin trying to enable even if it failed in the loading period
- Fixed rare CommandExeption error on shutdown if prize commands are enabled (Thanks to @MetallicGoat)
- Fix give on round start/respawn blocks are not able to be placed if not present in the shop (Thanks to @MetallicGoat)
![]()
It is once again time, and we have prepared something prodigious for all of you! I, however, should not put all the honoring on myself. Rather, I am the more impressed with the result @MetallicGoat was able to show off with this update! The rather basic upgrade system has been COMPLETELY rewritten and now features a BUNCH of new exaggerating possibilities, such as the inclusion of completely redesigned layouts and the addition of NormalV2 and HyPixelV2. Furthermore, the configurations file of it is now a lot less complicated as it has been restructured and now also uses YAML as it is format. We also added new upgrades, including a bunch of traps. And as last, we also added a bunch of API classes and methods, allowing the crazy devs to expend the feature-set to even another uncountable level. This is not even it, tons of things have been added, changed, and improved, including the over whole performance and user-friendliness of the plugin. As always, we'd greatly appreciate a donation: https://paypal.me/Marcel1199 The donations are of course being sharedIf that's not an option, and you'd still like to show us your appreciation, we'd be super happy to see feedback in form of a review!![]()
NOTE: Due to massive changes to the upgrades system and the addition of new upgrades, we recommend you to delete the upgrades.yml file to generate a new file with the default files. The old file is generally being migrated automatically, so the plugin will continue working without it. The suggested process is only recommended in case you want to make use of the new features.
Added features:
Miscellaneous:
- Added ability to migrate from SQL and local via /bw tools migrate <sql / local>
- New Magic Milk special item
- New and improved Upgrades Shop:
- New default upgrade handlers (including haste)
- Upgrade Shop trap duration config
- Trap Trigger Queue (One trap only triggered at a time, 10 sec before another can be triggered)
- Auto updater that converts the old config file
- Upgrades with a single repeatable level (for e.g. traps)
- Added HypixelV2 Upgrades layout
- Update Hypixel (Original) and normal upgrades layout
- Added a bunch of new upgrades configsAbility to register custom upgrade handlers through the API
- A bunch of performance & stability improvements
- Ability to register custom upgrade handlers through the API
- Added arena APIs for Team Enchantments and Team Effects
- Tons of further new API and events
Added commands:
- Added (optional) plural names for spawners (supported in shop and upgrade shop)
- Added stats:
- Beds Lost
- Top Winstreak
- Final Deaths
- Added placeholders:
- %mbedwars_playerarena-displayname%
- %mbedwars_stats-top_win_streak%
- %mbedwars_stats-final_deaths%
- %mbedwars_stats-beds_lost%
- Added {playerteam} & {playerteamcolor} placeholders to bed break title
- Removed RecalculateStats_Sure warning before typing /bw tools recalcstats
- Slightly improved regeneration performance by supporting async block placement for beds on paper 1.14+
- Slightly improved performance by using paper's chunk loading for 1.14+ for special blocks
- Downloading player skins in case we failed to obtain it from cache (fixes skulls being steve/alex)
- Added support for remote arenas for PAPI placeholders
- Better formatting of numbers in some PAPI placeholders
- Some PAPI placeholders now don't force the existence of a passed player anymore
- Join-Arena-Signs now also work with remote arenas
Config changes:
- /bw tools playerdata info <player>
- /bw tools playerdata invalidatecache
API additions:
- Added:
- "plural-name" to spawners.yml
- notbuildableradius-dealers
- Ability to set big and small titles in more places, such as in lobby, on death, and game over (located within messages files)
- "lobby-leaveitem-time" Allowing you to add a delay for the leave item during the lobby phase
- "regeneration-region-efficient-beta" New beta system for more efficient region regeneration (disabled by default)
- "block-spreading-enabled: false" Now also causes fire to not burn up/break any blocks
- "death-spectate-at-death-location" Allowing you to enforce one to respawn at their spawn point
Fixed bugs:
- Related to upgrades:
- GameAPI#getUpgradeShopLayouts()
- GameAPI#getUpgradeShopLayout(String)
- GameAPI#registerUpgradeShopLayout(UpgradeShopLayout)
- GameAPI#unregisterUpgradeShopLayout(UpgradeShopLayout)
- GameAPI#UpgradeShopLayout getDefaultUpgradeShopLayout()
- GameAPI#openUpgradeShop(Player)
- GameAPI#openUpgradeShop(Player, Arena, Team, UpgradeShopOpenCause)
- GameAPI#getUpgradeTriggerHandlers()
- GameAPI#getUpgradeTriggerHandler(String)
- GameAPI#registerUpgradeTriggerHandler(UpgradeTriggerHandler)
- unregisterUpgradeTriggerHandler(UpgradeTriggerHandler)
- Arena#getQueuedUpgradeTraps(Team)
- Arena#addQueuedUpgradeTrap(Team, UpgradeLevel, boolean)
- Arena#getTeamBaseOnlyEffects(Team)
- Arena#getTeamPermanentEffects(Team)
- Arena#addTeamEffect(Team, boolean, PotionEffectType, int)
- Arena#removeTeamEffect(Team, PotionEffectType)
- Arena#getTeamEnchantments(Team)
- Arena#addTeamEnchantment(Team, TeamEnchantment)
- Arena#removeTeamEnchantment(Team, TeamEnchantment)
- Arena#canPlayerBypassTrap(Player)
- Arena#isPlayerTrapBypassKeepOnDeath(Player)
- Arena#removePlayerTrapBypass(Player)
- Arena#addPlayerTrapBypass(Player, boolean)
- QuitPlayerMemory#getBypassTraps()
- QuitPlayerMemory#setBypassTraps(boolean)
- Added events:
- UpgradeShopGUIPostProcessEvent
- PlayerBuyUpgradeEvent
- PlayerOpenUpgradeShopEvent
- PlayerTriggerUpgradeEvent
- A bunch of classes to the package de.marcely.bedwars.api.game.upgrade
- ShopPage#removeShopItem(ShopItem)
- ShopPage#addShopItem(ShopItem)
- PlayerOpenShopEvent#getItems()
- PlayerOpenShopEvent#removeShopItem(ShopItem)
- PlayerOpenShopEvent#addShopItem(ShopItem)
- ShopPrice#getDisplayName(@Nullable CommandSender, int)
- ShopPrice#getDisplayName(int)
- DropType#getName(CommandSender, int)
- DropType#getPluralName()
- DropType#getPluralName(CommandSender)
- DropType#getConfigPluralName()
- DropType#setConfigPluralName(String)
- SpecialItemType#MAGIC_MILK
- DefaultPlayerStatSet#TOP_WIN_STREAK
- DefaultPlayerStatSet#FINAL_DEATHS
- DefaultPlayerStatSet#BEDS_LOST
- GUI#addCloseListener(Consumer<Player>)
- GUI#removeCloseListener(Consumer<Player>)
- GUI#getCloseListeners()
- PlayerDataAPI#fetchAllStoredUUIDs()
- MigrationProcess.Origin#LOCAL
- MigrationProcess.Origin#SQL
- SpecialBlock#asBukkitAsync(Consumer<Block>)
- Fixed despawned items count toward spawner max
- Fixed lobby world not being moved to new one with cloned regions
- Fixed possible errors with selectors in case the filter filtered all arenas
- Public chat detection now has less problems with color codes
- Fixed lobby auto-shorten countdown not working properly
- Fixed cant add lobbyitems without handlers
- Lobby item should teleport after Bukkit event finishes (semi-bug, caused lobby plugins to be used immediately after being teleported)
- Fixed spectators cannot hear bed breakage
- Spectators could have seen messages from players who aren't playing with "chat-others-unvisible" enabled
- Fixed teleporter special item dupe
- Possibly fixed death message not showing if config 'die-in-void' set is set to true
- Fixed ArenaPlayer PAPI placeholders not being parsed for spectators
- Arena#getItemsGivenOnSpawn throwing NPE if player is not in an arena
- Minishop NPE https://bin.bloom.host/codajehego.md
- Fixed possible lag spikes occurred of chunks being loaded for region arenas that were on 1.13 or older
- Fixed bedwars:next_round spectator item causing players to be sent to the hub when using the ProxySync addon
- Players don't re-spawn where they are supposed to if there is carpet
- Fixed not detecting netherite tools properly
- Fixed PlayerStatChangeEvent not being called
- Fixed server possibly crashing when TNT with no yield was spawned during the match
- Fixed NPE https://bin.bloom.host/tihedoheva.md
- Fixed rare chance of the arena cloning manager causing to deleting old world folders while the world is still loaded
- Fixed always being able to break all "rescueplatform-material" (slime) blocks of the arena
- Fixed "eachteam-sortation" not working
Miscellaneous:
Fixed bug;
- Decreased SQL connection timeout from 30s to max 10s
- Reload message improvements (reload start message gets displayed immediately, time it took is now more correct)
- Improved arena condition parser
- Fixed String arena picker conditions causing errors
This is a minor update that fixes a bug which caused a few important features to break.![]()
Fixed bug:
- Fixed error
This update is (once again ) super massive. We'd greatly appreciate a donation, as all our updates are completely free, even though we are spending so much man power and time with each. This is surely not a requirement, you may also simply download and enjoy it without any further thoughts. If you don't have the financial possibilities but still would like to express us your enjoyment, then we'd greatly appreciate a review as well ❤![]()
Added features:
Feature changes:
- Added auto cloning
- With this, you are now able to scale this plugin to any size, literally. Automatically. And the best thing? It's super easy to configure. Simply toggle a single config (auto-cloning-enabled), and you are ready to go. With that, the plugin is automatically cloning your existing arenas to an infinite amount. Afraid that your server gets filled quickly? Then you might want to use our ProxySync addon and offload all players to separate servers.
- For arena pickers:
- Add support for < > <= and >= for strings in arena pickers. Used for checking whether it starts or ends with something
- New variables for arena pickers: regeneration_type and server_channel_name
- Added %best_prefer_running% arena selector
- Added PlaceholderAPI support to the ArenaGUI system
- Added Ukrainian language (Thanks to Aladin)
Added / improved support:
- Updated config "death-skipscreen-advanced" (finally out of beta
)![]()
- It now only supports 1.15+ (due to technical limitations :/ )
- Enabled by default now
- Works properly now without bugs
Config changes:
- ASWM 2.8+
- MC 1.19.1 & 1.19.2 (Thanks to MetallicGoat)
Miscellaneous:
- Added:
- auto-cloning-enabled
- auto-cloning-lobby-arenas-count
- auto-cloning-max-per-arena
- auto-cloning-world-prefix
- teamchest-block
- "close-inventory" config to "executecommand-button" element in arenasgui layouts
- fireball-add-knockback-y
- explosive-add-knockback-y
- invisibility-hides-armor-extra-particles-count (invisibility effect now spawns more particles)
- effects-given-on-trap-trigger (change effects on trap trigger) (Thanks to MetallicGoat)
- traps-resistant-to-explosions (disable that explosives can destroy traps) (Thanks to MetallicGoat)
- "fireball-fly-straight: false" now also works for 1.16+
- Improved buy group system:
- Fixed various bugs
- Players now receive items with items at buy group level 0 and without keep-on-death
- Whenever dying, the new buy group level is being chosen by the next lowest item that has keep-on-death enabled. Before, it'd always reset back to 0 in case there was no item with keep-on-death
- Replaced monsterspawning-enabled with natural-mob-spawning-enabled and natural-mob-spawning-reasons-whitelist
API changes:
- Don't track damage info for longer than 15 seconds. This fixes a case where if you were in a fight recently and died due to e.g. void later on, it would still say that you were in a fight with the person
- With "endlobby-tptolobby" disabled, players now get teleported to his team spawn when falling into void during the endlobby phase
- Auto-renaming for picked up items is now only being performed in case they don't already have a name
- Added * selector for /bw arena setenabled
- Fireball & TNT jumping velocity strength is now static and not dynamic (Thanks to MetallicGoat)
Fixed bugs:
- Added:
- ConfigsLoadEvent#isStartup()
- Arena#formatItemStack(ItemStack, Player, team)
- Arena#getItemsGivenOnSpawn(Player, Team, boolean, boolean)
- GameAPI#getDropTypeById(String)
- GameAPI#sendToHub(Player)
- GameAPI#sendToHub(Player, boolean)
- VarParticle.newDyedMobSpell(Color)
- VarParticle.PARTICLE_POTION_INVISIBILITY
- QuitPlayerMemory#getPlayTime()
- QuitPlayerMemory#setPlayTime(long)
- Thanks to MetallicGoat for the following additions:
- Arena#getItemsGivenOnSpawn(Player, Team, boolean, boolean)
- Arena#formatItemStack(ItemStack, Player, Team)
- ShopGUIPostProcessEvent#getPage()
- RoundStartEvent#isGivingItems()
- RoundStartEvent#setGivingItems(boolean)
- PlayerIngameRespawnEvent#isGivingItems()
- PlayerIngameRespawnEvent#isGivingEffects()
- PlayerIngameRespawnEvent#setGivingItems(boolean)
- PlayerIngameRespawnEvent#setGivingEffects(boolean)
- Helper#setPlayerArmor(Player, ItemStack, boolean)
- Helper#givePlayerItem(Player, ItemStack)
- HologramEntity#getSavingLocation()
- HologramEntity#teleport(Location, boolean)
- The default configurations now match the TNT & fireball jumping of HyPixel
- VarParticle#newRandomizedDyedSwirl(int, double) is marked as deprecated
- Fixed that with BuyGroup#getItems() the items would be twice in the List
- ArenaBedBreakEvent#getBedLocation() new returns ImmutableLocation (does not break anything)
- PlayerAddBedEvent#getLocation() now returns ImmutableLocation (does not break anything)
- ImmutableLocation#clone() now returns ImmutableLocation instead of a Location (the given object was also a ImmutableLocation in the past, meaning nothing breaks by it)
- Added ImmutableLocation#cloneMutable()
- Fixed arena renaming would break arena blocks
- Fixed error in console when using /bw arena tp for an arena that does not exist
- Fixed possible console error spam when reloading
- Fixed error with bedwars1058 migration
- Fixed being sent twice to hub when leaving arena
- Fixed fireball jumping not working
- Fixed broken lights for region arenas in 1.18+
- Fixes for few specific scoreboard plugins: Game scoreboard now gets removed before the player leaves (would cause the new scoreboard to get replaced)
- Fixed the time the player has been waiting within the lobby got included within the play time statistic
- Fixed that the play time would reset every time somebody rejoined
- Fixed rejoining would not store buy groups & already bought items
- Fixed /bw arena saveblocks * not working
- Fixed not having any effect when disable "spectating" (config.cm2)
- Collected trap blocks don't stack with 'new' trap blocks
- Fixed buggy behavior when trying to leave using /bw leave while being within death spectating mode
- Fixed rare error
- Fixed that fireball was always super fast on 1.15 and older whenever fireball-fly-speed was set to anything else other than 1.0
- Villagers disappear after player death, and then reappear after a second death/respawn
- Fixed possible NPE error when using CloudNetV3
Config changes:
Miscellaneous:
- Added {message} and {name} placeholders to "customchatmessage-message" config
- Added the config "addcommand" to the lobby and "add-commands" to the spectator configs (thanks to MetallicGoat)
Fixed bugs:
- Added support for all UTF-8 characters for arenasgui statue
- Added support for netherite tools (when e.g. upgrading swords or armor) (Thanks to MetallicGoat)
- Fixed pressure plate traps broken since 5.0.9
- Fixed not displaying local arenas when there are no remote arenas
- Fixed dyeable materials possibly disappearing in HyPixelV2 shop layout for 1.13+
- Fixed error when trying to attack a hologram in 1.19
- Fixed upgrades shop generating using legacy spawner format
- Fixed typo "Looser" (should be "Loser")
- Fixed glitchy behavior when getting ridden by somebody / riding a vehicle and joining an arena
- Hotfix for rare case of villagers disappearing
We get it, advertisements are annoying!
Sure, ad-blocking software does a great job at blocking ads, but it also blocks useful features of our website. For the best site experience please disable your AdBlocker.