⭕ Marcely's Bedwars ⭕ Supports 1.8 - 1.21 ⭐⭐⭐⭐⭐ EST. 2015

VIP Plugins ⭕ Marcely's Bedwars ⭕ Supports 1.8 - 1.21 ⭐⭐⭐⭐⭐ EST. 2015

Version: 5.5.8
[IMG]
Added support:
  • Paper 26.1
  • 26.2
  • Mini messages for text messages (1.21.9+ paper only)
Added features:
  • It is now possible to have animations within scoreboards (see wiki)
  • Locator bar is now disabled by default (1.21.6+) for players in a match
  • Now using paper's AsyncChatEvent over AsyncPlayerChatEvent, if supported (paper only, 1.16.5+)
Improved party support:
  • Party members (non-leaders) are no longer able to use the "next round" item at all
  • Party leaders may now only use the "next round" item in case there is no member actively participating
Configs:
  • Added
    • hologram-enforce-armorstand
      • to disable display entities for holograms (1.19.4+ only)
    • hologram-title-vertical-spacings-spawner
    • hubcommands-permit-rejoin
    • bed-hologram-message-enemy
    • scoreboard-refreshrate
    • disable-locator-bar
  • Change
    • lobby-countdowntitles
      • now properly supports subtitles, and now also allows you to display titles when the countdown starts or stops
Performance improvements:
  • Added support for async tp on 1.12 or older if the fork has backported it (such as carbon spigot)
  • Avoiding storage waste by no longer saving quick buy even if nothing has changed
  • Improved efficiency of quick buy by attempting to cache the default generation
  • Optimized sql queries
  • Greatly improved SQL performance by reducing the amount of work the DBMS has to process for saving player data
  • Now using virtual threads, if supported (Java 24+ only). Improves CPU usage and causes various processes feel more snappy
  • Improved scoreboard render performance by utilizing lazy caching of rows and reducing general complexity
  • Avoid IO on main thread when saving inventory backups of players
General improvements:
  • Confirmation for reload is now needed if there are running matches
  • Added warning if no-rain or always-day affect weather or rain type
  • Improved skin fetching: Now properly handles "mc-heads" redirect to GitHub issue (mojang bug)
  • Improved skin fetching: Now falling back to Ashcon's API as a 3rd option
  • Renamed player's inventory file from "inventory.mlyinv" to "inventory.bin"
API:
  • Added
    • SpectatorItemUseNextRoundEvent
    • RemoteAPIChangeEvent
    • ScrollableItems class
    • ShopPage#exists()
    • ShopLayoutHandler.OpenEvent#getPostGUI()
    • HolographicHologramSkin#getDisplayedItem()
    • HolographicHologramSkin#setDisplayedItem(ItemStack)
    • PlayerSpecificLinesSupplier.bedHologram(Team)
    • AddRemotePlayerInfo#setFallbackArenaPicker(String)
    • AddRemotePlayerInfo#getFallbackArenaPicker()
    • AddRemotePlayerInfo#parseAndFitFallbackArenaPicker()
    • ArenaConditionGroup.or(ArenaCondition... childs)
    • ArenaConditionGroup.and(ArenaCondition... childs)
    • ArenaPicker#asSlotsComparator(int requiredSlotsCount)
    • Helper#playPickupItemSound(Player)
    • Helper#playPickupItemSound(Location)
    • UpgradeShopLayoutHandler.OpenEvent#buildTrapsQueue()
    • PacketHologramSkin#getWidth()
    • PacketHologramSkin#getHeight()
  • Breaking
    • Some classes have been declared as final. This shouldn't affect anyone
  • Deprecated
    • ScoreboardUpdateCause#PAPI_PLACEHOLDERS
  • Changes
    • Players now also get their rejoin properties set in case they get added midgame. This allows them to use /bw rejoin, without you having to set REJOIN_SERVER_NAME
Fixed bugs:
  • Fixed errors related to SnakeYAML with 26.1
  • Fixed potential "World unloaded" errors with 1.14+
  • Fixed "Method 'org.bukkit.GameRule.values()' must be Methodref constant" with 1.21.8
  • Fixed quick buy not updating when attempting to remove an item after buying one
  • Fixed NPE with bridge item if "dye-block" is set to false
  • Fixed bed holograms being below and not above (1.19.4+ only)
  • Fixed duration with "/bw arena regen" not being displayed correctly (seconds instead of millis)
  • Fixed breaking tweak's custom holo after /bw reload
  • Fixed followed party members not having armor in lobby
  • Fixed not starting with paper 26.1
  • Fixed being able to drag out items from anvil gui with 1.21+
  • Fixed rare NPE on load if ranking gets updated before holograms even got loaded
  • Fixed rare server crashes related to concurrent access to metadata store
  • Fixed stats holo being broken on versions with display-entity holograms (1.19.4+)
  • Fixed bed hologram not appearing if team has no players, but bed is alive
  • Avoid "MATCH_AREA_INTERFERES_GAME_DONE_LOCATION" error if ProxySync addon is used
  • Fixed rare ClassCastException when upgrading NBT to item components
  • Fixed keeping armor when leaving team during lobby
  • Reduced bottleneck in file save/load queue caused by world files
  • Fixed twerk party cosmetic not working for 1.21.9+
  • Fixed dealers of cloned arenas being pigs instead of villagers
  • Fixed 16th team bed not being shown in setup gui
5.5.7.png


Added feature:


  • Holograms now get displayed as text and block displays for 1.19.4+
Added support:

  • Minecraft 26.1
  • Added migration system for SWM to ASP
    • In case you upgrade from 1.8.8-1.12 to a modern version
    • Is done automatically, fixes errors that would previously occur
  • It is now possible to use both legacy and MiniMessages together in scoreboards...
Support:
  • Added
    • 1.21.6 + 1.21.7 (Thanks to @MetallicGoat )
    • Spigot-Party-API-PAF (allows you to use the free version instead of the payed extended one)
    • EssentialsX: Warning if interference is detected
  • Improved
    • TAB and FeatherBoard now avoid interference with scoreboards
    • Updated CloudNetV4 support to RC12
Added feature:
  • Configurable respawn protection, where a respawned player won't receive damage from enemies for x seconds, unless he attempts to punch them himself
Added config:
  • respawn-protection
Performance improvements:
  • Config files (that use the YamlConfigurationDescriptor API) now save more efficiently
  • Avoid quit players consuming more memory than needed due to strong reference to their Player class in private inventory
Improvements:
  • Players now receive their items immediately after respawning (without a 2 tick delay)
  • Punch to Deposit is now included with the "HyPixel" template
API changes:
  • Added
    • PlayerUseSpecialItemEvent#addSessionListener(callback)
    • PlayerUseSpecialItemEvent#getSessionListeners()
    • PlayerStopSpecialItemEvent
    • Arena#getSpecialItemSessions()
    • GameAPI#getLastTeleporterSpecialItemUse(Player)
    • PlayerQuitArenaEvent#hasLeaveMessage()
    • PlayerQuitArenaEvent#setHasLeaveMessage(boolean)
    • RemoteAPI#getReservationsCount(Arena)
    • RemoteAPI#hasReservation(UUID, Arena)
    • PlayerIngameRespawnEvent#getSpawnLocation()
    • PlayerIngameRespawnEvent#setSpawnLocation(Location)
    • PlayerIngamePostRespawnEvent
  • Breaking
    • PlayerIngameRespawnEvent, in the past, could have been called either after (usually) a player respawned or before (rarely). It now consistently gets called *before* a player respawns. Use the new PlayerIngamePostRespawnEvent if you want to handle *after* a respawn
Fixed bugs:
  • Fixed bw1058 migration not working for swm worlds
  • Fixed magnetic shoes not working at all
  • Reverted check custom team upgrades that would prevent non-vanilla enchants to be applicable
  • Fixed being able to tigger traps in endlobby
  • Fixed memory leak if player leaves while (and not through) the leave item delay was active
  • Fixed not being able to buy items in shop layouts with villager UIs
  • Hotfix for mem-leak within PaF extended API
  • Fixed potential "Cannot measure distance between world" error with tracker and TNT sheep
  • Fixed interact error if a spectator item only has commands without an handler
  • Fixed error when migrating from bw1058 with it using SQLite that hasn't been initialized yet
  • Fixed anvil GUI not opening on 1.21.5+
Added support:
  • 1.21.5
Added configs:
  • mongodb-authdb
  • hologram-title-vertical-spacings
  • actionbar-ingame-text
  • auto-cloning-lobby-arenas-exclude-full
Performance improvement:
  • Reduced usage of sqrt
Improvements:
  • In arena's region file: Now also storing the key of entity types (1.14+) to improve cross-version support and to prepare for data-based entities
  • Scoreboards now get displayed immediately after join, even if stats aren't loaded yet
  • "performance" config now also effects frequency of trap updates. Default "normal" level increases frequency from 20ticks to 15ticks to improve the gameplay experience
  • Unified enum parsing by name in configs (now more gracious with subtle mistakes in naming)
API changes:
  • Added
    • PlayerUseSpecialItemEvent#getInventorySlot()
    • GameAPI#isSpectator(Player)
    • RemoteServer#getPlayers()
    • RemoteArena#isCloned()
    • RemoteArena#getCloneParent()
    • RemoteArena#getClones()
    • PlayerDataAPI#registerAchievementType(id, plugin, name, description)
    • NMSHelper#setFireballDirection(fireball, direction, speed)
    • ArenaSaveBlocksStopEvent
    • Arena#getDataFolder()
    • Arena#getDataRegenFile()
    • Arena#isPlaying(Player)
    • Arena#isSpectating(Player)
    • Upgrade#isApplicable(Arena)
    • PlayerTriggerUpgradeEvent#isAPICall()
    • PlayerTriggerUpgradeEvent#hasPlayer()
  • Change
    • UpgradeState#doUpgrade(level, player): Player param may now be null
  • Breaking
    • PlayerTriggerUpgradeEvent no longer inherits from PlayerEvent
    • PlayerTriggerUpgradeEvent#getPlayer() my be null now (if an upgrade is done using the API)
Fixed bugs:
  • Hotfix tracker not working for 1.21.4 (caused by a Minecraft client-side bug)
  • Improved auto-upgrade for REGION files from older version for 1.20R4+ (fixes breaking player heads etc)
  • Fixed being able to glitch the teleporter item by swapping the main hand while it counts down
  • "drops-killer-auto-pickup" config: Killer no longer receives the items if he dies before the player he killed (e.g. via arrow)
  • Fixed kill_with_half_heart achievement not working
  • Fixed potential NPE related to action bars
  • Fixed {countdown} and {running-time} not properly getting updated on the scoreboard if not used in the title
  • Fixed rare possibilities of "drops-killer-auto-pickup" still dropping something
  • Fixed holo min visibility radius breaking if set greater than sqrt(2^32-1) (caused by int overflow)
Improvements:
  • Players now get teleported to the main world's spawn instead of a random location if no hub position was set
Performance improvements:
  • Slightly improved efficiency by avoiding code execution in certain events early
  • Improved client-side caching for custom skull textures
API changes:
  • It is now possible to create custom TeamEnchantment targets
    • Added Constructor TeamEnchantment(Predicate<ItemStack>, String targetId, Enchantment, int lvl)
    • Added TeamEnchantment#isApplicable(ItemStack)
    • Added TeamEnchantment#getTargetId()
    • Added TeamEnchantment.Target#CUSTOM
    • Deprecated TeamEnchantment.Target#byMaterial(Material) is now deprecated for removal
  • Added
    • Helper#takeItems(player, is, amount)
    • Helper#giveItems(player, is, dropOverflow)
    • RejoinPlayerIssue.ALREADY_INSIDE
Fixed bugs:
  • Fixed NPE when starting the plugin for the first time
  • Fixed race-condition if player gets teleported to the lobby after the match started. This only happened on paper and was related to async tp
  • Fixed accidentally obfuscating base.json fields, whereby the hubPosition would get reset with every update
  • Fixed being able to participate in two arenas at the same time by attempting a rejoin while already joining another one
  • Fixed bugs (potentially only for ProxySync + paper 1.21.4) where players would turn into a buggy state when leaving as a spectator
  • Fixed being able to swap offhand items in lobby phase
  • Fixed steve skulls when applying (legacy) NBT on custom skulls for 1.20.5+
We released a new and free addon! Check it out: Level Shop

Added features:
  • Bypass blocked-commands using new permission "mbedwars.bypassblockedcommands"
  • Added ability to make spawners drop a given amount of items at the start of the match
  • Added feather fall upgrade
  • Traps may now be removed by the original buyer of the trap
Added support:
  • GeyserMC without Floodgate (prior we only...
[IMG]

Added support:
Improved support:
  • SWM: Support was added for its async world generation. It must be enabled in its configs - ASWM doesn't have that
Added feature:
  • 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
Config changes:
  • 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
Performance 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
Improvements:
  • 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
API changes:
  • 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 bugs:
  • 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:
  • 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 arena picker:
  • 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
Improved performance:
  • Improved performance when trying to obtain the team given by its bed location
Improvements:
  • 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
API changes:
  • 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 bugs:
  • 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!

View attachment 13935View attachment 859051
Added feature:
  • Setup Tool
    • Obtain by either clicking on its button within /bw arena setupgui
    • Or use command: /bw arena setuptool
Config changes:
  • 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
Improvements:
  • 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)
API changes:
  • 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 bugs:
  • 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:
  • 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)
Performance improvements:
  • World storage of cloned arenas is now memory-only
  • Greatly improved performance of MongoDB support
Improvements:
  • 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
API changes:
  • 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 bugs:
  • 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