Skip to content

Releases: 2008Choco/VeinMiner

Custom Keybinds & Wildcards!

23 Jan 22:02
Compare
Choose a tag to compare

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 to SNEAK
  • Added numerous configuration options for client-exclusive functionality:
    • Client.AllowClientActivation: true - Whether or not VeinMiner4Bukkit can be used on the server
    • Client.DisallowedMessage: [] - The message(s) to send if the client has VeinMiner4Bukkit installed but AllowClientActivation is set to false
    • 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

19 Dec 02:47
Compare
Choose a tag to compare

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

15 Dec 22:32
Compare
Choose a tag to compare

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

  • Update AAC support from 4.x to 5.x (#48 - @konsolas)
  • Improve readability of some command output
  • Fix block lists not being loaded on first install of VeinMiner

1.16.3

24 Nov 15:36
Compare
Choose a tag to compare

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

20 Aug 16:58
Compare
Choose a tag to compare

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 and DisabledWorlds)
  • 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

19 Aug 00:31
Compare
Choose a tag to compare

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 the veinminer.reload permission instead of veinminer.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

1.16.0 Support & Long Awaited Features

05 Aug 20:31
Compare
Choose a tag to compare

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
  • 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 to false
  • 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 and VeinMiningPattern#createNewPattern(). The former's method was moved to VeinMiningPattern instead
    • VMPlayerData has been renamed to PlayerPreferences

Bug Fixes & QOL Features

12 Jun 21:01
Compare
Choose a tag to compare

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
  • 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 from true to op. 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 to ActivationStrategy 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!
  • 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

12 Jan 16:55
Compare
Choose a tag to compare

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