Everything about DragonEggDrop is now separated per End world (i.e. multiple world support!)
End portal locations are now relative to their location specified in their NBT tag
Shift-clicking on the End portal now displays how much time is left until the dragon respawns (If at all)
The "egg-name" and "egg-lore" configuration options now have a placeholder, "%dragon%", which will be replaced with the previous dragon's name
The "announce-messages" configuration option now have a placeholder, "%formatted-time%", which will be replaced with a formatted timestamp (i.e. "10 minutes, 3 seconds") - "%time%" still exists for those that prefer seconds
Added a "countdown-across-world" configuration option to set whether countdowns will persist across world-changes (They will run in the background whilst no one is in the world / online) - The dragon will not respawn until a Player is in the world, even if the timer hits 0
Fixed invulnerable end crystals randomly staying on the portal after respawning the dragon
Removed unnecessary code that was left from previous versions
API: EndWorldWrapper classes are now used to hold End world instances
API: Added a DEDManager#getWorldWrapper(World) method to get an EndWorldWrapper object from an end world
API: Added an NMSAbstract#getEndPortalLocation(Object) to get the location of the portal. "Object" being an instance of EnderDragonBattle
API: Added a RespawnRunnable#getTimeUntilRespawn() method to get how much time remains until a dragon respawns