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

MC Plugin ⭕ Marcely's Bedwars ⭕ Supports 1.8 - 26.1 ⭐⭐⭐⭐⭐ EST. 2015 5.5.7
✨ NO. 1 BEDWARS PLUGIN ✨350+ CONFIGURATIONS ✨ 0 LAG ✨ MULTI ARENA ✨ NETWORK-READY ✨

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
  • Added MiniMessage support to item lores
Improved support:
  • Relational placeholders within PlaceholderAPI
    • Mainly for TAB
    • Allows you to have per-player languages for e.g. stats etc.
  • Bedwars1058 migration:
    • Fallback to 0 instead of failing if parsing a spawn direction had (likely human-caused) errors
Config changes:
  • Added to config.yml
    • regeneration-disable-autosave-modern-paper
      • Performance optimization that we would previously always apply is now disabled by default on modern paper for cloned region arenas
      • Reason are memory leaks, that we try to patch
      • You may enable that optimization, which disables auto-save for cloned worlds. Please send us heapdumps in case you notice memory leaks
  • Added to shop-layout-properties.yml
    • For HyPixelV2 shop
      • gui-height
      • quickbuy-empty-icon
    • For HyPixelV2 upgrade shop
      • gui-offset-top
      • gui-height
      • seperator-material
    • For global upgrade shop
      • unqueued-trap-icon
  • It's now possible to use PAPI placeholders within item strings for icons of shop items and pages, and within item products
  • It is now possible to forcefully overwrite a shop page's item name using NBT/components (makes it possible to have a different GUI title)
Performance improvements:
  • Improved general performance by indexing by char and not string where applicable
  • Improved efficiency and accuracy of the language identification system
  • Reduced performance impact on arenas GUIs caused by updates (especially when an arena ends) by enqueuing arenas for a certain amount of ticks (basically delaying redraws)
  • Improved general performance throughout the plugin by reducing ItemMeta clones
  • Improved general arenas GUIs performance for paper 1.16.5+
  • Reduce TPS-drops caused by "Parties" hook by attempting db calls async
  • Improved efficiency of "Parties" hook by utilizing caches and reducing db calls
  • Greatly improved efficiency of special block updating
  • Improved efficiency by using more efficient String-modification algorithms
  • Improved general performance by utilizing FastUtil wherever feasible (supported for all paper versions, spigot only 1.18+)
  • Improved efficiency of item NBT parsing by avoiding useless computations
  • Arenas GUI rendering is now happening async (improves micro-freezes on main thread)
  • Improved general performance for 1.20+ and 1.8.8 by avoiding complete copies of NBT and instead mirroring them
  • Slightly improved SQL performance when saving player data
Miscellaneous:
  • Added custom mode name to /bw arena info
  • Added warnings if spectate teleport failed
API changes:
  • Added event
    • AsyncPlayerRejoinPullArenaEvent
  • Added classes
    • ItemBuilder
    • SpectateRemotePlayerInfo
    • RejoinRemotePlayerInfo
    • DynamicItemStack
    • BasicItemShopProduct
    • BasicItemShopPrice
    • SpecialItemUseSession#isStoppedWithPlayerQuit()
  • Added methods
    • PlayerDeathInventoryDropEvent#addHandlerAfter(handlerToAdd, handlerToFind)
    • PlayerDeathInventoryDropEvent#addHandlerBefore(handlerToAdd, handlerToFind)
    • LazyReference#isCached()
    • WorldStorage#getBlocks(BlockType)
    • Helper#split(String, char)
    • Helper#remove(String, char)
    • MigrationProcess#isModifyingPlayerData()
    • MigrationProcessRunEvent#addHaltLatch(CountDownLatch)
    • MigrationProcessRunEventgetHaltLatches()
    • Helper#isWorldLoaded(Location)
    • QuitPlayerMemory.constructMidgame(RemotePlayer, Team)
    • RemoteArena#setQuitPlayerMemory(QuitPlayerMemory)
    • RemoteArena#rejoinPlayer(RemotePlayer, Consumer)
    • RemoteArena#rejoinPlayer(RemotePlayer)
    • RemoteArena#rejoinPlayer(RejoinRemotePlayerInfo, Consumer)
    • RemoteArena#addSpectator(SpectateRemotePlayerInfo, Consumer)
    • PlayerCustomKnockbackEvent#getBukkitEvent()
    • ShopItem#getDynamicIcon()
    • ShopPage#getDynamicIcon()
    • ShopItem#setDynamicIcon(icon)
    • ShopPage#setDynamicIcon(icon)
    • ItemShopProduct#getItemStacks(Player)
  • Breaking changes
    • Attempting to spawn a holographic entity with HologramSkinType#VILLAGER will now fail hard (deprecated). Use #LIVING instead
    • "ItemShopProduct", the variant that only drops regular items, has been split of to "BasicItemShopProduct" to avoid complexity, as spawner and special item products also inherited from ItemShopProduct
    • ^ the same counts for "ItemShopPrice"
  • Deprecated
    • NMSHelper#hideAttributes(ItemStack)
    • NMSHelper#setGlowEffect(ItemStack, boolean)
    • Helper#setUnbreakable(ItemStack, boolean)
    • Helper#setUnbreakable(ItemMeta, boolean)
    • Helper#dye(ItemStack, DyeColor)
    • RemoteArena#teleportHere(player, sendMessage)
    • RemoteArena#addSpectator(player, reason)
    • RemoteArena#addSpectator(player, reason, ignoreArenaStatus)
    • RemoteArena#addSpectator(player, reason, callback)
    • RemoteArena#addPlayer(player, team)
    • RemoteArena#addPlayer(player, team, callback)
    • RemoteAPI#teleportPlayerToArena(player, arena, sendMessage, callback)
    • RemoteAPI#addSpectatorToArena(player, arena, reason, ignoreArenaState, callback)
    • RemoteAPI#addPlayerToArena(info, arena, callback)
    • RemoteArena#addSpectator(player, ignoreArenaStatus)
    • ItemShopProduct#getItemStacks()
    • ItemShopPrice#getItemStacks()
Fixed bugs:
  • Fixed BootstrapMethodError when trying to look up an invalid sound on 1.21.11
  • Fixed "argument type mismatch" for versions 1.11 - 1.16.5
  • Fixed InnovocationException caused by a bug within PandaSpigot
  • Fixed MigrationProcessRunEvent not being called
  • Fixed rare CME error related to holograms
  • Fixed being able to pickup items while being teleported to the hub (paper only)
  • Fixed not starting on certain server configurations for 1.14 and older
  • Fixed MiniMessages not working on scoreboard's title
  • Fixed abuse: Being able to tp to enemies during death spectate
  • Fixed "Player is not in the arena" error
  • Fixed memory leak when auto cloning region arenas
  • Fixed "Tried to access invalid game rule" error for 1.21.11
  • Fixed hologram memory leak caused by arena cloning
  • Fixed error when attempting to migrate players from BW1058 db when MySQL is used
  • Fixed memory leak with region arenas on paper with chunk system rewrite (1.19.4+)
  • Fixed insta-break blocks disappearing when broken for clients on 1.8.8 - 1.15
  • Fixed being able to break your own bed using explosive by quitting
  • Trap (placed ones) now also get fired if the placer leaves/gets killed
  • Fix being able to damage team mates etc by throwing explosive and then quitting immediately
  • Fixed being able to stay within the arena as a spectator on paper by running against the border
  • Fixed deadlocks with SQL
  • Fixed certain special items stopping unnecessarily when player (who used it) leaves: Guard Dog/Iron Golem, Rescue Platform, TNT Sheep
  • Fixed "team-balance" (both false and true) not being entirely random
Added support:
  • 1.21.9, 1.21.10, and 1.21.11 (Thanks to @MetallicGoat )
  • ItemJoin
    • To prevent possible compatibility issues due to misconfiguration
  • Latest AdvancedSlimePaper
  • ViaRewind (1.19R2+)
    • Hotfix as NPCs didn't get removed from TAB
Added features:
  • It is now possible to use MiniMessage components in scoreboards (paper 1.20.1+ only)
  • Added new team: Magenta
    • It is generally hidden in the team selection UI
    • It is only visible once you enable the other 15 teams
  • Add-ons may now declare custom modes using API
    • New "custom_mode" condition variable to provide a singleton solution for all addons
    • Spectator "next round" item now enforces an equal custom mode
Config changes:
  • Added:
    • lobby-printmapinfo-time
    • logs-strippable
  • Removed "lobby-countdowntitle-arena"
    • Got merged with "lobby-countdowntitles"
  • "max-nearby-items" (spawns.yml) may now be an expression
  • "interacting" config has been split (Thanks to @MetallicGoat )
    • "interacting-gui" false by default
    • "interacting_physical" true by default
General improvements:
  • If party leader joins: Prefer teams that already include team members
  • PaF Bungee: Reduce time it takes to fetch party info (in case player just joined)
  • Now returning infinity symbol if "timer-enabled" is set to false for {countdown} in scoreboards and the countdown PAPI placeholder
  • Spawner multiplier upgrade now also considers team spawn (besides just bed) as a radius
  • Auto-color (& to §) results from PAPI placeholders
  • Players no longer are able to strip any log (previosly they could strip player-placed blocks)
  • Added new error message if no arena has been found that matches a given picker (Thanks to @MetallicGoat )
Performance improvements:
  • Greatly reduced GC overhead by reducing usage of regex
  • Improved efficiency throughout the plugin by implementing a more efficient placeholder replacement system
  • Improved PaF bungee efficiency by reducing amount of attempted proxy requests
  • Slightly improved performance for paper hard-forked versions (starting with 1.21.4) by avoiding reflection for their feature-set
  • Improved general performance by making it easier for JIT optimizations in cross-version handling
  • Added support for paper's AsyncPlayerSpawnLocationEvent (improves performance and stability)
API changes:
  • Added:
    • PlayerCustomKnockbackEvent
    • Helper#replaceFirst(str, target, replacement)
    • Helper#replaceLast(str, target, replacement
    • GameAPI#registerSpecialItem(type, plugin, name, item)
    • GameAPI#isProcessingRejoin(Player)
    • GameAPI#isCrossServerRejoining(UUID)
    • Helper#getPlayerSkin(Player)
    • NPCHologramSkin#getSkin()
    • NPCHologramSkin#setSkin(Skin)
    • Skin class
    • NPCHologramSkin#setPlayerSpecificSkinSupplier(supplier)
    • NPCHologramSkin#hasPlayerSpecificSkinSupplier()
    • NPCHologramSkin#updatePlayerSpecificSkins()
    • NPCHologramSkin#updatePlayerSpecificSkin(Player)
    • NPCHologramSkin#getPlayerSpecificSkinSupplier()
    • NPCHologramSkin#setSelfSkinSupplier()
    • NPCHologramSkin#getInternalType()
    • ArenaOutOfTimeEvent#setEndlessTime()
    • Arena#setIngameTimeDisabled()
    • PlayerBuyUpgradeEvent#getUpgradeState()
    • NMSHelper#useFireworkBoost(Player, ItemStack)
    • Helper#takeItems(Player, Predicate<ItemStack>, amount)
    • Helper#isTransparent(Material)
    • GameAPI#getHubLocation()
    • GameAPI#setHubLocation(Location)
    • Team#DARK_BLUE
    • Team#isHidden()
    • QuitPlayerMemory#constructMidgame(Player, Team)
  • Changes:
    • GameAPI#unregisterSpecialItem(SpecialItem): It is no longer possible to unregister built-in types. Use the new register method if you want to replace it
    • It is now possible to enable the ingame timer (if it was previously turned off) using Arena#setIngameTimeRemaining(timeInSeconds)
  • Deprecated:
    • Helper#getPlayerSkinData(Player)
    • NPCHologramSkin#setSkin(texture, signature)
    • NPCHologramSkin#getSkinTexture()
    • NPCHologramSkin#getSkinSignature()
  • Changes due to "max-nearby-items" now being optionally an expressions:
    • Deprecated DropType#getMaxNearbyItems()
    • Added DropType#getMaxNearbyItems(Arena)
    • Added DropType#getMaxNearbyItemsExpression()
    • Added DropType#setMaxNearbyItemsExpression(String)
    • Breaking Spawner#set/getMaxNearbyItems by resetting that value now with every match start
  • New custom mode feature adds:
    • CustomMode and CustomModeType class
    • Arena#hasCustomMode()
    • Arena#getCustomMode()
    • RemoteArena#hasCustomMode()
    • RemoteArena#getCustomModeName()
    • GameAPI#getCustomModes()
    • GameAPI#getCustomMode(CustomModeType)
    • GameAPI#registerCustomMode(CustomMode)
    • GameAPI#unregisterCustomMode(CustomMode)
    • ArenaPropertyChangeEvent.Property.CUSTOM_MODE
    • RemoteArenaPropertiesChangeEvent.Property.CUSTOM_MODE
    • ArenaConditionVariableType.CUSTOM_MODE
Fixed bugs:
  • Fixed "spawn-at-start" in spawners.yml not counting items for "max-nearby-items"
  • Fixed NPE related to item lore in upgrade shop
  • Fixed being able to interact with iron golem / guard dog to e.g. heal him with iron
  • Fixed fireball jiggering on 1.21+ with fireball-fly-speed-constant enabled
  • Fixed XReplay not working as intended
  • Fixed ArrayIndexOutOfBoundsException if more than 7 spawner types exist when opening the spawners GUI in setup tool
  • Fixed sending messages with prefixes if they were configured to be empty
  • Fixed feather fall upgrade being applied to all armor parts
  • Fixed potential error when saving corrupted tile entities in region arenas for 1.21.6+
  • Fixed light blocks breaking safe-respawn location identifier and fireball double jumping
  • Fixed NPE caused by async world loading on modern paper versions
  • Fixed being able to spectate players during respawn, even if "spectator-permit-other-player-view" is disabled
  • Fixed rare glitchy behavior if attempting to spectate a player with "spectator-permit-other-player-view" disabled (fix only available for paper 1.13+)
  • Fixed potential "must be Methodref constant" error on 1.12+
Added support:
  • Added support for 1.21.8
Added feature:
  • It is now possible to leave a team during lobby phase by clicking on it again
Added sound:
  • LOBBY_SELECTTEAM_UNDO
Improvements:
  • Improved handling of real player names getting confused with their nick names in various places
API changes:
  • Added
    • Helper#getPlayerByName()
    • Arena#leaveTeamDuringLobby(player)
  • RemotePlayer#getName() now returns Helper#getNickedPlayerRealName(player) instead of Player#getName()
  • NicknamingHook#getRealName(player) should now return null in case it'd return Player#getName()
Fixed bugs:
  • Fixed not running on 21R5
  • Fixed rare cases of not being able to join an arena if moving too fast (with kick-outofarena active)
  • Fixed team-balance turned off only prefering teams with >= 2 players than >= 1
  • Fixed MongoQueryException when looking up a player's rank
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+
  • Like
Reactions: greatgatch
  1. 5.5.2​

    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>,...

  2. 5.5.1​

    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...
  3. 5.5​

    [IMG]

    Added support:
    • MC 1.21.4 (Thanks to @MetallicGoat )
    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...
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
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
Config changes:
  • Added teams.yml
    • In there you can now overwrite the name without the messages file, override the default generated initials, define a custom chat and dye color
  • Added in config.yml
    • invisibility-hides-armor-remove-particles
    • parties-member-follow-enabled
  • Removed unneeded configs in config.yml (Features stay, they're just enabled permanently; thanks to @MetallicGoat )
    • hex-support
    • death-skipscreen-advanced
    • placeholderapi-enabled
  • Added "restriction" config to shop pages (Thanks to @MetallicGoat )
Improvements:
  • Compatibility checker now prints all issues within a single, compact warning due to code cleanup regarding these components
  • Slightly improved performance by not regenerating initials with each access
  • Now trying to rejoin the player if he directly joins an arena instead of adding him as a spectator
  • Slightly improved performance by not having a main-thread scheduler at all if there is none active arena
  • Updated default shop&upgrade shop prices in "hypixel" template (Thanks to Tarboush)
  • Clicked shop item now gets updated immediately. This was a thing until 1.12.2 due to how poorly Minecraft handles inventory updates internally
API changes:
  • Additions
    • Team#setEnforcedInitials(initials)
    • Team#getEnforcedInitials()
    • Team#setConfigName(name)
    • Team#getConfigName()
  • VarParticle: Be more strict when parsing 1.9+ particles without data (even though it's required) to avoid errors when spawning
Fixed bugs:
  • Fixed world blocks lock not getting released with regeneration caused upcoming ones to get stuck indefinetly
  • Fixed super rare chances of race conditions for holograms causing odd problems during to runtime optimizations
  • Fixed incompatibility with various particles with legacy configuration on 1.21 due to new particles prefering data instead of extra
  • Fixed particles from "invisibility-hides-armor-extra-particles-count" being slightly misaligned
  • Fixed particles from "invisibility-hides-armor-extra-particles-count" having an invalid color for 1.21+
  • Fixed spectators being able to affect matches (by e.g. picking up spawners) on 1.14+ paper caused by async teleportation
  • Fixed error caused by removed constructor in 1.21 (Thanks to @MetallicGoat )
  • Fixed compatibility with 1.21 paper (Thanks to @MetallicGoat )
  • Fixed potential NoSuchElementException when ProxySync stops
Added API:
  • Helper#getEnchantmentByName(String)
Fixed bugs:
  • Fixed NPE when removing certain scoreboard types
  • Fixed error "Cannot find null enchantment"
Added support:
  • 1.20.5 & 1.20.6 (Thanks to @MetallicGoat for helping)
  • Paper relocated CraftBukkit jars (Thanks to @MetallicGoat )
  • Updated CloudNetV4 support with their newer releases
Added language:
  • Luxembourgish
Added stat:
  • Final K/D (Quotient between final kills and final deaths) (Thanks to @MetallicGoat )
Added configs:
  • block-purchases-outside-running-arenas: Disables ability to purchase items outside of a shop (Thanks to @MetallicGoat )
    • Useful in case you want to allow players to change their quick buy settings in the hub
  • teamchest-enabled (Thanks to @MetallicGoat )
Improvements:
  • Be more aggressive when displaying scoreboards, and send warnings if the scoreboard is constantly being reapplied to override another plugin (Thanks to @MetallicGoat )
  • Now allowing players with the mbedwars.admin permission to tp large distances in an arena without being kicked (in case kick-outofarena is enabled) (Thanks to @MetallicGoat )
  • Related to lobbybreak-enabled: (Thanks to @MetallicGoat )
    • Blocks outside the game arena now don't get broken as a security measure
    • Now prints a warning if the lobby is completely outside the arena for better QoL
  • Added purchase state lore to buy groups "HypixelV2" shop layout (eg. MAXED & UNLOCKED) (Thanks to @MetallicGoat )
  • Gave Localazy (translation platform) more love
    • Got rid of past import mess
    • Looked through all user requested changes & gonna do to that more often from now on
    • Merged Latin American Spanish with Spanish (now 100% complete)
  • Updated file lockage system: Now integrates better with OS and fixed some issues that could occur
Improved performance:
  • Sped up world loading/generation in certain situations by excluding the spawn from being auto-loaded
  • Greatly improved void world generation performance on 1.18+ by making use of new API (Thanks to @MetallicGoat )
  • Made the storage migration a lot more efficient
  • Greatly improved performance of indices for local storage
Added API:
  • RemoteServerDisconnectEvent.Cause.SELF_TIMEOUT
  • RemoteServer#getMinecraftVersion()
  • RemoteServer#getMinecraftVersionPatch()
  • RemoteArena#syncProperties(Property... properties)
  • Arena#getEnderChestInventory(Player) (Thanks to @MetallicGoat )
  • Events:
  • Fixed bugs:
    • Fixed ArenaIssueCheckEvent didn't work as intended as only the default ones were used in most places
    • Fixed ConfigurationAPI only worked with exact field names (Thanks to @MetallicGoat )
Fixed bugs:
  • Fixed Plan support being buggy
  • Fixed spawner products not stacking with spawner drops (Thanks to @MetallicGoat )
  • Fixed not being able to use custom sounds with 1.19R2+
  • PaF Bungee hotfix: Received no response if player wasn't registered by bungee yet
  • Fixed not automatically resyncing issues within setup gui for remote arenas
  • Fixed opening setup gui twice when an arena parameter was given within the command
  • Fixed chat message would still be send (with prefix) even though it was configured as empty in the messages config file
  • Fixed BergwerkLabs ShopLayouts icons becoming dye after first render (Thanks to @MetallicGoat )
    Fixed an NPE that could happen if rage quit detection is enabled (Thanks to @MetallicGoat )
  • Remove redundant teleports when a player enters spectate on death & with that fixes "death-spectate-at-death-location" not always respected (Thanks to @MetallicGoat )
  • Fixed redstone torches not displaying in some guis on legacy versions. The may throw errors if you use NBT with them (Thanks to @MetallicGoat )
  • Fixed translation progress guesses being wrong in setup gui
Top Bottom