MGLib v0.3.0
Details
-
FilenameMGLib.jar
-
Uploaded by
-
UploadedSep 10, 2014
-
Size133.21 KB
-
Downloads1,942
-
MD511d39ea54f5d46dc1da134274252e00a
Supported Bukkit Versions
- CB 1.7.9-R0.2
- CB 1.7.2-R0.3
- CB 1.6.4-R2.0
Changelog
After 90 snapshots, I'm proud to present to you MGLib 0.3.0. Major bugs have been fixed, and exciting new features added. But most importantly, the development stage has been bumped to release and it is now safe to use the library in production.
Note: This will be the last update to support Bukkit. Future builds will be designed for use with Sponge instead, though MGLib's API will remain the same.
New Features
- Add support for disabling "friendly fire" (team killing)
- Implement localization support for the library
- Allow override of vanilla
PlayerDeathEvent
with customMGPlayerDeathEvent
- Allow for sequential spawning as opposed to random
- Implement automatic rollback of physics events and explosions (only if triggered/placed by a player)
- Replace countdown with stopwatch-esque timer on lobby signs with infinite time (it counts up)
- Add option to use separate chat channels for arenas/teams
- Add /mglib command for informational purposes
- Add advance support for vanilla spectator gamemode (not guaranteed to work perfectly; a patch may be necessary)
- Make arena names case-insensitive when joining or creating lobby signs
- Add optional chat separation for spectators
API Additions
- Add metadata support for
MGPlayer
andRound
objects - Implement basic team support and API for
MGPlayer
objects - Add localization API
- Add
PlayerHitArenaBorderEvent
- Add
LobbyClickEvent
- Add
MGPlayerDeathEvent
- Add
JoinResult
enum as return value forPlayerJoinMinigameRoundEvent
- Add optional spawn argument to
Round#addPlayer()
so that a spawn number may be manually specified - Add a bunch of new config options (see Javadocs for more info)
- Add toggle for cleanly freezing players
- Add toggle for disabling
FoodLevelChangeEvents
- Add method to
ArenaFactory
for setting custom arena metadata (copied into round objects upon creation) - Add logging methods so that messages may be filtered by level as defined by MGLib's config.yml
- Add
Location2D
andLocation3D
classes - Add toggles for mob spawning/targeting in arena-containing worlds
- Add toggles for hanging entity and item frame breaking
- Add method spawning a player into a round
API Removals
- Remove
Minigame#log(String, int)
in favor ofMinigame#log(String, LogLevel)
Bug Fixes
- Fix a bunch of
NullPointerExceptions
- Fix
ArenaExistsException
never being thrown - Fix round being started if minimum player count is 0
- Modify exception handling while creating/fetching
ArenaFactories
- Fix events being sent to all minigame plugins instead of just the one they pertain to
- Fix
PlayerLeaveMinigameRoundEvent
firing after the player was already removed and reset - Fix lobby signs not always being properly updated
- Correct event priorities
- Fix worlds not being properly loaded upon round creation
- Fix metadata being set statically (same for all instances of implementing class)
- Fix entities targeting spectators
- Fix forced generation of normal level for worlds containing only a nether or end world
Internal Changes
- Minor refactoring of non-API classes
- Optimize NMS utility methods
- Optimize backend
- Documentation fixes
- Replace arbitrary build number in snapshots with Jenkins build number (e.g. from
0.3.0-dev10
to0.3.0-SNAPSHOT-jnks77
) - Build against Bukkit
1.7.10-R0.1-SNAPSHOT
Potential memory leak on round end (may be vanilla Minecraft issue)