Since ConfigurationSerializable, there's no need to manually serialize
items anymore, and thus we let Bukkit serialize player inventories for
when players join arenas.
However, the "repairables" in the soft-restore mechanism still use the
now obsolete SerializableItem and SerializableInventory classes, and
should perhaps be rewritten.
Note that for 1.0, it may still be necessary to write a custom means
of serializing items, since we don't know if a given implementation
supports native serialization (however it should be possible to rely
on Bukkit's in the Bukkit-specific classes).
The SerializableItem class was previously using a constructor that
included a raw byte for data values. The current constructor takes
no byte argument and the data value must be set explicitly.
This fixes e.g. splash potions not restoring properly from arena
containers.
If true, this option will cause wave numbers to be displayed as the
players' level to aid in wave tracking. It does NOT replace the
announcements, which can still be disabled by putting blank values
in the announcements-file.
Unsurprisingly, MobArena's monster handling is sub-optimal, possibly
due to premature optimization. Before, when e.g. a Creeper boss would
explode, it would not be removed from the bosses collection, and thus
the ability thread would continue on running.
This patch adds a tiny bit of overhead w.r.t. removing dead monsters,
but it fixes the issue with Creeper bosses, and with a bit of luck,
mcMMO will not cause issues anymore (yet to be tested).
This allows for a sneaky little trick, where two lines class signs
becomes possible, if one chest is offset backwards, and the other
chest is positioned at the very bottom block.
This is an extremely ugly, hacky way to do it, but the feature
should definitely make it into 1.0 - it requires no commands or
any other complex setting up besides flipping one option in the
config-file.
Upon clicking a class sign in the lobby, MobArena will (if the
config-setting is true) search for chests below the sign, and
below (and including) the block behind the sign, i.e. the block
that a wall sign would be attached to. If a chest is found, the
contents will become the class inventory.
The search can be optimized to be a one-off thing unless the
block changes from being a chest. A todo for 1.0, perhaps.