VeinMiner 1.13.0
Details
-
FilenameVeinMiner-1.13.0.jar
-
Uploaded by
-
UploadedDec 20, 2018
-
Size96.47 KB
-
Downloads1,117
-
MD5732814461cb937d2b382f89572eaaa96
Supported Bukkit Versions
- 1.13
Changelog
WARNING!: This version of VeinMiner supports the most recent version of CraftBukkit / Spigot, Bukkit (git-Bukkit-ad28b1 - December 18th, 2018). VeinMiner's core functionality should work as intended but there will be issues with adding/removing blocks to/from the blocklist and listing blocklists by command. Errors will be thrown in the console. It is highly recommended that you update your server to the latest version of CraftBukkit / Spigot 1.13.2.
As always, if you have any issues with this build I invite you to communicate with me on my support Discord or create an issue on GitHub.
Changelog:
- Added a notification to the "/veinminer version" command that identifies when a new version is available for download
- Added "ALWAYS" to the types of activations in VeinMiner to have it be always activated, sneaking or not (configurable with ActivationMode: "ALWAYS")
- Added tool templates, both global and category-specific!
- Tool templates define a specific tool that must be used to activate VeinMiner (works hand-in-hand with the new ALWAYS activation)
- If you do not wish to have a specific tool (i.e. VeinMiner's default functionality), do not specify one in the configuration file
- Added a configuration option to alphabetically sort the block list when running "/veinminer blocklist <category> list"
- Added a configuration option to disable update checks (PerformUpdateChecks). Default true
- Massive efficiency improvements throughout the plugin:
- Improved the efficiency of VeinMiner's tool querying
- Improved the performance of block definitions using caching
- Improved the performance of VeinMiner's blocklist system. All blocklists are now handled individually rather than clumped together in a single registry
- Update the default comment header in the config.yml for new users of VeinMiner. Further explains how to define states and removes no longer supported features
- Tab completion for commands now partially complete. When typing "/veinminer ver", only "version" will be suggested rather than "version", "reload", etc.
- Block data and states are now parsed much more aggressively and accurately
- As an added bonus, command feedback now tells you exactly what was added/removed from the block lists
- Fix colour formatting issues in the /veinminer command when adding and removing blocks to/from the blocklist
- Fix "/veinminer blocklist <category> remove" being case-sensitive
- Fix a small warning accidentally being displayed due to the "ALL" category being considered a tool category (when it is not)
- API Changes (there are many... Any plugins using VeinMiner's API are likely broken. Though PlayerVeinMineEvent was untouched):
- The VeinTool enum has been renamed to ToolCategory
- The MineActivation enum has been renamed to ActivationStrategy
- Relocated all player-specific data to a new VMPlayerData object (VMPlayerData#get(OfflinePlayer) to get an instance), therefore the following methods have been removed
- VeinMinerManager#getPatternFor() and #setPattern()
- ToolCategory (formerly VeinTool) #disableVeinMiner(), #enableVeinMiner(), #toggleVeinMiner(), etc.
- ToolCategory#clearPlayerInformation()
- VeinBlock is now defined as an interface rather than a class
- A VeinBlock may be obtained using either VeinBlock#get(Material), VeinBlock#get(BlockData) or VeinBlock#fromString(String)
- #get(Material) defines no states
- #get(BlockData) defines states
- #fromString(String) parses a String representation of a material with optional states... "minecraft:chest" or "minecraft:chest[waterlogged=true]" are valid examples
- The concept of "raw data" no longer exists in VeinMiner's source. This was a temporary hack but is no longer needed as of git-Bukkit-ad28b1 (December 18th, 2018)
- A VeinBlock may be obtained using either VeinBlock#get(Material), VeinBlock#get(BlockData) or VeinBlock#fromString(String)
- Relocated a few classes and enums to different packages:
- wtf.choco.veinminer.api.VeinTool -> wtf.choco.veinminer.tool.ToolCategory
- wtf.choco.veinmienr.api.MaterialAlias -> wtf.choco.veinminer.data.MaterialAlias
- wtf.choco.veinmienr.api.blocks.VeinBlock -> wtf.choco.veinminer.data.block.VeinBlock
- Added a BlockList class which acts similar to a Set<VeinBlock> but has some additional functionality
- VeinMinerManager has updated accordingly. Removes any registration/removal methods for VeinBlock
- VeinMinerManager#getBlockList(ToolCategory) and VeinMinerManager#getBlockListGlobal() have been added among other utility methods
- Added a ToolCategory#fromItemStack(ItemStack) utility method where null will return ToolCategory#HAND