A small Fabric client mod that lets you restrict what your mouse button is allowed to mine — without you having to be careful about it.
PickyMiner has five modes, cycled or toggled with keybinds (unbound by default — set them in Controls):
- Disabled – Vanilla behavior. Mine whatever you want.
- Enabled – Once you start breaking a block, only blocks of that same type can be broken until you let go of attack. Great for veins of the same ore where blockstate (like orientation or growth stage) doesn't matter.
- Blockstate – Same idea, but stricter: it also has to match the exact blockstate. Useful when you only want to harvest, say, fully-grown crops and not the ones still growing next to them.
- Position – Locks onto the single block you first hit. Nothing else breaks until you release attack and start again. Handy for not flailing into neighboring blocks in tight spaces.
- Locked – Like Enabled, but persistent. It doesn't reset when you release attack — it stays locked onto whichever block type you targeted when you activated it, until you switch modes again. Good for long farming sessions where you don't want to re-select your target block every time you stop swinging.
The Locked mode is by far the mode that I use the most, and I find it makes mining large quantities of a single block very easy and relaxing.
The current mode shows up as a small overlay message whenever you switch, so you always know what's active.
- Cycle Mode – steps through Disabled → Enabled → Blockstate → Position → Locked → Disabled...
- Toggle Enabled, Toggle Blockstate, Toggle Position, Toggle Locked – jump straight to a specific mode, or back to Disabled if you're already in it.
All keybinds are unbound out of the box, so head into your controls menu and set up whatever feels natural.
- Install Fabric Loader for your Minecraft version.
- Install Fabric API — required.
- Drop the PickyMiner jar into your
modsfolder.
This is a client-side only mod and works by intercepting your mouse input before sending packets to the server. It doesn't need to be installed on the server, and it won't do anything if installed on one.
Released under MIT. See LICENSE for the full text.
Found a bug or have an idea for another mode? Open an issue or PR on GitHub.