Added support:![]()
Improved support:
- MC 1.21.4 (Thanks to MetallicGoat )
Added feature:
- SWM: Support was added for its async world generation. It must be enabled in its configs - ASWM doesn't have that
Config changes:
- Added double jumping to fireballs (disabled by default)
- Added per-arena weather and time properties (found in arenas GUI, thanks to MetallicGoat )
- Backported enderpearl tp sound from 1.20.3 to older versions
- Similar (~) comparator to arena pickers
Performance improvements:
- Added:
- "custom-handler-config" to spawners
- Custom spawner handlers added using the API may now also hold custom configs
- customchatmessage-message-lobby
- fireball-air-jump
- fireball-air-jump-ticks
- fireball-multiplier-knockback-enemy
- fireball-multiplier-damage-enemies
- explosion-destroys-items
- redye-blocks-onpickup (Thanks to MetallicGoat )
- "auto-clone-mode-types" now allows more concrete definition for modes per arena type instead of enforcing the same ones for all arenas (Thanks to MetallicGoat )
- Note that existing configuration for that one will be overridden
- Use '[ ]' as the key if you want to retain it as before
Improvements:
- SQL storage: Improved efficiency by when fetching leaderboard entries
- Greatly improved performance of spawner's nearby items lookup logic
- Spawners with merging disabled: Reduced max dropped count from 50 to 20, until merging kicks in. Improves FPS while looking similar stacked
API changes:
- In case it is not possible to unload a world, it is now tried to identify which plugin is causing it
- It is no longer possible to set hub positions inside arenas
- Added new arena issue in case the match world is not loaded, which replaces the old confusing "missing world" warning for this scenario
- Better handle regeneration attempts in case the match worlds have been unloaded
- Setup gui: GUI title now contains arena name
- Added various sounds to setup tool
- Reduced amount of garbage that gets stored within database
- Explosives no longer destroy dropped items
- Removed delay until holograms (dealers etc) appear
- 1.20.5: Show (max/min) player info beyond 16 (max stack size) and up to 99 in arena configuration gui
- HypixelV2 shop item names now green when purchasable (Thanks to MetallicGoat )
- Spawners now drop once on round start (Thanks to MetallicGoat )
- Removed ranking.cfg and moved it to the new world holo system
- Added warning with solution if "regeneration-region-efficient" is active, yet the match format has a problem whereby certain chunks wouldn't get properly generated
- lobbybreak-enabled is no longer a requirement for movement of lobbys for cloned arenas
Fixed bugs:
- Breaking changes:
- Removed various API that were marked as deprecated
- RemotePlayer#getLoginTime() now returns Instant instead of long
- ConfigsLoadEvent#getTime() now returns Duration instead of long
- Replaced PlayerDamageInfo#MAX_AGE_MS (long) with PlayerDamageInfo#MAX_AGE (Duration)
- Replaced duration parameters of MigrationProcess.Callback methods with Duration instead of long
- Marked certain methods as deprecated that might break when Spigot releases their ItemType and BlockType API
- Added Javadoc for all packages (Thanks to MetallicGoat )
- Added:
- ArenaWinningDetermineEvent (Thanks to MetallicGoat )
- SpectatorKickReason#SERVER_DISCONNECT (Thanks to MetallicGoat )
- KickReason#SERVER_DISCONNECT (Thanks to MetallicGoat )
- KickReason#TELEPORT (Thanks to MetallicGoat )
- KickReason#isRejoinPermitted() (Thanks to MetallicGoat )
- ThrowingBiConsumer class
- ExecutionChain class
- PlayerStats#setReadOnly(boolean)
- PlayerAchievements#setReadOnly(boolean)
- PlayerProperties#setReadOnly(boolean)
- PlayerDataAPI#getUUIDByName(username, callback)
- LazyReference.of(Supplier)
- LazyReference#clear()
- Spawner#getDroppedItems()
- PlayerUseSpecialItemFireballEvent#getAutoIgnitionTicks()
- PlayerUseSpecialItemFireballEvent#setAutoIgnitionTicks(ticks)
- TeamSelectorController
- ArenasGUIController
- RankingStatueController
- HologramControllerType.RANKING_STATUE
- LazyReference now implements Supplier
- Fixed various bugs related to buying with custom drop types
- Fixed broken anvil GUI on 1.21.2 and 1.21.3 (Thanks to MetallicGoat )
- Fixed memory leak related to new player meta system
- Fixed potential error when stopping server while in arena editor GUI (Thanks to MetallicGoat )
- Fixed Setup hotbar not being reset to normal after server restart or reload (Thanks to MetallicGoat )
- Fixed amount of missing materials in message being broken when buying items
- Fixed very rare "PROCEDURE * already exists error", when starting multiple servers at the exact same time that use SQL
- Fixed shop items with custom id's break on reload. Also fixes duplicate shop items stored in memory on reload (Thanks to MetallicGoat )
- BW1058 migration: Don't freeze thread if it fails to sync stats/props of a player for 15 seconds
- Fixed saving a world arena in the main world show "FAILED_WORLDPLAYERS" instead of "FAILED_IS_MAIN_WORLD" as the error
- Fixed world potentially not unloading correctly as players are not getting teleported away accordingly
- Fixed world regenerating warning about players in world and thereby not working, in case the hub chunks didn't get loaded in time
- Fixed exact casing of arena being expected within /bw join
- Fixed cancelling lobby countdown at exact min players amount and not one below
- Fixed not being possible to migrate from bw1058 to sql/mongodb
- Fixed console error when setup gui was open while stopping the server
- Fixed guard dog damage multiplier config being broken (Thanks to MetallicGoat )
- Fixed rare error when player gets teleported immediately after he joins the server on paper (Thanks to MetallicGoat )
- Fixed errors with TNT sheep and mini shop on 1.21.3+
- Fixed player items getting deleted when entering end-lobby as a spectator (Thanks to MetallicGoat )
- Fixed interference with plugins causing spawn packets reordering using ProtocolLib, whereby NPCs wouldn't spawn at all
- SQL storage: Fixed potentially not loading stats properly of last entry in leaderboard
- Fixed potential error if an arena was removed while ArenasGUI was open
- Fixed /bw tools playerdata stats <modify> not working for all players in the network
- Fixed modifying knockback&explosive damage even if not inside a match
- Fixed escaping errors if % was used in custom chat format
- Fixed guard dog target not cleared after player death
- Fixed breaking various "unusual items" items with "unusual-blockdrops-handling" causing IllegalArgumentExeption (Thanks to MetallicGoat )
- Fixed spigot bug that would cause spectators to pick up items when leaving the server
- Fixed spectators not seeing rejoining players with tab-removeplayers enabled
- Fixed splash potion material not being usable for 1.8.8
- Fixed no sound being played when buying item if no message has been configured for the given situation (Thanks to MetallicGoat )
Added support:
Config changes:
- 1.21.2 and 1.21.3 (Thanks to MetallicGoat )
Improved arena picker:
- Added "hanging-interactable"
- Added "id" config to shop items
- Added configs to change default quickbuy items to shop layout properties (Thanks to MetallicGoat )
- quickbuy-generate-automatic
- quickbuy-default-items
- spawners.yml: "spawner-delay" may now be a mathematical expression, allowing different spawner delays for different modes
Improved performance:
- The parser for conditions has been completely rewritten
- It is now possible to escape " characters using \\" in strings
- It is now possible to use variables and static values on both left and right side
- The new parser is more user friendly and will e.g. automatically add missing brackets
- The new parser has new errors which now specifically tell you at which position the error is
Improvements:
- Improved performance when trying to obtain the team given by its bed location
API changes:
- It is no longer possible to interact/break with hanging entities (unless disabled)
- Added "remaining_slots" arena picker variable
- Joining an arena now also tries to make sure that all party members fit in
- Added %mbedwars_activity% PAPI placeholder
Fixed bugs:
- Fixed:
- Fixed ServerInfoDto being wrong in javadocs
- Fixed products that were added using the API being buggy compared to those that were configured
- Fixed wrongful "shopItem must be cloned using ShopItem#clone()" error when using ShopPage#addItem(ShopItem
- Fixed LobbyCountdown events are not being called (Thanks to MetallicGoat )
- Added:
- LazyReference class
- Arena#getBedPartsAsync(team, callback)
- Arena#getTeamByBedBlock(loc)
- Arena#getTeamByBedBlock(block)
- Improvements related to shop item API:
- Added ShopItem#getId()
- Added ShopItem#isIdAutogenerated()
- Added GameAPI#getShopItems()
- Added GameAPI#getShopItemById(String)
- Spawner drop duration may now be a formula:
- Deprecated DropType#getDropDuration()
- Added DropType#getDropDuration(Arena)
- Added DropType#getDropDurationFormula()
- Added DropType#setDropDurationFormula()
- Improvements to arena pickers: (Breaking!)
- Removed ArenaConditionComparative#getVariable()
- Removed ArenaConditionComparative#getValidatingValue()
- Removed ArenaConditionComparative#getRightInput()
- Added Removed ArenaConditionComparative#getLeftInput()
- Added ArenaConditionInput class
- Added ArenaConditionParseException#getPosition()
- Added ArenaConditionGroup#serialize(isRoot)
- Added ArenaPicker#serialize()
- Fixed various issues (no lobby items etc) when PaperMC is not used
- Fixed buildable check being reverted for rescue platform and bridge
- Fixed broken {arena} placeholder when "world doesn't exist" issue is being sent in chat
- Fixed world auto-load if multiple region arenas share the same one
- Fixed arena never starting when the max players decreases to less than min players with cloning arenas
- 1.16+: No longer store player attributes that aren't declared as permanent to avoid unexpected bugs
- Fixed "NoSuchFieldError CraftMagicNumbers" error when running 1.21.1 paper
- Fixed explosives exploding and destroying map if ignited right before match ends (Thanks to MetallicGoat )
- Fixed fetching broken leaderboard data if targeting an offset of 1 or greater with MySQL as storage type
- Fixed stat set values potentially never getting updated with MySQL and MongoDB and thereby e.g. rankings for WL and WL not working with the leaderboards addon
- Fixed explosives not being able to destroy beds with certain configurations. Configs that could cause it:
- explosion-canbreakblocks set to false
- explosion-canbreakblocks-breakby-player set to true
- bed being a part of explosion-blocks-blacklist
- Fixed support for latest iteration of ASWM
NEW: Set-up arenas using your hotbar and avoid clicking in the GUI. Drastically improves your efficiency!Added feature:
![]()
![]()
Config changes:
- Setup Tool
- Obtain by either clicking on its button within /bw arena setupgui
- Or use command: /bw arena setuptool
Improvements:
- Added:
- "gui-titles-by-page" to shop layout properties
- Last remaining .cm2 config files that were for holo lines got merged into a single "hologram-lines.yml"
- With that comes the migration to the new file format, which happens automatically
- Thank you, MetallicGoat
API changes:
- Spawner visibility mode no longer flickers all holograms for any change
- Play time now gets updated accordingly whenever you do /bw stats
- Added ability to buy a item to a given hotbar slot by clicking on a keyboard number while hovering over the item
- Shops opened with the mini shop now close once its time elapses
- NPCs no longer have a mini name-tag
- Parsing arena picker now clearly states if a selector is missing (Thanks to MetallicGoat )
- Added off-hand support for teleporter special item
- Teleporter special item counter no longer relies on the performance of the server (previously, more lag would mean that it takes longer)
Fixed bugs:
- Fixed never calling AsyncArenaCloneQueueEvent
- Added:
- (Optionally replacable) ClickListener#onNumClick(player, number)
- PlayerBuyInShopEvent#getTargetInvSlot()
- ShopProduct#give(player, team, arena, multiplier, targetInvSlot)
- ClickListener.Proxy class
- PlayerUseSpecialItemEvent#isOffHand()
- TeamEnchantment.Target.MACE (Thanks to MetallicGoat )
- Revamped custom spawner handlers (Breaking changes!)
- Now called CustomDropTypeHandler
- Handlers may now also implement shop capabilities (More flexible and easier to implement)
- Deprecated DropType#getHoldingAmount(ItemStack[]) as this method doesn't support custom handlers
- Added PlayerShopProductGivingDetermineEvent#getCallingDropTypeHandler()
- Added PlayerShopProductGivingDetermineEvent#setCallingDropTypeHandler(handler)
- PlayerModifyBlockPermissionEvent may now also get called for other occasions
- Occasions include e.g. usage of special items (bridge, rescue platform)
- #getBukkitEvent() is now Nullable
- Fixed error when a party member rejoined
- Fixed counter for "spent 200 items in shop" resets when rejoining
- Fixed broken lore in HyPixelV2 shop if quickbuy was disabled
- Fixed various bugs related to async teleportation on PaperMC
- Fixed a rare bug that leads to not being able to join arenas when regenerating worlds on 1.13+ due to chunks loading indefinitely
- Fixed not being able to teleport into a voting arena due to it apparently missing a game world
- Fixed rescue platform being able to place blocks where it isn't supposed to
- Fixed duplication bugs with teleporter special item
- Fixed teleporter special item counter continuing running even after death
Configuration changes:
Performance improvements:
- Moved "dealer-title-gui" and "upgradedealer-title-gui" to the layout properties file. You might have to reconfigure them
- Added global properties in shop-layouts-properties.yml
- gui-title
- gui-title-as-page (regular shop only)
Improvements:
- World storage of cloned arenas is now memory-only
- Greatly improved performance of MongoDB support
API changes:
- Don't show PaF Extended Bungee "received no info" warning if it timed out because of the player leaving
- Colors in HiveMC shop layout are not random anymore
Fixed bugs:
- Added
- ShopLayoutHandler.OpenEvent#getSituationalGUITitle()
- ShopLayoutHandler.OpenEvent#isGUITitleAsShopPage()
- AsyncArenaCloneQueueEvent
- QueuedCloningArena#getCallbacks()
- QueuedCloningArena#addCallback(callback)
- QuitPlayerMemory#setSoloRejoinTask(scheduler)
- QuitPlayerMemory#getShopResourcesSpentAmount()
- QuitPlayerMemory#setShopResourcesSpentAmount(amount)
- NMSHelper#getEffectInfiniteDuration()
- ArenaLobbyCountdownStartEvent
- ArenaLobbyCountdownCancelEvent
- Deprecated
- ShopLayoutHandler.OpenEvent#getDefaultGUITitle()
- QueuedCloningArena#getCallback()
- Fixed PlayerDataAPI#purge... methods not returning true with SQL, even if it was successful
- Fixed last killed players not being a part of RoundEndEvent#getQuitLosers()
- Fixed not being able to use condition variables within "set-icon-when" in arenas GUI that were custom created by addons
- Fixed CME related to ProxySync's arena updates and setup gui
- Fixed rare NoSuchFileException
- Fixed spectators being able to trigger traps
- Potentially fix PaperMC's bug of players seeing empty chunks due to async tp
- Fixed displaying time instead of infinity symbol for potion effects on 1.21
- Fixed NPE for MongoDB when using /bw stats with an invalid name
- Fixed not being able to fetch positions greater than 10 from the leaderboard (related to Leaderboards addon)
- Fixed potentially being able to buy twice while paying only once in upgrade shop by clicking very fast
- Fixed potentially re-opening shops even though they were already closed
- Fixed "Arena is not in the lobby phase" error when moving spectators to players during endlobby
Support:
Added sound:
- Updated MongoDB driver from V4 to V5
Added config:
- villagershop-click-page
Performance improvements:
- minishop-existence-time
Improvement:
- Greatly improved efficiency of lobbybreak algorithm
- Lobbybreak task is now spread across multiple ticks to avoid lag spikes
API changes:
- Reverted SWM change where the original .slime was used for saving the blocks instead of its current loaded state
- It is now possibly to specify a custom lore for spawner item drops (it no longer gets removed)
Fixed bugs:
- Spectator#getEnterTime() now returns Instant instead of long (method rarely used, though)
- Added
- Spectator#getReleaseTime()
- PlayerOpenArenaChestEvent#isPrivateChest()
- ArenaUnloadEvent
- Fixed spectating being glitchy if entered due to match loss
- Fixed various "cannot cast Long to Integer" errors
- Fixed persistent storage only getting loaded if SWM was configured
- Fixed "Cannot get ordinal of hex color" error when configured custom team colors while player-color config was enabled
- Fixed NoSuchMethodException for some 1.20.* versions when player died
- Fixed NoSuchMethodException with older ASWM when saving blocks
- Fixed auto cloning being broken
- Fixed auto cloning creating trash file when using SWM
- Fixed missing team chest sounds for 1.8.8
- Fixed "NoSuchFieldException: c" error when spectating on versions 1.9 - 1.11
- Fixed typo in config fireball-max-knokback-y
- Fixed being able to break beds during death spectate using cheats
- Fixed rare error spam when using arenas gui together with ProxySync addon due to concurrency
Added support:
Added feature:
- 1.21.1 PaperMC
- AdvancedSlimePaper V3 (1.21 beta release)
Config changes:
- Auto detect teams based on map blocks when creating an arena (Thanks to MetallicGoat )
Improvements:
- Added
- Added diein-boundary-y-level (Thanks to MetallicGoat )
- Added shop layout properties (for "HypixelV2"):
- quickbuy-icon
- seperator-material-inactive
- seperator-material-active
- Removed (redundant):
- spectator-joinmessage config
- Replaced diein-* configs with a single enum config "diein-boundary-method"
Performance improvements:
- Last eliminated player is now spectating in end lobby phase as well (Thanks to MetallicGoat )
- Improved room for maneuver when custom GUIs are open
- It is no longer possible to double-click in the player's inventory to interact with the open GUI
- It is now possible to drag items, merge items by double clicking and drop items
- It is now possible to only display the text of a spawner holo by setting its block to AIR
- SWM/Plugins may no longer delete slime worlds handled and stored within MBedwars
- Stats placeholders: Async (on non-main thread) fetchings now wait up to 50ms to load stats before showing the "Loading..." message
API additions:
- Improved performance and removed potential memory leaks by avoiding usage of Bukkit's metadata system
- Greatly improved performance of message parser by using custom implementation instead of regex
- Greatly improved performance of internal method to fetch all spectators of an arena
Fixed bugs:
- PlayerProperties#isReadOnly()
- PlayerStats#isReadOnly()
- PlayerAchievements#isReadOnly()
- ThrowingRunnable class
- Arena#broadcast(VarSound)
- PlayerAchievement#isEnabled()
- PlayerAchievement#setEnabled(boolean)
- Fixed not saving newly configured properties and world file from SWM when saving blocks
- Fixed resetting player data when there was an error on load
- Fixed very rare "PROCEDURE * does not exist" error on a multi-server setup while using SQL
- Fixed potential NPE when guard dogs get damaged from an unknown source
- Fixed potential "Plugin (MBedwars) cannot be disabled" error on server stop and hidden players on 1.13+
- Fixed empty space before messages if no prefix was configured
- Fixed spectators not seeing certain messages, titles etc.
- Fixed serialized NBT string-lists got corrupted on 1.11 and older (only case known is when migrating from an old shop format to a new one that contains Lore within its items)
- Fixed player NPCs not working on 1.19.3 and 1.19.4
- Fixed anvil GUI not opening on 1.21
- Fixed regeneration process not starting again after a reload or server stop
- Fixed arena sometimes either stopping or not restarting regeneration after server start
Config changes:
Improvements:
- Added:
- dealer-left-click-openshop (Thanks to MetallicGoat )
- Replaced "enforce-old-shop" for Rewinside within the shop layouts properties config with "shop-variant" that permits more customizability
Fixed bugs:
- Muted SLF4J warnings when using SQL or MongoDB
- Made it possible to shift-multi-buy within "HypixelV2" shop layout if quick buy has been disabled
- Fixed errors on start when using MySQL instead of MariaDB
- Fixed server lockages not being freed on storage service shutdown causing longer wait times when players join again
- Fixed server lockage with MongoDB freeing all servers on storage service shutdown
- Fixed spectators potentially not being teleported to hub
Important info: Start time might take a bit in case you are running a large server together while using SQL. This is due slight restructuring in the database to improve the efficiency of certain requests. Do not stop the server, just wait until things work again. It is doing everything automatically. You will notice that it is still processing due to temporary load on the database and that stats, shops etc. don't work. This is a one-time thing, you won't have to do this again in the future.
Added features:
Added configs:
- /mbedwars locateplayer command (Thanks to MetallicGoat )
- See what a player is doing, in which arena he is active in and what the progress of the arena is. Also allows you to easily teleport yourself to him
- Disable teleport GUI during death spectate (Thanks to MetallicGoat )
- You may now customize the TNT explosion radius (which was already possible for fireball etc., but forgotten for TNT)
- You may now require players to have enough space in their inventory for purchases instead getting the excess dropped on the floor (Thanks to MetallicGoat )
Added permission:
- spectator-tp-gui-visible-on-death-spectate (Thanks to MetallicGoat )
- spectator-restricted-by-border
- tnt-yield
Feature improvements:
- mbedwars.cmd.locateplayer
Performance improvements:
- HypixelV2 shop layout now displays what level of upgrade a team currently has in the ItemStack (Thanks to MetallicGoat )
- Auto hide leave item if match is about to start (time is less than lobby-leaveitem-time)
- "/bw arena info" changes
- Now also displays the amount of spectators (only shown if the current status can even carry spectators)
- It is now possible to hover over the player amount to see them all
- Shows the amount of players that have quit during a running match
- Fireballs can no longer shoot somebody down
- Added new subtitle message when a bed has been destroyed without a destroyed (e.g. team left)
- Added new messages in case the team left and when the team left and didn't rejoin in time
Misc. improvements:
- Improved performance when puring players with LOCAL storage
- No longer create copies for cloned arenas on drive. Do it all memory only
- Improved efficiency of resetting player's inventory
- Improved efficiency of messages by parsing them when loading the messages file instead of when they are sent
- Slightly optimized queries for saving player data on SQL
- Greatly improved performance with MariaDB by utilizing efficient algorithms (were only supported by MySQL in the past)
- Greatly optimized player uuid fetching from their username (SQL)
API changes:
- New arenas file system format
- Added warning when using any kind of explosives and if the world's difficulty is set to peaceful (explosives won't cause any damage)
- Improvements to gamemode interference avoider
- Player placements now respects falling blocks (sand, scaffolding, ...)
- Admins no longer bypass "kick-outofarena" when switching between worlds. Only if they stay within the arena
- Revive player on auto join to avoid getting stuck in bugged condition
- Player can't interact or die anymore while teleporting to spawn in case it takes a bit longer
- Properly adjust light/dark green and gray colors in "HyPixel" template
- Shop configs: Materials for either price or product no longer include the amount with the material config, as there is a seperate config for it
- Added support for plugin tickets for 1.13+ for hiding players to improve compatibility with other plugins
Fixed bugs:
- Added:
- PlayerDataAPI#purgeAllPlayerData(statSetIds, achievements, properties, cacheOnly, callback)
- RemoteAPI#getImplementedAPIVersion()
- ShopLayoutHandler.OpenEvent#getArena()
- UpgradeShopLayoutHandler.OpenEvent#getArena()
- RemoteAPI#saveAllPlayerData(stats, properties, achievements, callback)
- KickReason.PLUGIN_STOP
- KickSpectatorReason.PLUGIN_STOP
- AddPlayerIssue#BROKEN_LOBBY
- CommandSenderWrapper#sendMessage(BaseComponent...)
- IntXYZ class
- Arena#isInside(IntXYZ)
- Arena#getSpawnersAtLocation(IntXYZ)
- PlayerTeleportHubEvent#setCustomImplementationCallback(callback)
- PlayerTeleportHubEvent#getCustomImplementationCallback()
- ArenaVotingPoolUpdateEvent#getMaxPoolSize()
- ArenaVotingPoolUpdateEvent#getPotentialPool()
- BedDestructionInfo.Cause enum
- BedDestructionInfo#setCause(cause)
- BedDestructionInfo#getCause()
- ArenaBedBreakEvent#getCause()
- PlayerBuyInShopEvent.DefaultProblem.NO_INVENTORY_SPACE
- Fixed various broken javadoc descriptions
- AddItemCondition#TYPE_XX are no longer public
- AddItemCondition constructor is no longer public
- Fixed calling ArenaStatusChangeEvent in some cases where the arena didn't even exist yet
- Fixed AccessDeniedException when there's a queue of tasks trying to safely write a file
- Fixed arena cloning not working after /bw rl
- Fixed spectators could trigger traps (Thanks to MetallicGoat )
- Fixed bug with "lobby-leaveitem-time": Able to leave even when the match already started
- Fixed rare NPE when stopping/reloading running arenas doing race condition with region regenerator async file loading
- Fixed running arenas being stopped with /bw rl
- Fixed custom entity speeds to be twice as fast on 1.8-1.13 than on 1.14+ (causing e.g. the TNT sheep to be OP in these versions)
- Fixed mbedwars.specialitem.x permission being reverted
- Fixed spectators being able to enter non-spectator game modes
- Fixed potential NPE when using the change speed item in spectating while having a speed that isn't in the config
- Fixed a bug with assuming the version release number from a player's protocol version
- Fixed potential conflicts with inventory plugins due to async teleportation
- Fixed memory leak related to spectators when teleporting elsewhere during an active async teleportation task
- Fixed potential "x not finite" error with Fireballs on 1.21
- Fixed wrong fireball amplitute calculation across all versions
- Fixed adding natural emerlad spawners to team bases with migrations from bw1058
- Fixed errors during runtime if a buygroup was added to the "stacked-buygroups" but didn't have any items assigned to it
- Fixed players being able to leave arenas using ender pearls
- Fixed spectator's not being in right game mode when dying (which doesn't happen unless purposefully typing /suicide)
- Fixed not properly parsing 1.20.5+ items if they have an amount included but no data components
- Fixed bed rotation being something wrong when migrating from bw1058 (due it having a weird logic to identify beds)
- Fixed being able to damage guard dog / iron golem using projectiles i.a. arrows
- Fixed picked up arrows not stacking for 1.15 and older
