Version 1.0.1 (Improvements and Fixes)
Improvements:
Config Defaults & Reloads: Implemented saving defaults, copying values, and reloading configurations cleanly.
Flexible Ore List: Allowed server administrators to customize the list of ores through the configuration file.
BFS Vein Search: Replaced recursion with a queue-based BFS algorithm to avoid stack overflow issues during vein mining.
Durability Handling: Correctly accounted for the Unbreaking enchantment when applying durability damage to tools.
Action Bar Feedback: Added user experience enhancements by displaying the number of additional blocks mined in the action bar.
Permission Check for Reload: Implemented permission checks to restrict access to the reload command.
Fixes:
Removed Duplicate Imports: Cleaned up the code by removing duplicate import statements.
XP Calculation: Adjusted XP handling to ensure it aligns with vanilla mechanics, providing appropriate rewards for mined ores.
Durability Application: Fixed the issue of double counting durability damage for the original mined block.
Block Drops Duplication: Ensured that drops for the original block are not duplicated, preventing inconsistencies.
Efficiency: Enhanced performance by breaking early once the maximum block limit is reached, reducing unnecessary processing.
Silk Touch Check: Added support for the Silk Touch enchantment, allowing players to mine ores without breaking them into drops.
Tool Whitelist: Implemented a check to ensure only pickaxes can activate vein mining, preventing unintended usage with bare hands.
Multi-thread Safety: Considered offloading scanning to async to improve performance for large veins (optional).
Fixes:
Distance Check Bug: Corrected the distance checks in the BFS algorithm to ensure accurate range limits from the original mined block.
Missing Imports: Added missing imports for Collectors and Enchantment to ensure the code compiles correctly.
Enhanced XP Handling: Improved XP calculation by utilizing the BlockExpEvent for extra blocks, allowing for better integration with other plugins.
Improvements:
Documentation: Updated comments and documentation within the code for better clarity and understanding.
Fixes:
General Bug Fixes: Continuously monitored and addressed any bugs or issues reported by users to ensure a smooth experience.
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }