[15% SALE] ⭕ Marcely's Bedwars ⭕ Supports 1.8 - 1.21.3 ⭐⭐⭐⭐⭐    EST. 2015 icon

[15% SALE] ⭕ Marcely's Bedwars ⭕ Supports 1.8 - 1.21.3 ⭐⭐⭐⭐⭐ EST. 2015 -----

✨ NO. 1 BEDWARS PLUGIN ✨350+ CONFIGURATIONS ✨ 0 LAG ✨ MULTI ARENA ✨ NETWORK-READY ✨





(Thank you @ItsPat)

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
----------, Nov 19, 2024

NEW: Set-up arenas using your hotbar and avoid clicking in the GUI. Drastically improves your efficiency!​

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
----------, Oct 20, 2024

NEW: Set-up arenas using your hotbar and avoid clicking in the GUI. Drastically improves your efficiency!
upload_2024-10-20_20-58-14.png

upload_2024-10-20_20-57-58.png
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
----------, Oct 20, 2024

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
----------, Sep 23, 2024

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
----------, Sep 1, 2024

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
----------, Aug 18, 2024

Config changes:
  • Added:
  • Replaced "enforce-old-shop" for Rewinside within the shop layouts properties config with "shop-variant" that permits more customizability
Improvements:
  • 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 bugs:
  • 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
----------, Aug 6, 2024

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:

  • /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 configs:
  • spectator-tp-gui-visible-on-death-spectate (Thanks to @MetallicGoat )
  • spectator-restricted-by-border
  • tnt-yield
Added permission:
  • mbedwars.cmd.locateplayer
Feature 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
Performance 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)
Misc. improvements:
  • 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
API changes:
  • 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 bugs:
  • 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
----------, Aug 4, 2024

Added feature:
  • Added egg wars functionality: Custom beds defined as "dragon egg" now don't teleport when clicked on
Improvements:
  • Spectators now see themselves in adventure mode when they join with 1.17+
  • Throw warning during loading if an invalid pattern was given for the "dateformat" instead of spitting errors during the runtime
  • Holograms/dealers may now be more easily destroyed by attacking it with spam clicks
  • Silenced all InterruptedException when the plugin stops (errors were thrown on purpose for technical reasons)
API additions:
  • ConfigFile#TEAMS (Thanks to @MetallicGoat )
  • Message#done(locale)
  • Message#done(locale, freeInstance)
  • Team.VALUES
  • QuitPlayerMemory#getGameStats()
Fixed bugs:
  • Fixed hotbar not reappearing after respawn on 1.16 and older when anticheat-enabled was set to true
  • Fixed not being able to fly as spectator when anticheat-enabled was set to true
  • Fixed it not being possible to break custom defined bed blocks other than the bed material
  • Fixed death spectate disabled causing items to not get cleared after respawn
  • Fixed misc issues caused by MBedwars not checking Cursor items. Allowed players to buy things for free, as well as items to not get enchanted on team upgrades (Thanks to @MetallicGoat )
  • Fixed Upgrades do not display if there are no traps with "Hypixel" Upgrade Layout (Thanks to @MetallicGoat )
  • Fixed it not being possible to open the villager shop when attacking it simultaneously
  • Fixed potential NPE when forcefully stopping a region regenerator right when it was preparing the chunks
  • Fixed NoSuchMethodException when player rage quits
  • Fixed potential "NoSuchFileException" with LOCAL storage when multiple complex read/write operations occur to the same data component concurrently
  • Fixed Team.getByName didn't consider other languages
  • Fixed game stats being reset (visually only) after a rejoin
----------, Jul 13, 2024

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
----------, Jun 30, 2024

Added API:
  • Helper#getEnchantmentByName(String)
Fixed bugs:
  • Fixed NPE when removing certain scoreboard types
  • Fixed error "Cannot find null enchantment"
----------, Jun 16, 2024

Added support:
Miscellaneous:
  • Removed various unused messages from the messages file
  • Reduced delay for when items are given on respawn and for spectators
API changes:
  • Fixed Arena#saveNow() and Arena#saveAsync() both async
  • Added
    • MessageAPI#getLocaleFetcher()
    • MessageAPI#setLocaleFetcher(fetcher)
    • MessageAPI#getDefaultLocaleFetcher()
    • Helper#formatDuration(Duration)
    • Helper#formatDuration(long)
    • PlayerStatSet#formatValue(Number)
Fixed bugs:
  • Fixed breaking auto cloning with the previous update
  • Fixed not starting with paper 1.20.5+
  • Fixed default messages file Missing PlayerPrivateInventory_Title (Thanks to @MetallicGoat )
  • Fixed players not regaining their inventory when leaving the arena on 1.20.5+
  • Fixed possible error when composing an item without any components on 1.20.5+
  • Fixed arena renaming issues (after a restart, previously renamed arenas reappear) (Thanks to @MetallicGoat )
  • Fixed "hypixel" quickbuy conflicting with cosmetics wood skins
----------, Jun 14, 2024

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
----------, May 22, 2024

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
----------, May 22, 2024

Added feature:
  • Now detecting rage quits and rewarding the damager / bed destroy accordingly (Thanks to @MetallicGoat )
Config changes:
  • Added: (All thanks to @MetallicGoat )
    • reward-void-deaths-to-bed-destroyer
    • rage-quit-auto-detect
    • rage-quit-auto-detect-max-time
  • Removed as it caused unwanted behaviours:
    • fireball-jumping-enabled
Added API:
  • HookAPI#getCloudSystemHooks()
  • HookAPI#registerCloudSystemHook(CloudSystemHook)
Fixed bugs:
  • Fixed disabled prize API being reversed (Thanks to @MetallicGoat )
  • Fixed it not being possible to change direction of fireball by e.g. punching it
  • Fixed server crashing when two update-checks occur simultaneously while on an extremely slow network
  • [API] Fixed "Recursive update" when setting the stats while listening to PlayerStatChangeEvent
  • [API] Fixed calling onReady before all hooks were loaded
----------, Apr 7, 2024

Added feature:
  • Developers may now disable the earning of prizes for matches
Added configs:
  • border-efficent-alternative: An alternative, less-pretty border renderer for less network usage
Performance improvements:
  • Greatly reduced odds of micro-lags for 1.8 - 1.13 by making use of async chunk processing (paper only)
Improvements:
  • It is now possible to use \n within message strings intended for HyPixelV2 shop layout
  • Permission "mbedwars.admin" now also permit for "mbedwars.arenatp" and "mbedwars.arenabuild"
  • Console is now able to make players open the shops using "/bw tools openshop" & "openupgradeshop" commands
Added API:
  • Arena#isPrizeForMatchEnabled()
  • Arena#addPrizeForMatchDisabledTicket(ticketId)
  • Arena#removePrizeForMatchDisabledTicket(ticketId)
  • Arena#getPrizeForMatchDisabledTickets()
Fixed bugs:
  • Fixed being able to see the stats holos of other players
  • Fixed VarParticle not working async
  • Fixed region regenerator potentially getting stuck on 1.13 or older
  • Fixed not being able to spawn anything related to blocks (e.g. joinarenasign)
  • Fixed it not being possible to buy upgrades with new template
  • Fixed breaking the EntityItem#itemStack mirror within the PlayerPickupItemEvent bus on 1.15 and older
  • Fixed arena pool in configuration page for voting not being updated correctly
  • Fixed explosives not causing damage to players from same team
  • Fixed getting kicked out of arena when falling into void during endlobby
----------, Apr 1, 2024

This is only one update of many more! Visit our Discord to get notified about the many more super interesting changes regarding our addons.

Fixed bugs:
  • Fixed potential "Can't find a codec for CodecCacheKey" when saving stats in bulk with MongoDB
  • Fixed Arenas GUIs not loading
  • Fixed errors when using a regular, non-spawner price within the shop
  • Fixed it not being possible to earn the "earn all achievements" achievement if some were disabled
  • Fixed it not being possible to use custom picker variables within "player-picker-placeholder"
----------, Mar 24, 2024

This is only the first update of many more! Visit our Discord to get notified about the many more super interesting changes regarding our addons.

Added support for:
  • Hao's Nick API (This includes HaoNick etc.) (Thanks to @MetallicGoat )
  • Plan
Added feature:
  • Added feature to avoid players exploiting stats
    • Comes with various new configs
Config changes:
  • Added
    • lobby-exbar-animation
    • spectator-permit-other-player-view
    • "commands-as-console" to lobby-hotbar.yml and spectator-hotbar.yml
    • fireball-max-knockback-y
    • fireball-max-knockback-xz
    • explosive-max-knockback-y
    • explosive-max-knockback-xz
    • fireball-fly-speed-constant
    • itemspawner-auto-center (Thanks to @MetallicGoat )
    • stats-antiabuse-enabled
    • stats-antiabuse-count-round-min-duration
    • stats-antiabuse-count-wins-count
  • Added special condition for drop type special name "%VANILLA%", to not apply a custom name
  • It is now possibly to apply a "DisplayName" (using NBT) for drop type items
  • Added {missing-name} and {missing-amount} placeholders to "TooFew_Materials" and "UpgradeShop_TooFew_Materials" messages
  • Removed config arenavoting-enabled
  • regeneration-region-efficient is now enabled by default and out of beta
  • Sound changes
    • Removed sounds from long-removed features
    • Added sounds to the setup gui
    • ArenasGUI optional click sound (Thanks to @MetallicGoat )
Performance improvements:
  • Reduced amount of short-term threads created
  • Rewrote commonly used algorithms to be more efficient
  • Fixed syncer overloading (reduces odds of micro-lags)
  • Now using javaluator instead of Nashorn for parsing expressions to reduce memory footprint
Improvements:
  • Redyed blue, light blue, and cyan team ChatColors more appropriately
  • Updated "hypixel" template
  • Auto turn namespaces (for enchantments) to lowercase to avoid errors
  • Added hint with command when warning appears that you must disable/enable the arena first
  • Disabling an arena with a running match now "gracefully" stops the match (it regenerates it)
  • Removed "old-fishing-knockback" warning for OldCombatMechanics compatibility when using 2.0 or newer
  • Removed concurrency world regeneration to avoid server freezes (now only for regions)
  • Now hiding item attributes for arena icons (eveywhere where it is being displayed) and items within setup GUI
  • The arena voting system has been completely rewritten
    • Removes arena issues: MUST_JOIN_VOTING and VOTING_MUST_JOIN_NORMAL
    • Added arena issue: VOTING_PARTICIPATING
    • Various API & config changes
  • Added new rejoin warning in case you haven't joined any match yet. Previously it'd instead show that the previous match isn't active anymore
  • Immediately end rounds if there is only one team left online (even if solo-rejoin is enabled) (Thanks to @MetallicGoat )
  • Improvements to fireball & TNT jumping
    • Various new configs
    • Velocity calculations more accurately use the locations of explosive & player
    • Modified default configs to improve the feeling
  • Optimized creation time of region cloned arenas
API changes:
  • Including API sources to allow javadoc integration withing IDE's
  • Added events
    • PlayerUseSpecialItemFireballEvent
    • PlayerShopProductGivingDetermineEvent
    • PlayerArenaVoteEvent
    • ArenaVotingPoolUpdateEvent
  • Added misc
    • ShopPrice#getMissingAmount(player, inv)
    • ShopPrice#getMissingAmount(player)
    • BukkitEntitySkin class for hologram API
    • BukkitEntitySkin class for hologram API
    • GameAPI#useSpecialItem(item, player, arena, holdingItem)
    • Helper#playSound(location, sound, volume, pitch)
    • Helper#playSound(player, location, sound, volume, pitch)
    • Helper#playCustomSound(location, sound, volume, pitch)
    • Helper#playCustomSound(player, location, sound, volume, pitch)
    • KickReason#ARENA_STOP
    • WorldStorage#getNearbyHolograms(location, radius)
    • PlayerDataAPI#getStatSet(id)
    • RejoinedPlayerIssue#NOT_PARTICIPATING
    • HolographicHologramSkin$PlayerSpecificLinesSupplier.of(Message)
    • HolographicHologramSkin$PlayerSpecificLinesSupplier.of(List<Message>)
    • Helper#evaluateString(string)
    • PlayerBuyInShopEvent#getClonedItem()
    • PlayerDataAPI#getAchievementTypeById(String)
    • PlayerDataAPI#getRegisteredAchievementTypes()
    • PlayerDataAPI#getRegisteredAchievementTypes()
    • LobbyItem#isCommandsAsConsole()
    • LobbyItem#setCommandsAsConsole(boolean)
    • SpectatorItem#isCommandsAsConsole()
    • SpectatorItem#setCommandsAsConsole(boolean)
    • VarSound class
    • ShopOpenCause#isInitial()
    • UpgradeShopOpenCause#isInitial()
    • Arena#getVoting()
    • Arena#getParticipatingVotingPool()
  • Breaking changes
    • Removed NMSHelper#showTitle(player, text, subText, stayTime)
    • Renamed parameters within NMSHelper#showTitle method
    • Swapped order of fadeIn and stayTime parameters within NMSHelper#showTitle (to be more consistent with Bukkit API)
    • HolographicHologramSkin$PlayerSpecificLinesSupplier#getLines(...) now expects a List instead of a Collection
    • DropType#getSpawnSound() now returns the new VarSound class instead of Bukkit's sound
    • DropType#setSpawnSound(sound) now expects the new VarSound class instead of Bukkit's sound
    • DamageableSkin #getDamageSound() and #getDeathSound() now return the new VarSound class instead of Bukkit's sound
  • Fixed it not being possible to modify the page within ShopOpenEvent
Fixed bugs:
  • Fixed some upgrades or traps not working (due to failing to find nearby entities async) (Thanks to @MetallicGoat )
  • Fixed potential ConcurrentModificationException with BungeecordManager
  • Fixed typo with CrashMessage_LowerCornerOutOfBounds
  • Fixed potential error with missing hub pos and auto join
  • Fixed MongoDB not working
  • Fixed being able to interact with signs ingame even if it was disabled in config.yml (Thanks to @MetallicGoat )
  • Fixed not starting on 1.17.1
  • Fixed issues caused by Paper removing constructor on EntityDamageEvent (Thanks to @MetallicGoat )
  • Fixed not receiving feedback when regenerating an arena while it had a match
  • Fixed not being able to modify blocks at the edge of a region arena
  • Fixed Guard Dogs sometimes target spectators (Thanks to @MetallicGoat )
  • Fixed item attributes not being hidden as intended on 1.14+
  • Fixed Setup GUI not updating (issue not disappearing) when setting lobby or updating game area
  • Fixed "next page" item staying in configure page for voting arena, even though it's already the last page
  • Fixed player colors staying when leaving the arena
  • Fixed "Object not supported" error with newer ASWM versions
  • Fixed UnknownWorldException with SWM
  • Fixed problems related to lobby world existence verification
  • Fixed "/bw arena spawner give" not returning the exact drops
  • Fixed conflict with CarbonSpigot
  • Fixed a few sounds not working as intended
  • Fixed potential errors with wolves teleporting whose owner isn't a player
  • Fixed auto cloning creating a new world for every region arena
  • Fixed auto cloning sometimes not purging old world folders
  • Fixed auto clone issue: Some region arenas are not getting generated properly if regeneration-region-efficient was enabled
----------, Mar 23, 2024

Fixed bugs:
  • Fixed errors with sounds on 1.20.3+ paper
  • Fixed being able to spam lobby forcestart
  • Fixed not cleaning up old cloned worlds when using region arenas
  • Fixed player tab colors not getting applied properly
  • Fixed "ArrayIndexOutOfBoundsException" related to fetching leaderboard info with SQL (only occurred with certain SQL versions)
  • Fixed potential "Unexpected end of ZLIB input stream" with newer ASWM versions
----------, Jan 21, 2024

5.4 spigot.png
We (me and @MetallicGoat) are delighted to announce this colossal update that we used to squeeze out as many possibilities as possible! And you heard right, we improved the performance by over 170% - even while MBedwars already counts as probably the most efficient Bedwars plugin out there. Impressive, isn't it?
We took a spark before and after this update.
Players1: 170
MSPT1: 74
Players2: 260
MSPT2: 42
-> ((74/170)/(42/261)-1)*100 = 170.5%
Before: https://spark.lucko.me/3vFSirZ0li
After: https://spark.lucko.me/3t8nradUwZ

Important note: We had to break certain APIs to add new features. We also took this opportunity to remove most of the deprecated methods altogether. This means that you probably must update most of your addons, check for updates! Nag their developers if you are experiencing new errors caused by their addon!
Added support:
Added sound:
  • FIREBALL_OUT_OF_BOUNDS
Config changes:
  • Improvements to default "Hypixel" template (Thanks to @MetallicGoat)
  • Added:
    • tntsheep-damage-multiplier: Ability to modify the damage dealt by the TNT sheep (Thanks to @MetallicGoat)
    • respect-event-cancellations: Useful to improve compatibility with anti-cheats
Performance improvements:
  • Improved performance due to past memory leaks in i.a. arenas
  • Slightly improved performance of player move handling logic
  • Added async UI rendering for:
    • Shop
    • Upgrade Shop
    • Achievements
    • "View players" spectator item
    • "Select team" lobby item
  • Rewrote skin fetching and caching logic to be more efficient
  • Improved performance of legacy block (1.8-1.12) to modern block (1.13+) during regeneration of arenas that were lastly updated on a legacy spigot version
  • Made scoreboard renderer more efficient by only updating lines with placeholders
  • Now playing various particles & sounds async
  • Misc performance improvements by caching frequently used methods
  • More efficient system to remove block drops for 1.12+
  • Improved efficiency of region regenerator by off-loading NBT parsing to reading thread
  • Improved performance by not manually resending chunks during regeneration and by not constantly checking for item spawns (alternative, more efficient solutions are being used that have been added in the past)
Improvements:
  • Reduced usage of NMS to make supporting new MC versions a lot easier (Thanks to @MetallicGoat)
  • "/MBedwars/data/skincache" folder is no longer being used. Skins from NPCs are now stored in the database as well
  • Reduced amount of potential flicker when using the shop (i.a. when buying items) caused by lags on client side
  • Added dynamic world data loading in case a custom fork (looking at you, ASWM) has a bug that causes existing worlds to not get properly reported
  • Made arena border more pretty & its rendering more efficient
  • Hide scoreboard score with 1.20.3+
  • Prefer same players-per-team for arenas that picked with the "next round" spectator item
  • Fireball now gets spawned with slightly moved forward, so it doesn't *seem* like as if there was a delay in using it
  • Improved team balance: Aims for a fairer players per team balance
  • Added new system that avoids file corruptions caused by unexpected server stops (e.g. due to a crash) for world info, arenas and locally stored player data
  • Added more warnings in config.yml if something is done wrong
  • BlockBreakEvent not getting cancelled anymore with a successful bed breakage to improve support with anti-cheats
  • In case of adding a corrupted .jar into the add-on file: Replaced NPE (only present in newer paper versions) with proper warning (Thanks to @MetallicGoat)
  • Arena issue if arena's type is WORLD and its world is a main world (Thanks to @MetallicGoat)
  • Moved to java.time API, made sure that times are stored correctly and parsed correctly, even if time zones change at any point
API changes:
  • Added:
    • GUI#hasOpen(player)
    • ScoreboardUpdateCause.PAPI_PLACEHOLDERS
    • ChestGUI#mergeFrom(gui, forceRecreate)
    • VarParticle#getOffsetX(), #getOffsetY(), #getOffsetZ()
    • VarParticle#setOffset(x, y, z)
    • VarParticle#getCount()
    • VarParticle#setCount(count)
    • VarParticle#clone()
    • VarParticle.PARTICLE_EXPLOSION_HUGE
    • GameAPI#drawBorder(min, max, player)
    • RemoteServer#getArenaByExactRealName(name)
    • XYZ#equalsBlockCoords(XYZ)
    • XYZ#equalsBlockCoords(Location)
    • XYZ#equalsBlockCoords(Block)
    • PlayerDamageInfo class
    • GameAPI#getLastPlayerCausedDamage(damaged)
    • PlayerKillPlayerEvent#getDamageInfo()
    • Message#getInputString()
    • Message#getDefaultString()
    • RemotePlayerPreJoinLocalArenaEvent
    • Arena#getBedDestructionTime(Team)
    • ArenaIssuesCheckEvent.IssueType.GAME_WORLD_IS_MAIN_WORLD
    • Arena#getRoundStopTime()
    • AddPlayerIssue#getDefaults()
    • Arena#placeBedBlocks(Team)
    • Arena#destroyBedBlocks(Team)
    • ArenaIssueCheckEvent#removeIssue(issue)
    • Arena#broadcastCustomPropertyChange()
    • ArenaPropertyChangeEvent.Property#API_CUSTOM
    • RemoteArenaPropertiesChangeEvent.Property#API_CUSTOM
    • Arena#destroyBedNaturally(info)
    • New Async API: (Thanks to @MetallicGoat)
      • Helper#getBlockAsync(location, callback)
      • Helper#getBlockAsync(world, xyz, callback)
      • Helper#getBlockAsync(world, x, y, z, callback)
      • Helper#getChunkAsync(world, x, y, callback)
      • Helper#teleportAsync(entity, location, callback)
    • New ConfigurationAPI (Thanks to @MetallicGoat)
  • Deprecated:
    • GUI#onClose(player)
  • Fixed broken methods:
    • ShopPage#isClone()
    • BuyGroup#isClone()
    • ShopItem#isClone()
    • Fixed ArenaCloningManager#getClonePurposeWorlds() not returning all worlds
    • Fixed PlayerUseSpecialItemEvent#isNaturalInteractionCancelled() getting ignored if it has been cancelled using #setCancelled()
    • Fixed PlayerPickupDropEvent#isFromSpawner() returned false if event was cancelled a previous time(Thanks to @MetallicGoat)
  • Miscellaneous:
    • Arena#setStatus(status) now throws an IllegalStateException when trying to set it to RUNNING, but there aren't any players or the current state isn't LOBBY
    • Message class now inherits from Cloneable
    • Turned AddPlayerIssue from Enum to a Class that now allows one to pass a custom message using its constructor
    • Updated wrong javadocs for various bed related methods in Arena class
  • Broke API:
    • AddPlayerIssue is now a class, not an enum anymore! Enum methods didn't get reimplemented. It might also require recompilation due to possible JRE errors
    • Updated QuitPlayerMemory: Now uses java.time API instead of long
    • Arena#getRoundStartTime() now returns Instand instead of a long. It may also be null now and also now works if the state isn't RUNNING
    • Arena#getRunningTime() now returns Duration instead of a long. It may also be null now and also now works if the state isn't RUNNING
    • Removed AddPlayerIssue#PLUGIN and AddPlayerIssue#ARENA_ISSUE_MISSING_WORLD
    • Removed deprecated methods from PlayerDataAPI (only ones were to obtain cached instances that were replaced by new ones)
    • Removed deprecated legacy hook API from BedwarsAPI class, as it has been replaced by a new one
    • Removed deprecated GameAPI#getArenasByPickerCondition(string), as it has been replaced by a new one
    • Removed deprecated methods from Arena class: #getQueuedUpgradeTraps(team), #getQueuedUpgradeTraps(team, level, force), #getRemainingTeams(), #save()
    • Removed deprecated methods from Team class: #getChatColor(), #setChatColor(color), as it has been replaced by new API for hex support
    • Removed deprecated methods from ArenaBedBreakEvent: #isBroadcasted(), setBroadcasted(broadcast), as they have been replaced by new methods
    • Removed deprecated method ArenaIssueCheckEvent.Issue#getMessage(sender)
    • Removed field ScoreboardUpdateCause#FREQUENT_TICK, as it's not used anymore
    • Removed deprecated method PlayerOpenShopEvent#getPage(), as it has been replaced by a new one
    • Removed legacy SpecialItemAdapter and SpecialItemListener classes, and every method related to it. Listen to PlayerUseSpecialItemEvent instead
    • PlayerAchievements: Replaced legacy time API (Date) with java.time (OffsetDateTime) for methods #getEarnDate(achievement) and #setEarnDate(achievement, date)
    • Various Arena#destroyBedNaturally( ... ) methods have been removed and replaced with a new one containing a data object, to avoid clutter
Fixed bugs:
  • Fixed potential memory leak with guard dogs and tnt sheeps
  • Fixed potential memory leak when players teleported
  • Fixed various problems with BergwerkLabs shop layout
  • Fixed music got broken when opening the jar as a window
  • Fixed potential memory leak of skin fetcher as there was no timeout
  • Fixed "regeneration-region-efficient-beta": Not generating last chunk
  • Fixed fireballs being able to fly into infinity
    • Caused chunks to get loaded&generated endlessly
    • Caused memory leaks due to it never getting unloaded
    • Now ignites (with sound & particle) instantly if it leaves the playable area
  • Fixed "forcestart-ignoreminplayers" config not working as intended
  • Fixed chat spam when there are enough players in a lobby to auto-shorten the time
  • Fixed broken achievements
    • WRITE_GG_IN_ENDLOBBY
    • KILL_WITH_BOW
  • Fixed Quick Buy display issues with ShopItems with restrictions (Thanks to @MetallicGoat)
  • Fixed "placeableblock-whitelist" config not functioning
  • Fixed respawning players could see all spectator messages even if "customchatmessage-spectator-public" is enabled (Thanks to @MetallicGoat)
  • Fixed icon of empty arenas being air in arenas gui when using "set-amount: {players}"
  • Fixed bug with "/bw arena saveblocks" that caused entities of unloaded chunks to not get saved
  • Fixed ASWM save error (with 2.8.0 version) (Thanks to @MetallicGoat)
  • Fixed bug that could have caused constant upgrade shop reopening
  • Fixed "fireball-fly-speed" having no effect for 1.17+
  • Fixed occasionally not properly cleaning up auto clone worlds

Much cool for scrolling this far - You might also want to check out our new Cosmetics&Coins 1.2 update: Cosmetics & Coins – Marcely's Bedwars (mbedwars.com)
cosmetics 1.2 spigot.png
----------, Jan 15, 2024

Added feature:
  • Leaves no longer decay within arenas (Thanks to @MetallicGoat )
New configs:
  • prevent-leaves-decay
Performance improvements:
  • Added support for async chunk generation of void worlds on 1.14+ (= Better performance)
  • Reduced server load during region regenerations on 1.13+
  • Keeping certain chunks within a match loaded to reduce load
Improvements:
  • Improved SkinFetcher logic
  • Death spectate respawn duration is now not dependant on the tick rate anymore. Previously, it would take players longer to respawn if the server was lagging
  • Now also resetting player's velocity whenever the player's complete state is being reset (should fix players getting stuck in blocks during respawn)
  • Kills now get properly counted when a companion (iron golem, guard dog ...) kills a player. Previously the kill stat would get increased for the last player who actually damaged the victim, and not for the owner of the companion
  • Added server load balancing to "best" arena picker selector: Now prefers the server with the least amount of players
  • The force start item no longer breaks if "forcestart-time" is set to 0 or less
  • Coords of auto cloned region arenas now stay within the boundaries of the bedrock edition
  • Auto cloned region arenas now make use of the z-axis (more arenas fit in a single world) and also of multiple worlds
  • Added more detailed info for when the regeneration has failed due it not being able to teleport the players to the main world
  • When trying to teleport the players out of the world it is trying to regenerate, it will now first try to use the defined hub world and then the main world
  • New arena issue if hub position is inside arena (prevents players from teleporting at the end)
  • Improved logic of bungee messaging sending queue, it also now works better with multi-proxy
API changes:
  • Added:
    • RemotePlayer#getLoginTime()
    • AddPlayerIssue.LEFT_SERVER
    • KickReason.SPECTATE
    • KickReason#isApplyingStoredInventory()
    • KickReason#isTeleportingToHub()
    • RemotePlayer#sendMessage(BaseComponent...)
    • AttributeChangeCause class
    • PlayerPropertyChangeEvent#isFromRemoteServer()
    • PlayerStatChangeEvent#isFromRemoteServer()
    • RemoteAPI#flushQueuedPlayerData()
    • GameAPI#forceLobbyHotbarRefresh(Player)
    • GameAPI#getCompanionOwner(entity)
    • GameAPI#setCompanionOwner(entity, owner)
    • RejoinPlayerIssue#getMessage()
    • ArenaBedBreakEvent#isSendingChatMessage()
    • ArenaBedBreakEvent#setSendingChatMessage(boolean)
    • ArenaBedBreakEvent#isSendingTitle()
    • ArenaBedBreakEvent#setSendingTitle(boolean)
    • ArenaBedBreakEvent#getChatMessageFunction()
    • ArenaBedBreakEvent#setChatMessageFunction(Function<Player, Message>)
    • ArenaBedBreakEvent#setChatMessage(Message)
    • Message.build(lines...)
    • Message#getPlaceholder(key)
    • PlayerOpenUIEvent
    • ShopItem#buy(player, isShiftClick)
    • ShopOpenCause#API_ITEM_BUY
    • XYZ#isZero()
    • IssueType#getMessage()
    • IssueType#construct(sender)
    • IssueType#construct(sender, detail)
  • Deprecated:
    • ArenaBedBreakEvent#isBroadcasted()
    • ArenaBedBreakEvent#setBroadcasted(boolean)
  • For all player attribute containers: Replaced 'set(key, value, dispatchAPIEvent, cacheOnly)' with 'set(key, value, AttributeChangeCause)'
  • Fixed PlayerProperties#remove reverting itself after a re-load with SQL as the storage type
  • Fixed endless loop with ShopPrice#take(player, multiplier)
  • Fixed typo "REGION_lESS_THAN_WORLD_MIN_HEIGHT" (Letter L in LESS was lower-cased)
Fixed bugs:
  • Fixed rare "Player is not online" error when member followed a party leader
  • Fixed fireball not breaking any blocks on older versions
  • Fixed players and spectators being counted as a member of an arena, even though he might have been kicked during the join process (i.a. if a plugin kicked him during PlayerJoinArenaEvent)
  • Fixed holos (dealers etc) having an invalid rotation on 1.20+
  • Fixed rare case where the server would crash when a player quits the server
  • Fixed player not being sent to hub server when he rejoined into an empty server on a proxy network
  • Fixed not properly parsing legacy spawn egg materials (monster_egg:<entity>) on 1.13+
  • Fixed spell_mob and spell_mob_ambient would always appear as black on 1.13+
  • Fixed guard dog attacking non-player enemies (i.a. dream defender)
  • Fixed potential error when using "/bw arena rename"
  • Fixed NPE when being a part of a party without a leader
  • Fixed errors with holograms on 1.20.2
  • Fixed NPCs not spawning on 1.20.2
  • Fixed error when death-spectate-at-death-location is set to false and there is no spectator point
  • Fixed beds lost stat not being counted if bed has been broken by a non-player
----------, Nov 20, 2023

Added support for:
Improvements:
  • Autojoin: Players now get spawned at the proper location when they switch servers without any delay
  • Improved parsing of legacy enchantments throughout all configs: It now supports legacy numeric ids on 1.13+ and added missing ones
  • Improved compatibility between 1.13+ and below 1.12: Enchantments NBT tags within items now get properly parsed, even if they differ due to Mojang renaming them between updates
Fixed bugs:
  • Fixed losses potentially being counted twice
  • Fixed "notbuildableradius-dealers" having no effect for WORLD arenas
  • Fixed that the lobby world isn't being properly being changed for cloned arenas of the type WORLD
  • Fix incorrect configuration of gen-tiers in Hypixel layout (using %% instead of {}) (Thanks to @MetallicGoat)
----------, Sep 22, 2023

Improvements:
  • Replaced "SWM plugin is missing" warning with a new "SWM enabled config is disabled", if the config is actually just disabled
  • Arena picker conditions now get parsed when they are actually needed for the first time, so that addons registering custom ones have enough time to register theirs
Fixed bugs:
  • Fixed errors with FetchLeaderboard API
  • Fixed problems with leaderboard on local storage: Missing players, players being ranked twice
  • Fixed lobby leave item not working if "lobby-leaveitem-time" was active
  • Fixed error when using %mbedwars_playerarena-countdown% while countdown wasn't running
  • Fixed that various playerarena PAPI placeholders stopped to work
  • Fixed IO threads potentially freezing when loading a SWM world
----------, Sep 12, 2023

5.3.png
Huge thanks to @MetallicGoat ! He has been a non-trivial contributor to this update, and is responsible for i.a. the new scoreboard system, the many new features and tons of QoL improvements (including bug fixes).
This update is massive. A lot of time has been invested into it, we'd greatly appreciate a donation :)
New features:
  • New scoreboard system:
    • Fixed issues with flicker when "force updating" the scoreboard
    • Added per-condition scoreboards
    • Added scoreboards for end-lobby and spectator (new scoreboard-layouts folder)
    • Full hex support
    • Increased character limit (your Spigot/Minecraft version must support them)
  • Added grouping for arenas collections in arenas GUI:
    • New config: group-by-displayname
    • New placeholder: {grouped-arenas}
  • Display spawners feature
    • Spawners within the same position now get aggregated
    • This means that it displays the amount of spawners that are on that position and also stacks different types on a different y-level
Added support:
  • AdvancedSlimeWorldManager 1.19+ (aka AdvancedSlimePaper)
Added configs:
  • explosion-entities-blacklist (blacklist entities that can be damaged by explosive)
  • group-by-displayname (arenas GUI)
  • Added ability to configure titles/lore in achievements menu
    • gui-achievements-text-unearned
    • gui-achievements-text-earned
  • New configs for guard dogs
    • guarddog-damage-multiplier
    • guarddog-alive-duration
    • guarddog-display-name
New PlaceholderAPI placeholders:
  • %mbedwars_playerarena-countdown%
    • Displays the remaining time (hh:ss format) until either the match ends (if the arena is running), or the remaing time (hh:ss format) until the match begins (during lobby state)
  • %mbedwars_playerarena-running-time%
    • Displays the time (hh:ss format) the match is already running
Performance improvements:
  • Added player indices for local storage
    • Greatly reduces memory usage
    • Automatically handles corruption
    • Allows you to fetch stats from players who never joined the server. E.g. when you transfer the stats to another server, where no players have been logged yet (API)
    • Opens up new potential, e.g. by having a new API that allows you to fetch the leaderboard of any stat set
  • Greatly reduced memory usage of the "regeneration-region-efficient-beta" config
  • Slightly improved performance by placing bed blocks async (if supported; 1.15+ paper)
  • Improved performance by using more optimized data types throughout the code
Improvements:
  • Added Magic Milk to HyPixel template
  • "/bw spawn joinarenasign" now supports remote arenas (from ProxySync addon)
  • Added new arena condition variables: server_playing_arenas_count and cloned_arena_name
  • The configuration page of voting arenas now displays the real name of the arenas within the pool instead of their display name
  • It is now possible to interact with entities in end lobby if the config "endlobby-tptolobby" is disabled (Fixes conflict with Yeehaw victory dance from the Cosmetics&Coins addon)
  • Reduced size of the jar by not included unused classes from third-party libraries
  • HyPixelV2 shop layout: Pages row is no longer being centered
  • HyPixelV2 shop layout: Green hint in page/item separator now properly adapts itself to page force-slot
  • Achievements GUI now also displays the earn date of each achievement
  • GeyserMC hotfix (caused by it): Permanent zoom after respawning as a spectator
  • It is now possible to join an arena while spectating. Previously it'd display a "You're already inside an arena!" message
  • Spectator_Join and Spectator_Leave messages now don't get shown anymore if you are death spectating
  • Added {plugin:version} scoreboard placeholder
API:
  • Additions:
    • PlayerInteractSpecialBlockEvent
    • PlayerInteractHologramEntityEvent
    • VarParticle.NONE
    • PersistentStorage class
    • PersistentStorage.Holder class
    • SpecialBlock now implements PersistentStorage.Holder and Metadatable
    • PacketHologram now implements PersistentStorage.Holder and Metadatable
    • KickReason#SPECTATE_ITEM_NEXT_ROUND
    • KickSpectatorReason#JOIN_ARENA
    • KickSpectatorReason#isTeleportingToHub()
    • KickSpectatorReason#isApplyingStoredInventory()
    • KickSpectatorReason#isDisplayingLeaveMessage()
    • SpectateReason#isDisplayingJoinMessage()
    • SpectateReason#isBackingUpInventory()
    • Added Message#send(sender, freeInstance)
    • Fixed typo: VarParticle#isnnternallyParticle should be isInternallyParticle
    • PlayerDataAPI#fetchLeaderboard(statSet, minRank, maxRank, callback)
    • PlayerDataAPI#fetchLeaderboardPosition(playerUUID, statSet, callback)
    • PlayerDataAPI#fetchLeaderboardPosition(player, statSet, callback)
    • Added CommandSenderWrapper#isConsole()
    • Added CommandSenderWrapper#isPlayer()
    • Added CommandSenderWrapper#isLocal()
    • Added CommandSenderWrapper#isRemote()
    • Added RemoteServer#executeBedwarsCommandAsConsole(label, args)
    • Added CommandSenderWrapper#wrapConsole(server)
  • TeamEliminateEvent changes:
    • Improved its JavaDocs
    • Fixed #getRemainingPlayer() returning the player who broke the bed (it should return null)
    • Added a new parameter to obtain the player who initiated it: #getCausingPlayer()
    • Made it more clear what PlayerIngameDeathEvent is doing
  • Spectating instances who get kicked due to the player instance getting kicked now use the matching reason
    • Added KickReason#getMatchingSpectatorKickReason()
Fixed bugs:
  • Fixed potential error when selecting a team in the selector GUI https://pastebin.com/3eSsGqm8
  • Fixed various errors when converting from v4
  • Fixed error "IllegalArgumentException" when trying to access remote arenas using the console commands (Requires Enhanced ProxySync)
  • Fixed various problems with auto cloning (such as holos [dealers etc] not spawning in world arenas)
  • Fixed water would drop the items that it had broken
  • Fixed duplication glitch in shop layouts that used villager GUIs
  • Fixed missing hex support in various places (config.yml, title of arenas, various messages and name for arenas GUI statue)
  • Fixed "IllegalArgumentException" error when using "/bw tools openshop" while not being in an arena and opening a page that has items that make use of the "restriction" config
  • Fixed glow effects on items not working when joining with 1.11+ (ViaVersion) on a 1.8-1.10 server
  • Fixed fire from explosions caused by fireball special item
  • Fixed potentially inventory being cleared when using the "next round" item as a spectator
  • Sound "spectator-change-arena" (played when you use the next-round item as a spectator) now also gets played when you switch arenas over the network and not just locally
  • Fixed missing team name in the chat of the default HyPixel template
  • Fixed various errors that occurred when removing various configs or passing invalid syntax
  • Fixed player's client language not being considered in some few cases, even if multi-language was enabled
----------, Sep 2, 2023

5.2.7-50p.png
Added config:
  • notbuildableradius-permit-block-liquidflow (Disable water flowing into restricted area, e.g. team spawns) (Thanks to @MetallicGoat)
Improvements:
  • Chat shouting: No message will be sent now if the message is empty (Thanks to @MetallicGoat)
  • Water no longer flows out of an arena (Thanks to @MetallicGoat)
  • "Select team" GUI in lobby closes once you clicked and switched a team
  • Rewritten arena regeneration queue
    • It now works a lot more stable and efficient
  • Added better failure messages for "/bw arena regenerate"
  • Rewrote message loading system
    • Greatly reduced memory usage of messages within the memory (having all loaded now only uses ~57kb RAM) + it's a lot faster and stable now
  • Messages now get automatically translated into the players language when the plugin is being enabled for the first time to make the introduction to the setup easier to understand
Fixed bugs:
  • Fixed NoSuchMethod error on 1.20+ (setCollidesWithEntities API got removed by spigot)(Thanks to @MetallicGoat)
  • Fixed error when punching shop NPC on 1.20+ (Thanks to @MetallicGoat)
  • Fixed error https://pastebin.com/UduXH3MT
  • Fixed arena regeneration queue getting stuck with many arenas
  • Fixed issues with messages load system (there were cases were it wiped all changes)
  • Fixed "bed-block" config didn't have any affect on the bed placed in the arena
  • Fixed possible error when setting up plugin https://pastebin.com/N6B8Q0Wz
  • Fixed error https://pastebin.com/HkgwEB8b (only appeared for 1.15 - 1.18)
  • Fixed that the regenerator would go past the corners and thus save, clean and regenerate more blocks than it should
API changes:
  • Fixed docs saying that the time unit in Arena#setIngameTimeRemaining(int) and Arena#getIngameTimeRemaining() is ticks instead of seconds [! Functionality is still the same as before !]
  • New HookAPI
    • Deprecated BedwarsAPI#getHookedPlugins()
    • Deprecated BedwarsAPI#getHookablePluginNames()
    • Deprecated BedwarsAPI#createPluginHook(Plugin)
    • Deprecated BedwarsAPI#removePluginHook(Plugin)
    • Added BedwarsAPI#getHookAPI()
    • It is now easily possible to hook custom parties&nicknaming systems into MBedwars and thus cause MBedwars to automatically manage them for you.
      Additionally, you may also access the included&registered parties&nicknaming hooks and party information about a player.
----------, Jul 12, 2023

[​IMG]
[​IMG]
Added support:
Added features:
  • Added biome support for region arenas on 1.15+ (biomes get restored after an arena has ended + correct biomes when using cloning feature) (1.15+ only)
  • Added ability to modify player stats through commands: (Thanks to @MetallicGoat)
    • /bw tools playerdata stats set/add/subtract
    • /bw tools playerdata stats reset
    • /bw tools playerdata stats resetall
Improvements:
  • Improved preciseness of regeneration time in "/bw arena info" (It now tries to use past average instead of guessing it all the time)
  • Replaced error https://pastebin.com/aUA650EJ with proper warning
  • Slightly reduced memory usage by keeping less message strings loaded
  • Slightly improved performance for all cloned worlds by disabling auto-save for them
API additions:
  • Added ThrowingConsumer and ThrowingSupplier helper classes
  • Added new PlayerDataAPI stuff:
    • getCachedAchievements()
    • getCachedStats()
    • getCachedProperties()
    • void purgePlayerData(UUID uuid, boolean stats, boolean achievements, boolean properties, boolean cacheOnly, @Nullable Runnable callback)
    • void purgeAllPlayerData(boolean stats, boolean achievements, boolean properties, boolean cacheOnly, @Nullable Runnable callback)
  • PlayerDataPurgeEvent (Thanks to @MetallicGoat)
Fixed bugs:
  • Fixed spectator items not working unless they have both a handler and a command attached (Thanks to @MetallicGoat)
  • Fixed Bed Destroy message being sent after victory message with solo rejoin + various other niche solo rejoin issues (Thanks to @MetallicGoat)
  • Fixed that changes to a spawners drop duration during a game wouldn't get applied immediately, but rather just after it dropped something
  • Fixed error https://pastebin.com/vv1M8ivn on 1.19.3+
  • Fixed that the area-deco element in ArenasGUI expected x1/x1 to be smaller than x2/y2
  • Fixed interference with SkinsRestorer (players within a match would see new players joining the server on the TAB)
  • Fixed error https://pastebin.com/L5Ah2f4p
  • Fixed that players could get stuck in lobby if the lobby position was placed below the min height on 1.17+
  • Fixed not copying over various world properties to cloned worlds (only for arenas of the type WORLD). These include: border, game rules, difficulty, weather, time, PVP, spawn flags, spawn location, and mob spawn limits
----------, Jun 23, 2023

As always, I am thankful for @MetallicGoat 's (and of course, everyone else who has reported the bugs in our Discord) contributions to this update. If you appreciate our efforts, we'd greatly appreciate a donation. Thank you very much!
cloudnet - Kopie.png
(Preview of the new CloudNetV4 support)

Added feature:
  • Players who quit during a solo match may have the chance to rejoin for a specific timeframe (configurable using config "solo-rejoin-time") instead of being eliminated immediately (Thanks to @MetallicGoat)
Third-party support improvements:
  • Updated OldCombatMechanics to 1.12.0+ (Old versions aren't supported anymore. Plugin will warn you if it detects that) (Thanks to @MetallicGoat)
  • Added CloudNetV4
  • Improved Microsoft SQL support:
    • Added driver with latest version
    • Added configs: sql-mssql-encrypt and sql-mssql-integrated-security
    • Added new configs to web setup as well
Config changes:
  • Added:
    • auto-cloning-excluded-arenas: to exclude specific arenas from auto clone
    • sql-mssql-encrypt
    • sql-mssql-integrated-security
  • customchatmessage-spectator-message:
    • Added PlaceholderAPI support
    • Added new placeholders:
      • {essentialsgroupmanager}
      • {name}
      • {message}
  • "customchatmessage-message" now also gets applied during lobby phases
  • "hex-support" is now set to true by default
Miscellaneous:
  • Significantly reduced memory usage for arenas caused by their regeneration system
  • Added API version to /bw info
API changes:
  • Some changes for the new solo-rejoin feature:
    • Deprecated:
      • Arena#getRemainingTeams()
      • Arena#getRemainingTeams(Player...)
    • And due to that added:
      • Arena#getAliveTeams()
      • Arena#getAliveTeams(Player...)
      • Arena#getTeamsWithPlayers()
      • Arena#getTeamsWithPlayers(Player...)
  • Some hologram API improvements:
    • Added ability to modify equipment:
      • Added EquippableSkin and HologramEquipment classes
    • Added ability to modify health:
      • Added DamageableSkin class
    • Added ability to modify ArmorStands:
      • Added ArmorStandHologramSkin class
    • Deprecated HologramSkinType#VILLAGER
    • Added Spawner#getHologram()
    • Added Arena#getBedHologram(Team)
  • Added API to communicate using messages/packets between servers (RemoteAPI):
    • RemoteCustomMessageReceiveEvent
    • RemoteAPI#broadcastCustomMessage(String, byte[])
    • RemoteServer#sendCustomMessage(String, byte[])
  • Miscellaneous:
    • Added:
      • ShopItem#removePrice(ShopPrice)
      • ShopItem#removeProduct(ShopPrice)
      • ItemShopPrice#setItemStack(ItemStack)
      • ItemShopProduct#setItemStack(ItemStack)
    • CommandSenderWrapper#wrap(RemotePlayer) now automatically wraps him into a Bukkit format in case he is playing on the local server
    • Fixed CommandSenderWrapper#getReference() returning null in case the sender was on a remote server
    • QuitPlayerMemory constructor received a new parameter, thus potentially breaking API making use of it
Fixed bugs:
  • Fixed 'missing handler warning' sent to players when used a spectator item with a command only (Thanks to @MetallicGoat)
  • Fixed config descriptions being formatted weirdly (Thanks to @MetallicGoat)
  • Fixed spawner holograms not spinning (Thanks to @MetallicGoat)
  • Fixed NPE when opening the HypixelV1 layout (Thanks to @MetallicGoat)
  • Fixed arena regeneration queue getting stuck when forcefully canceling them
  • Fixed player parameter for /bw join always used the player that typed the command
  • Fixed error when typing "/bw tools openupgradeshop" while not inside an arena https://cdn.discordapp.com/attachments/355078539793530900/1105848704050659338/image.png
  • Fixed that NPC bodies wouldn't rotate at certain situations when used together with Tweaks' auto-head-rotation
  • Fixed that NPC bodies wouldn't rotate at certain situation when used together with Tweaks' auto-head-rotation
----------, May 21, 2023

Note: Due to how small this update is, the plugin's version stays at 5.2.4

Fixed bug:
  • Fixed problems with /bw join command
----------, Apr 29, 2023

As always, I am thankful for @MetallicGoat 's (and of course, everyone else who have reported the bugs in our Discord) contributions to this update. If you appreciate our efforts, we'd greatly appreciate a donation. Thank you very much!

Command changes:
  • Console may now access "/bw stats" and "/bw debug" as well
  • Added optional [player] parameter to /bw join commands for admins (Thanks to @MetallicGoat )
Config changes:
  • Removed "log-ranking-recalculations"
  • Removed "recalculate-ranking-auto-delay"
Miscellaneous:
  • Increased max SQL connections limit to 20. Useful for plugins that access the connection pool using the API
  • Reduced idle SQL connections amount from 4 to 1. MBedwars doesn't need more most of the time, and this also slightly reduces the load on your SQL server
  • Added player lock support for MongoDB
  • Improved player data syncing when having multiple servers
  • Added info when the plugin detects that you are running a proxy network
  • Removed ranking calculation notification altogether
  • Reduced database size & efficiency by storing less information
  • Added special thanks to /bw info
  • It is now possible to interact with dealers (and other holograms) by "punching" it. This makes it easier for bedrock players and thus improves GeyserMC support
API changes:
  • Added:
    • RemoteAPI#isInstantPlayerDataSyncingActive()
    • PersistentBlockData#matches(Block)
    • CommandHandler#getOverridingUsage(CommandSenderWrapper senderWrapper)
    • SubCommand#getUsage(CommandSenderWrapper senderWrapper)
  • Added ArenaPersistentStorage API & added PlayerProperties helpers:
    • Added interface StringMapSerializationHelper (contains a bunch of getters and setters, e.g. getInt(String)
    • PlayerProperties now inherits StringMapSerializationHelper, making the use with it easier
    • Added class ArenaPersistentStorage
    • Added method Arena#getPersistentStorage()
    • Added method RemoteArena#getPersistentStorage()
  • Deprecated PlayerDataAPI#getXNow(X) and replaced it with PlayerDataAPI#getXCached(X) as the name was irritating
Fixed bugs:
  • Fixed that other servers could mess with database, even if they weren't supposed to
  • Fixed desyncs between leaderboards and /bw stats
  • Fixed rare bug that caused players not being able to rejoin when the server just started
  • Fixed ranking skull/statue/sign not working properly for the first minute when the server started
  • Fixed rescue platform may dropping duplicate items when hit with an explosion
  • Hotfix (actually a ViaVersion bug) hologram hurt animation swapped with death animation for holograms (e.g. dealers)
  • Fixed food saturation being 20 and not 5 on respawn
  • Fixed not loading/saving configs as UTF8 if your server wasn't configured to use it by default
  • Fixed "Command not supported" error when using MariaDB driver
----------, Apr 28, 2023

As always, I am thankful for @MetallicGoat 's (and of course, everyone else who have reported the bugs in our Discord) contributions to this update. If you appreciate our efforts, we'd greatly appreciate a donation. Thank you very much!
hypixel shop.png

Added features:
  • Upgrade Shop Restrictions (restriction for each level in upgrade shop config -> allows you to create unique upgrade shops for each i.a. mode) (Thanks to @MetallicGoat)
  • Quick buy in HyPixelV2 layout: Duplicate items now get auto-removed (Thanks to @MetallicGoat)
  • Cloning feature now includes the ability of specifying the modes for which clones shall be created for
Config changes:
  • Added:
    • restriction to upgrade-shop.yml (Thanks to @MetallicGoat)
    • auto-cloning-modes
  • Added PlaceholderAPI support for customchatmessage-message
  • Replaced "lobby_countdowntitle-*" configs with a single and more customizable "lobby_countdowntitles" config
  • Added "description" to shop items (currently only supports HyPixelV2 layout)
Miscellaneous:
  • Dependency download in template applying during setup now fallbacks to alternative sources if first ones fail
  • Not sending whole teleport packets anymore for holograms if just the head rotation changed (causes MBedwarsTweaks feature "Friendly-Villagers-Enabled" to be more smooth)
  • Improved system that applies custom textures to skull blocks
  • Hurt effects on holograms (i.a. dealers) is now visible for all nearby players, and not just for the one who is punching him
  • Action bar message "Waiting..." in lobby no longer collides with other plugins when it is empty
  • Remaining action bars and titles now get removed when a player leaves the arena
  • Slightly reduced the time during which the "Good Luck!" title will be shown with the start of a match
  • "Respawn in x..." message now gets immediately removed when player respawned (previously it'd stay for a second)
  • Item names in HyPixelV2 shop are now dyed red by default
  • Now removing item attributes in HyPixelV2 shop layout
  • GUI of HyPixelV2 renames to the page you currently have open
API changes:
  • Added:
    • Upgrade#getRestriction()
    • Upgrade#setRestriction(ArenaConditionGroup restriction)
    • Class QueuedCloningArena
    • ArenaCloningManager#getQueueEntries()
    • ArenaCloningManager#addToQueue(QueuedCloningArena)
    • ShopItem#getDescription()
    • ShopItem#getDescription(CommandSender)
    • ShopItem#getConfigDescription()
    • ShopItemsetConfigDescription(String)
  • NMSHelper#setSkullTexture(Skull, String) now doesn't automatically update the BlockState anymore
  • Fixed PlayerUseLobbyItemEvent not being fired
Fixed bugs:
  • Fixed error for some people that were using specific versions of 1.19R1
  • Fixed problems with world storage using cryptic names for some SWM users thus clearing the spawned dealers
  • Fixed "class java.lang.Boolean cannot be cast to class java.lang.Float" error on 1.19.4 (Thanks to @MetallicGoat)
  • Fixed missing head rotation for holograms on 1.19.4
  • Fixed allowcommand-stats config not working properly
  • Fixed no damage effect when hitting holograms (i.a. dealers) on 1.19.4
----------, Apr 15, 2023

As always, I am thankful for @MetallicGoat 's (and of course, everyone else who have reported the bugs in our Discord) contributions to this update. If you appreciate our efforts, we'd greatly appreciate a donation. Thank you very much!

new select team.png
We have been redesigning the select team GUI. We are open for further suggestions!

Config changes:

  • Added color code & language support for gui-selectteam-teammaterial-* configs
  • Added gui-selectteam-teammaterial-lore-empty
  • Added default values to hubcommands config
Miscellaneous:
  • Added auto-wrapping for upgrade shop item descriptions
  • Removed item attributes from upgrade icons
  • Removed extra space from auto-wrapped lines
  • Made some improvements to the look-and-feel of some centralized parts in GUIs
  • Removed decimal places from PosMin/PosMax for region arenas in /bw arena info
API addition:
  • CenterFormat#CENTRALIZED_EVEN
Fixed bugs:
  • Fixed chat-event-listener-priority having no effect
  • Fixed not being able to enter arenas if the lobby is inside the game area
  • Fixed suggesting wrong layouts for /bw tools openupgradeshop
  • Fixed "Cannot measure distance between lobby and porto" error when player travels between worlds during a match
  • Fixed that regeneration-region-efficient-beta would cause empty cloned region arenas
  • Fixed NPE when using the hex color system for teams
----------, Apr 2, 2023

This update fixes some serious bugs:
  • Fixed possible NumberFormatException when saving/loading achievements on local storage
  • Fixed possible NullPointerException when opening a shop with a HyPixelV2
  • Fixed InvalidDescriptionException on start when there were addons
  • Fixed that the File IO threads would lock and bring the server into a soft lock state when doing a /bw reload in a running match
----------, Mar 25, 2023

[​IMG]
I am extremely happy to announce that we are releasing the colossal 5.2 update!
As always, this update is completely free. We would greatly appreciate if you'd keep the thought of possibly showing us your admiration via a donation while you are preparing your coffee, as this will be a long one ;)


Added support for 1.19.4
While this a short one, it is likely something that most are looking for: We now natively support 1.19.4!

With this update, we also finally made the move of using the Mojang mappings, instead of the legacy Spigot ones. This basically means that we have to spend less time "finding" certain NMS features, with the effect of providing a slight performance to do improvements of certain integrations and reduces the chances of bugs to occur. Equal changes have been made to the 1.19.3 support, however, improvements likely aren't noticeable as it was already running perfectly fine.


The new installation wizard
This is a special one, that you likely have never seen with any other plugin. It is now possibly to easily set up the plugin by visiting a website!
[​IMG]
This works by generating a unique and secure link for your server whenever you are installing the plugin for the first time. There are instructions that help you with each step to make the whole process as easy and quick as possible.
We are certain that the old conventional way was already pretty easy, however the reasons for the development of this feature were to present you with the most important configurations, as it can be overwhelming for newcomers.

It is now also possible to easily install a complete layout of the plugin! With this, you may now choose between the MBedwars Vanilla layout, which we had before by default, and one that is called "HyPixel". Before, you'd have to install the according zip, extract the files and install the required dependencies. The plugin is now taking over the whole process.
[​IMG]
The ability of simply skipping the whole process (aka the conventional way) has been kept. You will be asked whether you want to use the setup wizard or not.


Performance improvements
The performance of the plugin was already perfect before this update. However, there were some parts of the plugin that we have found and improved.

One being better multi-threading. A thread, in a nutshell, is a process that runs certain algorithms in a specific orders. With multiple threads, you are basically able to have multiple things running concurrently, without one thread greatly affecting the others' performance. The server's tick logic has its own thread, and doing too many things in that one may have effects on the TPS, hence proper utilization of threads is key for a lagless experience.

MBedwars was already perfectly utilizing these abilities beforehand, however we improved certain algorithms so that it utilizes them now better by effectively needing less of them. We also found solutions for certain processes to not run on the server thread, which was kept earlier for stability reasons. This change basically means that you will experience less minor hiccups, especially when a match had ended.

Some algorithms have also been rewritten to be more efficient.


Moving from config.cm2 to config.yml
In the past, we had greatly made use of the .cm2 file format. The reason for this was that this file format has a certain syntax that is way more user-friendly and way less prone to accidental problems that potentially could have further consequences.

However, after people have been asking us, we have decided to move to the YAML format (.yml). Commonly because, as most are already used to it. We also used this opportunity to restructure certain internal parts of the plugin to firstly make the inclusion of further features more easy, and secondly include further warnings that should greatly enhance the user experience, as it is now easier to debug and fix certain problems for the user as the plugin will tell you exactly what you have been doing wrong.

The plugin will automatically convert the files. You don't have to worry about that at all.


Added MongoDB support
MongoDB is a NoSQL-DBMS that technically works completely different from the conventional SQL databases, like MySQL. I used to kept saying to people that our SQL implementation was already extremely efficient, as we went the path of implementing certain unique SQL features and algorithms that are not being used by other (Bedwars) plugins, hence MBedwars commonly outperforming them. However, people have been requesting it, and I am happy to tell you all that we finally support it as well :)

We still recommend to users to not use MongoDB if you have never worked with it, as it works greatly different from e.g. MySQL. Some time must be invested to just install the MongoDB software itself, as most hosting providers usually only provide MySQL or MariaDB. If you, however, want to use it anyway, you may simply make use of the new configurations in the config.yml file. Configuring is as easy as it is with SQL.

Some improvements were made to the code of the internal storage systems. These changes provide further stability, extensibility and also have the side effect that we restructured the configurations to be more understandable.

These changes also made it possible for us to implement a /bw tools migrate command for further storage types, such as MongoDB. What this means is that you may always switch from local, SQL or MongoDB back and forth without having to care about data-loss, as MBedwars is keeping care of that.


Improved the SetupGUI
The SetupGUI is a feature that makes it possibly for users to easily create, set up and modify arenas.
In the past, certain important features didn't exist, specifically ones that aren't directly related to arenas, such as being able to spawn villagers (dealers and upgrade dealers), to identify which arenas are at your current position and to be able to easily specific the WorldEdit corners directly within the GUI.
asd.png
We replaced the old arena deletion place with misc tools. It is still possible to delete arenas, you just have go to the arenas list first. I'd guess that most have already been doing it that way and barely anyone actually used the arena deletion page.


The whole change log
Welp, these were just the most significant ones. There were also a bunch of minor changes, which you can find here:

Added support for:
  • 1.19.4
  • MongoDB
Added features:
  • SetupGUI spawn buttons (for spawning dealers, identifying an arena and setting corners) (Thanks to @MetallicGoat)
  • It is now possible to remove items from the HyPixel quick buy (Thanks to @MetallicGoat)
  • Add a message when a player is hit with a bow (Thanks to @MetallicGoat)
  • It is now possible to use PAPI placeholders in more messages
  • Sand no longer falls during regeneration for region arenas in 1.8.8 - 1.12.2
Added commands:
  • /bw tools openshop (Thanks to @MetallicGoat)
  • /bw tools openupgradeshop (Thanks to @MetallicGoat)
  • /bw tools migrate storage mongodb
Added placeholders:
  • %mbedwars_playerarena-authors%
  • %mbedwars_arena-<arena>-displayname%
  • %mbedwars_arena-<arena>-authors%
  • %mbedwars_playerarena-minplayers%
  • %mbedwars_arena-<arena>-minplayers%
Config changes:
  • Added:
    • Various "mongodb-*"
    • blocked-commands-mode (You may now whitelist instead of blacklist commands)
    • force-slot to the upgrade shop
  • Miscellaneous:
    • Moved to config.yml from config.cm2 (Thanks to @MetallicGoat)
    • Added "" configs
    • Replaced configs "sql-enabled" and "sql-type" with "storage-type" (in preperations for MongoDB support)
    • Added {team-initials} placeholder to customchatmessage-message config
    • Team selector GUI is now being sorted in the order of the teams that you configured
Miscellaneous changes:
  • Added {player} placeholder for commands run on lobby/spectator item use (Thanks to @MetallicGoat)
  • Traps now aren't being triggered any more after the team eliminated (Thanks to @MetallicGoat)
  • Now closing the GUIs of all players when the round ends
  • Updated XSeries to 9.3.1
  • Moved 1.19R2 to Mojang mappings
  • No items will be dropped anymore during regeneration
  • Revamped spectator kick algorithm
  • Improved arena saving and loading process
  • Improved performance
API changes:
  • Additions:
    • MigrationProcess.Origin#MONGO_DB
    • MigrationProcess.Origin#isStorage()
    • AddPlayerCause#END_LOBBY
    • KickSpectatorReason#END_LOBBY
    • Arena#getUpgradeState(Team)
    • Arena#saveAsync()
    • Arena#saveNow()
    • RoundEndEvent#getQuitWinners()
    • RoundEndEvent#getLosers()
    • RoundEndEvent#getQuitLosers()
    • Helper#getPlayerSkinData(Player)
    • NMSHelper#getEntityDamageSound(Entity)
    • NMSHelper#getEntityDeathSound(Entity)
    • NMSHelper#getSoundByMinecraftName(Entity)
    • NMSHelper#getEntityWidth(Entity)
    • NMSHelper#getEntityHeight(Entity)
    • RemoteArena#getDisplayedAuthors()
    • RemoteArena#getDisplayedAuthors(@Nullable CommandSender sender)
    • Helper#getBukkitChatColorFromBungee(ChatColor)
    • SpawnerDropEvent#getDroppingMaterials()
    • SpawnerDropEvent#setDroppingMaterials(ItemStack[])
    • Spawner#drop(boolean, ItemStack[])
    • Spawner#getNearbyItemsCount()
    • Spawner#setMaxNearbyItems(int)
    • GameAPI#getUpgrades()
    • Upgrade#getMaxLevel()
    • #isClone(), #getOriginal(), #clone() to BuyGroup, ShopItem and ShopPage
    • ShopItem#setName(String)
    • ShopItem#addPriceItem(ItemStack, int)
    • ShopItem#addPriceSpawner(DropType, int)
    • ShopItem#addProductCommand(String, boolean)
    • ShopItem#addProductItem(ItemStack, int)
    • ShopItem#addProductSpawner(DropType, int)
    • ShopItem#addProductSpecialItem(SpecialItem, int)
    • ShopItem#getRestriction()
    • ShopItem#setRestriction(ArenaConditionGroup)
    • ShopPage#addItem(String, ItemStack)
    • ShopPage#removeConnectedItems(ShopItem)
    • Deprecated PlayerOpenShopEvent#getPage()
    • Added PlayerShopEvent#getClonedPage()
  • Fixed:
    • Error when using GUI#closeAll()
    • Not being able to add null entries to PlayerProperties#setShopHypixelV2QuickBuyItems
  • Miscellaneous:
    • Team class: Deprecated Spigot ChatColor's and replaced them with new Bungee ChatColor methods
    • Deprecated Arena#getQueuedUpgradeTraps(Team) -> moved to UpgradeState class
    • Deprecated Arena#addQueuedUpgradeTrap(Team, UpgradeLevel, boolean) -> moved to UpgradeState class
    • Arena#save() -> replaced with new methods
    • Deprecated ShopOpenCause#DEBUG
    • Deprecated UpgradeShopOpenCause#DEBUG
    • BuyGroup, ShopItem and ShopPage now extend Cloneable
Fixed bugs:
  • Upgrade shop cannot be opened outside a match (Thanks to @MetallicGoat)
  • Fix NPE if no arenas are setup and the shop is opened (through command or API) (Thanks to @MetallicGoat)
  • Fixed upgrade shop wouldn't open outside a match (through command or API) (Thanks to @MetallicGoat)
  • Fixed final kills not being tracked (Thanks to @MetallicGoat)
  • PlayerUpgradeTriggerEvent is not being called (in some cases) and PlayerBuyUpgradeEvent is called twice (Thanks to @MetallicGoat)
  • Fixed game-breaking bug that allowed to spectate while being ingame
  • Fixed error https://cdn.emilinadaniel27.dev/files/1672144495314.png
  • Fixed error https://pastebin.com/HZJXC90p
  • Fixed various bugs related to buygroup downgrading, keep-on-death and one-time-purchase
  • Fixed bug with: customchatmessage-message config. Players could use various placeholder when {message} placeholder was used
  • Fixed quit player memories would get removed when the player got eliminated but the game hasn't finished + further bugs that came with that
  • Fixed arena weather and time not resetting back when the arena hasn't had a match yet and either always-day and no-rain were active
  • Fixed that playing players that died and thus became spectators wouldn't get readded as players during end lobby
  • Fixed the player amount in the "player join the arena" message would be incorrect if multiple players joined at a very short period of time
  • Fixed rare case where the death respawn screen wouldn't disappear (advanced method must be disabled)
  • Fixed that NPC could have been seen on the tab on 1.19.3
  • Fixed candles are not dyed to the team's color (Thanks to @MetallicGoat)
  • Fixed missing action bar for rejoining players
  • Fixed NPCs not showing all skin parts on 1.19.3 - 1.19
----------, Mar 25, 2023

This version fixes a start-up problem that appeared within version 1.17 - 1.18.2. There is no need to update if you aren't using either of these versions. Note that the version number hasn't changed internally.

Fixed bug:
  • Fixed that the plugin occasionally wouldn't start on 1.17 - 1.18.2
----------, Feb 11, 2023

Added support:
New features:
  • Added Kill-Streak and Top-Kill-Streak stats (Thanks to @MetallicGoat)
Config changes:
  • Migrated shop from CM2 to YAML (Thanks to @MetallicGoat)
  • Migrated the lobby.cm2 file to lobby-hotbar.yml (Thanks to @MetallicGoat)
  • Added new config issue warnings to the shop config file for better QoL (Thanks to @MetallicGoat)
  • Improved performance by teleporting players async (if supported by your spigot; 1.14+ and paper required)
  • Added Stacked buygroups (a replacement to Tweaks' one-slot-tools feature) to the shop.yml config file (Thanks to @MetallicGoat)
Miscellaneous:
  • Updated GSON to 2.10
  • Made spectators automatically leave the "player spectating mode" when they leave the arena border (because the watched player is e.g. falling into the void)
  • Chunks now get loaded before they are being teleported (hotfix for a Spigot bug that causes player to be stuck within blocks)
  • Now also showing game stats in "/bw tools playerdata info"
API additions:
  • PlayerPickupDropEvent
  • PlayerPropertyChangeEvent
  • PlayerStats#set(String key, Number value, boolean dispatchAPIEvent, boolean cacheOnly)
  • PlayerStats#add(String key, Number addAmount, boolean dispatchAPIEvent, boolean cacheOnly)
  • PlayerProperties#set(String key, String value, boolean dispatchAPIEvent, boolean cacheOnly)
  • PlayerProperties#replace(String key, String value, boolean dispatchAPIEvent, boolean cacheOnly)
  • PlayerProperties#remove(String key, boolean dispatchAPIEvent, boolean cacheOnly)
  • PlayerDataAPI#getStatsByName(String name, Consumer callback)
  • Arena#Block[] getBedParts(Team team)
  • Arena#Team getTeamByBaseLocation(Location)
  • Arena#Team getTeamByBaseLocation(XYZ)
  • HologramSkin#getEntityType()
  • HologramSkin#getEntityId()
  • HologramSkin#getNMSEntity()
  • ShopProductType#getId()
  • ShopProductType.getById(String)
  • ShopPriceType#getId()
  • ShopPriceType.getById(String)
  • YamlConfigurationDescriptor#addEmptyLine(ConfigurationSection)
  • BuyGroup#isStacked()
  • BuyGroup#setStacked(boolean)
Fixed bugs:
  • Fixed error https://pastebin.com/Qx516bJC
  • Fixed error https://bin.bloom.host/voguquveli.properties
  • Fixed error https://bin.bloom.host/lunaqesewa.properties
  • Fixed always kicking player on local server when forcefully switching him using remote API
  • Many PlayerStatChangeEvent dispatches when the player stats got loaded
  • Fixed super duper rare case of unwanted entities or players being hidden for spectators due to colliding entity ids between worlds
  • Fixed that spectators would see a "arena is resetting" message when joining an arena
  • Fixed that spectators would experience a glitchy effect when the player they are spectating would die
  • Fixed that spectators could get stuck and thus get kicked when they are flying too fast against the border
  • Fixed rare ConcurrentModificationException with scoreboards
  • Fixed plugin trying to enable even if it failed in the loading period
  • Fixed rare CommandExeption error on shutdown if prize commands are enabled (Thanks to @MetallicGoat)
  • Fix give on round start/respawn blocks are not able to be placed if not present in the shop (Thanks to @MetallicGoat)
----------, Dec 18, 2022

[​IMG]
It is once again time, and we have prepared something prodigious for all of you! I, however, should not put all the honoring on myself. Rather, I am the more impressed with the result @MetallicGoat was able to show off with this update! The rather basic upgrade system has been COMPLETELY rewritten and now features a BUNCH of new exaggerating possibilities, such as the inclusion of completely redesigned layouts and the addition of NormalV2 and HyPixelV2. Furthermore, the configurations file of it is now a lot less complicated as it has been restructured and now also uses YAML as it is format. We also added new upgrades, including a bunch of traps. And as last, we also added a bunch of API classes and methods, allowing the crazy devs to expend the feature-set to even another uncountable level. This is not even it, tons of things have been added, changed, and improved, including the over whole performance and user-friendliness of the plugin. As always, we'd greatly appreciate a donation: https://paypal.me/Marcel1199 The donations are of course being shared :) If that's not an option, and you'd still like to show us your appreciation, we'd be super happy to see feedback in form of a review!

NOTE: Due to massive changes to the upgrades system and the addition of new upgrades, we recommend you to delete the upgrades.yml file to generate a new file with the default files. The old file is generally being migrated automatically, so the plugin will continue working without it. The suggested process is only recommended in case you want to make use of the new features.

Added features:
  • Added ability to migrate from SQL and local via /bw tools migrate <sql / local>
  • New Magic Milk special item
  • New and improved Upgrades Shop:
    • New default upgrade handlers (including haste)
    • Upgrade Shop trap duration config
    • Trap Trigger Queue (One trap only triggered at a time, 10 sec before another can be triggered)
    • Auto updater that converts the old config file
    • Upgrades with a single repeatable level (for e.g. traps)
    • Added HypixelV2 Upgrades layout
    • Update Hypixel (Original) and normal upgrades layout
    • Added a bunch of new upgrades configsAbility to register custom upgrade handlers through the API
    • A bunch of performance & stability improvements
    • Ability to register custom upgrade handlers through the API
    • Added arena APIs for Team Enchantments and Team Effects
    • Tons of further new API and events
Miscellaneous:
  • Added (optional) plural names for spawners (supported in shop and upgrade shop)
  • Added stats:
    • Beds Lost
    • Top Winstreak
    • Final Deaths
  • Added placeholders:
    • %mbedwars_playerarena-displayname%
    • %mbedwars_stats-top_win_streak%
    • %mbedwars_stats-final_deaths%
    • %mbedwars_stats-beds_lost%
  • Added {playerteam} & {playerteamcolor} placeholders to bed break title
  • Removed RecalculateStats_Sure warning before typing /bw tools recalcstats
  • Slightly improved regeneration performance by supporting async block placement for beds on paper 1.14+
  • Slightly improved performance by using paper's chunk loading for 1.14+ for special blocks
  • Downloading player skins in case we failed to obtain it from cache (fixes skulls being steve/alex)
  • Added support for remote arenas for PAPI placeholders
  • Better formatting of numbers in some PAPI placeholders
  • Some PAPI placeholders now don't force the existence of a passed player anymore
  • Join-Arena-Signs now also work with remote arenas
Added commands:
  • /bw tools playerdata info <player>
  • /bw tools playerdata invalidatecache
Config changes:
  • Added:
    • "plural-name" to spawners.yml
    • notbuildableradius-dealers
    • Ability to set big and small titles in more places, such as in lobby, on death, and game over (located within messages files)
    • "lobby-leaveitem-time" Allowing you to add a delay for the leave item during the lobby phase
    • "regeneration-region-efficient-beta" New beta system for more efficient region regeneration (disabled by default)
  • "block-spreading-enabled: false" Now also causes fire to not burn up/break any blocks
  • "death-spectate-at-death-location" Allowing you to enforce one to respawn at their spawn point
API additions:
  • Related to upgrades:
    • GameAPI#getUpgradeShopLayouts()
    • GameAPI#getUpgradeShopLayout(String)
    • GameAPI#registerUpgradeShopLayout(UpgradeShopLayout)
    • GameAPI#unregisterUpgradeShopLayout(UpgradeShopLayout)
    • GameAPI#UpgradeShopLayout getDefaultUpgradeShopLayout()
    • GameAPI#openUpgradeShop(Player)
    • GameAPI#openUpgradeShop(Player, Arena, Team, UpgradeShopOpenCause)
    • GameAPI#getUpgradeTriggerHandlers()
    • GameAPI#getUpgradeTriggerHandler(String)
    • GameAPI#registerUpgradeTriggerHandler(UpgradeTriggerHandler)
    • unregisterUpgradeTriggerHandler(UpgradeTriggerHandler)
    • Arena#getQueuedUpgradeTraps(Team)
    • Arena#addQueuedUpgradeTrap(Team, UpgradeLevel, boolean)
    • Arena#getTeamBaseOnlyEffects(Team)
    • Arena#getTeamPermanentEffects(Team)
    • Arena#addTeamEffect(Team, boolean, PotionEffectType, int)
    • Arena#removeTeamEffect(Team, PotionEffectType)
    • Arena#getTeamEnchantments(Team)
    • Arena#addTeamEnchantment(Team, TeamEnchantment)
    • Arena#removeTeamEnchantment(Team, TeamEnchantment)
    • Arena#canPlayerBypassTrap(Player)
    • Arena#isPlayerTrapBypassKeepOnDeath(Player)
    • Arena#removePlayerTrapBypass(Player)
    • Arena#addPlayerTrapBypass(Player, boolean)
    • QuitPlayerMemory#getBypassTraps()
    • QuitPlayerMemory#setBypassTraps(boolean)
    • Added events:
      • UpgradeShopGUIPostProcessEvent
      • PlayerBuyUpgradeEvent
      • PlayerOpenUpgradeShopEvent
      • PlayerTriggerUpgradeEvent
    • A bunch of classes to the package de.marcely.bedwars.api.game.upgrade
  • ShopPage#removeShopItem(ShopItem)
  • ShopPage#addShopItem(ShopItem)
  • PlayerOpenShopEvent#getItems()
  • PlayerOpenShopEvent#removeShopItem(ShopItem)
  • PlayerOpenShopEvent#addShopItem(ShopItem)
  • ShopPrice#getDisplayName(@Nullable CommandSender, int)
  • ShopPrice#getDisplayName(int)
  • DropType#getName(CommandSender, int)
  • DropType#getPluralName()
  • DropType#getPluralName(CommandSender)
  • DropType#getConfigPluralName()
  • DropType#setConfigPluralName(String)
  • SpecialItemType#MAGIC_MILK
  • DefaultPlayerStatSet#TOP_WIN_STREAK
  • DefaultPlayerStatSet#FINAL_DEATHS
  • DefaultPlayerStatSet#BEDS_LOST
  • GUI#addCloseListener(Consumer<Player>)
  • GUI#removeCloseListener(Consumer<Player>)
  • GUI#getCloseListeners()
  • PlayerDataAPI#fetchAllStoredUUIDs()
  • MigrationProcess.Origin#LOCAL
  • MigrationProcess.Origin#SQL
  • SpecialBlock#asBukkitAsync(Consumer<Block>)
Fixed bugs:
  • Fixed despawned items count toward spawner max
  • Fixed lobby world not being moved to new one with cloned regions
  • Fixed possible errors with selectors in case the filter filtered all arenas
  • Public chat detection now has less problems with color codes
  • Fixed lobby auto-shorten countdown not working properly
  • Fixed cant add lobbyitems without handlers
  • Lobby item should teleport after Bukkit event finishes (semi-bug, caused lobby plugins to be used immediately after being teleported)
  • Fixed spectators cannot hear bed breakage
  • Spectators could have seen messages from players who aren't playing with "chat-others-unvisible" enabled
  • Fixed teleporter special item dupe
  • Possibly fixed death message not showing if config 'die-in-void' set is set to true
  • Fixed ArenaPlayer PAPI placeholders not being parsed for spectators
  • Arena#getItemsGivenOnSpawn throwing NPE if player is not in an arena
  • Minishop NPE https://bin.bloom.host/codajehego.md
  • Fixed possible lag spikes occurred of chunks being loaded for region arenas that were on 1.13 or older
  • Fixed bedwars:next_round spectator item causing players to be sent to the hub when using the ProxySync addon
  • Players don't re-spawn where they are supposed to if there is carpet
  • Fixed not detecting netherite tools properly
  • Fixed PlayerStatChangeEvent not being called
  • Fixed server possibly crashing when TNT with no yield was spawned during the match
  • Fixed NPE https://bin.bloom.host/tihedoheva.md
  • Fixed rare chance of the arena cloning manager causing to deleting old world folders while the world is still loaded
  • Fixed always being able to break all "rescueplatform-material" (slime) blocks of the arena
  • Fixed "eachteam-sortation" not working
----------, Oct 25, 2022

Miscellaneous:
  • Decreased SQL connection timeout from 30s to max 10s
  • Reload message improvements (reload start message gets displayed immediately, time it took is now more correct)
  • Improved arena condition parser
Fixed bug;
  • Fixed String arena picker conditions causing errors
----------, Sep 7, 2022

This is a minor update that fixes a bug which caused a few important features to break. :)

Fixed bug:
----------, Sep 6, 2022

[​IMG]
I have forgotten to announce it the last time, but we also released the Cosmetics & Coins add-on recently! With it, you are able to add premium EULA-friendly and purchasable cosmetics to your server. Not only are you able to increase the economics of your server, but you are also able to increase the play time at the same time, hence the player being able to earn their coins by playing. You may also surely hook into your existing economy plugin as the plugin is fully customizable. Read more


We also released a new update for ProxySync. Visit our Discord to learn more.


NOTE BEFORE UPGRADING: New issues, that may prevent your arena from starting, have been added. The plugin used to warn you about them beforehand, but you were still able to start the arena nonetheless, likely causing things to break. Due to reports of people ignoring these warnings, we have added the possible issues that may forcefully prevent your existing arenas from starting. Only few people should be affected from this, but you should still check whether some arenas stopped or not.

Config changes:
  • Revamped sounds config: It now uses YML and now also allows you to edit: "is-active", "is-custom-resourcepack", "volume" and "pitch" (instead of previously the one "fast" config. Old config file is automatically being converted
Command changes:
  • Removed <arena> parameter for /bw arena setspectatorspawn (now uses your position)
Miscellaneous:
  • Improved hook system (e.g. plugin now automatically get unhooked / hooked when the plugin is being enabled or disabled using PlugMan)
  • Various improvements to the party system
  • Improved add-on folder loading system (it now e.g. respects dependencies & load-befores outside the add-ons folder)
  • Updated XSeries from 8.7.0 to 9.0.0
  • Items now get dropped even if the keepInventory gamerule or Essentials' keepInv system (or another plugin's system) would try to prevent that
  • Added new arena start issues: Region corners are greater than the world's max/min height, it collides with other arenas
API changes:
  • Modifying plugin hooks:
    • New events:
      • PluginHookEvent
      • PluginPostHookEvent
      • PluginUnhookEvent
    • New methods:
      • BedwarsAPI.getHookedPlugins()
      • BedwarsAPI.getHookablePluginNames()
      • BedwarsAPI.createPluginHook(Plugin)
      • BedwarsAPI.removePluginHook(Plugin)
  • More options for adding remote players:
    • New methods:
      • AddRemotePlayerInfo#setAutoAssignTeamIncludePlayers(RemotePlayer)
      • AddRemotePlayerInfo#getAutoAssignTeamIncludePlayers()
      • AddRemotePlayerInfo#setForcecfully(boolean)
      • AddRemotePlayerInfo#isForcefully()
    • New enums:
      • KickReason.FORCE_SWITCH_ARENA
      • KickSpectatorReason.FORCE_SWITCH_ARENA
  • Ability to easily modify HyPixelV2 quick buy:
    • New methods:
      • PlayerProperties#getShopHypixelV2QuickBuyItem()
      • PlayerProperties#setShopHypixelV2QuickBuyItems(ShopItem[])
  • New API for the arena cloning manager:
    • Added method (& class) GameAPI#getArenaCloningManager()
  • Added API for arena pickers:
    • Added BedwarsAPI#getArenaPickerAPI()
    • Deprecated GameAPI#getArenasByPickerCondition(String) (Replaced by new API)
    • New packges with tons of new classes: de.marcely.api.arena.picker.*
  • VarParticle improvements
    • Add support for "radius" for effects on 1.13+
    • Add support for custom data for effects: Material, MaterialData, BlockFace
    • Improved yaml parser
  • Misc additions:
    • Arena#setResetPlayerTimeOnQuit(boolean)
    • Arena#setResetPlayerWeatherOnQuit(boolean)
    • Arena#boolean isResetPlayerTimeOnQuit()
    • Arena#boolean isResetPlayerWeatherOnQuit()
  • It's now possible to use custom stat sets at the following places as well: lobby & ingame scoreboard, ranking sign, ranking statue, stats hologram
Fixed bugs:
  • Fixed /plugins getting spammed with add-ons when doing /reload (depended on the Spigot fork you used)
  • Guard dog always sitting on 1.18+
  • Fixed minishop sleeping in beds in 1.15+
  • Fixed "There's a problem with the world" message would suggest /bw arena setworld instead of setposition for region arenas
  • Destroying a bed using fireball or TNT Sheep now displays the name of the player correctly (only disabled TNT before) and (if enabled) prevent them from destroying their own bed
  • Fixed rare InterruptedException when stopping the server
  • Fixed mini shop item being taken twice when used
  • (Auto-Cloning) Fixed lobby world not being changed to the new one for world arenas
  • Fixed that the auto-world-loading would load a SWM lobby world as the game world. The lobby world for SWM now doesn't get manually loaded at all
  • Fixed that time & weather always get reset to default whenever a player left an arena, caused it to break the previously changed time & weather
  • Fixed rare error: The passed parameter players[0] is null (Bug caused by fancy Spigot forks?)
  • Fixed rare error https://pastebin.com/t9eFRbA6
  • Fixed 1.19 error https://pastebin.com/01FfLt5m
----------, Sep 6, 2022

This update is (once again ) super massive. We'd greatly appreciate a donation, as all our updates are completely free, even though we are spending so much man power and time with each. This is surely not a requirement, you may also simply download and enjoy it without any further thoughts :). If you don't have the financial possibilities but still would like to express us your enjoyment, then we'd greatly appreciate a review as well ❤

Added features:

  • Added auto cloning
    • With this, you are now able to scale this plugin to any size, literally. Automatically. And the best thing? It's super easy to configure. Simply toggle a single config (auto-cloning-enabled), and you are ready to go. With that, the plugin is automatically cloning your existing arenas to an infinite amount. Afraid that your server gets filled quickly? Then you might want to use our ProxySync addon and offload all players to separate servers.
  • For arena pickers:
    • Add support for < > <= and >= for strings in arena pickers. Used for checking whether it starts or ends with something
    • New variables for arena pickers: regeneration_type and server_channel_name
    • Added %best_prefer_running% arena selector
  • Added PlaceholderAPI support to the ArenaGUI system
  • Added Ukrainian language (Thanks to Aladin)
Feature changes:
  • Updated config "death-skipscreen-advanced" (finally out of beta :) )
    • It now only supports 1.15+ (due to technical limitations :/ )
    • Enabled by default now
    • Works properly now without bugs
Added / improved support:
  • ASWM 2.8+
  • MC 1.19.1 & 1.19.2 (Thanks to MetallicGoat)
Config changes:
  • Added:
    • auto-cloning-enabled
    • auto-cloning-lobby-arenas-count
    • auto-cloning-max-per-arena
    • auto-cloning-world-prefix
    • teamchest-block
    • "close-inventory" config to "executecommand-button" element in arenasgui layouts
    • fireball-add-knockback-y
    • explosive-add-knockback-y
    • invisibility-hides-armor-extra-particles-count (invisibility effect now spawns more particles)
    • effects-given-on-trap-trigger (change effects on trap trigger) (Thanks to MetallicGoat)
    • traps-resistant-to-explosions (disable that explosives can destroy traps) (Thanks to MetallicGoat)
  • "fireball-fly-straight: false" now also works for 1.16+
  • Improved buy group system:
    • Fixed various bugs
    • Players now receive items with items at buy group level 0 and without keep-on-death
    • Whenever dying, the new buy group level is being chosen by the next lowest item that has keep-on-death enabled. Before, it'd always reset back to 0 in case there was no item with keep-on-death
  • Replaced monsterspawning-enabled with natural-mob-spawning-enabled and natural-mob-spawning-reasons-whitelist
Miscellaneous:
  • Don't track damage info for longer than 15 seconds. This fixes a case where if you were in a fight recently and died due to e.g. void later on, it would still say that you were in a fight with the person
  • With "endlobby-tptolobby" disabled, players now get teleported to his team spawn when falling into void during the endlobby phase
  • Auto-renaming for picked up items is now only being performed in case they don't already have a name
  • Added * selector for /bw arena setenabled
  • Fireball & TNT jumping velocity strength is now static and not dynamic (Thanks to MetallicGoat)
API changes:
  • Added:
    • ConfigsLoadEvent#isStartup()
    • Arena#formatItemStack(ItemStack, Player, team)
    • Arena#getItemsGivenOnSpawn(Player, Team, boolean, boolean)
    • GameAPI#getDropTypeById(String)
    • GameAPI#sendToHub(Player)
    • GameAPI#sendToHub(Player, boolean)
    • VarParticle.newDyedMobSpell(Color)
    • VarParticle.PARTICLE_POTION_INVISIBILITY
    • QuitPlayerMemory#getPlayTime()
    • QuitPlayerMemory#setPlayTime(long)
    • Thanks to MetallicGoat for the following additions:
    • Arena#getItemsGivenOnSpawn(Player, Team, boolean, boolean)
    • Arena#formatItemStack(ItemStack, Player, Team)
    • ShopGUIPostProcessEvent#getPage()
    • RoundStartEvent#isGivingItems()
    • RoundStartEvent#setGivingItems(boolean)
    • PlayerIngameRespawnEvent#isGivingItems()
    • PlayerIngameRespawnEvent#isGivingEffects()
    • PlayerIngameRespawnEvent#setGivingItems(boolean)
    • PlayerIngameRespawnEvent#setGivingEffects(boolean)
    • Helper#setPlayerArmor(Player, ItemStack, boolean)
    • Helper#givePlayerItem(Player, ItemStack)
    • HologramEntity#getSavingLocation()
    • HologramEntity#teleport(Location, boolean)
  • The default configurations now match the TNT & fireball jumping of HyPixel
  • VarParticle#newRandomizedDyedSwirl(int, double) is marked as deprecated
  • Fixed that with BuyGroup#getItems() the items would be twice in the List
  • ArenaBedBreakEvent#getBedLocation() new returns ImmutableLocation (does not break anything)
  • PlayerAddBedEvent#getLocation() now returns ImmutableLocation (does not break anything)
  • ImmutableLocation#clone() now returns ImmutableLocation instead of a Location (the given object was also a ImmutableLocation in the past, meaning nothing breaks by it)
  • Added ImmutableLocation#cloneMutable()
Fixed bugs:
  • Fixed arena renaming would break arena blocks
  • Fixed error in console when using /bw arena tp for an arena that does not exist
  • Fixed possible console error spam when reloading
  • Fixed error with bedwars1058 migration https://pastebin.com/dRFRX8N6
  • Fixed being sent twice to hub when leaving arena
  • Fixed fireball jumping not working
  • Fixed broken lights for region arenas in 1.18+
  • Fixes for few specific scoreboard plugins: Game scoreboard now gets removed before the player leaves (would cause the new scoreboard to get replaced)
  • Fixed the time the player has been waiting within the lobby got included within the play time statistic
  • Fixed that the play time would reset every time somebody rejoined
  • Fixed rejoining would not store buy groups & already bought items
  • Fixed /bw arena saveblocks * not working
  • Fixed not having any effect when disable "spectating" (config.cm2)
  • Collected trap blocks don't stack with 'new' trap blocks
  • Fixed buggy behavior when trying to leave using /bw leave while being within death spectating mode
  • Fixed rare error https://pastebin.com/nzWg3s0n
  • Fixed that fireball was always super fast on 1.15 and older whenever fireball-fly-speed was set to anything else other than 1.0
  • Villagers disappear after player death, and then reappear after a second death/respawn
  • Fixed possible NPE error when using CloudNetV3
----------, Aug 16, 2022

Config changes:
  • Added {message} and {name} placeholders to "customchatmessage-message" config
  • Added the config "addcommand" to the lobby and "add-commands" to the spectator configs (thanks to MetallicGoat)
Miscellaneous:
  • Added support for all UTF-8 characters for arenasgui statue
  • Added support for netherite tools (when e.g. upgrading swords or armor) (Thanks to MetallicGoat)
Fixed bugs:
  • Fixed pressure plate traps broken since 5.0.9
  • Fixed not displaying local arenas when there are no remote arenas
  • Fixed dyeable materials possibly disappearing in HyPixelV2 shop layout for 1.13+
  • Fixed error when trying to attack a hologram in 1.19
  • Fixed upgrades shop generating using legacy spawner format
  • Fixed typo "Looser" (should be "Loser")
  • Fixed glitchy behavior when getting ridden by somebody / riding a vehicle and joining an arena
  • Hotfix for rare case of villagers disappearing
----------, Jul 5, 2022

[​IMG]


We are also proud to announce the release of the "Addon Enhanced ProxySync"! With it, you may synchronize all arenas across all servers on a network without having to deal with the stress of building a complex system using e.g. a CloudSystem. This addon comes even with further features, such as with super quick & simple configurations and even the ability to configure arenas remotely. Go check it out! NOTE: This addon is currently not available on SpigotMC. We are working on publishing it here as well.




Added support:
  • MC 1.19
Added features:
  • Additions to Setup GUI (thanks to MetallicGoat):
    • Ability to change min players for region and world arenas
    • Button to directly modify the secondary and primary worldedit selections
    • Renamed "set corners" to "save corners"
    • Improved description of max players per team modifier
    • Button to remove spawners at your current position
Config changes:
  • Added:
    • autojoin-only-send-back
    • block-forming-enabled
    • chat-event-listener-priority
    • placeholderapi-no-team-color (thanks to MetallicGoat)
  • Replaced "explosive-multiplier-knockback" with "explosive-multiplier-knockback-y" and "explosive-multiplier-knockback-xz"
  • Replaced "fireball-multiplier-knockback" with "fireball-multiplier-knockback-xz" and "fireball-multiplier-knockback-y"
Miscellaneous:
  • Added %mbedwars_achievements-earned-count% placeholder
  • Addons now don't get loaded anymore with /bw rl
API changes:
  • Added events:
    • RemoteArenaAddEvent
    • RemoteArenaRemoveEvent
    • RemotePlayerJoinArenaEvent
    • RemotePlayerQuitArenaEvent
    • RemoteArenaPropertiesChangeEvent
    • RemotePlayerJoinServerEvent
    • RemotePlayerQuitServerEvent
    • RemoteServerConnectEvent
    • RemoteServerConnectRequestEvent
    • RemoteServerDisconnectEvent
    • ArenaPropertyChangeEvent
    • ArenaRenameEvent
    • PlayerTeleportHubEvent
  • Added methods:
    • PlayerJoinArenaEvent#getCause()
    • Arena#addPlayer(Player, Team, AddPlayerCause)
    • BedwarsAPI.getRemoteAPI()
    • BedwarsAPI.setRemoteAPI(RemoteAPI)
    • AddPlayerIssue#getHintMessage(Arena)
    • AddPlayerIssue#getHintMessage(RemoteArena)
    • Arena#asRemote()
    • ArenaDeleteEvent#getSenderWrapped()
    • ArenaEnableEvent#getSenderWrapped()
    • ArenaEnableEvent$Issue#getMessage()
    • ArenaRegenerationStartEvent#getSenderWrapped()
    • ArenaRegenerationStopEvent#getSenderWrapped()
    • PlayerCloseArenaEditorInSetupGUI#getRemoteAPI()
    • PlayerOpenArenaEditorInSetupGUI#getRemoteArena()
    • Message#done(RemotePlayer, boolean)
    • Message#done(RemotePlayer)
    • Message#done(CommandSenderWrapper, boolean)
    • Message#done(CommandSenderWrapper)
    • Message#send(CommandSenderWrapper)
    • Message#send(RemotePlayer)
  • Added classes:
    • AddPlayerCause
    • RemoteAPI
    • RemoteArena
    • RemotePlayer
    • RemoteServer
    • RemotePlayerAddResult
    • CommandHandlerWrappedSender
    • RemoteSpectatorAddResult
    • AddRemotePlayerInfo
  • Miscellaneous:
    • Fixed Arena#exists() always returning false
    • ArenaEnableEvent$Issue#getMessage(CommandSender) is now deprecated
    • PlayerCloseArenaEditorInSetupGUI#getArena() is now @Nullable
    • PlayerOpenArenaEditorInSetupGUI#getArena() is now @Nullable
----------, Jun 11, 2022

2022-04-10_22.24.01.png
Added feature:
  • Config: teamchat-hint-enabled
  • The plugin now sends a hint to the players to tell them how to write globally or that they are currently playing solo and that team chat because of that isn't available
Command changes:
  • Added /bw arena setregentype (for switching between world and region)
  • Added more aliases to some commands
Miscellaneous:
  • Improved logic of block placement/breaking handler
  • Region regenerator now may produce a little less lag
  • A list of required permissions now get shown when SQL doesn't work because of some missing
  • Improved bedwars1058 migration system
API additions:
  • PlayerDataAPI#boolean isSQLServiceActive()
  • PlayerDataAPI#Connection openSQLConnection()
  • Arena#boolean isCustomNameEnabled()
  • Arena#String getCustomName()
  • Arena#setCustomName(String)
  • Arena#void setGameWorldName(String)
  • Arena#void setCustomNameEnabled(boolean)
  • Arena#void addAuthors(Collection<String>)
  • Arena#int removeAllAuthors()
  • PlayerIngameDeathEvent#int getDeathSpectateDuration()
  • PlayerIngameDeathEvent#boolean isDeathSpectating()
  • PlayerIngameDeathEvent#void setDeathSpectateDuration(int)
  • PlayerModifyBlockPermissionEvent
  • DefaultPlayerProperty.TEAMCHAT_USE_LAST_HINT_TIME
  • DefaultPlayerProperty.TEAMCHAT_UNAVAILABLE_SOLO_LAST_HINT_TIME
Fixed bugs:
  • Fixed error https://pastebin.com/Sa0S031F
  • Fixed QuickBuy getting confused with items that have no name
  • Fixed some commands suggesting "/bw a setworld" instead of "/bw a setcorners" for region types
  • Fixed all spawners not loading when value "spawn-effect" was unknown
  • Spawner's visibility (using /bw a spawner display) doesn't update accordingly when active
  • Fixed some places where an error could occur because of an invalid item
  • Fixed PvPLevels support: Not automatically updating levels
  • Fixed teamchat-public-prefix being in the message when customchatmessage-enabled was active
  • Fixed error "java.lang.IllegalArgumentException: Trying to spawn it in a different world"
----------, Apr 11, 2022

Added feature:
  • Added win streak stat
Support:
  • Added better cross support for all versions by additionally utilizing XMaterial to our series (for materials and sounds)
  • Added better cross support for particles
Config changes:
  • Config "no-rain" is now set to true by default
  • It's now possible to include the public prefix ([ALL]) anywhere in the message using the new {public-prefix} placeholder in customchatmessage-message
Miscellaneous:
  • Rewrote forced weather & time system
    • Now uses Bukkit's API (improved stability)
  • Added support for using \n in the "MiniShop_Title" message (display name of MiniShop)
  • MiniShop display name now respects the language of the player
  • Improved NPC logic
  • Added the ability to use custom display names for items in shop products using the DisplayName NBT tag
API additions:
  • Arena#applyPlayerClimate(Player)
  • HolographicHologramSkin#updatePlayerSpecificLines()
  • HolographicHologramSkin#updatePlayerSpecificLines(Player)
  • NPCHologramSkin class
  • Sound Helper#getSoundByName(String)
  • NMSHelper#sendWorldTimePacket(Player, long)
Fixed bugs:
  • Fixed error when hitting holograms on 1.18.2 https://pastebin.com/fvC6mVcV https://pastebin.com/BDLwgM0B
  • Fixed possible error with invisibility armor
  • Fixed legacy numbers for materials not working properly for 1.16+
  • Fixed issues with creating a new SWM arena
  • Fixed config "placeableblock-whitelist-enabled" setting to false doesn't cause all block materials to be breakable
  • Fixed possibility of auto renaming drops and by that causing them to break with a pickup
  • Fixed player name tags staying white with invis potion
  • Fixed errors of addon auto-loading system with /bw rl
  • Fixed it not being able to use newer Java versions and SQL together for 1.8 - 1.11
  • Fixed scoreboard not working when "timer-enabled" is set to false
----------, Mar 21, 2022

Added support:
  • 1.18.2
Added configs:
  • players-in-mode-placeholders: A way to adjust the output of {player} placeholders
  • permission-id (to shop items): A way to add a required permission for purchasing an item
  • players-in-mode-placeholders: Configurable PAPI arena mode players placeholders for counting the amount of players
Command changes:
  • It's now possible to apply some operations for all arenas (using /bw arena saveblocks * or /bw arena regenerate *)
  • Added more aliases for commands
API changes:
  • Fixed potential issues when trying to parse "data" of VarParticle
  • Added Helper#getPotionTypeByName(String)
  • Added Helper#getMinHeight(World)
Fixed bugs:
  • Fixed error with paper 1.18 https://pastebin.com/SHP3iH5z
  • Fixed possible SWM error when trying to save a SWM world (that previously was declared to not be one)
  • Player nametags occasionally weren't invisible with invisibly potions
  • Rescue Platforms couldn't be placed under y = 0 in 1.17+ worlds
  • Fixed taking bridge item when outside of arena
  • Fixed error when having a too large value for the knockback multiplier https://pastebin.com/KN1mGTdP
  • Trying now to store a cached texture of the player when he quits (for skulls etc.)
  • Fixed regenerated worlds being sometimes empty with SWM
  • Lobby items could have been taken into games with vote arenas enabled
  • Fixed team parameter within PlayerJoinArenaEvent being always null
  • Chosen player teams are not persistent when moving from a vote lobby to an arena
  • Fixed modifications to lobby items staying for the next joining player (example: the new color of the change-team item)
  • Fixed Ghost Walker achievement bug with which you'd get the achievement at unwanted situations
----------, Feb 28, 2022

Added feature:
  • Added support for hex colors (1.16+ only, make sure to enable "hex-support")
Added configs:
  • hex-support
  • lobby-join-leave-particles
Miscellaneous:
  • Lobby scoreboard does not display negative numbers anymore
  • Slightly improved performance of upgrade shop
  • Slightly improved performance of messaging processing
  • Now enforcing mobGriefing=true game rule for arenas of the tye WORLD (otherwise fireball doesn't work)
API changes:
  • Fixed DefaultMessageMappings not working properly in all cases where messages got parsed
  • Fixed Arena#addSpawner and Spawner#remove not updating "display holos" (/bw arena spawner display)
  • Added Helper#synchronize(Runnable)
  • Added Arena#exists() and Arena#save()
  • Now showing a warning when the needed file for world regeneration does not exist
Fixed bugs:
  • Fixed spectators being able to earn the Ghost Walker achievement
  • Fixed repeating death messages
  • Fixed it not really being able to disable achievements
  • Fixed spectators (possibly) getting killed more often than they should, causing to various problems
  • Fixed & prefixes for colorcodes in custom "Lore" and "DisplayName" tags not functioning properly on older versions (1.8?)
  • Fixed error https://pastebin.com/gbapVpmS
  • Fixed items disappearing when dropped in the shop/upgradeshop
  • Fixed broken color code in message Changed_GameDoneLocation
  • Fixed error when converting a non-slime world to a slime world
  • Fixed possible NPE error with EssentialsGroupManager
----------, Feb 6, 2022

Added command:
  • /bw achievements
Added achievements:
  • Wealthy - Spend 200 or more recourses in a game
  • Ghost Walker - Drink an invisibility potion
Added configs:
  • auto-shorten-countdown-percent
  • auto-shorten-countdown-time
  • fall-damage-multiplier
Miscellaneous:
  • Team members can no longer damage guard dogs
  • Disabling teamchat now if there's only one player per team
  • Arena blocks file now uses proper extensions (instead of .yml)
  • "max-nearby-items" config in spawners.yml now prioritizes items that the spawner dropped
  • Explosion ray-check now works diagonally
  • Made it possible to have items in yaml files spread in multiple lines without returning a parsing error
Fixed bugs:
  • Fixed using SWM's original file when restarting the server
  • inventory-clear config: Fixed not obtaining inventory when rejoining
  • Fixed issues with addon loading from add-ons folder
  • Fixed not auto-removing addon command when it gets unloaded
API changes:
  • Fixed Message#free(false) always freeing instance
  • Added Message#clearPlaceholders()
  • Added GameAPI#openAchievementsGUI(Player)
  • Added ArenaBedBreakEvent#isPlayingSound
  • Added ArenaBedBreakEvent##setPlayingSound(boolean)
  • Added Helper#formatNumber(BigDecimal)
  • Added NMSHelper#hideAttributes(ItemStack)
----------, Feb 1, 2022

This is the 207th free update. Show us your appreciation with a donation - thank you ♥

Miscellaneous:

  • After a lot of people have been asking: We're now calling the file "MBedwars-<version>.jar" instead of "bedwars.jar"
  • Added arena picker condition types:
    • min_players
    • type
    • game_world
  • Added "%best_prefer_non_voting%" arena selector type
  • Added better support for cloudsystems & arena pickers
Fixed bug:
----------, Jan 10, 2022

What (once again) a huge update! I want to thank @MetallicGoat for playing a huge role with this one, as he has spent lots of his time in not only looking for bugs or things that can be improved, but instead even contributed a lot into the development itself! It's very fascinating to see on what can be reached when working in a team, and I am excited to see on what can be reached in the future.
This is the 206th free update available for this plugin. Development is stressful and consumes lots of time. I'd be super grateful if you'd earn us a tip:
https://paypal.me/Marcel1199
Thanks, and we wish you lots of fun with the update!

Config changes:

  • We're now using iron, gold, diamond and emerald as the default spawners, instead of previously bronze, iron and gold
  • Added:
    • tnt-fuse-time
    • spawnerhologram-hide-playerbase
    • eachteam-sortation
    • guarddog-stay-at-base
Miscellaneous:
  • Sort names in SetupGUI regardless whether name is upper-cased or not
  • Sorting arenas in ArenasGUI now by alphabet
  • ArenasGUIs now auto update state changes of arenas
  • It's now possible to use potion syntax for tipped arrow items
  • Fixed typos and grammatical errors in config.cm2
  • Made players auto flying when they're about to fly into the void and "endlobby-flying" is enabled
  • Added support for newly added blocks for the "interacting" config
  • Improved performance by putting the checker, that checks what players are currently at the base, on the threaded ticker
  • Enabling add-ons now that are located inside the add-ons folder when starting the plugin
  • Got rid of the minus in scoreboards
  • Disabled hub positions when it's being solved via BungeeCord
  • Now storing properties of SWM worlds
Fixed bugs:
  • Fixed possible error when converting from v4 https://pastebin.com/HCNjL22U
  • Fixed issues with auto updating buttons in SetupGUI within the arena selector menu
  • Fixed arena pickers always comparing variables with equals, even tho something else was specified
  • Fixed fatal error caused when a party member would try to follow his leader into a running match
  • Fixed achievements never displaying the "you earned it" message
  • Wet sponge was unbreakable in 1.13+
  • Fixed "interacting" config in config.cm2 being reverted
  • Fixed concurrency error https://pastebin.com/4jAkyg9f
  • Fixed incorrectly composing some NBT types on 1.11 and older
  • Fixed NBTs in items not working on some versions
  • Fixed lobby items not loading when lobby.cm2 got saved at the same time
  • Fixed error on 1.18.1 https://pastebin.com/VzQp141d
  • Fixed possible error with autojoin https://pastebin.com/rf8Ze3Lu
  • Fixed mining fatigue lasting forever
  • Fixed Liquids could have been placed in "non-buildable" areas
  • Fixed it being more difficult on 1.8 to kill dealers etc.
  • Fixed "non-buildable-radius" config not being 100% centered
  • Fixed some achievements being broken
  • Fixed possible error with SWM https://pastebin.com/H5TAdEk9
  • Fix possible infinite "earned all achievements" loop possibly crashing server
  • Fixed possibly barrier, representing that no arenas are left, staying within the voting creating GUI when changing the amount of players
  • Fixed issues with player caching / auto saving
  • Fixed ender chests immediately closing after opening them on 1.17-1.18
  • Fixed rare error occurring when using java 9+ and SQL https://pastebin.com/R9Sx8AKd
API changes:
  • Fixed error when invoking Arena#setRegionCorners when no corners have been set yet
  • Fixed error when trying to register an addon
  • Updated VarParticle
  • Added optional parameter for a ShopPage to GameAPI#openShop
  • Added the ability to change the colors of teams:
    • Team#setChatColor(ChatColor)
    • Team#setDyeColor(DyeColor)
    • Team#setBukkitColor(Color)
  • Added to NMSHelper:
    • void simulateChestOpening(World world, int x, int y, int z)
    • void simulateChestClosing(World world, int x, int y, int z)
    • void simulateChestOpening(Block block)
    • void simulateChestClosing(Block block)
    • void setServerMotd(String motd)
    • void playItemPickupAnimation(Entity entity, Entity item, int amount)
    • void simulatePlayerClickingRespawn(Player player)
    • void setEntityMovementSpeed(LivingEntity entity, double speed)
    • void setEntityTargetRange(LivingEntity entity, double range)
    • void teleportWithoutEvent(Entity entity, Location location)
    • double getItemDamage(ItemStack is)
  • Added to Helper:
    • copy(InputStream is, OutputStream os)
    • JsonObject parseSNBTAsJson(String nbt)
    • String composeJsonAsSNBT(JsonObject json)
    • Material getMaterialByName(String name)
    • Effect getEffectByName(String name)
    • Material getBlockVariant(Material mat)
    • Material getInventoryVariant(Material mat)
  • Added:
    • Arena#Inventory getTeamPrivateInventory(Team team)
    • SpectateReason#FOLLOW_PARTY
    • KickSpectatorReason#FOLLOW_PARTY
    • Arena#boolean endMatch(@Nullable Team winningTeam)
    • Added class DefaultMessageMappings
    • MessageAPI#registerDefaultMappings(DefaultMessageMappings)
    • MessageAPI#unregisterDefaultMappings(DefaultMessageMappings)
    • MessageAPI#getDefaultMappings()
    • Hologram#getSkin
----------, Jan 9, 2022

Added support for:
  • Java 17
  • MC1.18
Miscellaneous:
  • Now handling errors and issues while the plugin is enabling more properly
    • The plugin now has a smart system for detecting if there are issues with your server .jar before anything can go wrong
  • Made window animation and movement more smooth on screens with a greater refresh rate (the window which you can open when double clicking/literally running the jar)
  • Now always hiding "enable" button in setupgui when arenas state is not STOPPED
Config changes:
  • Rename TNT configs
    • tnt-canbreakblocks to explosion-canbreakblocks
    • tnt-canbreakblocks-breakby-player to explosion-canbreakblocks-breakby-player
Fixed bugs:
API changes:
  • Added Helper#getJavaVersion()
  • Added Helper#EntityType getEntityTypeByName(String name)
  • Added PersistentBlockData for making it easier to work with working with block data from any version
  • Added API for persisting natural interacting when using special items
    • PlayerUseSpecialItemEvent#isNaturalInteractionCancelled()
    • PlayerUseSpecialItemEvent#setNaturalInteractionCancelled(boolean)
----------, Dec 9, 2021

Added feature:
  • Hiding armor now while having invisiblity potion effect
Added config:
  • invisibility-hides-armor (true by default)
Miscellaneous:
  • Added gamestats placeholders
  • Added {author} placeholder to arenasgui layouts
Fixed bugs:
  • Fixed holograms not disappearing with /reload
  • Fixed stats holos not getting stored
  • Fixed chance of holograms disappearing when reloading worlds too quick
  • Fixed head yaw not being correct for NPCs
  • Fixed race condition causing holograms not having the correct entitytype after enabling the plugin in some cases
API addition:
  • NMSHelper#Entity getEntityById(World world, int entityId);
----------, Nov 19, 2021

Added features:
  • Rejoin
    • New permission: mbedwars.cmd.rejoin
    • New command: /bw rejoin
  • Added lockage feature for SQL to prevent race conditions that cause info of the player getting overwritten
Config changes:
  • Removed legacy bungeecord section
  • Change regeneration-speed-ms to regenerationspeed-percentage
    • Default value resets from 90% to 15%
  • Removed unused configs:
    • gui-arenasgui-joinable-item
    • gui-arenasgui-not-joinable-item
  • Added config: endlobby-tptolobby
  • Added layout-name-bedrock config to shop.cm2
  • Lore within NBT tags of shop items/pages now overwrite the lore of the shop layout
Miscelleanous:
  • Decreased max sql pool size from 10 to 4 connections
  • Not displaying "game is starting in 0 secs" anymore during lobby phase
  • Improved performance by updating border, scoreboard and holograms of spawners in a separate thread
  • PAPI placeholders are now persistent
  • Recoded and improved ranking statues system: It now fully utilizes the hologram system, and it's now more efficient
  • It's now possible to more easily to spawn ranking statues at the center of a block
Fixed bugs:
API changes:
  • Rejoining:
    • RejoinPlayerArenaEvent
    • Arena#rejoinPlayer(Player player);
    • Arena#rejoinPlayer(Player player, @Nullable QuitPlayerMemory memory);
    • Arena#getQuitPlayerMemories()
    • Arena#getQuitPlayerMemory(UUID playerUUID);
    • PlayerQuitArenaEvent#getMemory()
    • GameAPI#rejoinPlayer(Player player, @Nullable Consumer<Optional<RejoinPlayerIssue>> callback)
  • Change ingame timer of arenas:
    • Arena#int getIngameTimeRemaining()
    • Arena#void setIngameTimeRemaining(int timeInTicks)
    • Arena#boolean isIngameTimerTicking()
  • Work with the spectator points of an arena:
    • Arena#XYZYP getSpectatorSpawn()
    • void setSpectatorSpawn(XYZYP location)
  • More miscelleanous stuff:
    • Arena#boolean isInside(XYZ location)
    • PlayerKillPlayerEvent#Player getKiller()
    • ScoreboardUpdateCause#FREQUENT_TICK
    • Helper#boolean isBedrockPlayer(UUID uuid)
    • Helper#boolean isBedrockPlayer(OfflinePlayer player)
  • Fixed bugs:
    • Fixed PlayerStatChangeEvent not getting called
    • Fixed arena#addPlayer team parameter null validation
    • Fixed missing class Javadoc for BedwarsAPI class
    • Fixed BedwarsAPI#getState() not being static
    • Fixed ShopGUIPostProcessEvent getting called before processing of force-slot
    • Fixed Arena#setBuyGroupLevel not updating one-time-purchases
----------, Nov 14, 2021

Miscellaneous:
  • Players in "view players" gui in spectating mode now get ordered by teams
Config changes:
  • Removed "regeneration-threaded" config
API changes:
  • Added more methods to Message class
    • boolean isFreed()
    • Message cloneNonUpcyable()
  • Made it safer for people to work with the death message in the PlayerIngameDeathEvent without reporting "it hasn't been freed" error
Fixed bugs:
  • Fixed error when team got eliminated https://pastebin.com/7Y7ibudH
  • Fixed force-slot removing some items
  • Fixed possible "java.lang.IndexOutOfBoundsException: Index: 0, Size: 0" error when not giving a hologram a name
  • Fixed possibility of hologram block disappearing when changing the name using the API
  • Fixed errors when tabbing in the following commands: /bw arena (seticon, setminplayers, rename)
  • Fixed nobody beeing able to see a spectator's chat message when "customchatmessage-spectator-public" is enabled
  • Fixed TeamEliminateEvent not being called when the elimination caused the end
----------, Oct 16, 2021

[​IMG]

[​IMG]

Wow, what a year. And what an incredible moment to write this announcement. I started this update with the belief of "only" reworking a bit the API and release it as an 4.1 update - what a turnaround! I'm incredibly thankful to anyone who has spent his time in bringing the project forward. The most notable ones being @MetallicGoat, who helped me a lot with the API with himself creating quite a few free add-ons for the public. Furthermore, he and others (including @ItsPat) helped me in motivating me occasionally to continue my work in times in which I didn't find the motivation. @maroon helping me out with inter alia keeping my Discord clear and keeping everyone happy. @Didacus_12, @Nix (generally the staff of GhostCraft), the staff behind Librecraft, and so many more helping me in getting everything into the right direction. I, or we, generally believe that you're going to love this plugin and are interested to see what the future brings. Cheers!

General Notice
This update has changed a lot. Like a lot a lot. This includes:
As you can imagine, it's possible that things might not work as they did before updating it. You don't have to reset everything, don't worry. We have spent a good amount of time in creating migration systems for everything, so it's even possible that you don't even have to do anything. But keep in mind that it's not possible to go back to v4 after upgrading to v5. You likely want to create a backup before moving over, in case something wrong. It's also possible that the new file formats are not as stable, even tho they have been tested a lot. So you possibly want to regularly create a backup. And please please report us bugs that you find in our Discord.



Change Log
API changes
Some of you might not know what an API is, but this is actually a huge deal for everyone. An API is basically a way for developers to interact with the internals of the plugin. By this they're for instance able to create new special items, add-ons and do more funky stuff. With the
abandonment of the previous API, it was time for something new. And oh boy, there's something new. The new API had one rule: Allow the most accessibility and customizability possible. And I for safe can say, that this is the greatest API for a Bedwars plugin the world has ever seen.

If you're a developer, then you might find the following links useful:
JavaDocs: https://javadocs.mbedwars.com/
Instructions on working with it: https://wiki.mbedwars.com/en/Development/Getting-Started

If you're a consumer, then you likely will find this useful:
A place where you can find all existing extensions: https://mbedwars.com/shop/


A new website, wiki and product page
While the old wiki ( https://mbedwars.marcely.de) is likely very handy, it unfortunately aged badly. It looks awful and wasn't really handy to follow. The new one shall fix that: https://wiki.mbedwars.com/
We've spent lots of time in creating easy-to-understand articles for everyone. While it's not full done yet and not everything has been moved over, we're still working on it and are trying to add as much info as possible.
Furthermore, I'm happy to announce our new official website: https://mbedwars.com
It's for your first place for anything related to this plugin. You can find info on how to contact us, find all existing™ add-ons, templates and general extensions. Additionally, you're finally able to purchase the product with other methods other than just PayPal. You may use KLARNA Sofort, GiroPay, Apple Pay, PaySafe and even Cryptocurrency.


Improved stability and QoL
The plugin was already perfect regarding those things, but we took it another step further. People asked for YAML instead of CM2, there we go. We added it for quite a few files. While at it, we improved the general understanding and the feature set of some of them.
Did you notice lag while running this plugin? Neither did we! But now you'll be feeling less. We've spent lots of time in rewriting quite a few internal algorithms with the goal of improving their efficiency and stability. This includes the GUI system, the commands, Messages, Schedulers and much more.
The regeneration/preperation system of arenas has also received lots of love. While it's even quicker now, we additionally added optional support for SlimeWorldManager as some of you were asking for that. Instead of printing an error, the plugin is just going to automatically adapt itself on that!


New Setup GUI
[​IMG]
Do you remember the old way of creating an arena via a GUI aka "ArenasGUI"? That's gone now with something new called "Setup GUI". It not only goes in hand with the new API update (devs are able to extend it), it now allows you to do way more things than you were before. With lots of descriptive text it should now be super easy for beginners to get into this plugin.

Arenas GUIs
Waait... I thought ArenasGUI is gone? Well, not exactly. There were two "ArenasGUI" system in the v4 version. One accessed via "/bw arenasgui" and the other one via "/bw arena gui". Yes, confused. We know. That's why we replaced "/bw arenasgui" with "/bw setupgui" and additionally updated "/bw arenas gui".
Arenas GUIs are basically module and customizable guis you use for displaying all arenas you can join in. People are now able to create their now layouts. They're located inside "/MBedwars/arenasgui-layouts" and you can simply copy&paste an existing one and change whatever you want. By default, the plugins comes with four layouts.

This slowly gets exhausting to write, lol.
More changes include:
  • It's now possible to spawn player heads for rankings (similar to stats rankings)
  • Revamped command system with being more logical to use
  • A new migration system to move from other plugins or systems (currently only Bedwars1058, more is planned)
  • Lots of config changes
  • Lots of further changes to the plugin

Are you interested to see what exactly has changed in the last versions?
Beta 7 - release: https://pastebin.com/q7sMeMBY
Beta 7: https://pastebin.com/TNPARzUs
Beta 6: https://pastebin.com/yEiuqKzT
Beta 5: https://pastebin.com/3EirV5FC
Beta 4: https://pastebin.com/aUvcQnei
Beta 3: Pastebin not available anymore, but was as equal as large. Changes include: Initial addition of arenas GUIs, the finalization of the new setup GUI, support for Java 12+, permission changes, performance & stability improvements, more additions to the API, support for Add-ons and more.
Beta 2: https://pastebin.com/qGfkT2fX
Beta 1: https://pastebin.com/sDPMbTdh
----------, Oct 13, 2021

[​IMG]
You may have noticed that there weren't any public update on neither Spigot nor MC-Market since almost 6 months. There are two reasons for that:
  1. The version on those platforms (aka v4) is already pretty stable
  2. We've been working on a HUGE update since over a year (aka v5)

[​IMG]
We've been gradually testing all changes with the betas that are regularly being released in our Discord. Every buyer is allowed to test it and report and bugs he found. Additionally, we took the opportunity to make larger changes that we couldn't do otherwise.

[​IMG]
Don't be confused with this picture. It was planned to be called 4.1 at first, but the changes are so major that it couldn't be an update with a "simple" increase of the subversion.​

What exactly is new with this update?


You may find all change logs right here:
Beta 6: https://pastebin.com/yEiuqKzT
Beta 5: https://pastebin.com/3EirV5FC
Beta 4: https://pastebin.com/aUvcQnei
Beta 3: Pastebin not available anymore, but was as equal as large. Changes include: Initial addition of arenas GUIs, the finalization of the new setup GUI, support for Java 12+, permission changes, performance & stability improvements, more additions to the API, support for Add-ons and more.
Beta 2: https://pastebin.com/qGfkT2fX
Beta 1: https://pastebin.com/sDPMbTdh

In a nutshell:
  • 1.17 support
  • Java 11+ support
  • A new and more user friendly GUI system for managing and creating arenas (aka setup GUI)
  • A massive API (https://javadocs.mbedwars.com/)
  • Greatly improved performance (keep in mind that the current one is already fascinating!)
  • Tons of systems have been rewritten and massively improved
  • New setup GUI (used to be called simply "arenasgui" in v4)
  • New modular arenas GUI for creating GUIs to access your arenas
  • A start to move more config files from .cm2 to the more preferred .yml format
  • Further improvements to the regeneration system
  • It's now possible to spawn player heads for rankings (similar to stats rankings)
  • Revamped command system with being more logical to use
  • Renamed & combined permissions
  • A new migration system to move from other plugins or systems (currently only Bedwars1058, more is planned)

Keep in mind that you are already able to access it! Simply visit our Discord and follow the instructions there. The plugin will automatically convert everything from v4 to v5. All you have to do is to replace the plugin's jar. Keep in mind that you won't be able to go back to v4, so you might want to create backups beforehand.
The final release is very soon and planned to be in less than a month. We're open to every suggestion and try to fix as many bugs as possible!

Unbenannt.png
----------, Sep 5, 2021

Added config:
  • blocked-command
Fixed bugs:
  • Fixed error occurring with specific teams enabled on 1.13+
  • Fixed that too many players can join a team via a party plugin even if it's already full
  • Fixed that plugin might try to redownload modules more often than it has to
API:
  • Added PlayerDeathInventoryDropEvent event
----------, Apr 21, 2021

Added config:
  • placeholderapi-not-inside-arena
Miscellaneous:
  • Improved efficiency of the system that adds items to the players inventory
Fixed bugs:
  • Fixed duplication bug with shop
  • Fixed holograms disappearing at weird distances
  • Fixed that too many players could join a team via a party plugin even if it's already full
  • Fixed broken {players} placeholder in arena join message
  • Fixed stats not getting updated on scorebord
  • Fixed start up error for paper versions older than 1.14 https://pastebin.com/VCrDPJA9
  • Fixed NBT for items not working in some cases
  • Fixed SQL error occurring with multiple servers running with a large amount of players https://pastebin.com/9KwpVY80
  • Fixed "bed-block-dye- false" not working on 1.13+
  • Fixed bug with custom spigot forks https://pastebin.com/9EpgKn5y
  • Fixed region regenerator cutting more or less off than it should
----------, Apr 6, 2021

Added configs:
  • tntsheep-fuse-time
  • rescueplatform-y-difference
  • drops-killer-auto-pickup
Miscellaneous:
  • Smarter winner decision when the timer is up: Now whenever there's a team left with a bed alive the game will decide them to be the winners instead of ending the game with a tie
  • Added better support for forks that modify their version strings (this includes TacoSpigot)
Fixed bugs:
  • Fixed possible error occurring with region regenerator on 1.14+ https://pastebin.com/QD7sQdVn
  • Fixed \n interfering with auto wrapper in upgrade shop lore
  • Fixed items not auto renaming once picked up
  • Fixed error when using an 1.8 - 1.12 region arena file for 1.13+ https://pastebin.com/nqzuCDsE
----------, Mar 4, 2021

Region regenerator improvements:
Tested with an 250x256x250 arena that's fully filled with blocks (16384000 (!!!) blocks) on PaperSpigot 1.16.5. Improvements may vary on a different version.

Improvements in speed: ~300%
Improvements in performance: ~286%

Before:
oldtime.png oldtimings.PNG
Now with this update:
newtime.png
newtimings.PNG


Added configs:

  • coins-give-killplayer-final
  • block-spreading-enabled
Miscellaneous:
  • Improved region regenerator on 1.16.5 - 1.14
  • Paper 1.14: Added support for chunk offthread chunk loading, Spigot: 1.14+ "async" chunk loading (still gets loaded in main thread, but not only in the same tick anymore)
  • Spigot&Paper 1.14: Keep all chunks loaded during regeneration
  • Made region regenerator more efficient
Fixed bugs:
  • Fixed 1.8-1.10 error when using guarddog or minishop https://pastebin.com/JyRnH4Pq
  • Fixed possible error when trying to parse potion type via its numeric id https://pastebin.com/qZV8sEvV
  • Fixed lobbybreak config causing items to drop
  • Fixed region regenerator cutting off too much when a coordinate is in the negative
  • Fixed not saving a block in the corner of the arena region
  • Fixed death spectators being able to pick up items with smart item sharing
  • Fixed arenas state changing to lobby after regeneration even if it has problems
----------, Mar 1, 2021

Miscellaneous:
  • Improved general performance (improved performance of situations where json is being used)
  • Added player skin texture caching/saving (prevents some servers from crashing and improves performance (~0.5ms vs ~1.5s per player) when spectators open the "ingame players" gui)
Fixed bugs:
  • Fixed stats holo displaying kills and not final kills with {finalkills} placeholder
  • Fixed regeneration errors https://pastebin.com/mEMD0NUS and https://pastebin.com/fQHKancU
  • Fixed "max-nearby-items" config caused that no new items were spawned for a while in the next round
  • Fixed issues with placing blocks on bed when bed-interactable was set to false
----------, Feb 19, 2021

:oops: We're now also on mc-market.org! Don't worry, nothing will change for the existing buyers and the plugin will continue to live forward on SpigotMC. Additionally, the plugin is temporarily having a 20% sale on mc-market.org!

Added features:
  • Fireballs now fly perfectly straight (can be disabled)
  • Added "final kills" stat
  • Explosions now don't break blocks which logically aren't affected (can be disabled)
Config changes:
  • Added fireball-fly-speed
  • Added fireball-fly-straight
  • Removed stats-count-kills-of-nonfinal
  • Added explosion-raycheck
Miscellaneous:
  • Improved AI of MiniShop
Fixed bugs:
  • Fixed that the items inside the team selector losed their color on 1.16
  • Fixed explosives were able to destroy beds when bed-onlydestroyablewith-tnt was set to false
  • Fixed arena collision detector being buggy
  • Fixed that it was possible to tame guarddogs
  • Fixed a bug with the setupitem which caused spawner & team guis to automatically get closed once opened on newer releases of spigot
  • Fixed a bug which caused players to obtain more and more buygroup items per game when using /bw reload mid game
  • Fixed phantom items in quick buy caused by buygroups
  • Fixed pathfinding being broken on 1.14+ (caused tnt sheep and minishop to not follow the player)
----------, Feb 8, 2021

Added feature:
  • Added "language-per-user-requires-permission" config and "mbedwars.langperuser" permission
Added config:
  • guarddog-health
Fixed bugs:
  • Fixed possible error when unloading worlds in use https://pastebin.com/tRWMTsuH
  • Fixed that it'd display the person who punched you in lobby as the person who killed you when falling into void
  • Fixed motd feature using config "autojoin-arena" instead of "motd-arena"
  • Fixed item attributes appearing on some buttons in some GUIs
  • Fixed broken name of back item in arena gui
  • Fixed "UnsupportedOperationException: Not supported yet" error on 1.15+
  • Fixed upgrade prices being a bit weird on lvl 0 and 1
  • Fixed some configs having no effect:
    • sign-antispam-enabled
    • sign-antispam-delay
    • pvplevels-enabled
    • tnt-autoignite
    • coins-enabled
    • giveitems-on-roundstart
    • giveitems-on-roundstart-armor
----------, Jan 23, 2021

Miscellaneaous:
  • Improved general performance
  • Added placeholders:
    • %mbedwars_playerarena-team-<team>-size%
    • %mbedwars_playerarena-team-<team>-status%
Added support for:
  • PAF Spigot variant
Updated support:
  • PvPLevels
  • PAF Bungee Extended
Fixed bugs:
  • Fixed scoreboard breaking placeholders when lines are longer than 40 characters
  • Fixed config "endlobby-flying" not working
  • Fixed error when using "unbreakable" config for item products on 1.10+ https://pastebin.com/WZhaJ6BU
  • Fixed unexpected stops caused to corrupt regenerating worlds
----------, Dec 17, 2020

Added support for:
  • Paper- & Spigot 1.16.4
----------, Nov 9, 2020

Fixed bug:
----------, Oct 24, 2020

Added feature:
Config change:
  • Now using item material instead of normal materials for hologram spawners config
Miscellaneous:
  • Now showing warning on paper if light-queue-size has been set to less than 100
Fixed bugs:
  • Fixed arena not retrying regeneration after next boot if it got cancelled because of a server stop
  • Added "&serverTimezone=UTC" to the sql-parameters config. Will fix SQL not working for some users
  • Fixed error which appeared when the server stopped
  • Shorten scoreboard line instead of showing "Entry cannot be longer than x" error
  • Fixed values of player properties not getting saved properly when using SQL and the value contained special characters. Causes HyPixelV2 quick buy items not getting stored properly
  • Fixed accidently breaking knockback & damage configs of explosives. Ooops
  • Fixed taking special item from player on use when he's in creative mode
  • Fixed playing leave animation at the location to which the player got teleported at
----------, Oct 21, 2020

Added configs:
  • [shop.cm2] Added "command" type for shop products
  • [shop.cm2] Added "display-name" config to shop products
  • fireball-multiplier-knockback
  • fireball-multiplier-damage
Miscellaneous:
  • Plugin folder is now relative to the configured plugins folder and not bound to /plugins/MBedwars/
Fixed bugs:
  • Fixed server repeatedly crashing after terminally stopping the server while a world regeneration was running
  • Fixed force-slot getting applied to quick buy items
  • Ignore bad key/values for properties loading SQL service to fix further errors
  • Fixed not saving arena data when changing a flag via GUI
  • Fixed bug that caused arena flags not getting stored
  • Fixed bug that players are being able to fly even with anticheat-enabled set to true (fixed CMI compatibility issue)
  • Fixed "JsonSyntaxException: java.io.EOFException" which could occur when using HyPixelV2 quick buy feature
  • Fixed error spam when player leaving while using teleporter
----------, Oct 4, 2020

[​IMG]

Added feature:

  • Quick buy to the HyPixelV2 shop design (It supports SQL as well :) )
Config change:
Fixed bugs:
  • Fixed getting previous bought items in a buy-group when using it together with keep-on-death
  • Fixed items in HyPixelV2 shop design stacking up to 8 and not 7 items per row
  • Fixed error https://pastebin.com/1haJiQfW
  • Fixed region regenerator cleaning much more/less than it should
  • Fixed java.lang.NoSuchFieldException: playerConnection errors
  • Fixed force-slot config being buggy for some shop designs
  • Fixed huge error https://pastebin.com/89XqWpWy which could possibly occur when the plugin tried to look for a new update
  • Fixed duplication bug on paper: Breaking a block would drop the amount in the shop and not 1
----------, Sep 6, 2020

Added config:
  • prize-loser-commands
Added support for:
  • MySQL 8
  • Java 9 - 14
  • Spigot 1.16.2
  • Parties
Miscellaneous:
  • Added warning that he didn't place the bed inside an arena
  • Removed "Server has been started without the '--forceUpgrade' parameter." warning
Fixed bugs:
  • Fix error https://pastebin.com/j08KE8wq
  • Fixed not downloading latest SQL drivers and using deprected spigot drivers (Newer ones add support for MySQL 8 password system, fix SQL related bugs etc)
  • Fix not being able to use world regenerator on nether or end
----------, Aug 13, 2020

Config changes:
  • Made the buy-group config to be by player and not by team
  • Added the ability to use buy-group without keep-on-death
  • Added the ability to start buy-group on any level
Fixed bugs:
  • Fixed amount config for shop products got broken in prev update
  • Fixed error when vault is missing https://pastebin.com/xSgdzs85
  • Fixed not obtaining items at level 0 with buy-group
  • Fixed auto dye when purchasing items got broken in prev update
----------, Aug 9, 2020

Config changes:
  • Replaced entityspawning-enabled with monsterspawning-enabled
  • Added config "unbreakable" to shop products
Miscellaneous:
  • Improved performance when auto-saving player data
  • Region regenerator now ignores empty chunk sections and by that improving the speed
  • Improved region regenerator speed when having a slow hard drive
  • Made the world regenerator more efficient
Fixed bugs:
  • 1.8 - 1.13: Fixed error https://pastebin.com/0DFhpiGT
  • Fixed service stacking up and freezing after some time
  • Changed respawn-listener-priority from high to highest which should fix some incompatibilities with other plugins
  • Fixed "Essentials API is called before Essentials is loaded." error when stopping plugin
  • Fixed broken bed-interactable config
  • Fixed issues with interactable config
  • Fixed sound "COUNTDOWN_DONECOUNTING" getting cut off
  • Fixed "language-per-user" not working for every minecraft version
  • Fixed region regenerator dropping stuff into arena
  • (Hopefully) fixed being able to get a higher enchantment by spamming the upgrade
  • Some more minor bug fixes and general improvements
----------, Aug 8, 2020

Support changes:
  • Updated:
    • PlaceholderAPI
  • Removed:
    • MVdWPlaceholderAPI
Config changes:
  • Removed:
    • placeholderapi-registercustom
Placeholder changes:
  • Renamed:
    • %mbedwars_stats-roundsplayed% to %mbedwars_stats-rounds_played%
    • %mbedwars_stats-bedsdestroyed% to %mbedwars_stats-beds_destroyed%
    • %mbedwars_stats-playtime% to %mbedwars_stats-play_time%
  • Added:
    • %mbedwars_stats-wl%
    • %mbedwars_stats-kd%
Miscellaneous:
  • Made /bw stats more efficient
Fixed bugs:
  • Fixed not registering arena placeholders
  • Fixed drops from itemspawners not being centered on the block
  • Forgot to rename stat message keys in configs
  • Fixed error when clicking on stats sign with no player assigned to
  • Fixed SQL error when there are multiple users stored with the same username
  • 1.16: Fixed error when using guard dog https://pastebin.com/u8ieCh8z
  • 1.14+: Fixed light issues when using region
  • Fixed "RejectedExecutionException" error when stopping plugin
  • Fixed spectators being able to pick up items with smart item sharing
  • Added auto-wear support for netherite armor and elytra
----------, Jul 31, 2020

New: Smart Item Sharing
[​IMG]
Smart Item Sharing is a Marcely's Bedwars only system which gives the dropped item from the itemspawner to a random next standing player. This fixes a rather annoying issue which currently too many servers have.


Updated: Stats System
Before this update:
[​IMG]
After this update:
[​IMG]
We've completly redesigned our current stats system! While it's now not only a lot faster than it was before, it's also super modular as well. This means that it'll be super easy for the devs to add custom stats without having to deal with adding support for SQL etc. The plugin will handle that itself - while still having a better performance than probably most of the other bedwars plugins out there. But keep in mind that all stats entries need to be converted to the new system. Luckily the plugin will automatically do that for you when starting it, but a backup before the launch is still highly recommended. Plus it broke the current stats API, which will get replaced by the new API in 4.1 anyways.

Added feature:
  • Added system for sharing dropped items with other players (smart item sharing)
Config changes:
  • Added endlobby-flying
  • Updated default scoreboards (thanks to @ItsPat for helping me)
  • Added smart-item-sharing-enabled
Miscellaneous:
  • Updated the stats storage & internal system
  • Added languages: "Portuguese, Brazilian" and "Portuguese"
  • Added "destroyed_bed_own" message which only gets shown to the team of the destroyed bed
  • Updated caching system
Fixed bugs:
  • 1.16: Not being able to place team beds
  • "bridge-needsmaterials" config not working
  • Fixed error when using PaF Bungee Extended
  • Fixed issues with gamedonelocation
  • ItemMeta of items break when using legacy ":0" in 1.13+ materials
----------, Jul 26, 2020

Added support:
  • Spigot 1.16.1
Fixed bugs:
  • Fixed "Party and Friend: BungeeCord Extended" support not working properly
  • Fixed config "leavemessage-at-end" not working
  • Fixed config "inventory-clear" not working
  • Fixed config diein-water not working on 1.13+
----------, Jul 1, 2020

Config changes:
  • Added giveeffects-on-respawn
  • Added new placeholders to the deathmessage-custom-killed config:
    • {heartamount}
    • {heartvisibleamount}
Miscellaneous:
  • Updated OldCombatMechanics to the latest version
  • Errors that occur when a library is getting loaded won't crash the plugin anymore
  • Improved SQL performance
  • Decreased time until players get their items after they respawn
Fixed bugs:
  • Fixed that some items weren't getting removed during arena regeneration
  • Fixed "NoClassDefFoundError: com/sk89q/worldedit/bukkit/selections/Selection" error when you used FAWE
  • Instant potions are now working properly
  • Fixed "POI data mismatch" warning when using world regenerate on 1.14+
  • Fixed plugin not starting when using essentials warp/kit gui
  • Fixed rare error when a player left an arena https://pastebin.com/ZYrrnhb0
  • Fixed setting actionbar-enabled to false didn't work properly
  • Fixed items getting stuck when spawners would spawn them on slabs
  • Fixed "PROCEDURE x already exists" error when using SQL
  • Fixed rare error that occured after a game has ended https://pastebin.com/sheE62tQ
  • Fixed "java.lang.NoSuchMethodError: org.bukkit.Material.getMaterial(I)" error on 1.13+
  • Fixed glitchy spectating on 1.13+
----------, Jun 20, 2020

Miscellaneous:
  • Slightly improved performance when a spectator is writing a chat message
Config change:
  • "customchatmessage-spectator-public" is now set to false by default
Fixed bugs:
  • Fixed that spectators were able to block block placements
  • Fixed being able to place on holograms (dealers etc.)
  • Fixed that the "armor resistence" upgrade did not apply to already worn armor
  • Fixed GUI of hubvillager realigning after an arena updated or an other player opened it
  • Fixed "ConcurrentModificationException" error with holograms which was able to break the arena timer
  • Fixed that it'd save the value of "customchatmessage-spectator-enabled" for "customchatmessage-spectator-public", by that reseting it with every update
  • Fixed "customchatmessage-spectator-public" not working at all
  • Fixed "java.lang.NoSuchFieldException: c" for 1.13&1.14
  • Fix that the console is able to run /bw arenasgui which results into an error
  • Config "explosion-blocks-blacklist" not working
  • Fixed block datas printing invalid or too much data
  • Fixed "ConcurrentModificationException" error with spectators
----------, May 24, 2020

Added features:
  • Player properties system
    • Allows for keeping key/values informations about a player. They're being saved on SQL/locally (depending of the configuration of the plugin) and allows to store minor information that'd otherwise not be possible. First instance of its use: Rewinside shop design. It'll remember if you were using the old or new shop when reopening it
  • Block data system
Added configs:
Miscellaneous:
  • Updated the lobby exp bar. It's now more:
    • efficient
    • smooth
    • sync with the countdown
  • Improved arena load speed
  • Dropped support for region regenerator v2. Anyone should've updated to v3 by now
  • Dropped support for v1 arena storage system. Anyone should've updated to v1.1 by now
  • Added the ability to write "/bw arena regenerate *" to regenerate all arenas at the same time
  • Improved transition that happens when getting moved from voting arena to normal arena
Fixed bugs:
  • Fixed "java.util.ConcurrentModificationException at de.marcely.bedwars.cQ.Y(Hologram.java:80) ~[?:?]" error
  • Fixed that it's possible to place an infinite amount of TNT
  • Fixed stats memory leak
  • Fixed that it'll say that the second last damager killed a person instead of the last person who damaged him
  • Fixed that wrong stats sometimes got displayed on hologram
  • Fixed ranks not getting updated properly when there were 11 or more players
  • Fixed error "Unexpected token END OF FILE at position 1" when using NPC as the entitytype for dealers etc.
  • Fixed some NPC skins not working
  • Fixed not displaying 2nd skin layer for NPCs on 1.9+
  • Fixed spectators not being able to change their slot on 1.15
----------, May 15, 2020

Added language:
  • Persian
Added configs:
  • pvplevels-exp-killplayer-lastinteam
  • coins-give-killplayer-lastinteam
  • stats-count-kills-of-nonfinal
Miscellaneous:
  • Made default stats sign a bit more beautiful
  • TNT Sheep & Guard Dogs won't drop anything anymore when they die
  • Applied the config "dye-block: false" to more things
  • Added the ability to give minus xp with PvPLevels
Fixed bugs:
  • Fixed ranks not getting updated properly on local service
  • Fixed error that caused the plugin to not start on 1.9+
  • Fixed that unusual-blockdrops-handling: REMOVE didn't work
  • Fixed that unusual-blockdrops-handling: REPLACE_WITH_BLOCK_MATERIAL would drop the block when you were in creative gamemode
  • Fixed issues with upgrade enchantment levels
  • Fixed not getting the item when writing /bw arena team getbed
  • Fixed "java.lang.NoSuchFieldException: c" error on 1.15
  • Fixed that spectators could punch dealers
  • Fixed that players would instantly die in voids of arenas with the type world, even when diein-border-bottom was set to false
  • Fixed stats holograms not being shown properly when entering with 1.15 on 1.7 - 1.14
  • Fixed that stats-count-deaths-beforebedbroken wouldn't count the kills of the damager when set to false
  • Fixed that it'd only count kills when deathmessage-remove and deathmessage-custom-enabled were set to true
  • Fixed "java.lang.NoSuchMethodError: org.bukkit.enchantments.Enchantment.getId()" error when using 1.14
----------, May 3, 2020

Config changes:
  • Organized it better
  • Added:
    • recalculate-ranking-auto-delay
    • recalculate-ranking-auto-period
    • fireball-yield
    • bed-destroyableby-tnt
    • bridge-needsmaterials
    • display-counting-time-entry-only-nonnull
    • display-counting-time-entry-days
    • display-counting-time-entry-hours
    • display-counting-time-entry-minutes
    • display-counting-time-entry-seconds
    • display-counting-time
    • unusual-blockdrops-handling
Added messages:
  • When the arena is about to end
  • Broadcast to the team when a player bought an upgrade
Added sounds:
  • When the arena is about to end
  • More spectator sounds
Miscellaneous:
  • Improved ranking calculation performance
  • New achievements system:
    • Automatically converts achievements.cm2 to achievements.yml
    • For non-sql users: Use json instead of serialization
    • For sql: Updated table for better performance
    • It'll automatically convert the achievements to the new system!
  • New players folder structure in /MBedwars/data/players folder for quicker access
  • Made auto ignited TNT align more at the center of the block
  • Made more blocks dyeable
    • WALL_BANNER
    • STAINED_GLASS
    • CONCRETE_POWDER (1.12+)
    • GLAZED_TERRACOTTA (1.12+)
    • SHULKER_BOX (1.11+)
    • TERRACOTTA
Fixed bugs:
  • Fixed bug that'd give you the "good kd" achievement after every game
  • Fixed bug that caused infinite webs/ender chests when breaking those that were created by the arena
  • Fixed tab-removenonplayers not working properly
  • Player would drop his stuff at his spawn when falling to void and when "no-drops" was set to false
  • Fixed always-day not working when doDaylightCycle is set to false
  • Fixed TNT not breaking any blocks
  • Fixed "Asynchronous scoreboard creation!" error
  • Fixed spectators keeping some of their items when using the "change arena" item
  • Fixed enchantment levels getting overriden when buying enchantment upgrades
  • Fixed concrete being swapped by stained_clay on 1.12 when dying block
  • Fix error when using AdvancedReplay
  • Fix MariaDB support
----------, Apr 26, 2020

Added config:
  • kick-outofarena-lobby
Miscellaneous:
  • Added spin-up animation for blocks above holograms
  • Added TNT as a default buyable option
  • Integrated HikariCP for greater performance + stability when using SQL
  • Now using callbacks instead of java's future feature for greater stability + performance
    • Will display "Loading..." instead of freezing the server till the stats get loaded when using the stats provided for PlaceholderAPI
    • This breaks APIs that were depending on that feature
  • Now gracefully shutting down services for a decreased chance of losing queries/data
  • Bed holograms align more in the center when using beds as the bed block
  • Made spawner holograms a bit smoother
Fixed bugs:
  • Fixed enchantment error for 1.15 https://pastebin.com/LQ70YiCW
  • Fixed holograms sometimes not appearing when being on 1.8 and having a high ping
  • Fixed issue with new messages not getting added properly
  • Last damager info could've preserved till the next game or when dying
  • Fixed that it was possible to buy upgrades for an other player in the game
  • Fixed not being able to destroy beds with TNT
  • Fixed not seing spawner hologram spinning when joining on 1.9+ on a 1.8 with ViaVersion
----------, Apr 19, 2020

Added feature:
  • Fireballs!
    • Use them to shoot fireballs of your hand
Miscellaneous:
  • Greatly improved performance when placeholders of messages get replaced
    • This will improve the general performance by about 20%!
    • And this will also fixed the issue that opening an upgrade dealer would usually take a really long time
  • Improved team chests:
    • Fixed chests being visually glitchy
    • Added inventory title
  • Added the ability to add custom entries to the messages file
  • Moved enderpearl from special to extra category in shop and changed its price from 10 gold to 5 gold
  • Added support for using splash_potion and lingering_potion in https://mbedwars.marcely.de/index.php?title=Materials#Potions
Added achievement:
  • useFireball
Added sound:
  • EXTRAITEM_FIREBALL_USE
Config changes:
  • Added:
    • fireball-item
    • customchatmessage-message-placeholder-team-none
    • customchatmessage-message-placeholder-teamcolor-none
    • villager-interact-openshop
    • villager-interact-runcommand
    • villager-interact-runcommand-asop
    • death-skipscreen-advanced
    • death-spectate-respawnmsg-astitle
  • Renamed regeneration-threadsafe to regeneration-threaded
    • It's now set to false by default
    • Won't use any NMS anymore when set to false to provide better stability
Updated support:
  • BetterNick
  • EazyNick
  • WorldEdit
  • PvPLevels
Fixed bugs:
  • Fixed spectators getting stuck in EndLobby
  • Fixed spectators being invisible for others in EndLobby
  • Fixed that some plugins caused this plugin to crash on start
  • Fixed two death messages when using diein-void
  • Fixed last losing player not getting teleported to EndLobby
  • Fixed "Health must be between 0 and 20.0, but was 23.5." error
  • Fixed not being able to place looks like cacke, etc.
  • Fixed player being in creative mode in lobby
  • Fixed no-rain not working
  • Fixed timocloud error https://pastebin.com/sFszDh30
  • Fixed custom potions not working on 1.13+
Developers:
We finally moved to maven! This will allow us some new cool stuff but the probably most exiting feature on that we are working right now will be the developer API 2.0.
What changes with it:
  • ALL plugins that currently are using the API will break
  • It has been completly revamped and redesigned
  • Allows to customize and modify the plugin much further
  • Everything has been documented to make it as easy as possible for you
You can find the current progress on our website: http://mbedwars.marcely.de/javadocs/
It's not done and we'll do more changes to it!
----------, Apr 11, 2020

Miscellaneous:
  • Added new languages: Indonesian, Hungarian and Korean
  • Also updated the current messages files. I will stop adding this to the changelogs in the future since this happens automatically with every update. Are you able to speak other languages than english and are interested in helping us with the translations? Then check this out: https://crowdin.com/project/marcelys-bedwars. I'm thankful to everyone who commits his time by translating the messages. Crowdin isn't a cheap service for me but I'll keep it running as free service for y'all :)
  • Updated error message when using modified spigot
  • Updated bukkit version fetcher
Fixed bugs:
  • Fixed stats holograms getting overwritten by players who saw them as last
  • Fixed on 1.13+ that the bottom part of the beds would stay invisible until you clicked on it
  • 1.13+: Not being able to break blocks that were placed around the bed
  • Fixed diein-void not working
  • Fixed diein-border-bottom not working with arenas of the type "world"
  • Fixed that there was a chance that the state of an arena would stay forever as "regenerating"
  • Fixed a few problems with potions
  • Fixed error https://pastebin.com/G5x5tM3q
----------, Feb 28, 2020

Added command:
  • /bw arena itemspawner removeall <arena name>
  • /bw arena itemspawner display <arena name>
Miscellaneous:
  • Removed support for regeneration-threadsafe for 1.15
  • Displaying material in message "Bridge_NotEnoughMaterials" more beautiful
  • Messages files changes:
    • We now again have Crowdin!
    • Updated them
    • "LOLCAT" and "Pirate English" won't be generated anymore
    • Added community managed languages: Afrikaans, Norwegian, Polish
Fixed bugs:
  • Fixed bungeecord error "java.lang.IllegalArgumentException: Team x already exists in this scoreboard"
  • Fixed broken player colors (in tab) for 1.15
  • Fixed "NoClassDefFoundError: it/unimi/dsi/fastutil/longs/LongCollection" error that occured on normal spigot 1.1.5.1 and 1.15.2
  • Fixed "NoSuchFieldError: SOIL" for 1.13 and newer
  • Fixed bridge not working with dyeable materials on 1.13+
  • Fixed error when placing chest in 1.15.2
  • Fixed error when having "signblock-enabled" set to true on 1.15.2
----------, Feb 2, 2020

Added configs:
  • explosive-multiplier-knockback
  • explosive-multiplier-damage
Miscellaneous:
  • Region regenerator does not spawn items anymore
Fixed bugs:
  • Fixed broken holograms for 1.15
  • Fixed error: ConcurrentModificationException (PacketHologramsContainer.java:153)
----------, Jan 24, 2020

Config changes:
  • Added executeon-roundstart
  • regeneration-threadsafe is disabled by default for 1.15 and newer
Miscellaneous:
  • Readded spigot bug that caused snowballs, rods, etc. to cause damage for 1.12 and newer
  • Added interference warning when 'old-fishing-knockback.checkCancelled' is set to false or 'old-fishing-knockback.useEntityDamageEvent' is set to true in OldCombatMechanics
Fixed bugs:
  • Fixed that players got kicked when autojoin was enabled (on kick set to teleport back to lobby) and auto-restart enabled
  • Fixed that players got kicked from the server when you killed them with their bed destroyed
  • Fixed spectators not getting teleported into the arena when they didn't have the mbedwars.arenatp permission
----------, Jan 22, 2020

[​IMG]
IMPORTANT NOTICES:
  • It's not possible to downgrade to 1.12 or older from 1.13 or newer
  • Only a basic upgrade from 1.12 or older to 1.13 and newer is supported
    • Because of that it's highly recommended to reset the whole MBedwars folder instead
    • This also includes updating from 4.0.13 or older to 4.0.14 or newer while using 1.13 or newer
  • There are no problems with switching versions between 1.7 and 1.12 or 1.13 or newer


Miscellaneous:
  • plugin.yml: Added api-version: 1.13
  • plugin.yml: Made /bedwars and /bw aliases of /mbedwars
  • Improved performance & system of tab complete
  • Recoded the teambalance system
    • Fixes "setting "teambalance" to false causes errors"
Fixed bugs:
  • Fixed spectators getting stuck after a game ended
  • Fixed that there were 3 countdowns in voting
  • Fixed error: "java.lang.IllegalArgumentException: Size for custom inventory must be a multiple of 9 between 9 and 54 slots (got 0) at xxx(ArenasGUI.java:115)"
  • Fixed that it was possible to break a bed unlimited times when breaking a block at the location where the bed would be
  • Fixed that the players team colors in tab would get mixed whenever someone left the arena
  • Fixed that light didn't get updated with the region regenerator
  • It was possible to hit people from the same team
  • Fixed that the arena would reappear after a reload when writing /bw arena remove
  • Fixed buggy stats rank calculation
  • Don't print an "java.util.zip.ZipException: zip file is empty" error if there's a corrupted plugin in the plugins folder
  • Fixed error: java.lang.NoSuchMethodError: org.bukkit.event.entity.EntityDamageEvent.<init>(Lorg/bukkit/entity/Entity;Lorg/bukkit/event/entity/EntityDamageEvent$DamageCause;I)V
  • Config "diein-border-bottom" didn't work with arenas of the type world
----------, Jan 13, 2020

Added support:
  • MC1.15
Added config:
  • chat-playing-private
Fixed bugs:
  • Fixed that all signs would display the same arena
  • Fixed NullPointerException error "at de.marcely.bedwars.game.stats.c$2.run(Stats.java:299) ~[?:?]" for stats
----------, Dec 15, 2019

[​IMG]


Added features:

  • Added shop design: HyPixelV2
  • Added conditions for arena pickers:
    • [CLICK TO SEE THE WIKI PAGE]
    • Removed picker %random_lobby%
    • Removed picker %random_lobby_joinable%
    • Removed picker %random_ingame%
    • Removed picker %random_lobby_running%
    • Replaced picker %best_lobby% with %best%
    • IMPORTANT: These changes might break your current set-up
Added configs:
  • bed-interactable
  • Added a config to disable players being able to move armor items around in the inventory and being able to drop them (armor-interactable)
Updated support:
  • CloudNetV3
  • CaveCloud
Miscellaneous:
  • Added new parser for arena pickers
  • Now checks wether an arena has problems when loading it. If it has any then it'll be stopped automatically
  • Repackaged "nv-websocket-client" so that it doesn't interfer with other plugins
  • Improved %best%
  • Added [arena condition] parameter for /bw arenasgui command
Fixed bugs:
  • Fixed a few bugs for latest 1.14.4
  • Fixed new items from 1.13&1.14 won't be saved with the inventory of the player
  • Fixed that the player inventory didn't save base value of attributes correctly
  • Added missing autocomplete "sethascustomname" and "setcustomname" for /bw arena flag
  • Fixed possible "ConcurrentModificationException" error when arena signs got updated
  • Fixed sign-block always getting placed below when using 1.13 or newer
  • Fixed that § instead of & is being used for messages that were added with an update
  • Fixed that the icons for shop pages would display the attack damage and etc
  • Hub villager would display the actual name and not the display name of the arena
  • Fixed /bw arena gui would display the custom name
  • Fixed more minor bugs
API changes:
  • Added class ArenaConditionVariable
  • Added class ArenaConditionVariableTypeNumber
  • Added class ArenaConditionVariableTypeString
  • Added class ArenaPickerTask
  • Added class ArenaPickerAPI
  • Added <ArenaPickerAPI>BedwarsAPI#getArenaPickerAPI
----------, Nov 17, 2019

[​IMG]

Added achievement:
  • Addicted (Earn every achievement)
Added configs:
  • dealer-title-gui
  • upgradedealer-title-gui
  • scoreboard-ingame-display-emptyteams
  • 'auto-wear' to products in shop.cm2
Sound changes:
  • Added:
    • VILLAGERSHOP_BUYFAIL_ONETIMEPURCHASE
    • UPGRADESHOP_OPEN
    • UPGRADESHOP_BUYSUCCESS
    • VILLAGERSHOP_BUYFAIL_INSUFFICIENT_PERMISSIONS
    • UPGRADESHOP_BUYFAIL_TOOFEWMATERIALS
    • TEAM_ELIMINATED
  • Renamed:
    • VILLAGERSHOP_TOOFEWMATERIALS to VILLAGERSHOP_BUYFAIL_TOOFEWMATERIALS
Added feature:
  • It's now possible to use \n for holographic entities (dealers, block above spawners, hubvillager, teamselectvillager, etc.)
Miscellaneous:
  • Added 'already running' error message when trying to start a regeneration proccess while an other one is already running
  • Improved general stability
  • Clicking on a stats sign will now display the stats of the player in the chat
  • Improved addon manager
  • It's now possible to install addons by putting them into the 'add-ons' folder
  • Changed the default icon of the upgrade 'Trap' to tripwire
  • Improved the 'safely teleport to the arena' system
  • A picked up item now automatically changes its data(name, lore etc.) to the one available in the shop
  • Added 'bounce' effect when a player is touching the edge of the arena as a ingame spectator
  • Lowered the height of some holograms
  • Players now won't get teleported if they are entering as a spectator but already are inside the arena
  • Spectators and guard dogs now don't get stuck anymore when they get teleported
  • Spectators now cause less sounds and particle effects
  • Removed name length limit for holographic entities (this includes dealers)
  • Improved performance&stability of arena regeneration, especially for 1.13 and newer
  • Added support for regenration-thredsafe for 1.13 and newer
Fixed bugs:
  • Fixed flicker for holograms whose x-coordinate is smaller than 0
  • Fixed glitchy NPCs
  • Fixed error when using NPCs in 1.14
  • Fixed 'An error occured!' message occuring when creating a MapVote arena
  • Fixed that you could place beds for a mapvote arena
  • Fixed that a forced change of the state of an arena wouldn't actually cancel the regeneration process
  • Fixed glitchy messaging system
  • Fixed that when 'deathmessage-remove' was disabled:
    • players wouldn't get the kill added to their statistics
    • 'deathmessage-custom' wouldn't work
    • PlayerKillPlayerEvent wouldn't get executed
    • no coins would be given
  • Fixed broken 'keep-on-death', 'one-time-purchase' and 'buy-group' configs in shop.cm2
  • Fixed glitchy holograms above spawners
  • Fixed that the 'giveitems-on-respawn' items you'd get didn't have the enchantments you purchased in the upgrade dealer
  • Fixed that your guard dog would try to hurt you for a short time after you hit him
  • Somes materials dropped recipes but not actually themself
  • Fixed that it was possible to place blocks at "notbuildableradius-*" locations by using the bridge item
  • Fixed that it wasn't possible to place blocks on spectators with the bridge item
  • Fixed chatcolors not working for the 'bed-hologram-message-alive' config
API changes:
  • Added Arena#hasLobby()
  • Added Arena#teleportHere(Player player)
  • Added @Nullable AddonManagerAPI#Boolean getAddonState(Plugin)
  • Added AddonManagerAPI#File[] getSearchDirectories()
----------, Sep 15, 2019

[​IMG]

Major changes:

  • Improved holograms system:
    • Now uses one thread for all instead of one for each which greatly improves the stability of them
    • Now hooks into the minecraft interal methods and combines it for greater performance
    • The hologram will now appear instantly and disappear with the unloaded chunk without requiring any extra usage
    • Improved the source code for better stability and extensibility in the future
  • New and improved inventory backup & import system
    • It should cause less errors and add support for 1.14.3 and newer
    • Adds the ability to easily extend the information it keeps in the future
    • Also adds opportunity to add caching system in the future for quicker access to them
    • Now saves all abilities and attributes of the player
    • Files now use 'mlyinv' instead of 'yml' as the extension type
    • There's no need to delete the old inventory files as the plugin will automatically convert them when they are needed
Config changes:
  • Added:
    • deathmessage-custom-explosion
    • deathmessage-custom-fall
    • deathmessage-custom-fire
    • deathmessage-custom-default
    • sql-parameters
  • Turned into a list:
    • deathmessage-custom-killed
    • deathmessage-custom-void
Minor changes:
  • Added {maxplayersperteam} placeholder to the 'gui-selectteam-teammaterial-lore' config
  • Added translation messages for custom death messages
  • Items in the hotbar in lobby now get dyed with to team color
  • Changed guarddog to go back to his base if there's no near enemy
  • Changed guarddog to track the nearest enemy, not a random one in distance
Fixed bugs:
  • Fixed '* has not been found!' error when using /bw stats while player hasn't played any rounds yet
  • Fixed '[...] server version for the right syntax to use near 'Rank INT NOT NULL [...]' error when using mysql 8
  • Fixed 'Unknown initial character set index '255' received from server' error when using mysql 8
  • Fixed error occuring when using tnt sheep or minishop item while looking not at a block
  • Fixed errors when using /bw stats with SQL
  • Fixed {teams} placeholder not working for the 'gui-selectteam-teammaterial-lore' config
  • Fixed that the bergwerklabs shop design would always display the amount of products as 1
  • Fixed that removing the shop config regenerate and then reloading with /bw rl would add the default shop items to the old ones
  • Fixed {author} placeholder not working in the lobby-countdowntitle-arena config
  • Fixed that you'd continue burning if you'd die in fire with death-skipscreen enabled
  • Fixed that the other half of the bed would remain when breaking it in 1.13 or newer
  • Fixed that the part of the hologram that's touching a block would get dark
  • Fixed error when opening a villager gui in 1.14.*
  • Fixed that the guarddog would also aim for spectating enemies
  • Fixed slight chance of arena data getting deleted when forcing a reload during an already running loading phase
  • Fixed some 'NoSuchMethodError' errors occuring in some specific events in 1.14.1 and newer
  • Fixed worldedit module not getting loaded properly
  • Fixed getting moved out of the server with autojoin enabled after arena voting has ended
  • Fixed that was possible to see the the movement particles and the items in their hands of spectators
  • Fixed that the dyed player names in tab would stay after leaving the arena as a spectator
  • Fixed that some placeholders on the scoreboard didn't work for spectators
API changes:
  • Added event:
    • ShopGUIBuildEvent
  • Deprecated:
    • ShopBuyEvent#boolean hasEnoughMaterials()
    • ShopBuyEvent#boolean isTakingPayment()
    • ShopBuyEvent#boolean isGettingBought()
    • ShopBuyEvent#void setHasEnoughMaterial(boolean bool)
    • ShopBuyEvent#void takePayment(boolean bool)
    • ShopBuyEvent#void giveBought(boolean bool)
    • ShopBuyEvent#void setCancelled(boolean cancel)
    • ShopBuyEvent#boolean isCancelled()
    • ShopBuyEvent#int getTakeAmount()
    • Achievement#String getTitle()
  • Added:
    • ShopBuyEvent#List<ShopBuyProblem> getProblems()
    • ShopBuyEvent#boolean addProblem(ShopBuyProblem problem)
    • ShopBuyEvent#ShopBuyEventResult enum
    • ShopBuyEvent#void setGivingProducts(boolean)
    • ShopBuyEvent#void setTakingPayments(boolean)
    • ShopBuyEvent#boolean isGivingProducts()
    • ShopBuyEvent#boolean isTakingPayments()
    • ShopBuyEvent#boolean isShiftClick()
    • ShopBuyEvent#boolean removeProblem(ShopBuyProblem problem)
    • ShopBuyEvent#int removeAllProblems()
    • ShopBuyEvent#int getAmount()
    • ShopBuyEvent#void setAmount(int)
    • Achievement#String getDescription()
----------, Aug 20, 2019

[​IMG]

Added feature:
  • Added new cool application which appears whenever you accidently open the jar
Added shop design:
  • BergwerkLABS
Added support:
  • NametagEdit
Minor changes:
  • Made position number of scores in scoreboard, which are above eachteam, more logical
  • Added 'Beta' info tag for shop designs in shop.cm2 file
  • Added error if regeneration of arena didn't actually start
  • Added own 'You don't have enough *!' message for hypixel
  • The setupitem or /bw arena gui will now automatically open the last page you were looking at
  • Decreased the jar by 400kb by now not delivering mariadb connector anymore. Instead the plugin will now automatically download it when needed
Config changes:
  • Changed 'lobby-team-onchange-wearcloth-material' to a list of materials and renamed it to 'lobby-team-onchange-wearcloth-materials'
  • Changed type of 'lobby-team-onchange-wearcloth-materials' to ItemStack (used to be material)
  • Added {playerteam} & {playerteamcolor} placeholders to the 'beddestroy-message' config
Fixed bugs:
  • Fixed 'java.lang.NullPointerException' error which occured when a plugin removed the death message
  • Fixed 'lobby-team-onchange-wearcloth' not working
  • Fixed that it wasn't possible to change the 'bed-hologram-message-alive' config
  • Fixed empty lines in scoreboards not working properly
  • Fixed lines under eachteam in scoreboards not working
  • Fixed that 'inventory-clear' would still clear the inventory with 'inventory-backup' enabled
  • Fixed the problem with players getting glitched in blocks when placing them in their same position while using paper and ViaVersion
  • Fixed bugs with the minesucht shop design
  • Fixed that spectators could move items around in their inventory
  • Fixed an error which occured when regeneration of an arena .whose world is missing, stated (+ added warning)
  • Fixed that players could move items in their inventory when opening a GUI in lobby
  • Fixed that the forcestart item stayed whenever a player left
  • Fixed that the forcestart item didn't reappear after the 'not enough players for the arena' message occured in mapvoting
  • Fixed that the 'Good luck!' message appeared in mapvote in its first state
  • Fixed broken commands list in /bw help when having a custom amount of permitted commands
----------, Aug 11, 2019

Fixed bug:
  • Fixed 'java.lang.IllegalStateException: ArenaCreateEvent cannot be triggered asynchronously from another thread.' error in newer 1.14 versions, which caused arenas not to load
----------, Aug 9, 2019

Added configs:
  • giveitems-on-respawn
  • giveitems-on-respawn-armor
  • force-slot in shop.cm2 for pages and items
  • endlobby-countdown-time
  • endlobby-show-kick-time
Added placeholder:
  • mbedwars_playerarena-current-team-color
Minor changes:
  • Improved game end handling
    • It's now more logical
    • It'll directly enter regeneration mode instead of the EndLobby if there are no player left
    • Players who leave and cause the end of the round won't get a message of those who won and etc.
    • Better respawn handling
  • Added the ability to have no custom name for a page or item by simple leaving its name empty in the shop.cm2 file
  • Renamed 'Regeneration speed' to 'Regeneration time' in /bw arena info
  • Added feedback with estimated time when using /bw arena saveblocks for larger region arenas
  • Added error message when repeating /bw arena saveblocks while the operation is already running
  • Added error message when trying to regenerate an arena while it's saving blocks
  • Added error message when trying to save blocks of an arena while it's not stopped
  • Improved respawn system
    • Improved general system of the handler
    • Reduced time until the death screen disappear (if enabled)
  • Now allowing usage of placeholders by PlaceholdersAPI in the scoreboard
Fixed bugs:
  • Fixed 'UnsupportedOperationException: Cats are now a different entity!' error for 1.14
  • Fixed weird potion when using this syntax: https://mbedwars.marcely.de/index.php?title=Materials#Potions
  • Fixed broken 'keep-on-death' for items of shop.cm2 when 'death-spectate' was enabled
  • Fixed that placeholders of the 'beddestroy-message' config didn't got replaced properly
  • Fixed that an arena didn't enter the stopped status when the 'Stopped arena because it has * problems.' occured on start of the server
  • Fixed that it was possible to use the leave item (even if that item isn't visible in the inventory) during spectate caused by death
  • Fixed that there was a chance that the server wouldn't restart/stop properly when restart-oncearenaend was enabled
  • Fixed slight chance for 'NullPointerException' error on start
  • Fixed that the {heart} placeholder in the ingame scoreboard would display any team as still alive on round start
  • Fixed NullPointerException error when using the config rescueplatform-autobreak
  • Fixed '* is not a @Sharable handler, so can't be added or removed multiple times.' error on start
  • Fixed that players couldn't use /bw addstatssign on wallsigns for 1.14 (and propbably also 1.13)
  • Fixed 'java.lang.NoSuchMethodError: org.bukkit.inventory.Inventory.getTitle()Ljava/lang/String;' error
  • Fixed that you could interact with holographic entities from any distance through hacks
  • Fixed that new blocks of 1.13 and 1.14 would disappear when using region regenerator
  • Fixed that the config 'forcestart-ignoreminplayers' didn't have any affect
  • Fixed that the 'no-drops' config didn't have any affect
  • Fixed 'java.lang.NoSuchMethodError: net.minecraft.server.v1_12_R1.TileEntity' error when using an old 1.12 version while regenerating a region arena
  • Fixed the 'A new update has been found' message for joininig players
  • Fixed 'Plugin attempted to register task while disabled' error, which occured when the plugin got unloaded during a running round
  • Fixed that 'placeholderapi-registercustom' didn't work properly with PlaceholderAPI on the latest version
  • Fixed that the scoreboards of the remaining players changed to the lobby one once someone left the round
API changes:
  • Changed constructor of RoundEndEvent
  • Added RoundEndEvent#<boolean>isTie
  • Added RoundEndEvent#<List<Player>>getLosers
  • Added Arena#<List<Player>>getPlayersInTeam(Team team)
  • Changed constructor of PlayerQuitArenaEvent
  • Added PlayerQuitArenaEvent#Team getTeam
  • Added TeamEliminateEvent
  • Added Arena#List<Team> getRemainingTeams()
  • Added ArenaDeleteEvent
  • Added ArenaCreateEvent
  • Deprecated PlayerRespawnEvent
  • Added PlayerRoundDeathEvent, which extends PlayerRespawnEvent
  • Added PlayerRoundRespawnEvent,
----------, Aug 9, 2019

Minor changes:
  • Added short cooldown when hitting/interacting an holographic entity
  • Improved the netty injection system
    • Slightly improves performance and increases compatibility with other plugins
Fixed bugs:
  • Fixed some 'ConcurrentModificationException' errors
  • Fixed some more tiny bugs
----------, Jul 14, 2019

Added feature:
  • Sleeping mode for arenas
    • Arenas will automatically enter and leave this mode
    • During this mode they'll be 'frozen' and cause less CPU usage by that
    • This doesn't affect the functionality of the arena
Minor changes:
  • Added to /bw arena info: 'is sleeping'
  • The shop will now display the same amount of items as their single product
Fixed bugs:
  • Fixed 'The special id 'type' doesn't exists! [...]' error which occured on fresh installations
  • Fixed that the shop config would always save the amount of each product as 1
API change:
  • Added: Arena#<boolean>isSleeping()
----------, Jul 13, 2019

[​IMG]

Added support for:
Updated support for:
Minor changes:
  • Updated the README file
  • Now shows nicked players their real name in some parts, such as in their stats
  • Added title to anvil guis for 1.14
Fixed bugs:
  • Fixed an error which occured when loading ReformCloud
  • Fixed an error which occured when the plugin looked for worldedit points but none were set in versions 1.13 and newer
  • Fixed error 'Caused by: java.lang.NoSuchMethodError: org.bukkit.event.world.ChunkUnloadEvent.setCancelled(Z)V' for 1.13 and newer
  • Fixed that the 'ArenaRegenerationStopEvent' got called async
  • Fixed that some materials of items didn't got dyed properly and caused some bugs in the shop in 1.13 and newer
  • Fixed 'UnsupportedException' error when opening an anvil in 1.14
API change:
  • Added Arena#long getGameStartTime()
----------, Jul 5, 2019

[​IMG]

Added feature:
Added support for:
Fixed bugs:
  • Fixed spawning blocks on itemspawners cause an error in 1.7
  • Fixed client getting disconnected on 1.12.2 if ProtocolLib isn't installed
  • Readded missing } to the default 'stats-hologram-lines' config
  • Fixed scoreboards not getting displayed
  • Fixed WorldEdit would get initiated multiple times
  • Fixed an error which is being caused by the plugin trying to get the selected world edit points which the player didn't define
----------, Jun 4, 2019

[​IMG]

Added features:

Minor changes:
  • Added hurt sounds for holographic entites
  • Added ability to use / in sounds config to tell that there shouldn't be a sound for that event
  • Killing a hologram now requires 2x more hits
  • Hologram updates aren't running in the main thread anymore
  • Added warning that NPCs aren't supported for versions older than 1.7.9
Added sounds:
  • ENTITY_VILLAGER_HURT
  • ENTITY_PLAYER_HURT
  • ENTITY_PLAYER_DEATH
  • ENTITY_ARMOR_STAND_HIT
  • ENTITY_ARMOR_STAND_BREAK
Fixed bugs:
  • Fixed that it was possible to interact with the dealer while being a spectator
  • Fixed the 'java.lang.NoClassDefFoundError: de/marcely/bedwars/library/worldedit/WorldEditInjection' error
  • Fixed that it was not possible to place traps
  • Fixed players getting disconnected when name of NPC is longer than 16 bytes
  • Fixed that holograms may disappear when regenerating an arena with the type world
  • Fixed error occuring when using NPCs in 1.7
  • Fixed client crashing when joining an arena in 1.7
  • Fixed error when using tab in chat in 1.7
  • Fixed that the blocks on itemspawners cause an error in 1.7
----------, May 26, 2019

Fixed bugs:
  • Fixed that the plugin sometimes failed to download the modules on some specific systems
  • Fixed that there were two prefixes for some messages in /bw checkupdate
----------, May 22, 2019

Added features:
  • Added an optional feature which makes the plugin send messages to the player in their corresponding language
  • Added web service which is automatically downloading the latest modules for MBedwars, which are needed for the plugin to work properly
Added support for:
  • WorldEdit v7
Added config:
  • language-per-user
Minor changes:
  • Updated region regenerator V3 to 3.2
    • Fixed that block states weren't saved correctly with the region regenerator in 1.13 and higher
    • Added ZIP compression
  • Items in /bw arenasgui are now aligned to the center
  • Improved the language system
  • Removed the feature which allowed to use any color from any language in commands such as /bw arena team getbed <team color>
  • Rewrote the world edit system to be more efficient
  • The minishop villager is now spawning at the location at which you are looking at
  • Added collars for guard dogs
  • Items in /bw runninggames are now aligned to the center
  • Entries in /bw arenasgui are now ordered by running or not and by players amount
Fixed bugs:
  • Fixed that the arena data & shop config didn't save available itemspawner IDs
  • Fixed not being able to place beds other than red in 1.13 and higher
  • Fixed that the face of the beds wouldn't get stored correctly for 1.13 and higher
  • Fixed 'sound 'ENTITY_TNT_PRIMED ' not getting found' error for 1.9 as there was a hidden space in the default sounds config file
  • Fixed messages displaying 'de.marcely.bedwars.message.Message@' in /bw addon
  • Fixed that special events, which run longer than one tick, could still run even after the round has ended
  • Fixed that you could optain the 'use-rescue-platform' achievement even if you didn't met the requirements
  • Fixed possible 'NullPointerException' error during start, which was caused by the plugin which trying to send a message while the translations weren't loaded yet
  • Fixed 'PlayerUseExtraItemEvent' not getting called for custom ExtraItems
  • Fixed that the spectator items would remain when successfully using the 'Change arena' item as spectator
  • Fixed that purchased items wouldn't get renamed
  • Fixed that you could get the 'use-bridge' achievement even if you didn't place any blocks with it
  • Fixed that the guard dog would attack its team mate if he'd hit him
  • Fixed not being able to use the extraitem while looking at an entity
  • Fixed that it was possible to spawn baby guard dogs
  • Fixed that the minishop villager would only get the hit velocity when you'd him at the bottom part
  • Fixed that the /bw runninggames UI had a wrong size
  • Fixed that you could enter the same arena, in which you are already were, as a spectator
  • Fixed a bug which would allow you to keep items by holding them in your cursor
  • Fixed that the arenas gui sometimes would break the arena loading system
  • Fixed that the arenasgui sometimes didn't work
  • Fixed missing arena names in /bw arenasgui
  • Fixed possible 'java.lang.NullPointerException' error for certain shop items
  • Fixed {number} placeholder not working for the Win_Money message
  • Fixed an occuring error when writing /bw arena info for an arena with the type world and a non existing world
  • Fixed that the configs 'always-day' and 'no-rain' didn't always work properly
API changes:
  • Removed overrideable ExtraItem#onBuyEvent(ShopBuyEvent) method
  • Added ExtraItem#registerListener(ExtraItemListener)
  • Added class ExtraItemListener
  • Added class ExtraItemAdapter
  • Added boolean ExtraItem#unregisterListener(ExtraItemListener)
  • Changed constructor of 'PlayerUseExtraItemEvent' to 'ExtraItem, Arena, PlayerEvent, ItemStack
  • Added PlayerUseExtraItemEvent#getParentEvent
  • Added PlayerUseExtraItemEvent#getArena
  • Added ExtraItem#setItemStack(ItemStack)
  • Added List<ExtraItemListener> ExtraItem#getListeners()
  • Added PlayerUseExtraItemEvent#getClickedBlock()
  • Added PlayerUseExtraItemEvent#getBlockFace()
  • Added PlayerUseExtraItemEvent#getItem()
----------, May 22, 2019

Support:
  • Added support for 1.14
Minor changes:
  • Improved performance when playing sounds
  • Added warning when spawn-protection in server.properties is set to 1 or higher
  • The bed item you can get with /bw arena team getbed is now getting dyed for versions 1.12 and higher
  • The bed item you can get with /bw arena team getbed now has been renamed to the correct format (similar to /bw arena getpositionaxe)
Fixed bugs:
  • Fixed that it wasn't possible to break beds of teams other than red in 1.13
  • Fixed broken noteblock sounds for 1.13
  • Fixed that the config files wouldn't have saved the correct type of entity type for spawn eggs in 1.13
  • Fixed that the internal system, whose goal is to find a safe spawn spot, could crash the server if there was nothing but air
  • Fixed that an empty config.cm2 file would've been created on the first start
  • Fixed that players would get a paper item when opening an anvil GUI
  • Fixed that the translations in the lobby-scoreboard.cm2 file wouldn't have got translated on the first run
  • Fixed that game beds didn't got placed in 1.13
  • Fixed a bug of which occuring errors while world regeneration sometimes wouldn't get detected correctly. Because of that the regeneration wouldn't have got cancelled by that whereby the arena could stay forever in regeneration mode
  • Fixed that you'd continue burning, receiving fall damage etc. after respawning when the spectator timer elapsed
----------, Apr 26, 2019

Fixed bugs:
  • Fixed that an error would occur on the first run
  • Fixed that the plugin would create a backup after the first run
----------, Apr 18, 2019

Changes:
  • The teleporter animation has been redesigned
  • Animations have been recolored & the colors of these animations now look the same on every version
    • The teleporter item now has a rainbow effect
    • The border now has a double fade effect
  • 1.13R2 support has been updated to the latest version
  • The region regenerator has been updated to V3.1 (fixes bugs and it's now working a lot better on 1.13)
Config changes:
  • Removed 'regeneration-speed'
  • Added 'regeneration-speed-ms'
    • The new variant now allows you to say how long it should work per tick, the old variant sayd how many blocks it should update per tick. The new config makes controlling on how much CPU usage the regenerator use a lot easier
Minor changes:
  • 'regeneration-threadsafe' is now getting enable by default if the server is using 1.12 or older
  • The default price for a guard has been changed from 6 gold to 1 gold
  • The speed of the internal method that is getting all players on the server for 1.8 and higher has been improved
  • The view distance of the border has been increased a bit
Fixed bugs:
  • Fixed that the potion items in 1.13R2 displayed the wrong effect
  • Fixed that the mobspawner items in 1.13 were displaying the wrong mob
  • Fixed a potential error when the plugin would internally get all players on the server in 1.7
  • Fixed that the arena picker was broken
  • Fixed that the config 'performance' didn't have any effect on the border update frequency
  • Fixed that the animation of the block on the spawner holograms could run slower/faster than normal depending on the configurated 'performance' config
  • Fixed that the minishop villager would get damage when he's jumping
  • Fixed and improved the particles/effects problem in 1.13 (they were causing errors and it wasn't possible to use them at all or very limited)
  • Fixed that the region regeneration in 1.13 would never end
API changes:
  • Added class de.marcely.bedwars.api.VarParticle
  • Added DropType#getVarParticle
  • Added DropType#setVarParticle
  • Deprecated DropType#getEffect
  • Deprecated DropType#setEffect
----------, Apr 16, 2019

Minor changes:
  • [For a fix because of which players got stuck because of minecraft]: The plugin won't teleport the player a second after his respawn again to his spawn. Instead the plugin will spawn the player a bit higher
  • Some more minor changes
Fixed bugs:
  • Fixed that the console would've screamed with SQL errors because of wrong configuratated connection informations, even after a reload with which SQL has been disabled
  • Fixed that the region regenerator didn't always spawn item frames
  • Fixed that players continued burning when they died with death-skipscreen enabled
  • Fixed some more tiny things
----------, Apr 14, 2019

Minor changes:
  • Fixed some memory leaks + did some small performance improvements
  • Scoreboard now displays the remaining time as 1 and not as 0 as before in the endlobby
Fixed bugs:
  • Fixed that players were able to teleport to current regenerating worlds and cause issues by that
  • Fixed 'Your plugin seems to be broken (Failed to load file?)' errors on first start
  • It was possible to interact in lobby&endlobby
  • Fixed errors when doing /bw stats <player name> with SQL enabled
  • Fixed some world regeneration problems
  • Fixed that there was a comma too much in /bw arena list
----------, Apr 13, 2019

[​IMG]

Important: This build hasn't been completly tested, expect some things not to be working as expected!
Changes since 4.0-PreRelease-3:

Added features:

  • Added the ability to destroy the lobby after the round has started
  • Added sign stats
  • Updated Region Regenerator (to V3)
    • File size is now 50% smaller than before
    • It is now supporting many more versions of spigot
    • Is now saving all details of entities and blocks
    • Adds better support for 1.13
  • It is now possible to give players items on round start
Added support:
  • Added experimental support for MC1.13
  • Added support for DKCoins
  • Added support for CloudNetV3 signs
Added command:
  • /bw addstatssign
Added configs:
  • lobbybreak-enabled
  • lobbybreak-radius
  • dkcoins-enabled
  • dkcoins-give-win
  • dkcoins-give-lose
  • dkcoins-give-beddestroy
  • dkcoins-give-killplayer
  • giveitems-on-roundstart-armor
  • giveitems-on-roundstart
  • giveitems-on-enabled
  • statssign-line4
  • statssign-line3
  • statssign-line2
  • statssign-line1
Minor:
  • (Bungeecord) It's now making a retry after 10 seconds it failed to connect
  • If SQL is enabled then /bw stats will fetch the database instead of iterating every player ever joined which among other things causes a performance boost
  • Empty messages won't be sent anymore (By that you can make messages in the language file empty whereby they won't get sent)
  • Improved performance of Ranking Statues
  • The config 'region-threadsafe' *should* now support all versions of spigot (including paper and 1.7 - 1.13)
  • Removed support for RegionRegeneratorV1
  • /bw stats is now also looking for players who are online if local service is configurated
  • Local stats are now also saving the name and the UUID of the player
  • Made that the 'line-eachTeam' configs in the scoreboard config files doesn't add anything to the scoreboard if left empty
  • Stats are now being kept loaded until the server needs more RAM
  • Skins are now also being cached in the same way as ^
Added permission:
  • mbedwars.cmd.addstatssign
Fixed bugs:
  • Added missing } for first generated stats-hologram-lines.cm2 file
  • Added missing } for some messages
  • Fixed that ranking statues didn't got updated properly
  • Fixed that the ranking calculator where at anything somewhat buggy
  • Some more stability improvements
  • Fixed that specific commands would work on a mapvote arena and also on world arenas with not loaded worlds (would cause an error)
    • /bw arena teleport
    • /bw arena setspectatorspawn
    • /bw arena saveblocks
  • Fixed that the config 'cloudsystem-enabled' actually didn't cause anything
  • Crafting an item wasn't possible even if 'interacting' was enabled
  • The upgrade dealer GUI used the 'dealer-title' config instead of 'upgradedealer-title'
  • The config 'bed-hologram-enabled' couldn't get disabled
  • The mapvote would display the regeneration speed in /bw arena info
  • (maybe) Fixed that world arenas wouldn't always get regenerated
  • Fix corrupted dot in hypixel shop design
API Changes:
  • Added 'getCoins()' to StatsAPI
  • Deprecated List<RankingStatueAPI> getStatues(int place)
  • Added Iterator<StatsSignAPI> getStatsSignsIterator(int place)
  • Added StatsSignAPI class
  • Added Iterator<RankingStatueAPI> getStatuesIterator(int place)
  • Readded Arena#getName
----------, Mar 23, 2019

Minor:
  • Added mining fatique effect for spectators
  • Added directions for lobby points
Fixed Bugs:
  • Fixed that ingame spectators were able to take items
  • Fixed that in 1.12 it didn't open the anvil UI in /bw arena gui
  • Fixed that the explode configs were kinda buggy and confusing
  • Fixed that a new loaded lobby world didn't got updated afterwards
  • Fixed that it wasn't possible to open the shop menu if someone else opened the menu before
  • Fixed crash when using a PlaceholderAPI plugin
  • Fixed that it was possible to break the bed with TNT even if bed-onlydestroyablewith-tnt was disabled
  • Fixed the following error: https://pastebin.com/CqgwS5ks
  • Fixed that players in lobby would get kicked out of the arena if they jump into the void
----------, Dec 7, 2018

Minor:
  • Added a warning if an economy plugin is causing an error when giving the prize
  • Some more improvements that are too minor to be listed here
Fixed bug:
  • Fixed StackOverflow (console spam, server crashing etc..) when trying to create a world arena
----------, Nov 3, 2018

Minor:
  • Added missing types as a comment to the 'cloudsystem-extra' config
  • Added a warning when saving world files and something is wrong with the main world. By that no errors shouldn't occur anymore if the plugin tries to teleport the players in that world to the main world.
Fixed bugs:
  • Fixed something that breaked compatibly to a plugin in the past
  • Fixed that the CloudNet signs didn't update on init (if enabled)
  • Fixed that achievements didn't got saved if SQL was enabled
Probably did some more what I just forgot. ;)
----------, Oct 25, 2018

Fixed bug:
  • Fixed a bug which would reset the language file
  • Maybe fixed more or added more
----------, Sep 23, 2018

Configs:
  • 'anticheat-enabled' is now set to false by default
  • Added config 'regeneration-threadsafe'
  • Added config 'cloudsystem-extra'
Minor:
  • Teleporting now the player to the spawn of the main world when he's in the world of an regenerating arena
Fixed bugs:
  • Fixed some bugs with the CloudNet support
  • Fixed the wrong position of the "deathmessage-custom-*" configs in the config.cm2 file
  • Fixed an error on start
  • Fixed that explosions can break the bed
  • Fixed that stats aren't getting unloaded whenever bedwars is getting reloaded (with /bw rl)
  • Fixed that the scoreboard doesn't get updated whenever a player leaves
  • Fix some bugs with the SQL service
API changes:
  • Added events: ArenaRegenerationStartEvent, ArenaRegenerationStopEvent
  • Added 'getEntityAPI()', which allows to remove, get and summon entities such as dealers and etc.
  • Deprecated 'de.marcely.bedwars.api.Util.summonDealer(Location)'
  • Added 'int getMaxPlayers()' to Arena
----------, Sep 7, 2018

Minor change:
  • Added a cooldown for "SQL Timeout" warnings in the console
Fixed bugs:
  • Fixed SQL errors when using SQL with an older Spigot version
  • Fixed some errors when not using 1.8.8
  • Fixed some errors while region regenerating, which mostly happened on 1.12
  • Fixed some more minor bugs
----------, Aug 3, 2018

Added feature:
Improvements:
  • Improved the performance & stability of the plugin a lot
  • Started adding support for 1.13. It's currently not working. It's planned for the 4.0 release and the plugin will still 100% support every version from 1.7 up to the latest version 1.13.
  • Tons of more improvements
Added placeholders for third party plugins:
  • mbedwars_playerarena-name
  • mbedwars_playerarena-players
  • mbedwars_playerarena-maxplayers
  • mbedwars_playerarena-status
  • mbedwars_playerarena-teams
  • mbedwars_playerarena-teamsize
Fixed bugs:
  • Fixed that spectators can get stuck when the spectator point is outside the arena
  • Fixed that stone sword din't got enchanted in the upgrade shop
  • Fixed tons of more stuff
----------, Aug 3, 2018

Minor:
  • Region regeneration is now cancelling itself whenever an error has been caused
Fixed bugs:
  • Fixed errors in region regeneration for the following versions:
    • 1.7R4
    • 1.7R3
    • 1.7R2
    • 1.7R1
    • 1.9R2
    • 1.9R1
    • 1.10R1
    • 1.11R1
    • 1.12R1
  • Fixed an error when interacting on an entity on 1.7
----------, Jun 11, 2018

Minor:
  • Added console message whenever the stats got automatically updated
Fixed bugs:
  • Fixed broken player colors in Tab
  • Fixed error whenever regenerating a TileEntity in Region
  • Fixed crash when cloning an arena
  • Fixed compatibly issue with other plugins when using the trading GUI by villagers
----------, Jun 8, 2018

[​IMG]

Improvements:

  • Region regenerator is now super fast, async and very performant (see screenshot)
Added feature:
  • Added ability to give arenas a custom name. Multiple arenas are able to have the same custom name. Only one of multiple arenas with the same custom name will get added to the map vote poll (if enabled).
Added flags:
  • HasCustomName
  • CustomName
Fixed bugs:
  • Fixed possible crash because of main world recognition
  • Maybe fixed the freeze of the SQL service (Scoreboards, Stats, etc. shouldn't disappear anymore in SQL mode after a few days)
  • Fixed that it is not possible to change string flags in the arena GUI
----------, Jun 7, 2018

Fixed bug:
  • Fixed that the collision warning did sometimes wrong warnings
----------, May 20, 2018

World regeneration is maybe broken in this version.
Use region regeneration instead.
Minor:
  • If motd-enabled is true: motd-line2 and the \n won't be added anymore to the motd if motd-line2 is empty
Fixed bugs:
  • [MC1.7] Fixed an error when using the world regenerator
  • [MC1.7] (Yet in Debug) Parachutes aren't support anymore because of Bukkit's limitations in that version
  • [MC1.7] Added error messages if a world got failed to load. Only 1.7 as only this and lower version have this problem.
  • [MC1.7] Fixed more problems
----------, May 15, 2018

World regeneration is maybe broken in this version.
Use region regeneration instead.
Minor:
  • Now using better compression for the Jar (It's now 50% smaller!)
  • Improved world regenerator. It may will work for you now. Please send me a message if it won't
  • Added missing library for MariaDB
----------, May 14, 2018

World regeneration is broken in this version.
Use region regeneration instead.
Yep, a beta, which is also available in the discord. But this version is a lot more stable than the version before. I suggest you to create a backup of your worlds, yet there aren't any reports with worlds disappearing. There's is still some stuff missing for the 3.3 release and do not expect, that every new feature will work flawlessly. Send me bug reports if you find any, like always.

Minor change:
  • Improved stability
  • Updated the README
Fixed bug:
  • Fixed error when creating an arena and WorldEdit isn't enabled
----------, Apr 22, 2018

World regeneration is broken in this version.
Use region regeneration instead.
Yep, a beta, which is also available in the discord. But this version is a lot more stable than the version before. I suggest you to create a backup of your worlds, yet there aren't any reports with worlds disappearing. There's is still some stuff missing for the 3.3 release and do not expect, that every new feature will work flawlessly. Send me bug reports if you find any, like always.

Added feature:
  • Added support for 1.12.2
Minor changes:
  • Improved Netty support for 1.7
  • Remove d"Future isn't done" Exception in FutureResult and replaced it with something that is waiting until the future's done. #WhyAreSomeUsingThis
  • Improved SQL performance
Added config:
  • tnt-canbreakblocks-breakby-player
Fixed bugs:
  • Fixed that always-day didn't worked correctly
  • Fixed that spectators are kinda visible for normal players
  • Fixed that it is possible to get the items of a spectator in lobby when leaving in BungeeCord mode
  • Fixed that a player was getting automatically kicked if the spectator point was outside of the arena, the player shouldn't be able to move instead
  • Fixed that a player vote isn't getting removed in when he is leaving an arena
  • Fixed some read/write problems with SQL
  • Fixed that the update checker didn't work
  • Fixed that /bw arena getpositionaxe never worked
API changes:
  • Added 'boolean isDisabledForRound()' to DropType
  • Added 'void setDisabledForRound(boolean state)' to DropType
----------, Apr 22, 2018

World regeneration is broken in this version.
Use region regeneration instead.

Yep, a beta, which is also available in the discord. But this version is a lot more stable than the version before. I suggest you to create a backup of your worlds, yet there aren't any reports with worlds disappearing. There's is still some stuff missing for the 3.3 release and do not expect, that every new feature will work flawlessly. Send me bug reports if you find any, like always.

Added features:
  • Arena picker system
  • Added warning when loading an arena and it has problems
  • Added warning when loading an arena that has problems
  • Added warning if BungeeCord and AutoJoin are enabled at the same time
Minor change:
  • Stats files are now getting reseted if they fail to load locally. Also the stacktrace has been replaced with a message
Added configs:
  • tnt-canbreakblocks
  • diein-border-bottom
  • spawnerhologram-height
  • spawnerhologram-speed
Fixed bugs:
  • Fixed visibility bug of spectators
  • Fixed that it is possible to create an arena with the type world in your main world
  • Fixed main world detection bug
  • Fixed that the region collision detection didn't checked worlds
  • Fixed that holographics are disappearing
  • Fixed a compatibly bug with CloudSlots
  • Fixed some more
----------, Apr 15, 2018

Yep, a beta, which is also available in the discord. But this version is a lot more stable than the version before. I suggest you to create a backup of your worlds, yet there aren't any reports with worlds disappearing. There's is still some stuff missing for the 3.3 release and do not expect, that every new feature will work flawlessly. Send me bug reports if you find any, like always.

Added features:
  • Added death delay
  • Added caching for NPC skins
    • Added items to spectator inventory:
    • Item to change the arena
    • Item to change the fly speed
Config changes:
  • Added file:
    • spectator-inventory.cm2
  • Added:
  • death-spectate-enabled
  • death-spectate-time
  • spectator-changespeed-types
  • spectator-nightvision
  • Added config to shop:
    • buy-group
  • Changes:
    • It is now possible to write '^#' in 'lobby-printmapinfo-lines' to add space
Improvements:
  • The plugin is only trying to load each world once now on start
  • Improved the world regeneration system. It is now faster and more stable
Added placeholder:
  • To messages 'JoinMessage' and 'LeaveMessage':
    • {players}
    • {maxplayers}
    • {arena}
Fixed bugs:
  • Fixed that the skins of the NPCs didn't appear
  • Fixed that the 2nd skin layer of the NPCs didn't appear
  • Fixed that the rotation of ranking statues didn't got saved
  • Fixed that ranking statues are getting removed on stop
  • Fixed that the configs 'addenchantment', 'name' and 'lore' didn't have any effect in upgrade shop config
  • Fixed that spectators couldn't change their held slot
  • Fixed that the paceholders {status} and {statusname} were wrong or didn't work for the configs 'motd-line1' and 'motd-line2'
  • Fixed that it was possible to craft in game via the player inventory
  • Fixed that breaking cobweb would drop string instead of cobweb
  • Fixed that TNT (or the TNT Sheep) could not break blocks which were added to 'placeblock-whitelist'
  • Fixed that TNT (or the TNT Sheep) could break parts of the map even if 'destroyblock-builtbyplayers' was enabled
  • Fixed lots of errors if the server was using a nick plugin and a player wasn't nicked
  • Fixed in '/bw itemspawner add' that the messages 'Itemspawner not suported' and 'Unkown itemspawner' were swapped
  • Fixed error when there wasn't a point to teleport the spectator at
  • Fixed that ranking statues were getting spawned twice on start
  • Fixed that the player play time was only getting saved when the player was leaving during game
API change:
  • Added 'boolean enterSpectatorMode(Player player, Arena arena, SpectateReason reason)'
----------, Feb 21, 2018

IMPORTANT BEFORE UPDATING:
  1. Remove the 'shop.cm2' file (You will lose your shop settings with this update)
  2. We recommend you to remove also these files: 'itemspawners.cm2', 'upgrade-shop.cm2'
  3. Some Addons may or may not break with this update

Added features:
  • It's now possible to have multiple prices&products for an item in the shop
  • Added ID system for the spawners
Improvements:
  • Improved general performance and performance when using /bw reload
  • Recoded and improved the look of the shop config
  • Improved the buy system
Added support:
Fixed bugs:
  • Fixed that players got kicked and the services got reloaded when doing /bw reload while the plugin is already loading
  • Fixed that the scoreboard stayed when leaving the arena
  • Fixed some errors
  • Fixed that you couldn't access stats and achievements after some rounds whereby the holograms and scoreboard also didn't worked
  • Fixed lots of more bugs
API change:
  • Updated ShopBuyEvent
----------, Dec 19, 2017

Fixed bugs:
  • Fixed that it is possible to grab items of an unclickable GUI by clicking twice on the item in the player inventory
  • Fixed error with ProtocolLib https://pastebin.com/DV07NePf
  • Fixed that a part of the bed is staying if you are breaking the top
  • Fixed that it's possible to interact with a bed
  • Fixed that the upgrade shop config isn't loading
----------, Dec 8, 2017

Added config:
  • teambalance
Fixed bugs:
  • Fixed that the ingame scoreboard doesn't get updated at some events
  • Fixed more compatibly issues with ProtocolLib
  • Fixed that a bed is dropping if breaking the head of it
  • Fixed that the config 'stats-count-deaths-beforebedbroken' is glitchy
  • Fixed that the player doesn't level in PvPLevels
  • Fixed error/crash when loading not existing stats on local
----------, Nov 24, 2017

Added feature:
  • It's now possible to manage (Create & Restore) backups
Added config:
  • scoreboard-ingame-teamsleft-dead
Added command:
  • /bw backup
Added permission:
  • mbedwars.cmd.backup
Added placeholder in ingame&lobby scoreboard:
  • {server;onlineplayers}
Added placeholders in ingame scoreboard:
  • {team}
  • {teamcolor}
  • {bedstate}
  • {gstats:kills}
  • {gstats:deaths}
  • {gstats:bedsdestroyed}
  • {gstats:kd}
Fixed bugs:
  • Fixed error if a new player is loading stats and SQL is disabled https://hastebin.com/ivogofinay.md
  • Fixed lag if internet is slow
  • Fixed compatibly issue with ProtocolLib
  • Fixed crash if loading stats while SQL is disabled
  • Fixed that lines in ingame-scoreboard got cut of
----------, Nov 20, 2017

IMPORTANT 1: This version has problems with ProtocolLib: You'll get kicked on join if ProtocolLib is installed. Remove ProtocolLib while you are using this version or just use 3.2.2. This bug will be of course fixed in the next update.

IMPORTANT 2:
Delete the following tables if you are using SQL before updating: 'MBedwars_stats' and 'MBedwars_achievements'. We changed them to be more efficient and more up to date. (All your stats and achievements will be gone! (Only for users, who use SQL)).

Improvements:

  • Added service-system for faster stats&achievements loading
  • Changed caching system for stats&achievements
  • Added ability to use multiple ranking statues with same rank
Added command:
  • /bw arenasgui
Added permissions:
Added configs:
  • rescueplatform-nodamage
  • gui-arenasgui-joinable-item
  • gui-arenasgui-not-joinable-item
  • scoreboard-ingame-teamsleft
Others:
  • Added placeholders for config 'beddestroy-message'
    • {team}
    • {teamcolor}
    • {player}
  • Added config in the shop config: 'price-amount-perm'
  • Removed config 'sql-save-playername'
  • Removed dependency for 'ProtocolLib'
  • Added placeholder in ingame scoreboard '{teamsleft}' (Picture)
  • Added check if an arena is intersecting with an other arena
Fixed bugs:
  • Fixed that signs not updated after and when an arena regenerated
  • Fixed bugs with always-day
  • Fixed error when using TNT https://pastebin.com/SbZtyVeC
  • Fixed error when using GuardDog in 1.11 or an older version https://pastebin.com/1HRzrzMy
  • Fixed that ranking statues won't get loaded
  • Fixed that players can break ranking statues while they are ingame
  • Fixed that in arena setup gui the item 'Set World' is only getting displayed if the regeneration type is world
  • Fixed missing item in arena setup gui to set spectator spawn
  • Fixed that deaths dindn't count in stats if nobody hit the player before he died
  • Fixed that achievements in GUI had wrong names
  • Fixed SQL Error if trying to reconnect
  • Fixed lots of more errors&bugs
API changes:
  • Added 'List<RankingStatueAPI> getStatues(int place)'
  • Added 'List<RankingStatueAPI> getStatues()'
  • Added 'boolean remove()' to 'RankingStatueAPI'
  • Added 'boolean exists()' to 'RankingStatueAPI'
  • Added 'Future<StatsAPI> getPlayerStats(UUID uuid)'
  • Added 'Future<AchievementsAPI> getPlayerAchievementsNow(Player player)'
  • Added 'Future<AchievementsAPI> getPlayerAchievementsNow(UUID uuid)'
  • Removed 'RankingStatueAPI getRanking(int place)'
  • Changed 'StatsAPI getPlayerStats(UUID uuid)' to 'StatsAPI getPlayerStatsNow(UUID uuid)'
  • Changed 'StatsAPI getPlayerStats(OfflinePlayer player)' to 'StatsAPI getPlayerStatsNow(OfflinePlayer player)'
  • Changed 'AchievementsAPI getPlayerAchievements(Player player)' to 'AchievementsAPI getPlayerAchievementsNow(Player player)'
----------, Nov 17, 2017

Added configs:
  • beddestroy-message-enabled
  • beddestroy-message
  • death-skipscreen
Fixed bugs:
  • Fixed error if an economy plugin isn't installed https://pastebin.com/zqqYt4D6
  • Fixed tab-removenonplayers is very buggy
  • Fixed that not every player is getting teleported to endlobby
  • Fixed that disabling player-color has no effect
  • Fixed that player colors stayed if he left (If player-color is enabled)
  • Fixed error https://pastebin.com/M1asPLqa
  • Fixed that placeholders won't get registred
  • Fixed that entities are disappearing when dying
  • Fixed 'Excessive velocity set detected' error in PaperSpigot
  • Fixed that players/spectators can enter portals
  • Fixed error with Upgrade Shop https://hastebin.com/vigajogiju.bash
  • Fixed that players don't got kicked in lobbies when doing /bw rl
----------, Oct 29, 2017

Added feature:
  • It's now possible to use \n in lores
Added configs:
  • gui-selectteam-teammaterial-lore
  • gui-selectteam-teammaterial-lore-eachplayer
Fixed bugs:
  • Fixed error if vault is installed but not an economy plugin
  • Fixed error with world regenerator
  • Fixed error with holographics
  • Fixed that the scoreboard doesn't update when a player is leaving
  • Fixed that the scoreboard of the scoreboard aren't the same as the scoreboard by the players
  • Fixed that the config is reading a wrong version (Bug with cm2)
  • Fixed that the config 'actionbar-enabled' didn't worked
  • Fixed that the configs didn't load when a backup was created
  • Fixed that shop.cm2 restored itself everytime on start
  • Fixed that config didn't read every line in trees (Bug with cm2)
----------, Oct 22, 2017

Added/Changed features:
  • Added Upgrade Dealer
  • You are now able to use \n in messages to create new lines
  • Updated to ConfigManager 2
  • New library-detection-system
  • Added automatic backups when updating
  • Renamed config endings from .yml to .cm2
Added library:
  • Added support for 'MVdWPlaceholderAPI'
Config changes:
  • Renamed 'prize-command' to 'prize-commands'
  • You are now able to have multiple prize commands
  • In ingame and lobby scoreboard: You are now able to write lines under team lines
  • Added in shop config: one-time-purchase
  • Added:
    • entitytype-upgradedealer
    • upgradedealer-title
    • upgrade-spawnsize
    • hunger
    • interacting
    • gui-selectteam-teammaterial
    • gui-selectteam-backgroundmaterial
    • gui-selectteam-centered
    • gui-achievements-material-unearned
    • gui-achievements-material-earned
    • gui-achievements-backgroundmaterial
    • gui-achievements-centered
    • gui-spectatortp-backgroundmaterial
    • gui-spectatortp-centered
    • gui-hubvillager-centered
    • earnachievement-message
    • endstats-enabled
    • explosion-blocks-whitelist
  • Added file:
    • upgrade-shop-config
Added command:
  • /bw arena setspectatorspawn <arena name>
Added achievements:
  • GG
  • Can't Touch This
  • You didn't!
Placeholder changes:
  • Changed placeholders for PlaceholderAPI to 'mbedwars-*'
  • Added:
    • mbedwars-stats-rank
    • mbedwars-stats-wins
    • mbedwars-stats-loses
    • mbedwars-stats-kills
    • mbedwars-stats-deaths
    • mbedwars-stats-bedsdestroyed
    • mbedwars-stats-roundsplayed
    • mbedwars-stats-playtime
Fixed bugs:
  • Fixed that it was possible to enter spectator gamemode if anticheat was enabled
  • Fixed that the scoreboard displayed a team alive even if nobody was inside
  • Fixed that the bed still existed even if nobody was inside the team
  • Fixed that autotab didn't worked for other commands than /bw in 1.9 or an older version
  • Fixed that it wasn't possible to create double chests
  • Fixed that TNTSheep could destroy beds (More specific the blocks unter the bed)
  • Prize command got only executed if Vault was installed
  • Language files aren't formated as UTF-8
  • Error when creating language files the first time
API change:
  • Added 'getShopOpenType()' in ShopOpenEvent
----------, Oct 16, 2017

Added language:
  • Vietnamese
Performance improvement:
  • World regeneration is now 10x faster: 0.2ms regeneration time! (World record)
Placeholder changes:
  • Added stats placeholders for ingame scoreboard
Updated support:
  • CloudNet
Added configs:
  • tnt-autoignite
  • entityspawning-enabled
  • forcestart-ignoreminplayers
  • bed-drops-type
Fixed bugs:
  • Fixed that the world regeneration didn't worked
  • Fixed that the state block wasn't behind the sign
  • Fixed missing czech language
  • Fixed that players could join a full team in mapvoting
----------, Oct 1, 2017

Added command:
  • /bw arena setupitem
Added configs:
  • lobby-team-onchange-wearcloth-enabled
  • lobby-team-onchange-wearcloth-item
  • placeholderapi-registercustom
Added placeholders for PlaceholderAPI:
  • {arena}-players
  • {arena}-maxplayers
  • {arena}-status
  • {arena}-teams
  • {arena}-teamsize
Fixed:
  • Fixed autocompletion not working for 1.9 or less
  • Fixed that languages generation didn't worked for some + Restart isn't required anymore
API change:
  • Added 'long getRunningTime()' to arena
----------, Sep 19, 2017

Added feature:
  • State-of-arena block under signs
Added configs:
  • signblock-enabled
  • signblock-material
  • signblock-color-stopped
  • signblock-color-lobby
  • signblock-color-running
  • signblock-color-reseting
----------, Sep 11, 2017

Fixed bugs:
  • Fixed some error message​
  • Fixed that the plugin was completly not working when updating to 3.1.14 to 3.1.15​
  • Fixed some more tiny bugs​
How to fix it:
  1. Make sure that you arenas are regenerated​
  2. Stop your server​
  3. Delete the '/plugins/MBedwars/data/arenablocks' folder​
  4. Delete the '/plugins/MBedwars/data/playerinvs' folder​
  5. Start your server​
  6. Write '/bw arena saveblocks *'​


----------, Sep 10, 2017

Added feature:
  • Added README.txt
Improvement:
  • Improved performance
Fixed bugs:
  • Fixed shop giving and taking wrong amount of items
  • Fixed language file is getting reseted
  • Fixed error if SQL server is overloaded/underloaded
  • Fixed error if saved playerdata has a maxhealth less than 20
API changes:
  • Added 'boolean isSQLConnected()'
  • Added '@Nullable SQLConnection getSQLConnection()'
  • Added '@Nullable SQLConnection getSQLConnection()'
  • Added '@Nullable DropType getDropType(String name)'
  • Added '@Nullable DropType getDropType(ItemStack is)'
  • Added 'List<DropType> getDropTypes()'
  • Added 'boolean removeSQLConnectionListener(SQLUpdateListener listener)'
  • Added '@Nullable Arena getArena(Location loc)'
  • Added 'ShopDesignData getShopDesign()'
  • Added 'void addConfigsLoadStartListener(Runnable runn)'
  • Added 'void addConfigsLoadEndListener(Runnable runn)'
  • Added 'boolean removeConfigsLoadStartListener(Runnable runn)'
  • Added 'boolean removeConfigsLoadEndListener(Runnable runn)'
  • Added '@Nullable Arena createArena(String name, World world, RegenerationType type, @Nullable String author)'
  • Changed 'boolean registerLobbyItem(LobbyItem it)' to 'boolean registerLobbyItem(CustomLobbyItem it)'
  • '@Nullable LobbyItem getLobbyItem(String name)' isn't deprecated anymore
  • '@Nullable LobbyItem getLobbyItem(int slot)' isn't deprecated anymore
  • Fixed that 'Arena.GetTeamColors()' caused a crash
  • Added class 'VersionAPI'
  • Added class 'Util'
----------, Sep 9, 2017

Added support:
  • AutoNicker
  • PvPLevels
Added placeholder to scoreboards:
  • {ip}
Added configs:
  • dateformat
  • ip-display
  • guarddog-type
  • pvplevels-enabled
  • pvplevels-exp-win
  • pvplevels-exp-lose
  • pvplevels-exp-beddestroy
  • pvplevels-exp-killplayer
Fixed bug:
  • Fixed custom spawners not working (EXP)
API changes:
  • Changed 'Stats getPlayerStats' to 'StatsAPI getPlayerStats'
  • Changed 'Stats getPlayerStats(UUID uuid)' to 'StatsAPI getPlayerStats(UUID uuid)'
  • Changed 'Achievements getPlayerAchievements' to 'AchievementsAPI getPlayerAchievements'
  • Changed 'Achievements getPlayerAchievements(UUID uuid)' to 'AchievementsAPI getPlayerAchievements(UUID uuid)'
  • Changed 'RankingStatue getRanking(int place)' to 'RankingStatueAPI getRanking(int place)'
  • Changed 'AddonManager getAddonManager()' to 'AddonManagerAPI getAddonManager()'
  • Changed 'de.marcely.bedwars.MBedwars.PluginState getPluginState()' getAddonManager()' to 'de.marcely.bedwars.api.PluginState getPluginState()'
  • Changed 'kickPlayerFromArena(de.marcely.bedwars.arena.KickReason reason, Player player, Arena arena)' to 'kickPlayerFromArena(de.marcely.bedwars.api.KickReason reason, Player player, Arena arena)'
  • 'addPlayerToArena(Player player, Arena arena)' is now deprecated
  • 'addPlayerToArena(Player player, Arena arena, Team team)' is now deprecated
  • 'kickPlayerFromArena(Player player, Arena arena)' is now deprecated
  • 'kickPlayerFromArena(KickReason reason, Player player, Arena arena)' is now deprecated
  • 'enterSpectatorMode(Player player, Arena arena)' is now deprecated
  • 'kickFromSpectatorMode(Player player)' is now deprecated
  • 'getCommandHandler()' is now deprecated
  • Changed 'de.marcely.bedwars.arena.Arena getArena(String name)' to 'de.marcely.bedwars.api.Arena getArena(String name)'
  • Changed 'de.marcely.bedwars.arena.Arena getArena(Player player)' to 'de.marcely.bedwars.api.Arena getArena(Player player)'
  • Changed 'List<de.marcely.bedwars.arena.Arena> getArenas(Location loc)' to 'List<de.marcely.bedwars.api.Arena> getArenas(Location loc)'
  • Changed 'List<de.marcely.bedwars.arena.Arena> getArenas(Location loc)' to 'List<de.marcely.bedwars.api.Arena> getArenas(Location loc)'
  • Moved objects in events to api
----------, Aug 31, 2017

Recode:
  • Recoded the base of the regeneration system for a better stability
Added configs to the shop config:
  • keep-on-death
  • one-time-purchase (Currently not working)
Added placeholder for the config 'lobby-printmapinfo-lines':
  • {players}
  • {maxplayers}
  • {teams}
  • {teamsize}
Fixed bugs:
  • Fixed that BungeeCord didn't worked
  • Fixed that items from the preround were still in the arena
  • Fixed that a message displayed 'null' if it was empty
  • Fixed that the {firstletter} placeholder in the scoreboard didn't worked
  • Fixed that the world regeneration didn't worked
  • Fixed error when moving from 1.9 or higher to a 1.8 or lower version
  • Fixed that players weren't able to break blocks which were placed by the bridge item and if 'destroyblack-builtbyplayers' was enabled
  • Fixed that the team colors in the player names disappeared randomly
  • Fixed getting wrong amount of items when buying with shift in the shop
  • Fixed that the arena icon didn't got saved
  • Fixed that players got invisible if the config 'tab-removenonplayers' was enabled
  • Fixed that /bw arena remove didn't remove the arena completly

API Changes:
  • Fixed that the event 'RoundEndEvent' didn't got fired
  • Added 'boolean isDraw()' to 'RoundEndEvent'
----------, Aug 27, 2017

Peformance improvement:
  • 100% world regeneration speed improvements. It took me 0.5 seconds to regenerate a whole arena!
Added placeholder for lobby scoreboard:
  • {stats:rank}
  • {stats:wins}
  • {stats:loses}
  • {stats:kills}
  • {stats:deaths}
  • {stats:bedsdestroyed}
  • {stats:roundsplayed}
  • {stats;playtime}
  • {stats:kd}
  • {stats:wl}
Added placeholder for every scoreboard:
  • {date}
Fixed bugs:
  • Fixed that holograms were disappearing for world arenas
  • Fixed error when voting for an arena
  • Fixed that you were forced to look at the floor when using the bridge item
  • Fixed error with GuardDog
----------, Aug 9, 2017

We also now have trello!
You are able to see there our current update state! :)

Added features:

  • Added preview for mapvote setup
  • Added new shop design: Minesucht
Improved:
  • Reduced the chance of arena lost in BungeeCord
Added configs:
  • tab-removenonplayers
  • destroyblock-builtbyplayers
Fixed bugs:
  • Fixed ability to vote for an arena infinity times
  • Fixed that it was possible to drop the teleporter item
  • Fixed that the teleporter wasn't disappearing
  • Fixed that it was possible to move the teleporter item in inventory
  • Fixed that the itemspawner hologram only updated for one player
  • Fixed that /bw rl didn't worked
  • Fixed missing leave message
  • Fixed that NPC showed in tab
  • Fixed that NPC changed the name if it had the same uuid as a player
----------, Aug 7, 2017

Added features:
  • You are now able to use player skulls (skull_item:<player name>)
  • Ranking update is now offthread (Performance boost, less crashes on huge servers)
  • It'll try to reconnect if it loss the connection to sql
Fixed bugs:
  • Fixed that 'prize-command' got executed even if 'prize-enabled' was on false
  • Fixed error with GuardDog and TNTSheep when clicking to air with item in hand
API change:
  • Added getShopDesign(String name) to BedwarsAPI
----------, Aug 2, 2017

Fixed bugs:
  • Fixed error with teamselectvillager in 1.9 and higher
  • Maybe fixed some more
----------, Jul 25, 2017

Added features:
  • Added hologram above beds
  • Added support for 'MariaDB, SQLite and MSSQL'
  • You are now not able to summon something until every arena has been loaded (safety guard)
Config changes:
  • Renamed 'mysql-*' configs to 'sql-*'
  • Added configs:
    • sql-type
    • stats-count-deaths-beforebedbroken
    • beds-hologram-enabled
    • drop-only-itemspawner
  • Increased default 'regeneration-speed' 3 times. There shouldn't be any lags (No less TPS)
Added placeholder:
  • Added placeholder to ingame-scoreboard-config.yml: {firstletter}
Fixed bugs:
  • Fixed that SQL didn't worked
  • Fixed that the 'waiting' actionbar got displayed even if there are enough players
  • Fixed that the 'waiting' actionbar got displayed for ever
  • Fixed sometimes the bed didn't spawned
  • Fixed bed color not updating in 1.12
  • Fixed bed drop
  • Fixed server crashing
  • Fixed breaking an enderchest won't drop an enderchest
  • Fixed spawning a holographic entity took a second
  • Fixed that the head of the NPCs didn't looked at the correct position
  • Fixed that the itemspawner hologram didn't rotate in 1.9 and higher
  • Fixed that spawned entities disappeared
----------, Jul 20, 2017

Added features:
  • Added actionbar animations
  • Added new animation for the itemspawner-hologram when spawning item
Added configs:
  • actionbar-enabled
  • lobby-countdowntitle-0
Improvements:
  • Improved the netty injection system a lot (Very high performance boost, better stability (no crashes anymore))
  • Recoded SQL system (Performance improvements with SQL will come in the next few updates)
Fixed bugs:
  • Fixed server crash after lots of players
  • Fixed that NPC didn't worked for 1.9, 1.10, 1.11 and 1.12
  • Fixed errors if arena world wasn't defined
  • Fixed body/head rotations of entities in 1.9 and higher didn't worked
  • Fixed crashes due to the new improvement
  • Fixed missing sign antispam
  • Fixed that you were able to change your team ingame
  • Fixed that the region regenerator didn't run offthread (Again performance boost)
----------, Jul 18, 2017

Added support:
  • CloudNet
Added command:
  • /bw arena clone
Change:
  • Moved to old teleportation system
Fixed bugs:
  • Fixed that GUIs of the teamselection and mapvoting got updated for an other arena
  • Fixed changing lobby world if lobby was in the same world as the arena
  • Fixed arena worlds not working if they got reloaded
  • Fixed that the arena cloudsystem-arena wasn't found
  • Fixed that player colors stayed if they left (Not fully tested yet)
----------, Jul 14, 2017

Added features:
  • Added custom damager detection system
  • Added support for tabcomplete for MC1.10 or higher
  • Added support for PlaceholderAPI
  • Added support for force teleportation (when join or leaving an arena). Bad written plugins caused the player to leave when entering an arena
Improvements:
  • Improved the team-balance system
  • Improved the look of the beautiful-center-system in GUI
Added configs:
  • placeholderapi-enabled
  • server-joinquitmessage-enabled
Fixed bugs:
  • Fixed errors in console if plugin has been stopped because of unsupported version
  • Fixed disappear of signs
  • Fixed error when regenerating a region arena in paperspigot in 1.8 or less
  • Fixed missing Spectator-HowToQuit message
  • Fixed issues with shop when mutliple players are using it in different arenas
API Changes:
  • Added functions to BedwarsAPI:
  • Player getLastDamager(Player)
  • boolean registerMBedwarsCommand(String)
  • boolean unregisterMBedwarsCommand(String)
  • List<String> getMBedwarsCommands()
  • @Deprecated APIConfiguration getOpenAPIConfiguration()
----------, Jul 11, 2017

Fixed bugs:
  • Fixed that there was no lobby time
  • Fixed that the exp-bar in the lobby was kinda glitchy
----------, Jul 2, 2017

Added features:
  • A villager will spawn now for a specific time when using the minishop!
  • Not existing worlds (of arenas) will now get loaded automaticly
Added configs:
  • minishop-speed
  • ranking-soration
Changes:
  • Decreased default config 'tntsheep-speed'
Fixed bugs:
  • Fixed that the guarddog would teleport to the team bed and not to the team spawn
  • Fixed that the guarddog would kill you if you would punch him
  • Fixed that the guarddog could despawn
  • Fixed that the arena world reseted himself if the world didn't existed
  • Fixed that 'always-day' didn't worked for spectators
  • Fixed that the world of an arena with the type 'world' got undetected after a restart
  • Fixed disappear of holographic entities
  • Fixed that the glow effect (for example in the shop) stayed in 1.11 and higher
----------, Jul 2, 2017

Added config:
  • inventory-clear
Changes:
  • The generation from old arena data to new one now only begins if the arenadata folder is empty
  • Replaced world generator with a void generator when regenerating a world arena
  • Stats now display 'Unranked' in rank instead of '-1'
  • The rank will now get calculated on start if 'restart-oncearenaend' is enabled
Fixed bugs:
  • Fixed that signs and entites of the plugins got sometimes removed because of the world generator
  • Fixed error on start
  • Fixed picking wrong arena if there are multiple arenas with the same name but with some chars in upper/lower case
  • Fixed that you weren't able to change the config 'notbuildableradius-enabled'
----------, Jun 28, 2017

Change:
  • The inventory of the player is getting cleared if backup-inventory is false
Fixed bugs:
  • Fixed that ranking statues got sometimes removed
  • Fixed that you couldn't change the config 'notbuildableradius-enabled'
  • Fixed that all players didn't got kicked when disabled an arena
----------, Jun 25, 2017

Warning: ALL Holograms (Stats, Dealers, Teamselectvillager etc.) will get removed after installing this update for the first time!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Fixed bugs:
  • Fixed some bugs with teamsortation
  • Fixed that the safe-teleportation-system never teleported you to the center
  • Fixed that the last damager from preround was still saved if starting new round
  • Fixed that some holograms (Stats, Dealers etc.) got sometimes removed
----------, Jun 24, 2017

[​IMG]
Added features:
  • You are now able to control arenas with a GUI! (Beta)
  • Added bouncing effect if touching the border as a spectator
Added commands:
  • /bw arena gui [arena name]
  • /bw arena setworld <arena name>
Improvements:
  • Improved GUI look of hubvillager
  • Changing the position of an arena makes autosave the blocks
Fixed bugs:
  • Fixed getting kicked when using autojoin
  • Fixed using wrong custom lobby item if there are 2
  • Fixed changing arena name didn't worked
  • Fixed hours in stats not always being correctly displayed
  • Fixed that spectators could interact (like opening chests)
  • Fixed that any arena type could use
    • /bw arena setposition
    • /bw arena itemspawner *
    • /bw arena team setspawn
    • /bw arena regenerate
  • Fixed that /bw arena setposition didn't print that the arena wasn't found
  • Fixed that the language config sort some configs in the shop section
  • Fixed completly wrong regeneration time in /bw arena info
  • Fixed that the stats hologram didn't disappear when removing it
----------, Jun 22, 2017

Added Add-On:
Added features:
  • Added message when trying to do something with an arena but arena is loading
  • Guard dogs now don't get fall damage anymore
Performance improvements:
  • Improved performance when saving an arena A LOT
  • Improved performance at other parts
Added configs:
  • bed-block-dye
  • notbuildableradius-enabled
  • notbuildableradius-teamspawn
  • notbuildableradius-itemspawner
Config change:
  • Increased default 'regeneration-speed' by 5x times
Improved:
  • Improved arena data system compltetly
Fixed bugs:
  • Fixed arena world & lobby world is getting removed completly if world didn't existed
  • Fixed skins for NPCs not working
  • Fixed that arena icon didn't always displayed its correct name
  • Fixed that you got kicked from arena if voting and bungeecord are enabled
  • Fixed that you still had your items from round in endlobby
  • Fixed that dragging in Villager GUI didn't worked
  • Fixed that ingame scoreboard is getting changed to lobby scoreboard after player left the game
  • Fixed that you could control GUIs in player inventory
  • Fixed that holograms disappear for a player after the player died
----------, Jun 11, 2017

Added features:
  • Villager GUI in shop now displayes the dealer title

Added configs:
  • voting-maxarenas
  • forcestart-time
  • lobby-countdownstart-calculation

Fixed bugs:
  • Fixed that you could open the shop in lobby
  • Fixed PlayerQuitArenaEvent beeing called when switching arena in mapvoting
  • Fixed issues with scoreboard in mapvoting lobby
  • Fixed that the client was crashing when opening a villager gui in the newer versions (1.9 or higher)
  • Fixed worldgenerator not being synchronized when regeneration started when plugin started

API changes:
  • It's now possible to create custom shop designs!
  • Added methods to BedwarsAPI:
    • ShopDesignData createCustomShopDesignInstance(ShopDesign design, String name);
    • List<ShopDesignData> getShopDesigns()
----------, Jun 9, 2017

Added features:
  • The time how long it took to reload will now be displayed when reloading
  • Added warning if 'spawn-npc' is disabled in server.properties
  • Changed no arenas in /bw runninggames to barrier if possible
Added configs:
  • kick-outofarena
  • arenavoting-maxarenas
Change:
  • Changed 'Players' in MapVoting Create/Setup GUI to 'Max. Players'
Fixed bugs:
  • Fixed BeautifulExpBar unexpected error if player was quitting in lobby
  • Fixed error with TeamSortation (Added guard)
  • Fixed error if there's no stable internet connection
  • Fixed error if guard wolf gets teleported in an other world
  • Fixed that the placeholder {name} in the price-command config didn't work
  • Fixed that Mapvote arenas only got updated when the arena was full enough for countdown
  • Fixed that the arena name in lobby got displayed when it shouldn't
  • Fixed 'Please report this error: 1/...' error in MapVoting
  • Fixed that the arenas in MapVoting didn't got updated when status changed
  • Fixed that the inventory didn't got updated when countdown got reseted because no arenas to vote for
  • Fixed that ArenaData didn't got saved when creating/setup arena
  • Fixed that arenas in Mapvote could get added multiple times
  • Fixed lobby-printmapinfo-lines got displayed when they shoudln't
  • Fixed enabled teams lost if voting is enabled
  • Fixed that the scoreboard in mapvote didn't update
  • Fixed wrong arena in mapvote in lobby-countdowntitle-arena
API changes:
  • Changed in GUI centerY to centerAtY and centerYAll to centerAtYAll
  • Added to GUI: setBackground, fill
----------, Jun 6, 2017

Resource Information
Author:
----------
Total Downloads: 1,729
First Release: Oct 23, 2015
Last Update: Nov 19, 2024
Category: ---------------
All-Time Rating:
234 ratings
Find more info at mbedwars.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings