All documentation
PLUGIN WIKI

MiningRewards — Configuration

Create mining rewards and adjust their conditions and effects from an in-game menu.

View plugin

Configuration

Current release information
Latest version
4.5.0
Minecraft
26.1.x, 26.2.x, 26.3.x
Platforms
Spigot, Paper, Folia, Purpur
Minimum Java version
25+
Release notes
Version 4.5.0Last updated: 2026-10-19 10:39
Configuration

Files and persistence
Config.yml holds global controls and generated Safety settings. Messages.yml holds chat/console templates and broadcast switches. Rewards/<reward_name>.yml is one reward; its filename is its name. placedBlocks.db records world coordinates of placed blocks. SQLite does not store reward definitions or synchronize rewards between servers.

Global settings
ClaimingRewardsStatus controls normal reward processing; the claimingrewardsbypass permission only bypasses this switch. PermissionRequired requires reward permissions globally. DisabledForPlacedBlocks: true blocks rewards from tracked player-placed blocks, despite the ambiguous bundled comment. DisabledWorlds is an optional world-name list, initially empty. ParticleStatus/Particle and SoundStatus/Sound control general activation effects. Leave CfgVersion unchanged.

Safety limits
The Safety section below is added at startup and is absent from the small bundled Config.yml. MaxRewardsPerBlockBreak is 1–20 (default 3); PlayerTriggerCooldownTicks is 0–1200 (0 disables); SkipCreativeMode defaults true. MaxVeinBurstBlocks is 1–256 (default 64). MaxExplosionPower defaults 4 and is bounded to 0–16; ExplosionBlockDamage defaults false. AllowUnsafeEnchantments defaults false. Command.MaxLength is 1–1024 (default 256). BlockedPrefixes defaults to op, deop, stop, restart and reload.

Code · Plain text

Safety:
  MaxRewardsPerBlockBreak: 3
  PlayerTriggerCooldownTicks: 0
  SkipCreativeMode: true
  MaxVeinBurstBlocks: 64
  MaxExplosionPower: 4.0
  ExplosionBlockDamage: false
  AllowUnsafeEnchantments: false
  Command:
    MaxLength: 256
    BlockedPrefixes:
    - op
    - deop
    - stop
    - restart
    - reload


Command rewards run as console, replacing %PLAYER% and %BLOCK%. Leading slashes are stripped and multiline commands are rejected. BlockedPrefixes compares the exact first command word, case-insensitively; it is not a general prefix or permission firewall. Namespaced aliases must be listed separately if you want to block them. Grant command-reward editing only to trusted staff.

Messages and effects
Messages.yml supports & colors and &#RRGGBB HEX. BROADCAST_REWARD_TO_PLAYER, BROADCAST_REWARD and BROADCAST_REWARD_CONSOLE are independent. Reward-type keys define personal messages and their _BROADCAST versions define announcements. Preserve the placeholders used by each template. UPDATE_CHECKER_ON_JOIN and miningrewards.update control join update notices. GUI labels are not all translated by editing this file.

Startup adds MINING_SHIELD, MINING_SHIELD_BROADCAST, MINING_SHIELD_ABSORB, AUTO_PICKUP and AUTO_PICKUP_BROADCAST when missing. The supplement below reproduces those defaults. General ParticleStatus/SoundStatus controls are separate from reward-specific PlayEffects/PlaySound. Not every reward type has an activation-message mapping; Golden Apple has none in this version.

Code · Plain text

MINING_SHIELD: '&6[REWARD] &bMining Shield activated with &e%CHARGES% &bcharges for
  &e%DURATION%s&b from %BROKEN% (%CHANCE%%)'
MINING_SHIELD_BROADCAST: '&6[REWARD] &7%PLAYER% activated Mining Shield with %CHARGES%
  charges for %DURATION%s from %BROKEN% (%CHANCE%%)'
MINING_SHIELD_ABSORB: '&3[MINING SHIELD] &7Absorbed &b%REDUCTION%%% &7damage. &e%CHARGES%
  &7charge(s) left.'
AUTO_PICKUP: '&6[REWARD] &bAuto Pickup is active. Drops from %BROKEN% go directly
  to your inventory (%CHANCE%%)'
AUTO_PICKUP_BROADCAST: '&6[REWARD] &7%PLAYER% activated Auto Pickup from %BROKEN%
  (%CHANCE%%)'


Common reward fields
The shared schema is shown below. Broken_block is a list of Minecraft material identifiers; Chance is a percentage; VIPAccess controls permission gating; Drop_broken_block controls normal drops where the reward supports it. DisabledWorlds is a list of world names. WorldGuardRegion.Enabled/Disabled maps region IDs to a World value. Keep technical keys and enum identifiers in English.

Code · Plain text

Reward_type: AUTO_PICKUP
Broken_block:
- STONE
- DEEPSLATE
Chance: 25.0
VIPAccess: false
Drop_broken_block: true
DisabledWorlds: []
WorldGuardRegion:
  Enabled: {}
  Disabled: {}


Code · Plain text

DisabledWorlds:
- lobby
WorldGuardRegion:
  Enabled:
    mine:
      World: world
  Disabled:
    spawn:
      World: world


Names must be unique ignoring case, nonempty, at most 48 characters, without leading/trailing spaces, '..', control characters or invalid filename characters. Reserved operating-system filenames are rejected. Command edit/remove matching uses the saved name's exact case. Rename through the GUI when possible; it also changes the permission name derived from the reward name.

Reward-specific fields
Below are all 20 types and the keys each type reads or saves. These key lists are reference material, not complete reward files. Use the GUI for Bukkit ItemStack, chest-item and potion-effect serialization. Types without extra fields still need the common schema.

Item_to_drop stores the GUI-selected ItemStack. Chest_items maps inventory slots 0–26 to serialized ItemStacks.

Multiply is the number of copies; Money is the Vault amount; Level is the granted level count for GIVE_LEVEL or enchantment level for ENCHANTMENT_REWARD; Exp is direct XP points. Power is explosion strength, also capped globally. Enchantment accepts a supported enchantment identifier.

GIVE_POTION_EFFECT saves Potion_effect as a Bukkit potion object; the alternate readable form uses Potion_effect_type, Potion_effect_duration and Potion_effect_amplifier. That alternate duration is ticks, not seconds. GIVE_RANDOM_EFFECT uses Effects, Duration in seconds (1–3600) and Amplifier (0–255); amplifier 0 means effect level I.

OreChances maps supported ore materials to weights; the editor normalizes them. Delay is seconds (0–3600). RENEW_BLOCK and CYCLE_ORE replace the block only if the target is still air and its chunk remains loaded. They suppress normal drops as part of replacing the block.

Golden Apple durations RegenDuration and AbsorptionDuration are ticks (1–72000), and amplifiers are 0–255. FeedEnabled controls FoodPoints and Saturation (0–20); PlaySound controls its sounds. Ore Smelter's RespectFortune, DropExperience and PlayEffects are booleans. Its custom smelted drops are not the normal block-drop event collected by Auto Pickup.

DROP_ITEM — Drop Item
Code · Plain text

Reward_type: DROP_ITEM
Item_to_drop


MULTIPLE_DROP — Multiple Drop
Code · Plain text

Reward_type: MULTIPLE_DROP
Multiply


GIVE_MONEY — Give Money
Code · Plain text

Reward_type: GIVE_MONEY
Money


GIVE_LEVEL — Give Level
Code · Plain text

Reward_type: GIVE_LEVEL
Level


GIVE_EXPERIENCE — Give Experience
Code · Plain text

Reward_type: GIVE_EXPERIENCE
Exp


SPAWN_BONUS_CHEST — Spawn Bonus Chest
Code · Plain text

Reward_type: SPAWN_BONUS_CHEST
Chest_items


GIVE_POTION_EFFECT — Give Potion Effect
Code · Plain text

Reward_type: GIVE_POTION_EFFECT
Potion_effect
Potion_effect_type
Potion_effect_duration
Potion_effect_amplifier


COMMAND — Command
Code · Plain text

Reward_type: COMMAND
Command


REPAIR_TOOL — Repair Tool
Code · Plain text

Reward_type: REPAIR_TOOL


EXPLOSION_REWARD — Explosion Reward
Code · Plain text

Reward_type: EXPLOSION_REWARD
Power


RENEW_BLOCK — Renew Block
Code · Plain text

Reward_type: RENEW_BLOCK


CYCLE_ORE — Cycle Ore
Code · Plain text

Reward_type: CYCLE_ORE
OreChances
Delay


ENCHANTMENT_REWARD — Enchantment Reward
Code · Plain text

Reward_type: ENCHANTMENT_REWARD
Enchantment
Level


GIVE_RANDOM_EFFECT — Give Random Effect
Code · Plain text

Reward_type: GIVE_RANDOM_EFFECT
Effects
Duration
Amplifier


VEIN_BURST — Vein Burst
Code · Plain text

Reward_type: VEIN_BURST
Radius
MaxBlocks


GOLDEN_APPLE — Golden Apple
Code · Plain text

Reward_type: GOLDEN_APPLE
RegenAmplifier
RegenDuration
AbsorptionAmplifier
AbsorptionDuration
FeedEnabled
FoodPoints
Saturation
PlaySound


ORE_SMELTER — Ore Smelter
Code · Plain text

Reward_type: ORE_SMELTER
RespectFortune
DropExperience
PlayEffects


PROSPECTOR_PULSE — Prospector Pulse
Code · Plain text

Reward_type: PROSPECTOR_PULSE
ScanRadius
MaxTargets
DurationSeconds
HiddenOnly
TargetOres


MINING_SHIELD — Mining Shield
Code · Plain text

Reward_type: MINING_SHIELD
Charges
DurationSeconds
DamageReductionPercent
PlayEffects


AUTO_PICKUP — Auto Pickup
Code · Plain text

Reward_type: AUTO_PICKUP
CollectExperience
OverflowAtPlayer
PlayEffects


Reward examples
These are complete example reward files, each saved under the shown filename in Rewards/. They are examples, not generated default rewards. Restart after manual reward-file edits; the plugin has no dedicated reload subcommand. GUI edits save reward files directly.

Rewards/pickup_stone.yml

Code · Plain text

Reward_type: AUTO_PICKUP
Broken_block:
- STONE
- DEEPSLATE
Chance: 100.0
VIPAccess: false
Drop_broken_block: true
DisabledWorlds: []
CollectExperience: true
OverflowAtPlayer: true
PlayEffects: true



Rewards/miner_shield.yml

Code · Plain text

Reward_type: MINING_SHIELD
Broken_block:
- IRON_ORE
- DEEPSLATE_IRON_ORE
Chance: 5.0
VIPAccess: false
Drop_broken_block: true
DisabledWorlds: []
Charges: 3
DurationSeconds: 60
DamageReductionPercent: 100
PlayEffects: true



Rewards/find_diamonds.yml

Code · Plain text

Reward_type: PROSPECTOR_PULSE
Broken_block:
- STONE
- DEEPSLATE
Chance: 1.0
VIPAccess: false
Drop_broken_block: true
DisabledWorlds: []
ScanRadius: 12
MaxTargets: 3
DurationSeconds: 8
HiddenOnly: true
TargetOres:
- DIAMOND
- EMERALD



Rewards/announce_diamond.yml

Code · Plain text

Reward_type: COMMAND
Broken_block:
- DIAMOND_ORE
- DEEPSLATE_DIAMOND_ORE
Chance: 10.0
VIPAccess: false
Drop_broken_block: true
DisabledWorlds: []
Command:
- say %PLAYER% mined %BLOCK%!



Complete bundled files
These two blocks reproduce the exact bundled Config.yml and Messages.yml. The Safety section and new message supplement are added at startup. Merge examples into existing sections instead of duplicating keys, and retain existing Rewards/ files and the placed-block database.

Config.yml

Code · Plain text

#Messages version
#DO NOT CHANGE IT MANUALLY!
CfgVersion: 1.4

#Status of the claim rewards
#Default: true
ClaimingRewardsStatus: true

# Requires permission for all rewards.
# If set to TRUE, it overrides and ignores the absence of permission requirements in the reward settings.
# Default: false
PermissionRequired: false

#Allow claiming rewards from placed blocks by players.
#Default: true
DisabledForPlacedBlocks: true

ParticleStatus: true
Particle: FLAME

SoundStatus: true
Sound: entity.firework_rocket.blast





Messages.yml

Code · Plain text

#Messages version
#DO NOT CHANGE IT MANUALLY!
CfgVersion: 2.2

UPDATE_CHECKER_ON_JOIN: true

BROADCAST_REWARD_TO_PLAYER: true

DROP_ITEM: '&6[REWARD] &7Dropped %ITEM% from %BROKEN% (%CHANCE%%)'
GIVE_MONEY: '&6[REWARD] &7You just got +%MONEY%$ from %BROKEN% (%CHANCE%%)'
MULTIPLE_DROP: '&6[REWARD] &7Multiplied %BROKEN% %AMOUNT%x (%CHANCE%%)'
GIVE_LEVEL: '&6[REWARD] &7You just got +%LVL% to level from %BROKEN% (%CHANCE%%)'
GIVE_EXPERIENCE: '&6[REWARD] &7You just got +%EXP% experience from %BROKEN% (%CHANCE%%)'
SPAWN_BONUS_CHEST: '&6[REWARD] &7Bonus chest was spawned from %BROKEN% (%CHANCE%%)'
GIVE_POTION_EFFECT: '&6[REWARD] &7You just got %EFFECT% | %DURATION%sec. from %BROKEN% (%CHANCE%%)'
COMMAND: '&6[REWARD] &7You just received command (/%COMMAND%) from %BROKEN% (%CHANCE%%)'
REPAIR_TOOL: '&6[REWARD] &7Your tool has been repaired from %BROKEN% (%CHANCE%%)'
EXPLOSION_REWARD: '&6[REWARD] &7Your tool has triggered an explosion at %BROKEN% (%CHANCE%%)'
RENEW_BLOCK: '&6[REWARD] &7The block was renewed from %BROKEN% (%CHANCE%%)'
CYCLE_ORE: '&6[REWARD] &7The ore was cycled to a new type from %BROKEN% (%CHANCE%%)'
ENCHANTMENT_REWARD: '&6[REWARD] &7Your tool was enchanted with %EFFECT% (Level %LEVEL%) from %BROKEN% (%CHANCE%%)'
GIVE_RANDOM_EFFECT: "&6[REWARD] &aYou've received a random effect: &e%EFFECT% &afor &e%DURATION%s &awith amplifier &e%AMPLIFIER%&a! (%CHANCE%%)"
VEIN_BURST: "&6[REWARD] &aVein Burst! &7You mined extra blocks from %BROKEN% (%CHANCE%%)"
ORE_SMELTER: '&6[REWARD] &7Smelted %BROKEN% into %ITEM% (%CHANCE%%)'
PROSPECTOR_PULSE: '&6[REWARD] &bProspector Pulse detected &e%TARGETS% &bore targets within &e%RADIUS% &bblocks. Follow the beam! (%CHANCE%%)'


BROADCAST_REWARD: true
BROADCAST_REWARD_CONSOLE: true

DROP_ITEM_BROADCAST: '&6[REWARD] &7%PLAYER% just dropped %ITEM% from %BROKEN% (%CHANCE%%)'
GIVE_MONEY_BROADCAST: '&6[REWARD] &7%PLAYER% just got +%MONEY%$ from %BROKEN% (%CHANCE%%)'
MULTIPLE_DROP_BROADCAST: '&6[REWARD] &7%PLAYER% multiplied %BROKEN% %AMOUNT%x (%CHANCE%%)'
GIVE_LEVEL_BROADCAST: '&6[REWARD] &7%PLAYER% just got +%LVL%lvl from %BROKEN% (%CHANCE%%)'
GIVE_EXPERIENCE_BROADCAST: '&6[REWARD] &7%PLAYER% just got +%EXP%exp from %BROKEN% (%CHANCE%%)'
SPAWN_BONUS_CHEST_BROADCAST: '&6[REWARD] &7%PLAYER% spawned bonus chest from %BROKEN% (%CHANCE%%)'
GIVE_POTION_EFFECT_BROADCAST: '&6[REWARD] &7%PLAYER% just got %EFFECT% | %DURATION%sec. from %BROKEN% (%CHANCE%%)'
COMMAND_BROADCAST: '&6[REWARD] &7%PLAYER% executed command (/%COMMAND%) from %BROKEN% (%CHANCE%%)'
REPAIR_TOOL_BROADCAST: '&6[REWARD] &7%PLAYER% repaired their tool from %BROKEN% (%CHANCE%%)'
EXPLOSION_REWARD_BROADCAST: '&6[REWARD] &7%PLAYER% triggered an explosion at %BROKEN% (%CHANCE%%)'
RENEW_BLOCK_BROADCAST: '&6[REWARD] &7%PLAYER% renewed a block from %BROKEN% (%CHANCE%%)'
CYCLE_ORE_BROADCAST: '&6[REWARD] &7%PLAYER% cycled the ore at %BROKEN% to a new type (%CHANCE%%)'
ENCHANTMENT_REWARD_BROADCAST: '&6[REWARD] &7%PLAYER% received %EFFECT% (Level %LEVEL%) from %BROKEN% (%CHANCE%%)'
GIVE_RANDOM_EFFECT_BROADCAST: "&6[REWARD] &6%PLAYER% &7received a random effect &b%EFFECT% &7while mining &a%BROKEN%&7 (%CHANCE%%)."
VEIN_BURST_BROADCAST: "&6[REWARD] &6%PLAYER% &7triggered Vein Burst from %BROKEN% (%CHANCE%%)"
ORE_SMELTER_BROADCAST: '&6[REWARD] &7%PLAYER% smelted %BROKEN% into %ITEM% (%CHANCE%%)'
PROSPECTOR_PULSE_BROADCAST: '&6[REWARD] &7%PLAYER% activated Prospector Pulse and detected %TARGETS% ore targets within %RADIUS% blocks (%CHANCE%%)'


CREATED_REWARD: '&c[SETTINGS] &7Created reward'
REMOVED_REWARD: '&c[SETTINGS] &7Removed reward'
NAME_CHANGED: '&c[SETTINGS] &7Name was changed'

WRONG_VALUE: '&c[SETTINGS] &7WRONG VALUE!'
ORE_SMELTER_WRONG_BLOCK: '&c[ORE SMELTER] &7Use only iron, gold or copper ore, or ancient debris.'
PROSPECTOR_PULSE_NOTHING: '&3[PROSPECTOR PULSE] &7No configured ore was found in loaded terrain within %RADIUS% blocks.'
PROSPECTOR_PULSE_TARGET_REQUIRED: '&c[PROSPECTOR PULSE] &7At least one ore group must remain enabled.'
WRONG_NAME: '&c[SETTINGS] &7WRONG NAME!'
NO_PERMISSION: '&c[SETTINGS] &7NO PERMISSION!'



Welcome — language and privacy

Essential cookies keep sign-in secure and remember your choices. Optional statistics and YouTube media stay off until you allow them. You can change this choice in the footer. Privacy