Core Design
CoreExtractionX is a Paper-only survival enhancement plugin for Java 21 and Paper 1.21.11+. It changes configured block behavior when mined, while leaving all unconfigured blocks fully vanilla.
The plugin does not include a database, economy, GUI, progression system, vein mining, auto mining, custom drop framework, or protection-plugin hard dependency.
REPLACEMENT Mode
REPLACEMENT mode replaces the source block in the world and manually spawns the natural drops from the original block.
blocks:
diamond_ore:
enabled: true
mode: REPLACEMENT
replacement: COBBLESTONE
Drops are calculated once with the player's current main-hand tool and player entity. Fortune is handled by Paper's normal loot logic. XP is preserved as orbs when enabled.
DROP Mode
DROP mode leaves vanilla block breaking intact and adds an extra configured replacement item after generated drops exist.
blocks:
diamond_ore:
enabled: true
mode: DROP
replacement: COBBLESTONE
drop:
amount-mode: FIXED
fixed-amount: 1
Supported amount modes are FIXED, RANDOM, MATCH_DROPS, and MATCH_QUANTITY.
Dynamic Block Rules
Rules live under blocks: in ores.yml. Keys are dynamic Bukkit/Paper material names, read case-insensitively and stored internally by Material.
Invalid enabled rules are skipped with warnings. Valid rules continue loading.
Permission Behavior
CoreExtractionX resolves a block-specific permission first, then falls back to settings.permission. If no permission is required, every survival player can trigger the rule.
When a player lacks permission, VANILLA lets normal mining continue and DENY cancels the break.
Silk Touch Behavior
Silk Touch defaults to VANILLA, meaning CoreExtractionX does nothing and vanilla handles the break. Use DENY globally or per block to cancel Silk Touch mining for configured rules.
Drop Spawning
Manual drops can spawn at the block center or near the face the player is looking at. Extra DROP-mode stacks are split by material max stack size and invalid item stacks are avoided.
Protection Compatibility and Scope
CoreExtractionX uses ignoreCancelled = true for block break handling. If a protection plugin cancels the break first, CoreExtractionX does not modify blocks, drops, XP, or durability.