Configuration
- Latest version
- 4.5.0
- Minecraft
- 26.1.x, 26.2.x, 26.3.x
- Platforms
- Spigot, Paper, Folia, Purpur
- Minimum Java version
- 25+
Configuration
Files and persistence
Global settings
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.
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
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.
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.
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
MULTIPLE_DROP — Multiple Drop
GIVE_MONEY — Give Money
GIVE_LEVEL — Give Level
GIVE_EXPERIENCE — Give Experience
SPAWN_BONUS_CHEST — Spawn Bonus Chest
GIVE_POTION_EFFECT — Give Potion Effect
COMMAND — Command
REPAIR_TOOL — Repair Tool
EXPLOSION_REWARD — Explosion Reward
RENEW_BLOCK — Renew Block
CYCLE_ORE — Cycle Ore
ENCHANTMENT_REWARD — Enchantment Reward
GIVE_RANDOM_EFFECT — Give Random Effect
VEIN_BURST — Vein Burst
GOLDEN_APPLE — Golden Apple
ORE_SMELTER — Ore Smelter
PROSPECTOR_PULSE — Prospector Pulse
MINING_SHIELD — Mining Shield
AUTO_PICKUP — Auto Pickup
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.
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.
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!'
