MobArena icon

MobArena -----

Become a mob-fighting gladiator!




v0.109

Added:

  • MobArena now properly supports Vault economy providers registered after MobArena has started. This should make it possible to use custom economy providers that aren't built into Vault, such as those created with Denizen.
  • New wave rewards section tiers allows for non-stacking reward tiers for beating certain waves. This allows for configuring reward sets that get "upgraded" as the waves progress, e.g. by granting a full leather armor set for beating wave 15, but beating wave 20 replaces that leather armor set with an iron armor set.
  • New per-arena setting spawnpoint-max-distance can be used to tweak how close to any player a given spawnpoint must be to be considered valid when spawning monsters. This should help reduce the amount of spawnpoints required, especially for larger arenas.
  • New per-arena setting spawnpoint-min-distance can be used to tweak how far away from all players a given spawnpoint must be to be considered valid when spawning monsters. This should help prevent monsters from spawning directly on top of players.
Changed:
  • Recurrent waves can now be randomized. If two or more recurrent waves clash on wave number, frequency, and priority, MobArena will now randomly pick between them. This should make it easier to create more varied and interesting wave setups without having to resort to only massively randomized default waves.
  • Single waves can now be randomized. If two or more single waves clash on wave number, MobArena will now randomly pick between them. This means it is now possible to make randomly selected bosses for boss waves, for instance.
  • Slimes, Magma Cubes, Bats, Ghasts, Phantoms, and Ender Dragons now all target players in the same way other monsters do.
Fixed:
  • MobArena no longer throws errors when handling block explosions on Minecraft 1.21.
  • MobArena no longer throws errors during the automatic removal of spectators when using auto-leave-on-end: true.
  • The shuffle-positions ability now correctly shuffles the position of the boss as well if monster-teleport is set to false.
  • The obsidian-bomb ability no longer breaks boss waves.
  • Text on Arena Signs is no longer explicitly truncated. This fixes an issue where color codes would count towards the character limit, causing the text that would otherwise fit on the sign to be cut off.
  • Arena Signs can once again be destroyed, but it is necessary to break them while sneaking.
----------, Oct 13, 2024

v0.108

Added:
  • Support for chest references in item syntax. The new inv syntax allows for referencing container indices in the config-file. This should help bridge the gap between class chests and various other parts of the config-file, such as rewards and upgrade waves.
  • Support for saved items. The new /ma save-item command can be used to save the currently held item to disk, which allows it to be used in various places in the config-file. This should help bridge the gap between the config-file and class chests for config-file centric setups.
  • New per-arena setting monster-teleporting allows monsters to teleport inside the arena region. This should allow for stuff like /tp commands and for Endermen to "do their thing".
  • New permission mobarena.admin.errors for better error visibility. Players with this permission will get a message if an arena encounters an error. Currently, the only such error is the one resulting from Spigot's "max max health" setting throwing an exception when monster health is set "too high".
Fixed:
  • Explosion damage caused by Exploding Sheep now correctly counts as monster damage. This means that the explosions only affect other mobs if the per-arena setting monster-infight is set to true.
  • Explosion damage caused by the boss ability obsidian-bomb now correctly counts as monster damage. This means that the explosions only affect other mobs if the per-arena setting monster-infight is set to true.
  • An old discrepancy with auto start timers in the auto-ready logic has been removed. This fixes an issue in MobArenaStats where the extension would throw errors in arenas with auto-ready: true and a non-zero auto start timer. Note that the combination of auto-ready: true and a default-class now requires the use of a start-delay-timer to prevent the arena from starting immediately when the first player joins.
  • Signs in arena regions, as well as Arena Signs anywhere, can no longer be edited by right-clicking.
  • Signs now correctly restore themselves again in arenas with soft-restore: true.
----------, Jan 1, 2024

v0.107

Stats and Placeholders and Tools, oh my!
It's safe to say that it's been a while since the last MobArena update, and while MobArena 0.107 does bring a flurry of bug fixes and a handful of exciting new features, it may seem a little underwhelming to some.

However, the main focus of this update is actually not so much about the plugin itself, but about the ancillary projects that have cropped up around it. It is my pleasure to introduce the first two official MobArena extensions:
  • MobArenaStats, a basic persistent stats collection plugin that runs alongside MobArena and uses its events to record various data points about each session and the players that participate in it. The plugin extends MobArena with a handful of commands to interact with the data, but its focus is mainly to just collect session stats in a database (SQLite, MySQL, or MariaDB) so that server owners can make their own leaderboards however they want.
  • MobArenaPlaceholders, a PlaceholderAPI expansion for MobArena. It adds placeholders for MobArena itself, but it also hooks into MobArenaStats, which makes it possible to make in-game leaderboards using third-party plugins dedicated to that kind of stuff. A big thanks to @Maroon28 for getting this project on its feet!
The projects live in the new MobArena organization on GitHub, and they are free, open source software, just like MobArena is. GitHub Releases and GitHub Actions are currently the only distribution channels, but that may change in the future (dedicated Spigot resource for Stats, PAPI eCloud publishing for Placeholders).

Note that both projects require MobArena 0.107 or later to work!

There is also a little bonus project, Mule's Tools, a place for web-based utilities that can aid in working with MobArena config-files. The only available tool right now is the Wave Analyzer, which helps visualize the wave progression of an arena (which waves will spawn at which wave number).

Goodbye 1.8 and 1.12
MobArena has a long history of maintaining backwards compatibility for older server versions for as long as possible. The strategy was to target older versions of the Bukkit API, which has had major breaking changes en masse since 1.9. As the API continues to evolve, additional breaking changes are inevitable, and this makes it increasingly difficult to maintain backwards compatibility, while also adding support for modern aspects of the game.

I believe everyone should have the opportunity to enjoy MobArena if they want to. However, the effort required to maintain support for 1.8 and 1.12 has become a significantly limiting factor in the further development of the plugin. That's why I have decided to drop support for versions prior to 1.13, and as a result, there are no builds for 1.8 and 1.12 this time around.

If anyone would like to continue to maintain versions of MobArena for 1.8 and/or 1.12, please feel free to hit me up on Discord, and I'll help you get started. I will leave the respective branches in the repo for a while, so anyone else can fork the project and pick up where I left off.

---

Added:
  • New monster variant angry-bees can be used to spawn angry bees.
  • Husks, drowned, piglins, hoglins, and zoglins can now be spawned in their baby versions using the baby prefix seen on other monster types (e.g. baby-zombie).
  • Pet names are now per-class configurable via the optional pet-name property, which defaults to <display-name>'s pet (the <player-name> variable is also supported).
  • New per-arena setting auto-leave-on-end can be used to automatically "kick" spectators when the current session ends.
  • New per-arena setting clear-wave-leeway allows for tweaking the number of mobs allowed to be alive before the next wave spawns. The setting affects clear-wave-before-next, clear-wave-before-boss, and the final wave check, and it defaults to 0.
  • New per-arena setting auto-ignite-fuse makes the fuse time for auto-ignited TNT configurable. The unit is ticks and defaults to 80.
  • Added boss abilities disorient-all, fetch-all, pull-all, and throw-all. These abilities work like their target-specific and distance-based counterparts, but affect all players in the arena.
  • (API) MobArena's internal command handler now supports registering pre-instantiated subcommand instances. This should make it easier for extensions to avoid the Singleton anti-pattern for command dependencies.
  • (API) MobArena now fires MobArenaPreReloadEvent and MobArenaReloadEvent before and after, respectively, reloading its config-file. This should allow extensions and other plugins to better respond to configuration changes.
Changed:
  • MobArena now targets the Minecraft 1.19 version of the Spigot API (but still works on 1.13-1.18). This should make it easier to tackle feature requests and bug reports related to modern Minecraft.
  • Monsters are no longer stripped of the weapons they spawn with naturally, only their armor. This should improve forwards compatibility with new weapon-reliant monsters.
  • The regex pattern for the player list command is now less greedy, so it will only match on /ma players, /ma playerlist, and /ma player-list. The previous pattern matched on anything that starts with player, which rendered the /ma player-stats command in MobArenaStats impossible to invoke.
Fixed:
  • Pillagers and vindicators no longer spawn without their much-needed weapons.
  • Piglins, piglin brutes, and hoglins no longer zombify. This fixes a bug where the mobs would despawn due to the zombification process.
  • Zombies, husks, drowned, zombie villagers, piglins, hoglins, and zoglins without the baby prefix are now forced into adulthood to prevent them from occasionally spawning as babies.
  • Evokers are once again capable of spawning vexes on 1.18.1+.
  • Reward groups with nothing in them no longer cause errors when earned/granted.
  • The title-based announcer and the title-based boss health bar have been fixed to work with the breaking change to the Title API in Spigot 1.17.
  • Arena Signs now correctly update for arenas that don't have kebab-case names in the config-file.
  • Block explosion events cancelled by other plugins now remain cancelled unless MobArena specifically uncancels them for an arena.
  • Flaming arrows now ignite TNT blocks in the arena.
  • Players no longer take fall damage when they leave (or get removed from) an arena while falling.
  • Players no longer take damage from projectiles shot by pets of other players.
  • Normal shulker boxes are now properly removed from inventories of players using the My Items class.
  • Class pets are now correctly removed from the arena when their owner dies, rather than when they leave.
  • MobArena no longer nags players with the mobarena.admin.teleport permission when they engage in a teleport that would have otherwise been blocked.
  • MobArena now correctly sets the source property on auto-ignited TNT.
----------, Jul 30, 2022

Note: For 1.8 and 1.12 builds, visit github releases

v0.106

Happy 10-year anniversary!
This month marks the 10-year anniversary for MobArena!

It's pretty crazy to think about how much has happened since the first line of code was written in 2011. Some of the youngest members of the community had barely started school back then, and today they're running servers and having fun building and setting up arenas with their friends. Some have finished university degrees, started families, switched jobs or careers, popping in and out as time permits.

Thanks so much to everyone who has contributed to the project over the years, be it pull requests, feature requests, or friend requests. As tacky as it may sound, this project has played a huge part in how I have grown as a software developer and as a person, and without you folks to share it all with, I would have probably abandoned it years ago. Thanks, guys!

I wish I had a bigger update to share, but life threw me a curveball in the beginning of the year, so I haven't had as much time for MobArena as I hoped I would. Time constraints are a bit of a recurring villain in this saga, but nevertheless a very real one.

What this update does bring (custom formulas) is a small step towards the kind of flexibility I'm hoping to introduce more of with future updates. Without promising too much, I'm hoping to bring this kind of customization (and integration potential) to the Things subsystem soon, so we can have stuff like item names and lore on upgrades and rewards.

As always, please feel free to hop on Discord for a chat, and please keep bug reports and feature requests coming in :)

Added:
  • It is now possible to write custom formulas for wave growth in Default Wave, swarm amounts in Swarm Waves, and boss health in Boss Waves, allowing for much more control and fine-tuning. The formulas support various session-related variables as well as various mathematical operators and functions. Formulas can be predefined as macros in the new formulas.yml file. Check the wiki for details.
Changed:
  • bStats Metrics client updated to 2.2.1.
  • MobArena now uses Github Actions instead of Travis CI. This should make it easier to get development builds directly from Github for those interested.
Fixed:
  • Arena signs in unloaded or missing worlds no longer break the startup procedure. Sign data is stored in a new format that MobArena will automatically migrate to on a per-world basis during startup.
----------, May 10, 2021

Note: For 1.8 and 1.12 builds, visit github releases

v0.106

Happy 10-year anniversary!
This month marks the 10-year anniversary for MobArena!

It's pretty crazy to think about how much has happened since the first line of code was written in 2011. Some of the youngest members of the community had barely started school back then, and today they're running servers and having fun building and setting up arenas with their friends. Some have finished university degrees, started families, switched jobs or careers, popping in and out as time permits.

Thanks so much to everyone who has contributed to the project over the years, be it pull requests, feature requests, or friend requests. As tacky as it may sound, this project has played a huge part in how I have grown as a software developer and as a person, and without you folks to share it all with, I would have probably abandoned it years ago. Thanks, guys!

I wish I had a bigger update to share, but life threw me a curveball in the beginning of the year, so I haven't had as much time for MobArena as I hoped I would. Time constraints are a bit of a recurring villain in this saga, but nevertheless a very real one.

What this update does bring (custom formulas) is a small step towards the kind of flexibility I'm hoping to introduce more of with future updates. Without promising too much, I'm hoping to bring this kind of customization (and integration potential) to the Things subsystem soon, so we can have stuff like item names and lore on upgrades and rewards.

As always, please feel free to hop on Discord for a chat, and please keep bug reports and feature requests coming in :)

Added:
  • It is now possible to write custom formulas for wave growth in Default Wave, swarm amounts in Swarm Waves, and boss health in Boss Waves, allowing for much more control and fine-tuning. The formulas support various session-related variables as well as various mathematical operators and functions. Formulas can be predefined as macros in the new formulas.yml file. Check the wiki for details.
Changed:
  • bStats Metrics client updated to 2.2.1.
  • MobArena now uses Github Actions instead of Travis CI. This should make it easier to get development builds directly from Github for those interested.
Fixed:
  • Arena signs in unloaded or missing worlds no longer break the startup procedure. Sign data is stored in a new format that MobArena will automatically migrate to on a per-world basis during startup.
----------, May 9, 2021

Note: For 1.8 and 1.12 builds, visit github releases

v0.105

Minor breaking changes
MobArena 0.105 includes a rework of how arenas and classes are referenced, both internally in the plugin, but also in permissions, commands, etc. Instead of the ambiguous and arbitrary "config names", MobArena now uses "slugs", which just means a kebab-case version of a name. For example, the slug for an arena named "Castle of Doom" will be castle-of-doom, and the slug for the implicit "My Items" class is my-items. All commands that take arena or class names as arguments will tab complete slugs, so they should be fairly easy to figure out.

The goal of this change is to make the plugin more consistent about arena and class references in commands, permissions, etc., as well as to allow for multi-word names. Backwards compatibility has taken a backseat for the sake of maintainability and clarity, so certain adjustments may be necessary in some setups:
  • Permissions: All permissions for arenas and classes must be changed to the new slug-based permission keys. For example, the permission for the "My Items" class is now mobarena.classes.my-items.
  • Class signs: It may be necessary to recreate the signs for classes with multi-word names. The name on the sign should match the name in the config-file (or the slug). For example, My Items (or my-items) instead of Myitems.
  • Default classes: The per-arena setting default-class may need to be adjusted. The class name should match the name in the config-file (or the slug). For example, if the default class is "My Items", the value should be My Items (or my-items).
  • Custom integrations: Custom commands or integrations may need to be adjusted accordingly. If you're running a setup like that, you probably already know what you're doing and what you need to do. If not, hop on Discord.
Added:
  • A new ready state is now available for arena sign templates. Signs are in this state when all players in the lobby have readied up, but the arena has not yet started due to a start delay timer. Check the wiki for details.
  • Arena signs now support dynamic list entry variables for 4 different player lists. As an example, <notready-1> results in the name of a player in the lobby who hasn't readied up yet. This is useful for visualizing who is holding up the lobby. Check the wiki for details.
  • Elytra are now supported chest pieces in class chests.
  • Boss names now support color codes.
  • New per-arena setting arena-warp-offset can be used to spread out players randomly by an offset from the arena warp. This should help prevent players taking suffocation damage.
  • New per-arena setting announcer-type determines where to display per-arena announcements such as wave spawns, auto start timers, boss abilities, and death messages. Options are title (default) or chat.
  • It is now possible to group rewards. For example, all(stick, bone) results a stick and a bone, while random(all(stick, bone), all(dirt, stone)) results in getting either a stick and a bone or a dirt block and a stone block.
  • The new nothing keyword can be used to not grant a reward. This can be used in a crude way to create "loot table"-style reward systems where there is a chance that something is reward, but it might also just be nothing.
  • Boss rewards also support the all() and random() functions as well as the nothing keyword.
  • New command /ma addreward <player> <thing> can be used to add a reward to an arena player's reward list. This can be useful for hooking into the rewards system from scripts or other plugins.
  • The /ma addarena and /ma autogenerate commands now supports multi-word arena names.
Changed:
  • The Root Target ability now uses potion effects (slowness, slow falling, and negative jump boost) instead of repeated teleports. This should make for a smoother root experience.
  • Permissions for arenas and classes are now based on "slugs". It is now possible to configure permissions for arenas and classes with multi-word names (including "My Items"). Check the Permissions page on the wiki for details.
  • Commands that resolve arena and/or class names now consistently resolve and tab complete "slugs" instead of arbitrarily "squashed" names. This greatly improves support for multi-word names.
  • The class signs generated by the /ma autogenerate command now use class names from the config-file instead of arbitrarily "squashed" names.
  • Leaderboards now use arena and class names from the config-file instead of arbitrarily "prettified" names.
  • Using spectate-on-death: true no longer forces players out to their join location/exit warp before moving them to the spectator area. This should prevent "jumpy" behavior in multi-world setups.
  • Config-file errors imposed by incorrect usage of /ma setting no longer cause "internal errors". Instead, the errors are properly communicated in the command output similar to how the /ma reload command works.
  • Guardians and elder guardians no longer instantly retarget players when they break line of sight. This should make their behavior work a bit closer to vanilla.
  • (API) MobArenaHandler now returns class name slugs in the getPlayerClass() methods.
Fixed:
  • Elytra and Netherite armor pieces now correctly auto-equip if specified in the generic armor node in classes in the config-file.
  • Players should now properly respawn at the spectator area rather than at world spawn on servers with plugins that override respawn locations.
  • Config-files with missing pet-items nodes no longer errors. A missing pet-items node in global-settings is treated as empty, i.e. no pet items will be registered.
  • The player-time-in-arena setting has been fixed.
  • The soft-restore setting has been fixed for blocks broken by players. Note that the functionality is still unreliable for non-trivial blocks.
  • Items in class chests are now cloned before they are made unbreakable and given to players. This fixes an issue where setting unbreakable-weapons: false had no effect on the items. Note that any affected items in existing class chests will need to be replaced.
  • (1.8) Potions no longer turn into water bottles.
Removed:
  • The MagicSpells integration has been removed. This means that the extra magicspells.yml config-file (if it exists) no longer does anything and can be removed.
----------, Nov 8, 2020

Note: For 1.8 and 1.12 builds, visit github releases

The NYE update was probably a little rushed. Sorry about that folks!

If you experience any errors, please feel free to hop on Discord and let me know :)

v0.104.2:
  • The region overlap check now works across both arena and lobby regions, i.e. all four combinations of intersections between two regions (arena-arena, arena-lobby, lobby-arena, and lobby-lobby) are evaluated.
  • Arenas with missing regions no longer cause errors in the region overlap check.
----------, Jan 3, 2020

Note: For 1.8 and 1.12 builds, visit github releases

v0.104.1:
  • It is no longer necessary to have recurrent waves for an arena to work. MobArena automatically creates a "catch all" recurrent wave in case the arena session reaches a wave number that isn't covered by any other wave definitions.
  • Entities outside of the arena can no longer target players, pets, or monsters inside of the arena.
  • Tab completion for /ma kick and /ma restore now uses actual player names instead of display names.
  • If the world of an exit warp, leaderboard, or linked class chest is not available on (re)load, MobArena now throws a config error instead of failing silently later down the road.
  • Overlapping arena regions are now reported as warnings in the server log during arena load, because overlapping regions can result in undefined, buggy behavior.
  • MobArena's internal version checker has been rewritten. It now uses the resource API of Spigot instead of DBO. It's also a lot more lightweight and caches results for up to one hour.
----------, Dec 31, 2019

Note: For 1.8 and 1.12 builds, visit github releases

The Road Ahead

Hello, everyone!

I'm happy to finally deliver a new release of MobArena with some (hopefully) great new features and a bukkit of bug fixes. I'd like to talk a bit about the current direction of the project and what it means for all of you.

For those of you who don't know, MobArena is currently in the early stages of what will eventually be a massive overhaul of all of the entire plugin to bring it into a state where extensibility and customization are king. The overhaul takes the form of a series of reworks of core functionality, the first of which is the Sessions Rework.

The focus of the Sessions Rework is to shatter the current "waves" paradigm and reassemble it into a more flexible paradigm comprised of what I call "encounters". The goal is not to remove the waves, but rather to make them a smaller building block in a much more dynamic context. One of the ultimate goals is to make it possible to create World of Warcraft-style dungeons and boss fights with MobArena.

If you think this is interesting and want to join in on the discussion, I highly encourage you to join Discord and/or chime in on the github meta issue!

The Trodden Path

Since the last bStats evaluation, Minecraft 1.13 and 1.14 have become much more prominent, which ultimately is a good sign: to keep things fresh, we need to push forward.

One of the reasons releases are far and few between nowadays is the crippling desire to maintain support for Minecraft versions prior to 1.13. Many changes to the code base require special variations in 1.8, and some may be even irrelevant or impossible. Old versions of Minecraft become a significant hamstring and reduce the amount of work that can be done in a given time frame.

There is a good chance that v0.104 or v0.105 will be the last versions of MobArena with support for 1.8 and 1.12. If you or someone you know would be interested in maintaining a fork of the project for either version, please hit me up on Discord!

v0.104:
  • Extended and upgraded potions are now supported in the item syntax by prepending long_ or strong_ to the data portion of a potion item (e.g. potion:strong_instant_heal:1 will yield a Potion of Healing II). Check the wiki for details.
  • MobArena now has basic tab completion support for most of the commands that take arguments.
  • The pet-items node in global-settings now supports any living entity as a pet - even zombies! Pets will aggro hostile mobs that damage their owner, but only tameable pets (wolves, cats, etc.) will properly follow their owners around. This should also allow 1.14 servers to replace ocelot with cat in their pet-items node to get cat pets working again.
  • Pets now have custom names that denote who their owner is, e.g. "garbagemule's pet".
  • Pet items can now be used in Upgrade Waves. When an Upgrade Wave spawns, all pet items are transformed to pets just like when the arena session starts. Note that while only Upgrade Waves trigger this behavior, pet items obtained elsewhere (e.g. from Supply Wave drops) will also be transformed on subsequent Upgrade Waves.
  • Potion effects can now be used as upgrades in Upgrade Waves. Check the wiki for details.
  • Tridents and crossbows are now considered weapons with regards to the unbreakable-weapons flag. All class items that have durability now have their unbreakable flag set to true unless the unbreakable-weapons and/or unbreakable-armor flags are set to false.
  • Leaderboards now work again on servers running Minecraft 1.14+.
  • Class chests (non-linked) now work again on servers running Minecraft 1.14+.
  • MobArena no longer crashes when players try to join with items that lower their max health below the default of 20. Players with lower max health will notice missing health in the lobby, but it will quickly regenerate to full.
  • Food levels no longer deplete for players in the lobby and spectator area.
  • Wither skeletons now correctly spawn with stone swords.
  • Mobs now correctly take damage from player-made iron golems.
  • Cat and parrot pets now also sit when their owner joins an arena (although parrots perching on players' shoulders will still follow them into the arena).
  • Pig zombies are now angry immediately after they spawn as they should be.
  • Vexes summoned by evokers are now kept track of, so they count towards clear-wave-before-next, and they are properly removed at arena end.
  • Support for denoting potion effects by magic number IDs has been dropped. This means that if your config-file has any such magic numbers in it, MobArena will no longer successfully parse them and will throw an error on startup.
  • Support for auto-respawning has been dropped. The hacky way it was implemented is not officially supported by the Bukkit API and is highly discouraged because it is very buggy.
----------, Aug 9, 2019

Note: For 1.8-1.10 and 1.11-1.12 builds, visit github releases

v0.103.2:
  • MobArena no longer touches the flySpeed player attribute when players join an arena. This should fix issues where a crash would result in players being "locked in the air" when trying to fly outside of the arena. It also introduces compatibility with plugins that use flight to augment player abilities.
  • Fixed a bug introduced by a breaking API change in Spigot where a player with a nearly full inventory might cause item rewards to change stack amounts.
  • MobArena no longer uncancels teleport events that occur outside of its own context when players have the mobarena.admin.teleport permission. This fixes a bug where the permission could override the cancellation of events that weren't related to MobArena.
  • When resetting player health, MobArena now uses the player max health attribute base value rather than a fixed value of 20. This fixes crashes associated with max health values lower than 20, and ensures that players always get a full heal with values higher than 20.
  • The server version check on the main build (currently for 1.13) now explicitly looks for incompatible versions rather than compatible versions. This brings back the "works unless otherwise specified" nature of the plugin, and thus a MobArena build for Minecraft 1.13 should (knock-on-wood) work on 1.14.

Thanks to:
  • minoneer for help with fixing and testing the teleport bug
----------, Apr 23, 2019

Note: For 1.8 and 1.12 builds, visit github releases

v0.103.1:
  • Like the other user commands, the permission for /ma ready now defaults to true.
  • Unbreakable weapons and armor now use the unbreakable item flag (1.12 and 1.13 only) instead of item durability and on-hit repairs. This means that MobArena's unbreakable items are now compatible with plugins that depend on special durability values, such as QualityArmory.
  • Spectators can no longer take damage when the arena isn't running.
  • Pets can now teleport back to their owners if they get too far away.
  • Enchantment names are now case insensitive (i.e. FIREPROTECTION is the same as fireprotection).
  • All commands are now case insensitive. This means that typing /ma join is the same as typing /MA JOIN. This should help reduce the confusion with commands like /ma l where the L can be confused with a 1 (one).
----------, Dec 31, 2018

Note: For 1.8 and 1.12 builds, visit github releases

1.8, 1.12, and 1.13?
This update is strictly for 1.13 and up. There are builds available for 1.8 and 1.12, but they will not be published here. You'll have to head on over to the github releases page to find them.

Going forward, support for 1.8 and 1.12 will eventually be dropped, but for now, during the transition into 1.13, there will be builds for all three versions. I want to focus on creating as much value as possible for as big of a user base as possible, and having to maintain multiple versions of the plugin is high friction that I'd like to get rid of. If anyone in the community is interested in carrying support for 1.8 and/or 1.12, please feel free to fork the project :)

v0.103:
  • It is now possible to add a fixed delay (in seconds) between waves with the new per-arena setting next-wave-delay.
  • The new per-arena setting join-interrupt-timer makes it possible to add a "delay" to the join and spec commands. If the player moves or takes damage during this delay, the command is interrupted. This should help prevent exploits on PvP servers.
  • Right-clicking is now allowed in the lobby. This makes it possible to activate blocks like buttons and levers.
  • Snow and ice no longer melts in arenas.
  • Much of the parsing logic has been rewritten so that MobArena now logs more user-friendly errors when it encounters invalid values in the config-file.
  • If MobArena fails to load due to config-file errors, it now enters a type of "error state". In this state, it responds to all commands (except for the reload command) with a short message explaining why it's disabled.
  • It is now possible to reload config-files with /ma reload.
  • The reload command now also reloads global settings, e.g. the global messenger prefix.
  • Armor stands can now be placed in arenas and lobbies.
  • The new command /ma ready (/ma rdy for short) can be used as an alternative to the iron block for readying up.
  • Total experience is now correctly stored, reset, and restored on arena join/leave. This fixes a potential bug where total experience could increase in the arena, but levels and progress would still get reset at arena end.
  • The per-arena setting keep-exp returns. If enabled, any experience collected during an arena session is added as a reward on death or when the final wave is reached.
  • Waves will no longer intermittently progress at double frequency in some arena sessions. This long-standing bug where waves progress at "double speed" has finally been fixed.

Thanks to:
  • Sait for adding the /ma ready command
  • PrinceIonia, Nesseley, and Diamond_Cat for help with test of dev builds
----------, Aug 28, 2018

Note: This build is for 1.11-1.12

A week of bStats

After a bit over a week of bStats, some interesting numbers have started to surface:

- A vast majority of MobArena servers run Minecraft 1.12. Less than 10% run 1.8.
- Most servers have only 1-3 arenas.
- Almost no servers have fewer than 5 classes, and over 40% of servers have more than 5.
- Very few servers allow monster infighting and friendly fire.

Some immediate conclusions that we can draw from these stats:

- It doesn't make sense to focus the development effort on 1.8, since they make up a fairly small minority of the community. Most MobArena servers keep up with the current Minecraft version, so once 1.13 hits, chances are it will be good enough to support 1.8 and 1.13 - I expect most of the 1.12 servers to update to 1.13 as soon as they can.
- Most servers have few arenas, which could mean that the arena customization is lacking. The upcoming session and mob reworks should help with this.
- Many servers have more than 5 classes, which could mean almost anything, but one possibility is that class customization and class unlocking are right where they need to be. Another possibility is that there are many classes because it's too difficult to make a single class "fit" properly.
- Even the most ancient of settings, such as monster-infight and pvp-enabled, are being used by _someone_. This could be accidental, but I doubt it, since activating these settings requires taking an action. This means that it's difficult to clean up the code base by simply removing settings, so we need to go about it differently, which is a bit more time-consuming, but also a lot of fun, so yay..!

Preparations for 1.13

A lot of deprecated Bukkit API calls have been replaced with equivalent, non-deprecated ones, which should reduce the amount of work needed to make MobArena 1.13-ready by a bit. Because we can't always be entirely sure that things work the way we expect them to, some of these changes may have introduced new bugs or resurfaced old ones. Please make sure to post bug reports on github so we can track them and get them squished as soon as possible.

I hope to have MobArena ready for when Minecraft 1.13 hits, but I can't promise anything. I'm still trying to figure out how exactly everything will work out. I imagine that we will have a short transition period where every MobArena update is released as a trio of builds for 1.8-1.10, 1.11-1.12, and 1.13. Then, if most people on 1.11-1.12 update to 1.13, we can phase out support for 1.11-1.12.


v0.102:

- It is now possible to change which items are turned into wolf pets in the global-settings in the config-file.
- Ocelots can now be used as class pets by giving a class a raw fish. The item type can, just like with pet wolves, be configured in the global-settings of the config-file.
- The hellhounds setting has been removed. Sorry, fiery puppy lovers.
- Temporary permissions are now supported in the Things API. This means that temporary permissions can now be used in place of items, money, commands, etc. by using the prefix "perm:". While this isn't particularly useful in and of itself, it does give way to other neat features...
- Upgrade waves now use the Things API. This means that it is now possible to grant economy money or run commands as upgrades for a class. Note that the previous "weapns upgrade" behavior no longer works - only armor upgrades replace existing items, while weapon upgrades are simply added to the inventory. The weapon replacement was a bit wonky and didn't always work as expected, so now it just works consistently by always adding instead of replacing.
- The give-all-items flag in Upgrade waves has been removed. Upgrade waves now always grant all items listed.
- The MobArena item syntax now supports named potion types and dye colors in addition to the numeric values.
- Using numeric IDs for items and data values now results in a warning from MobArena, encouraging the use of equivalent string IDs instead. This should help prepare a bit for the changes in 1.13.
- In 1.8, splash potions are now denoted as splash_potion just like in 1.11 and up.
- Boss bars are now properly cleared from players that die or leave the arena during a boss fight.
- Scoreboards now correctly restore when leaving an arena that uses scoreboards.
- Potion effects are now correctly removed from players who switch from a class that has potion effects to a class that uses class chests but has no potion effects. This is a very specific edge case that probably affected no one, but at least it's fixed now.
- MobArena will now check the server version upon startup, and if the build is incompatible with the server version, it throws a more human-readable error. This should make it easier for people to spot if they accidentally downloaded the wrong build.
- The five default classes have been modernized with string IDs for all items, and a couple of them have been given starting potion effects. If you want to use the updated classes, you can find them in the github repo or you can let MobArena generate a new config-file and copy them over from there.
- A large portion of old setup have been removed. These commands all had extremely specialized functionality that required some semi-nasty coupling throughout the codebase, but none of them were necessary, since they mostly revolved around "shortcuts" to the config-file. By removing them, we now have a much easier path towards Minecraft 1.13 and awesome reworks in MobArena. The removed commands: addclassperm, removeclassperm, listclassperms, setclassprice, setclass, removeclass.


Thanks to:

- ArthurPendragon and other folks who contributed bug reports for the fixes in this version
- Nesseley for help with test of dev builds
----------, Jul 5, 2018

Note: This build is for 1.8-1.10

A week of bStats

After a bit over a week of bStats, some interesting numbers have started to surface:

- A vast majority of MobArena servers run Minecraft 1.12. Less than 10% run 1.8.
- Most servers have only 1-3 arenas.
- Almost no servers have fewer than 5 classes, and over 40% of servers have more than 5.
- Very few servers allow monster infighting and friendly fire.

Some immediate conclusions that we can draw from these stats:

- It doesn't make sense to focus the development effort on 1.8, since they make up a fairly small minority of the community. Most MobArena servers keep up with the current Minecraft version, so once 1.13 hits, chances are it will be good enough to support 1.8 and 1.13 - I expect most of the 1.12 servers to update to 1.13 as soon as they can.
- Most servers have few arenas, which could mean that the arena customization is lacking. The upcoming session and mob reworks should help with this.
- Many servers have more than 5 classes, which could mean almost anything, but one possibility is that class customization and class unlocking are right where they need to be. Another possibility is that there are many classes because it's too difficult to make a single class "fit" properly.
- Even the most ancient of settings, such as monster-infight and pvp-enabled, are being used by _someone_. This could be accidental, but I doubt it, since activating these settings requires taking an action. This means that it's difficult to clean up the code base by simply removing settings, so we need to go about it differently, which is a bit more time-consuming, but also a lot of fun, so yay..!

Preparations for 1.13

A lot of deprecated Bukkit API calls have been replaced with equivalent, non-deprecated ones, which should reduce the amount of work needed to make MobArena 1.13-ready by a bit. Because we can't always be entirely sure that things work the way we expect them to, some of these changes may have introduced new bugs or resurfaced old ones. Please make sure to post bug reports on github so we can track them and get them squished as soon as possible.

I hope to have MobArena ready for when Minecraft 1.13 hits, but I can't promise anything. I'm still trying to figure out how exactly everything will work out. I imagine that we will have a short transition period where every MobArena update is released as a trio of builds for 1.8-1.10, 1.11-1.12, and 1.13. Then, if most people on 1.11-1.12 update to 1.13, we can phase out support for 1.11-1.12.


v0.102:

- It is now possible to change which items are turned into wolf pets in the global-settings in the config-file.
- Ocelots can now be used as class pets by giving a class a raw fish. The item type can, just like with pet wolves, be configured in the global-settings of the config-file.
- The hellhounds setting has been removed. Sorry, fiery puppy lovers.
- Temporary permissions are now supported in the Things API. This means that temporary permissions can now be used in place of items, money, commands, etc. by using the prefix "perm:". While this isn't particularly useful in and of itself, it does give way to other neat features...
- Upgrade waves now use the Things API. This means that it is now possible to grant economy money or run commands as upgrades for a class. Note that the previous "weapns upgrade" behavior no longer works - only armor upgrades replace existing items, while weapon upgrades are simply added to the inventory. The weapon replacement was a bit wonky and didn't always work as expected, so now it just works consistently by always adding instead of replacing.
- The give-all-items flag in Upgrade waves has been removed. Upgrade waves now always grant all items listed.
- The MobArena item syntax now supports named potion types and dye colors in addition to the numeric values.
- Using numeric IDs for items and data values now results in a warning from MobArena, encouraging the use of equivalent string IDs instead. This should help prepare a bit for the changes in 1.13.
- In 1.8, splash potions are now denoted as splash_potion just like in 1.11 and up.
- Boss bars are now properly cleared from players that die or leave the arena during a boss fight.
- Scoreboards now correctly restore when leaving an arena that uses scoreboards.
- Potion effects are now correctly removed from players who switch from a class that has potion effects to a class that uses class chests but has no potion effects. This is a very specific edge case that probably affected no one, but at least it's fixed now.
- MobArena will now check the server version upon startup, and if the build is incompatible with the server version, it throws a more human-readable error. This should make it easier for people to spot if they accidentally downloaded the wrong build.
- The five default classes have been modernized with string IDs for all items, and a couple of them have been given starting potion effects. If you want to use the updated classes, you can find them in the github repo or you can let MobArena generate a new config-file and copy them over from there.
- A large portion of old setup have been removed. These commands all had extremely specialized functionality that required some semi-nasty coupling throughout the codebase, but none of them were necessary, since they mostly revolved around "shortcuts" to the config-file. By removing them, we now have a much easier path towards Minecraft 1.13 and awesome reworks in MobArena. The removed commands: addclassperm, removeclassperm, listclassperms, setclassprice, setclass, removeclass.


Thanks to:

- ArthurPendragon and other folks who contributed bug reports for the fixes in this version
- Nesseley for help with test of dev builds
----------, Jul 5, 2018

Note: This build is for 1.11-1.12


v0.101:

- MobArena now has bStats! This will greatly aid the development efforts in terms of figuring out which features are the most popular and which server implementations MobArena runs on. With this kind of data, the community can be involved in the development of the plugin by simply letting bStats speak for them. This "passive" involvement will allow us to trim away obsolete features and focus development efforts in areas that will benefit the most people.
- Join, leave, and info signs have been added. The signs can be used to display live information about an arena via a small templating engine.
- Bosses can now have their health displayed as a boss bar, a chapter title (on hit), or as a custom name. Note that boss bars are only available in 1.11+.
- Players can now dismount and re-mount their horses. Only the owner of a horse may mount it.
- Potion effects can now be added to classes.
- Potion effects can now be added to all wave types.
- The /ma config reload command now reloads the announcements-file (and the new sign templates file) along with the config-file.
- Player inventories are now correctly cleared when leaving the arena on Minecraft 1.8 servers.


Thanks to

- NathanWolf for the initial pull request for join and leave signs
- PrinceIonia, Nesseley, and KyleGallacher for testing the dev builds
----------, Jun 22, 2018

Note: This build is for 1.8-1.10


v0.101:

- MobArena now has bStats! This will greatly aid the development efforts in terms of figuring out which features are the most popular and which server implementations MobArena runs on. With this kind of data, the community can be involved in the development of the plugin by simply letting bStats speak for them. This "passive" involvement will allow us to trim away obsolete features and focus development efforts in areas that will benefit the most people.
- Join, leave, and info signs have been added. The signs can be used to display live information about an arena via a small templating engine.
- Bosses can now have their health displayed as a boss bar, a chapter title (on hit), or as a custom name. Note that boss bars are only available in 1.11+.
- Players can now dismount and re-mount their horses. Only the owner of a horse may mount it.
- Potion effects can now be added to classes.
- Potion effects can now be added to all wave types.
- The /ma config reload command now reloads the announcements-file (and the new sign templates file) along with the config-file.
- Player inventories are now correctly cleared when leaving the arena on Minecraft 1.8 servers.


Thanks to

- NathanWolf for the initial pull request for join and leave signs
- PrinceIonia, Nesseley, and KyleGallacher for testing the dev builds
----------, Jun 22, 2018

Note: This build is for 1.11-1.12


v0.101:

- MobArena now has bStats! This will greatly aid the development efforts in terms of figuring out which features are the most popular and which server implementations MobArena runs on. With this kind of data, the community can be involved in the development of the plugin by simply letting bStats speak for them. This "passive" involvement will allow us to trim away obsolete features and focus development efforts in areas that will benefit the most people.
- Join, leave, and info signs have been added. The signs can be used to display live information about an arena via a small templating engine.
- Bosses can now have their health displayed as a boss bar, a chapter title (on hit), or as a custom name. Note that boss bars are only available in 1.11+.
- Players can now dismount and re-mount their horses. Only the owner of a horse may mount it.
- Potion effects can now be added to classes.
- Potion effects can now be added to all wave types.
- The /ma config reload command now reloads the announcements-file (and the new sign templates file) along with the config-file.
- Player inventories are now correctly cleared when leaving the arena on Minecraft 1.8 servers.


Thanks to

- NathanWolf for the initial pull request for join and leave signs
- PrinceIonia, Nesseley, and KyleGallacher for testing the dev builds
----------, Jun 22, 2018

Note: This build is for 1.8-1.10


v0.101:

- MobArena now has bStats! This will greatly aid the development efforts in terms of figuring out which features are the most popular and which server implementations MobArena runs on. With this kind of data, the community can be involved in the development of the plugin by simply letting bStats speak for them. This "passive" involvement will allow us to trim away obsolete features and focus development efforts in areas that will benefit the most people.
- Join, leave, and info signs have been added. The signs can be used to display live information about an arena via a small templating engine.
- Bosses can now have their health displayed as a boss bar, a chapter title (on hit), or as a custom name. Note that boss bars are only available in 1.11+.
- Players can now dismount and re-mount their horses. Only the owner of a horse may mount it.
- Potion effects can now be added to classes.
- Potion effects can now be added to all wave types.
- The /ma config reload command now reloads the announcements-file (and the new sign templates file) along with the config-file.
- Player inventories are now correctly cleared when leaving the arena on Minecraft 1.8 servers.


Thanks to

- NathanWolf for the initial pull request for join and leave signs
- PrinceIonia, Nesseley, and KyleGallacher for testing the dev builds
----------, Jun 22, 2018

Note: This build is for 1.11+

This build fixes the hard dependency on Vault in v0.100.1.

Be sure to check out all the other changes in v0.100 if you haven't already: Anniversary Update

v0.100.2:
  • Vault is now optional again. In the previous patch (v0.100.1), Vault was accidentally made a requirement for MobArena to even start. This has been fixed.
  • If Vault is not found, or if a compatible economy plugin is not found, MobArena now informs about this with an INFO message instead of a WARNING. However, if MobArena parses a money thing (like '$10') in this state, it will print an ERROR to the server log.
----------, May 13, 2018

Note: This build is for 1.8-1.10

This build fixes the hard dependency on Vault in v0.100.1.

Be sure to check out all the other changes in v0.100 if you haven't already: Anniversary Update

v0.100.2:
  • Vault is now optional again. In the previous patch (v0.100.1), Vault was accidentally made a requirement for MobArena to even start. This has been fixed.
  • If Vault is not found, or if a compatible economy plugin is not found, MobArena now informs about this with an INFO message instead of a WARNING. However, if MobArena parses a money thing (like '$10') in this state, it will print an ERROR to the server log.
----------, May 13, 2018

Note: This build is for 1.11+

This build fixes the economy bug in v0.100 as well as a few entry fee bugs also introduced in that build.

Be sure to check out all the other changes in v0.100 if you haven't already: Anniversary Update

v0.100.1:
  • Fixed the plugin-wide economy bug introduced in v0.100. This bug would result in entry fees and class prices being "too expensive" for everyone regardless of balance, and economy rewards would not get paid out.
  • Fixed a bug where entry fees weren't actually taken from players upon joining an arena.
  • Fixed a bug where item/block entry fees couldn't be refunded. The items/blocks are now refunded [cur]after[/cur] the player inventory has been restored, so the player inventory no longer overwrites the refunded items/blocks.
  • Entry fees are now only refunded when leaving the arena while in the lobby. As soon as the arena starts, that price is paid, and there are no refunds.
----------, May 4, 2018

Note: This build is for 1.8-1.10

This build fixes the economy bug in v0.100 as well as a few entry fee bugs also introduced in that build.

Be sure to check out all the other changes in v0.100 if you haven't already: Anniversary Update

v0.100.1:
  • Fixed the plugin-wide economy bug introduced in v0.100. This bug would result in entry fees and class prices being "too expensive" for everyone regardless of balance, and economy rewards would not get paid out.
  • Fixed a bug where entry fees weren't actually taken from players upon joining an arena.
  • Fixed a bug where item/block entry fees couldn't be refunded. The items/blocks are now refunded [cur]after[/cur] the player inventory has been restored, so the player inventory no longer overwrites the refunded items/blocks.
  • Entry fees are now only refunded when leaving the arena while in the lobby. As soon as the arena starts, that price is paid, and there are no refunds.
----------, May 4, 2018

Note: This build is for 1.11+

7 years of MobArena

The month of May marks another anniversary for MobArena - the project is now 7 years old!

I'd like to just take a moment to thank everyone who's still around after all these years, as well as everyone who's jumped on board along the way. MobArena started as a teeny tiny project that I wasn't even planning on releasing, because "who would want to use this aside from me?", and look at how far we've come since that first commit, all thanks to the continued support from the community!

Activity on the project has gone up and down over the years, and we have had really long periods of inactivity, but - at least on my part - always due to a lack of time, not a lack of interest. Recently, we've seen a surge of interest in the project, both on Spigot and on github, and the added attention is a sign of increased potential. I still have grand visions for MobArena (a fight-by-fight recreation of the Icecrown Citadel from World of Warcraft being the grandest), and I'm sure the community has some as well. I think that with more people to carry some of the weight and getting involved in the project (not just programming, but also documentation, testing, troubleshooting, and just general feedback to help focus all of our efforts), those visions are much more likely to be fulfilled.

In an effort to increase the overall quality of the project as a whole - not just the code base - all documentation is slowly but steadily being ported to read the docs, and the project now has explicit contribution guidelines to help people get started. We've also set up a Discord server that everyone is welcome to join and talk about anything MobArena.

Thanks again, everyone! Here's to another 7 years!

v0.100:
  • MobArena now requires Java 8.
  • The long-standing per-world inventory bug, by which players sometimes lose their inventories, has finally been fixed with a full rewrite of the join/leave process. It was discovered, however, that for the plugin PerWorldInventory, gamemode-specific inventories MUST be disabled. If not, PerWorldInventory will restore the gamemode-specific inventory after MobArena has already tried to take a backup of the existing inventory, and as a result, it will wipe it when the player leaves.
  • Another long-standing bug, the /back command exploit, has also finally been fixed. It is no longer possible to use the /back command to get back into the arena after dying (unless the player is op or has the mobarena.admin.teleport permission).
  • Class items and armor now support the Things API. This means that other plugins can now register simple parser interfaces to provide armor and items (which can be arbitrary things) to MobArena classes. One such plugin is Magic by Nathanwolf. Try it out!
  • Item display names are now supported in reward strings, so custom items or named items will be displayed with the custom name if one is set.
  • A hardcoded boss kill message has been split into two new announcments in the announcements-file, wave-boss-killed and wave-boss-reward-earned.
  • Boss rewards are now granted again. This bug slipped through the cracks during the Things API rewrite.
  • TNT placed from the off-hand now correctly depletes.
  • The "My Items" class is now a little restricted to prevent some exploiting: ender pearls, ender chests, shulker boxes, and shulker shells are filtered out of the inventory within the arena (but the items are safely backed up with the rest of the player's items).
  • A bug where using the /give command would hang the server and throw an error has been fixed.
  • Arena names are now case insensitive in commands, meaning if your arena is called 'FirePit', you can type '/ma j firepit' (or even '/ma j FiRePiT') to join it.
  • An error thrown when trying to restore scoreboards for disconnecting players has been fixed.
  • Reloading config-files with the /ma config reload command is now MUCH faster (from over 10 seconds to under 100 milliseconds on some setups).
  • The Things API has seen quite a few improvements. It is now possible for other plugins to register custom item parsers for use in the built-in item parser, making it even simpler to integrate with classes and rewards.

Thanks to
  • jwflory for porting and cleaning up documentation
  • ctmartin for help with wrangling the build-up of github issues
  • NathanWolf for help with improvements to the Things API
  • Pugabyte for performance and permissions testing
  • Nesseley, Sikatsu, and ScuroK for testing the inventory bug fix
  • Swatacular for help with testing bug fixes
  • Haileykins for contributions to the code base
----------, May 2, 2018

Note: This build is for 1.8-1.10

7 years of MobArena

The month of May marks another anniversary for MobArena - the project is now 7 years old!

I'd like to just take a moment to thank everyone who's still around after all these years, as well as everyone who's jumped on board along the way. MobArena started as a teeny tiny project that I wasn't even planning on releasing, because "who would want to use this aside from me?", and look at how far we've come since that first commit, all thanks to the continued support from the community!

Activity on the project has gone up and down over the years, and we have had really long periods of inactivity, but - at least on my part - always due to a lack of time, not a lack of interest. Recently, we've seen a surge of interest in the project, both on Spigot and on github, and the added attention is a sign of increased potential. I still have grand visions for MobArena (a fight-by-fight recreation of the Icecrown Citadel from World of Warcraft being the grandest), and I'm sure the community has some as well. I think that with more people to carry some of the weight and getting involved in the project (not just programming, but also documentation, testing, troubleshooting, and just general feedback to help focus all of our efforts), those visions are much more likely to be fulfilled.

In an effort to increase the overall quality of the project as a whole - not just the code base - all documentation is slowly but steadily being ported to read the docs, and the project now has explicit contribution guidelines to help people get started. We've also set up a Discord server that everyone is welcome to join and talk about anything MobArena.

Thanks again, everyone! Here's to another 7 years!

v0.100:
  • MobArena now requires Java 8.
  • The long-standing per-world inventory bug, by which players sometimes lose their inventories, has finally been fixed with a full rewrite of the join/leave process. It was discovered, however, that for the plugin PerWorldInventory, gamemode-specific inventories MUST be disabled. If not, PerWorldInventory will restore the gamemode-specific inventory after MobArena has already tried to take a backup of the existing inventory, and as a result, it will wipe it when the player leaves.
  • Another long-standing bug, the /back command exploit, has also finally been fixed. It is no longer possible to use the /back command to get back into the arena after dying (unless the player is op or has the mobarena.admin.teleport permission).
  • Class items and armor now support the Things API. This means that other plugins can now register simple parser interfaces to provide armor and items (which can be arbitrary things) to MobArena classes. One such plugin is Magic by Nathanwolf. Try it out!
  • Item display names are now supported in reward strings, so custom items or named items will be displayed with the custom name if one is set.
  • A hardcoded boss kill message has been split into two new announcments in the announcements-file, wave-boss-killed and wave-boss-reward-earned.
  • Boss rewards are now granted again. This bug slipped through the cracks during the Things API rewrite.
  • TNT placed from the off-hand now correctly depletes.
  • The "My Items" class is now a little restricted to prevent some exploiting: ender pearls, ender chests, shulker boxes, and shulker shells are filtered out of the inventory within the arena (but the items are safely backed up with the rest of the player's items).
  • A bug where using the /give command would hang the server and throw an error has been fixed.
  • Arena names are now case insensitive in commands, meaning if your arena is called 'FirePit', you can type '/ma j firepit' (or even '/ma j FiRePiT') to join it.
  • An error thrown when trying to restore scoreboards for disconnecting players has been fixed.
  • Reloading config-files with the /ma config reload command is now MUCH faster (from over 10 seconds to under 100 milliseconds on some setups).
  • The Things API has seen quite a few improvements. It is now possible for other plugins to register custom item parsers for use in the built-in item parser, making it even simpler to integrate with classes and rewards.

Thanks to
  • jwflory for porting and cleaning up documentation
  • ctmartin for help with wrangling the build-up of github issues
  • NathanWolf for help with improvements to the Things API
  • Pugabyte for performance and permissions testing
  • Nesseley, Sikatsu, and ScuroK for testing the inventory bug fix
  • Swatacular for help with testing bug fixes
  • Haileykins for contributions to the code base
----------, May 2, 2018

Note: This build is for 1.11+

7 years of MobArena

The month of May marks another anniversary for MobArena - the project is now 7 years old!

I'd like to just take a moment to thank everyone who's still around after all these years, as well as everyone who's jumped on board along the way. MobArena started as a teeny tiny project that I wasn't even planning on releasing, because "who would want to use this aside from me?", and look at how far we've come since that first commit, all thanks to the continued support from the community!

Activity on the project has gone up and down over the years, and we have had really long periods of inactivity, but - at least on my part - always due to a lack of time, not a lack of interest. Recently, we've seen a surge of interest in the project, both on Spigot and on github, and the added attention is a sign of increased potential. I still have grand visions for MobArena (a fight-by-fight recreation of the Icecrown Citadel from World of Warcraft being the grandest), and I'm sure the community has some as well. I think that with more people to carry some of the weight and getting involved in the project (not just programming, but also documentation, testing, troubleshooting, and just general feedback to help focus all of our efforts), those visions are much more likely to be fulfilled.

In an effort to increase the overall quality of the project as a whole - not just the code base - all documentation is slowly but steadily being ported to read the docs, and the project now has explicit contribution guidelines to help people get started. We've also set up a Discord server that everyone is welcome to join and talk about anything MobArena.

Thanks again, everyone! Here's to another 7 years!

v0.100:
  • MobArena now requires Java 8.
  • The long-standing per-world inventory bug, by which players sometimes lose their inventories, has finally been fixed with a full rewrite of the join/leave process. It was discovered, however, that for the plugin PerWorldInventory, gamemode-specific inventories MUST be disabled. If not, PerWorldInventory will restore the gamemode-specific inventory after MobArena has already tried to take a backup of the existing inventory, and as a result, it will wipe it when the player leaves.
  • Another long-standing bug, the /back command exploit, has also finally been fixed. It is no longer possible to use the /back command to get back into the arena after dying (unless the player is op or has the mobarena.admin.teleport permission).
  • Class items and armor now support the Things API. This means that other plugins can now register simple parser interfaces to provide armor and items (which can be arbitrary things) to MobArena classes. One such plugin is Magic by Nathanwolf. Try it out!
  • Item display names are now supported in reward strings, so custom items or named items will be displayed with the custom name if one is set.
  • A hardcoded boss kill message has been split into two new announcments in the announcements-file, wave-boss-killed and wave-boss-reward-earned.
  • Boss rewards are now granted again. This bug slipped through the cracks during the Things API rewrite.
  • TNT placed from the off-hand now correctly depletes.
  • The "My Items" class is now a little restricted to prevent some exploiting: ender pearls, ender chests, shulker boxes, and shulker shells are filtered out of the inventory within the arena (but the items are safely backed up with the rest of the player's items).
  • A bug where using the /give command would hang the server and throw an error has been fixed.
  • Arena names are now case insensitive in commands, meaning if your arena is called 'FirePit', you can type '/ma j firepit' (or even '/ma j FiRePiT') to join it.
  • An error thrown when trying to restore scoreboards for disconnecting players has been fixed.
  • Reloading config-files with the /ma config reload command is now MUCH faster (from over 10 seconds to under 100 milliseconds on some setups).
  • The Things API has seen quite a few improvements. It is now possible for other plugins to register custom item parsers for use in the built-in item parser, making it even simpler to integrate with classes and rewards.

Thanks to
  • jwflory for porting and cleaning up documentation
  • ctmartin for help with wrangling the build-up of github issues
  • NathanWolf for help with improvements to the Things API
  • Pugabyte for performance and permissions testing
  • Nesseley, Sikatsu, and ScuroK for testing the inventory bug fix
  • Swatacular for help with testing bug fixes
  • Haileykins for contributions to the code base
----------, May 2, 2018

Note: This build is for 1.8-1.10

7 years of MobArena

The month of May marks another anniversary for MobArena - the project is now 7 years old!

I'd like to just take a moment to thank everyone who's still around after all these years, as well as everyone who's jumped on board along the way. MobArena started as a teeny tiny project that I wasn't even planning on releasing, because "who would want to use this aside from me?", and look at how far we've come since that first commit, all thanks to the continued support from the community!

Activity on the project has gone up and down over the years, and we have had really long periods of inactivity, but - at least on my part - always due to a lack of time, not a lack of interest. Recently, we've seen a surge of interest in the project, both on Spigot and on github, and the added attention is a sign of increased potential. I still have grand visions for MobArena (a fight-by-fight recreation of the Icecrown Citadel from World of Warcraft being the grandest), and I'm sure the community has some as well. I think that with more people to carry some of the weight and getting involved in the project (not just programming, but also documentation, testing, troubleshooting, and just general feedback to help focus all of our efforts), those visions are much more likely to be fulfilled.

In an effort to increase the overall quality of the project as a whole - not just the code base - all documentation is slowly but steadily being ported to read the docs, and the project now has explicit contribution guidelines to help people get started. We've also set up a Discord server that everyone is welcome to join and talk about anything MobArena.

Thanks again, everyone! Here's to another 7 years!

v0.100:
  • MobArena now requires Java 8.
  • The long-standing per-world inventory bug, by which players sometimes lose their inventories, has finally been fixed with a full rewrite of the join/leave process. It was discovered, however, that for the plugin PerWorldInventory, gamemode-specific inventories MUST be disabled. If not, PerWorldInventory will restore the gamemode-specific inventory after MobArena has already tried to take a backup of the existing inventory, and as a result, it will wipe it when the player leaves.
  • Another long-standing bug, the /back command exploit, has also finally been fixed. It is no longer possible to use the /back command to get back into the arena after dying (unless the player is op or has the mobarena.admin.teleport permission).
  • Class items and armor now support the Things API. This means that other plugins can now register simple parser interfaces to provide armor and items (which can be arbitrary things) to MobArena classes. One such plugin is Magic by Nathanwolf. Try it out!
  • Item display names are now supported in reward strings, so custom items or named items will be displayed with the custom name if one is set.
  • A hardcoded boss kill message has been split into two new announcments in the announcements-file, wave-boss-killed and wave-boss-reward-earned.
  • Boss rewards are now granted again. This bug slipped through the cracks during the Things API rewrite.
  • TNT placed from the off-hand now correctly depletes.
  • The "My Items" class is now a little restricted to prevent some exploiting: ender pearls, ender chests, shulker boxes, and shulker shells are filtered out of the inventory within the arena (but the items are safely backed up with the rest of the player's items).
  • A bug where using the /give command would hang the server and throw an error has been fixed.
  • Arena names are now case insensitive in commands, meaning if your arena is called 'FirePit', you can type '/ma j firepit' (or even '/ma j FiRePiT') to join it.
  • An error thrown when trying to restore scoreboards for disconnecting players has been fixed.
  • Reloading config-files with the /ma config reload command is now MUCH faster (from over 10 seconds to under 100 milliseconds on some setups).
  • The Things API has seen quite a few improvements. It is now possible for other plugins to register custom item parsers for use in the built-in item parser, making it even simpler to integrate with classes and rewards.

Thanks to
  • jwflory for porting and cleaning up documentation
  • ctmartin for help with wrangling the build-up of github issues
  • NathanWolf for help with improvements to the Things API
  • Pugabyte for performance and permissions testing
  • Nesseley, Sikatsu, and ScuroK for testing the inventory bug fix
  • Swatacular for help with testing bug fixes
  • Haileykins for contributions to the code base
----------, May 2, 2018

Note: This build is for 1.11+!

v0.99:
  • Added support for commands as rewards! That's right, you can finally grant rewards in the form of running commands with the recipient player as a variable. Since commands can do quite a lot of things, it should be possible to now grant many different kinds of rewards, including permissions! Check out the wiki for details on how to use commands as rewards. Note that this change required a bit of an overhaul throughout the code base and has resulted in a couple of breaking API changes (albeit very minor), forcing a version bump. If you have plugins that depend on MobArena, the integration may break (but probably won't). If so, please be kind to my fellow developers when you ask them to update their plugins.
  • Rewards in the 'after' branch are now granted right before the next wave is about to spawn, rather than when the wave spawns. This means that if you have an 'after' reward set for wave 6, that reward will now be granted just before wave 7 spawns (or if wave 6 is the final wave, right before the arena session ends). This fixes a long-running "working as intended" bug that may require you to tweak your waves a bit. It should remove the need for "dummy waves" after boss waves and stuff like that.
  • Fixed an issue where MobArena would throw some errors if death messages were cleared/nulled by other plugins.
----------, Nov 19, 2017

Note: This build is for 1.8-1.10!

v0.99:
  • Added support for commands as rewards! That's right, you can finally grant rewards in the form of running commands with the recipient player as a variable. Since commands can do quite a lot of things, it should be possible to now grant many different kinds of rewards, including permissions! Check out the wiki for details on how to use commands as rewards. Note that this change required a bit of an overhaul throughout the code base and has resulted in a couple of breaking API changes (albeit very minor), forcing a version bump. If you have plugins that depend on MobArena, the integration may break (but probably won't). If so, please be kind to my fellow developers when you ask them to update their plugins.
  • Rewards in the 'after' branch are now granted right before the next wave is about to spawn, rather than when the wave spawns. This means that if you have an 'after' reward set for wave 6, that reward will now be granted just before wave 7 spawns (or if wave 6 is the final wave, right before the arena session ends). This fixes a long-running "working as intended" bug that may require you to tweak your waves a bit. It should remove the need for "dummy waves" after boss waves and stuff like that.
  • Fixed an issue where MobArena would throw some errors if death messages were cleared/nulled by other plugins.
----------, Nov 19, 2017

Note: This build is for 1.11+!

v0.98.1:

  • Fixed the crash that happens in 1.12 when loading config-file defaults.
  • Cancelled PlayerDropEvents are now ignored by MobArena. This should prevent nasty "Sharing is not allowed" message spam when using plugins that consume the drop events.
  • Players who bring their own items into the arena can no longer have pet wolves or mounts (this is why we can't have nice things).
  • Fixed an issue where monsters would target each other even though infighting is disabled.
  • Obsidian blocks from the Obsidian Bomb ability should now properly disappear when the bomb explodes.
----------, Jun 4, 2017

Note: This build is for 1.8-1.10!

v0.98.1:

  • Fixed the crash that happens in 1.12 when loading config-file defaults.
  • Cancelled PlayerDropEvents are now ignored by MobArena. This should prevent nasty "Sharing is not allowed" message spam when using plugins that consume the drop events.
  • Players who bring their own items into the arena can no longer have pet wolves or mounts (this is why we can't have nice things).
  • Fixed an issue where monsters would target each other even though infighting is disabled.
  • Obsidian blocks from the Obsidian Bomb ability should now properly disappear when the bomb explodes.
----------, Jun 4, 2017

Note: v0.98 is also available for 1.8

Note: v0.98 breaks backwards compatibility with some of MobArena's API pre-v0.98.This means that there is a risk that some plugins that integrate with MobArena may fail. Unless the integrations specifically use MobArena's internal announcements/messaging, however, things should be fine.

v0.98:
  • Added support for custom prefixes! By default, MobArena will use its classic green [MobArena] prefix, but it is now possible to change this with the global prefix setting found in global-settings in the config-file. If the prefix is empty, MobArena will revert to the default prefix.
  • Added support for arena-specific prefixes. Using the new arena-specific prefix setting, you can override the global prefix for arena-specific messages. If the prefix is empty (default), the global prefix is used.
  • Fixed an issue where stepping on pressure plates and other non-click interactions would throw an error.
  • Removed Metrics since it's no longer online.
----------, Mar 11, 2017

Note: v0.98 is also available for 1.11

Note: v0.98 breaks backwards compatibility with some of MobArena's API pre-v0.98.This means that there is a risk that some plugins that integrate with MobArena may fail. Unless the integrations specifically use MobArena's internal announcements/messaging, however, things should be fine.

v0.98:
  • Added support for custom prefixes! By default, MobArena will use its classic green [MobArena] prefix, but it is now possible to change this with the global prefix setting found in global-settings in the config-file. If the prefix is empty, MobArena will revert to the default prefix.
  • Added support for arena-specific prefixes. Using the new arena-specific prefix setting, you can override the global prefix for arena-specific messages. If the prefix is empty (default), the global prefix is used.
  • Fixed an issue where stepping on pressure plates and other non-click interactions would throw an error.
  • Removed Metrics since it's no longer online.
----------, Mar 11, 2017

v0.97.5:
  • You can now bring your own items into arenas with the implicit My Items class. Just make a class sign with the text My Items.
  • A new optional, per-arena setting 'default-class' has been added. Set this to the name of a class (lowercase, no-spaces) you want players to be auto-assigned when they join the arena. Combine with the implicit My Items class and you have a "bring your own items" arena mode!
  • Fixed an error thrown if the "physical" class chest was missing on a linked class chest.
  • Fixed a crash that would occur if using scoreboards and players died in the lobby.
  • Fixed a bug where MobArena would, server-wide, prevent bed explosions in The Nether and The End from damaging blocks.
  • The ready-message no longer fires twice.
  • Mobs no longer pick up dropped items and blocks.
  • Class names should now show up as they appear in the config-file, rather than a somewhat mangled, semi-camel-cased version.
  • Splash potions and tipped arrows should now work properly.
Thanks to slipcor for help with fixes and QA!
----------, Feb 18, 2017

Resource Information
Author:
----------
Total Downloads: 52,901
First Release: Jan 1, 2017
Last Update: Oct 13, 2024
Category: ---------------
All-Time Rating:
156 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings