Brianna Changelog: November 20, 2019
You can now limit island creations and deletions by granting the following permissions (https://feedback.songoda.com/d/777-island-reset-limit-fabledskyblock):
fabledskyblock.limit.create.Amount (default 2)
fabledskyblock.limit.delete.Amount (default 1)
where Amount is the limit. (e.x: fabledskyblock.limit.delete.5 or fabledskyblock.limit.create.3)
Fixed a flicker issue when having an npcs name toggled with /npc name when using Citizens.
Introduced 2 new messages in the language.yml file: MaxDeletionMessage and MaxCreationMessage
Stacked blocks will now drop in a compact stack instead of splitting every 64 blocks stacked.
Stacked blocks will now consume the entire Item the player is holding and increase the stack by the consumed amount. No need to spam click anymore to stack.
Made the inner class, Names a static nested class instead as there was no need for it to be an inner class.
Introduced a PlayerUtil class and with it, a couple of useful utility methods.
Removed some useless classes.
Added bypass permissions for island creations and deletions. Grant these permissions to allow infinite island creation or deletion.
Fixed an issue with chests not having the appropriate loot upon creating an island.
Fixed issues with block states not updating appropriately when creating an island.
Slight optimization to the getNearbyBlocks method of BlockUtil.java
Made the placeholders %fabledskyblock_island_points% and %fabledskyblock_island_level% return a non formatted number and removed their entries from the language.yml file.
Optimized VisitManager, VisitTask, and some other classes/methods.
Armorstand's that are owned by a Stackable Block should no longer be movable by pistons.
Fixed a NullPointerException with the getCoopPlayersAtIsland method of IslandManager.java
Optimized the getCoopPlayersAtIsland method.
Optimized the ArmorStand Stackable Block check to make it have less inaccuracies.
Removed a debug message.
You can no longer bypass bans or kicks.
The following permissions were removed: fabledskyblock.bypass.ban and fabledskyblock.bypass.kick
The reason behind the removal of those permissions is because you can't check the permissions of an offline player. Therefore, you can just ban or kick the user when they go offline, effectively making the permission useless.
Heavily optimized the click events of the Island Control Panel. (/island)
Optimized the setLore method in Item.class of the NInventoryUtil.class class
Introduced 3 classes and an interface to help handle ClickEvents with the NInventoryUtil.java class
The only class making use of this at the moment is the ControlPanel.java class (the code behind /island)
Removed the worse method I have ever witnessed for populating an inventory from a Map
The above change is also an optimization.
Optimized the getBlockLimit method of the BlockLimitation.java class
Cached the version string, version number, and version release number in NMSUtil.java to avoid constant unneeded recalculations.
Optimized some methods in the LocationUtil.java class
Optimized the VoidGenerator.java class
Fixed an issue with spawner counts not reducing (the ones in /island level) when broken on versions before 1.13.2
Optimized and simplified the UserCacheManager.java class
reordered some local variables and slightly optimized the Block.java class
Made structure commands run after the default biome is set.