Releases: 2008Choco/VeinMiner
Custom Keybinds & Wildcards!
Overview
CUSTOM KEYBINDS ARE HERE!!! Kind of... A brief explanation of VeinMiner is that it's an exclusively server-sided mod (appropriately named, plugin. As are all other Bukkit plugins). The client, unfortunately, does not send the server information about what keys are pressed, only that an action has occurred as a result of a key press. Therefore, custom keybinds for VeinMiner were impossible. However, that does not stop users from installing an OPTIONAL client-sided mod to allow for that functionality, so that's what this update includes!
Changelog
- Added support for VeinMiner4Bukkit to allow custom keybinds from an optional Fabric mod
- Added a new activation mode,
/veinminer mode client
- Added
DefaultActivationStrategy
to the config file to set the default activation strategy when a player joins and has not yet explicitly set one. Defaults toSNEAK
- Added numerous configuration options for client-exclusive functionality:
Client.AllowClientActivation: true
- Whether or not VeinMiner4Bukkit can be used on the serverClient.DisallowedMessage: []
- The message(s) to send if the client has VeinMiner4Bukkit installed butAllowClientActivation
is set tofalse
Client.SuggestClientModPeriod: "1d"
- The time period when a player should be reminded... i.e. only reminded every 1 day. (format:1w2d3h4m5s
, weeks, days, hours, minutes, seconds respectively). Set to-1
to not remind the player.Client.SuggestionMessage: []
- The message(s) to send to remind the player of the client mod
- Added
DisabledGameModes
configuration option to set which game modes should not be allowed to vein mine. Defaults to creative and spectator mode.- Consequently, fixes being unable to vein mine in adventure mode
- Added support for wildcard blocks in blocklists. Adding
*
to a blocklist will now allow you to vein mine any block or block state. States are ignored while vein mining, it's equivalent to a stateless block.
API
- Add
PlayerClientActivateVeinMinerEvent
called when a player's keybind has been pressed or released. This event is only called if the client-sided mod is installed and may be cancelled
Fabric Mod
Your users now have the option to install a client-sided Fabric mod to activate VeinMiner on your server. This is harmless and no different than sneak activation, only it allows clients to configure the button themselves. Do not fret, this mod is optional and not required to use VeinMiner on your server. You may suggest that your players install it with Fabric, or instead you may let them use VeinMiner as they have been for the last 5 or so years this plugin has existed.
You may find the VeinMiner4Bukkit Fabric mod here:
https://www.curseforge.com/minecraft/mc-mods/veinminer4bukkit
Bug Fix & Modernized Update Checker
Overview
Another small release to address concerns with incompatibilities with plugins that also break blocks in quick succession (such as AdvancedEnchantments and its mining-related enchantments). This is a relatively small update but advised for those that run enchantment plugins.
Changelog
- Use SpigotMC's official web API to check for plugin updates
- Fix incompatibilities (ConcurrentModificationException) with numerous mining-related plugins
AAC 5 Support & Adjustments
Overview
This is a minor release dropping support for AAC 4 and moving instead to AAC 5. If you use Advanced AntiCheat and have not yet updated, please do so before updating to this version of VeinMiner.
Changelog
1.16.3
Overview
Small release to address an issue reported to me by first time users, as well as better integration with WorldGuard. There may be another minor release sometime in the near future, though for the the time being, VeinMiner remains relatively stable.
Changelog
- Add WorldGuard flag,
veinminer
, to change whether or not VeinMiner can be used in a region- Permission is still required to use VeinMiner regardless of whether or not the flag is set to ALLOW
- Fix IllegalArgumentException on startup for first-time users
More Bug Fixes & Matrix Anti Cheat Support
Overview
As of VeinMiner 1.16.0, I was receiving reports that numerous configuration options were not being read properly from the configuration (including MaxVeinSize, IncludeEdges, etc.). This version resolves these issues as well as adds support for another mainstream anti cheat, Matrix!
Changelog
- Add native support for Matrix anti cheat. Should no longer receive false flags for fast break
- Update various anti cheat dependencies
- Developers: VeinMiner's pom.xml has been cleaned up significantly! It should make contributions much easier 🙂
- Improve and make consistent the anti cheat integration. Should prevent any edge cases
- Fix various configuration options not working as intended (
MaxVeinSize
,RepairFriendlyVeinminer
,IncludeEdges
,Cost
andDisabledWorlds
) - Fix player's preferences not being saved to file if the server was stopped or reloaded
- Fix
/veinminer reload
not properly reloading categories or blocklists
Minor Bug Fixes & API Additions
Overview
This is a minor update to push a couple fixes from the most recent release, as well as add a few new API features for developers.
Changelog
- Update bStats from 1.5 -> 1.7
- Fixed the
/veinminer toggle
tab completion using theveinminer.reload
permission instead ofveinminer.toggle
(was hot-fixed into 1.16.0, but still worth noting here for those that didn't download it) - Fix
IncludeEdges
not being recognized at the tool template configuration level - Fix
/veinminer blocklist <category> list
not alphabetically sorting block states - API Changes:
- Add
PlayerVeinMineEvent#getItem()
to get the tool used to vein mine (can be null) - Add nullability annotations where they were previously missing
- Add
1.16.0 Support & Long Awaited Features
Overview
Since this project has begun, I've had people ask when I could add the option to decrease a player's hunger while vein mining. Or when I would let /veinminer toggle
be persistent across restarts. Well, your answer is here! A few long-requested features have finally been added alongside numerous bug fixes and inconsistencies throughout the project. I present you, VeinMiner 1.16.0 (which still supports 1.13.x - 1.16.x!)
Changelog
- Added 1.16 blocks and items to their respective default block and tool lists
- Added configuration options to exhaust the player while vein mining. This is enabled by default at a factor of 4 (this seemed most balanced while testing)
- Added
/veinminer mode
command to change, per-player, how VeinMiner should activate- Consequently, the
ActivationStrategy
configuration option has been removed as this is now per-player. - Permission for this command is
veinminer.mode
, default to all players
- Consequently, the
- All player-specific data is now written to file and loaded when necessary. It will save across restarts (things such as whether or not vein miner was toggled on/off or what mode they are in)
- Changed slightly the permission structure:
- Removed
veinminer.free
- It has been replaced with... - Added
veinminer.free.economy
- Exempts players from the economic cost of VeinMiner - Added
veinminer.free.hunger
- Exempts players from the hunger cost of VeinMiner - Added
veinminer.free.*
to encompass both aforementioned permissions. All default tofalse
- Removed
- Reworked project internals to improve ease of use for developers and slightly increase the performance of vein mining
- Fixed the
veinminer.toollist.list.<category>
permission node not working - Fixed dynamic (custom)
veinminer.veinmine.<category>
permission nodes being given to op players rather than all players by default - Fixed
RepairFriendlyVeinminer
not working as intended - Fixed many, MANY inconsistent, outdated and/or incorrect messages throughout the project
- Removed the VeinMiner prefix and better formatted the plugin's chat messages
- API Changes:
- Removed the
Chat
utility class - Reworked the
AlgorithmConfig
class almost entirely to be more performant, compact and easier to work with - Removed protected access from methods and fields in
BlockCache
. These are not meant to be public-facing API - Removed
BlockAllocator
andVeinMiningPattern#createNewPattern()
. The former's method was moved toVeinMiningPattern
instead VMPlayerData
has been renamed toPlayerPreferences
- Removed the
Bug Fixes & QOL Features
Overview
This is a minor release that introduces a few fixes for long-standing issues in VeinMiner, as well as a couple QOL features for VeinMiner. This update is not mandatory but recommended so you can keep up to date with all the necessary bug fixes 😄
Additionally, instead of waiting for BukkitDev to approve my files, VeinMiner will now release mirrors on GitHub to which SpigotMC users will be directed. BukkitDev uploads have become secondary and will eventually cease to be maintained.
Changelog
/veinminer blocklist <category> <add/remove>
and/veinminer toollist <category> <add/remove>
now accept an arbitrary amount of items- Example:
/veinminer blocklist pickaxe add coal_ore minecraft:iron_ore diamond_ore minecraft:gold_ore
is now valid and will add all four blocks to the list
- Example:
- Veinmining patterns are now global and assignable by a server operator (as opposed to per-player which caused confusion)
- It is still recommended that you remain on the default pattern. This change merely restricts access to pattern changing functionality to avoid unnecessary confusion or player-sourced server lag
- As such,
veinminer.pattern
's default permission level has been changed fromtrue
toop
. It is advised that you revoke this permission from players if you had explicitly given it before through your permission plugin. This is an operator permission node - API: Consequently,
PlayerSwitchPatternEvent
has been removed from the API
- (#36) Fix the first call of BlockBreakEvent being ignored causing incompatibility with other plugins
- (#37) Fix
ActivationMode
not being changed toActivationStrategy
based on the change from a previous update.- This will not affect any current configuration files, only the default. Therefore if you have it set to
ActivationMode
, please change it accordingly!
- This will not affect any current configuration files, only the default. Therefore if you have it set to
- Fix player names being tab completed under certain conditions when not necessary
- Fix the
hand
category being suggested as a tab completion for/veinminer toollist
despite not being editable - Fix
/veinminer blocklist <category> <add/remove>
and/veinminer toollist <category> <add/remove>
not suggesting tab completions for valid blocks and items respectively- Tab completion for these subcommands is now much smarter!
VeinMiner 1.15.0 - Mirror
This is a mirror to the VeinMiner 1.15.0 update for Bukkit 1.13.x - 1.15.x. For a list of changes, see https://www.spigotmc.org/resources/veinminer.12038/update?update=313206