1 release, newest first.
Two configurable custom pickaxes for Paper servers: one that mines a cube, one that multiplies the drops. Both respect region protection per block rather than all-or-nothing.
Area Pickaxe breaks an N x N x N cube centred on the block you mine. The size is any odd number (3, 5, 7, ...), bounded by a max-size safety cap. An even value is rounded up and anything above the cap is clamped, with a warning on boot.
Duplicator Pickaxe drops extra copies of every block it mines. extra-drops: 1 doubles, 2 triples, and there is no upper cap. Copies can go straight into the miner's inventory, so auto-pickup cores do not swallow them.
Every block in a cube is removed with a real vanilla break, so drops, experience, tool durability and the MINE_BLOCK statistic behave exactly as they do for the block you clicked. Fortune and Silk Touch apply throughout.
A block that carries contents is never duplicated: a shulker box with items in it, a bee-filled hive. Empty containers duplicate normally. This keeps the Duplicator from turning one filled shulker into an unlimited source of whatever is inside it.
omnitool: true is a global switch that turns both pickaxes into an omni-tool. The instant a player starts mining, the pickaxe morphs in hand into the tool matching the block, at the same tier as its configured material: a Diamond Pickaxe becomes a Diamond Axe on wood, a Diamond Shovel on sand, a Diamond Hoe on leaves, and a Pickaxe again on stone. Because the held item genuinely becomes that tool, mining speed and drops are correct natively, and both abilities work on those block types.
A morph rebuilds the item from items.yml, so it keeps the configured name, lore and enchantments. A morph is one-way: an item that has become an axe stays an axe until it is mined with again.
Each pickaxe has its own regions block, so you can limit where its special ability works per WorldGuard region, in blacklist or whitelist mode, with an independent list each. When the ability is blocked the item still mines as a normal vanilla pickaxe; the swing itself is never cancelled.
WorldGuard is optional. Without it the pickaxes simply work everywhere. A restriction that is configured but cannot be enforced is reported as a warning rather than ignored silently.
| Command | Description |
|---|---|
/snpickaxes give <player> <area|duplicator> [amount] | Give a pickaxe to a player |
/snpickaxes reload | Reload configuration, items and language files |
/snpickaxes debug | Toggle runtime debug output |
/snpickaxes help | Show the command list |
Every subcommand is admin-only; there are no player-facing commands. The root command is gated by snpickaxes.admin, so a sender without that node is not offered /snpickaxes in tab completion. The children snpickaxes.admin.give, .reload, .debug and .update all default to OP.
config.yml holds what the pickaxes do: sizes, drop counts, region rules, the omnitool switch and the debug settings.items.yml holds what they look like: material, display name, lore, custom model data, glow, enchantments, unbreakable, keep-on-death and no-drop, one section per pickaxe. %size%, %extra% and %multiplier% are available in the name and lore.lang/messages_en.yml holds all player-facing text.New keys merge into your files automatically on boot, with your values and comments preserved.
advanced.block-break-event-priority defaults to MONITOR and should stay there unless a core cancels the break to auto-collect. Below MONITOR the handler also runs before WorldGuard, Lands and GriefPrevention, which would hand out copies for breaks those plugins then refuse. The plugin warns about this on every boot.