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.
- 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.
- ArthurPendragon and other folks who contributed bug reports for the fixes in this version
- Nesseley for help with test of dev builds