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

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

Pro Download
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!

1729595052712.png
View 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
Support:
  • Updated MongoDB driver from V4 to V5
Added sound:
  • villagershop-click-page
Added config:
  • minishop-existence-time
Performance improvements:
  • Greatly improved efficiency of lobbybreak algorithm
  • Lobbybreak task is now spread across multiple ticks to avoid lag spikes
Improvement:
  • 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)
API changes:
  • Spectator#getEnterTime() now returns Instant instead of long (method rarely used, though)
  • Added
    • Spectator#getReleaseTime()
    • PlayerOpenArenaChestEvent#isPrivateChest()
    • ArenaUnloadEvent
Fixed bugs:
  • 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:
  • 1.21.1 PaperMC (Thanks to @MetallicGoat )
  • AdvancedSlimePaper V3 (1.21 beta release)
Added feature:
  • Auto detect teams based on map blocks when creating an arena (Thanks to @MetallicGoat )
Config changes:
  • Added
  • 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"
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
Performance improvements:
  • 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
API additions:
  • PlayerProperties#isReadOnly()
  • PlayerStats#isReadOnly()
  • PlayerAchievements#isReadOnly()
  • ThrowingRunnable class
  • Arena#broadcast(VarSound)
  • PlayerAchievement#isEnabled()
  • PlayerAchievement#setEnabled(boolean)
Fixed bugs:
  • 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
Back
Top Bottom