Skip to main content

Overview

SpeedMine (implemented as Nuker) allows you to break blocks much faster than normal mining. It features multiple modes for different scenarios: mass block breaking, terrain flattening, selective mining, farming, and even a special pearl mode for end portal frames.

Features

  • Five mining modes for different purposes
  • Automatic rotation towards blocks
  • Configurable range (1-6 blocks)
  • Automatic closest block selection
  • Strict mode for anti-cheat compatibility
  • Special pearl mode for item frame attacks
  • Works with AutoTool for automatic tool selection

Settings

Mode
enum
default:"All"
Mining behavior mode
  • All: Breaks any mineable block within range
  • Flatten: Only breaks blocks at or above your Y level (creates flat surface)
  • Selective: Only breaks shulker boxes
  • Farm: Only breaks fully grown crops
  • Pearl: Attacks item frames (for pearl teleportation)
Range
number
default:"5.0"
Maximum mining distance in blocks (1.0-6.0)Higher range is more efficient but more detectable
Rotate
boolean
default:"true"
Automatically rotates your head towards the block being minedRecommended for anti-cheat compatibility
Strict
boolean
default:"true"
Only mines blocks you can directly see (no mining through walls)More anti-cheat safe but may miss some blocks
Predict
boolean
default:"true"
(Pearl mode only) Predicts and breaks item frames before they fully spawn

How It Works

1

Block Scanning

Scans all blocks within range to find valid mining targets:
// Located at: player/Nuker.java:154-183
for (float x = range; x >= -range; x--) {
    for (float y = range; y >= (mode.equals("Flatten") ? 0 : -range); y--) {
        for (float z = range; z >= -range; z--) {
            BlockPos pos = mc.player.getBlockPos().add(x, y, z);
            double distance = mc.player.squaredDistanceTo(pos.toCenterPos());
            
            if (canMine(pos) && distance < bestDistance) {
                bestDistance = distance;
                nukerBlock = pos;
            }
        }
    }
}
2

Mode Filtering

Applies mode-specific filters to determine if block should be mined
3

Rotation (Optional)

If enabled, rotates towards the selected block
4

Mining

Continuously attacks the block until broken:
Direction side = BlockUtils.getMineableSide(current, strict.getValue());
mc.interactionManager.updateBlockBreakingProgress(current, side);
mc.player.swingHand(Hand.MAIN_HAND);

Mining Modes

Universal Mining

Breaks any mineable block within range:Use Cases:
  • Clearing areas quickly
  • Breaking through barriers in PvP
  • General resource gathering
  • Mining tunnels
Behavior:
  • Scans full sphere around player (range)
  • Selects closest valid block
  • Breaks continuously
  • Moves to next block automatically
Best Settings:
Mode: All
Range: 5.0
Rotate: true
Strict: true

Block Filtering

SpeedMine validates blocks before mining:
// Located at: player/Nuker.java:185-215
public boolean canMine(BlockPos pos) {
    BlockState state = mc.world.getBlockState(pos);
    double distance = mc.player.squaredDistanceTo(pos.toCenterPos());
    
    // Mode-specific checks (Farm, Selective, etc.)
    // ...
    
    return !state.isAir() 
        && !(state.getBlock() instanceof FluidBlock)
        && !(distance > MathUtil.square(breakRange.getValue().floatValue()))
        && BlockUtils.isMineable(state);
}

Invalid Blocks

  • Air blocks
  • Fluids (water, lava)
  • Out of range blocks
  • Unmineable blocks (bedrock, barriers)
  • Mode-specific exclusions

HUD Info

Shows current mining mode:
@Override
public String getHudInfo() {
    return mode.getValue();  // "All", "Flatten", etc.
}

Configuration Presets

Mode: All
Range: 5.0
Rotate: true
Strict: false

→ Breaks everything nearby
→ Maximum efficiency
→ Good for vanilla servers

Advanced Techniques

SpeedMine always mines the closest valid block:
double bestDistance = 9999;
for (each block in range) {
    double distance = mc.player.squaredDistanceTo(pos.toCenterPos());
    if (distance >= bestDistance) continue;
    if (canMine(pos)) {
        bestDistance = distance;
        nukerBlock = pos;
    }
}
This ensures:
  • Efficient mining pattern (inside-out)
  • No wasted movement
  • Continuous operation
Strict mode ensures you can see the block’s side:
Direction side = BlockUtils.getMineableSide(current, strict.getValue());
if (side == null) return;  // Can't see any side
Why Use Strict:
  • Prevents X-ray-like behavior
  • More natural mining pattern
  • Less likely to trigger anti-cheat
When to Disable:
  • Vanilla servers
  • Farm mode (crops block each other)
  • Maximum efficiency needed
Selective mode tracks your own shulker placements:
@SubscribeEvent
public void onPacketSend(PacketEvent.Send event) {
    if (event.getPacket() instanceof PlayerInteractBlockC2SPacket packet) {
        if (BlockUtils.SHULKER_BLOCKS.contains(
            mc.player.getStackInHand(packet.getHand()).getItem())) {
            shulkerBlackList.add(packet.getBlockHitResult().getBlockPos()
                .offset(packet.getBlockHitResult().getSide()));
        }
    }
}
This prevents breaking your own shulkers while breaking others’

Usage Examples

1. Set Mode to "All"
2. Set Range to 5.0
3. Stand in center of area
4. Enable SpeedMine
5. Blocks break in expanding sphere
6. AutoTool switches tools automatically

Best Practices

Use AutoTool

Enable AutoTool for automatic tool selection when breaking different block types

Adjust Range

Lower range (3-4) is safer for anti-cheat, higher (5-6) is more efficient

Enable Rotate

Always enable Rotate on servers with anti-cheat for more natural appearance

Use Strict Mode

Enable Strict on strict servers to avoid X-ray detection

Performance Tips

  • Range 3-4: Fastest scanning, good for dense areas
  • Range 5: Balanced performance and coverage
  • Range 6: Slower scanning but max coverage
Higher range requires more block checks per tick
  • Disable Rotate if not needed (vanilla servers)
  • Disable Strict for maximum speed (farm mode)
  • Use specific modes instead of All when possible

Compatibility

AutoTool - Automatically selects best tool
FastBreak - Breaks blocks even faster
NoBreakDelay - Removes break delay
Reach - Mine from further away
Mining with large range and disabled rotation/strict mode will likely trigger anti-cheat on most servers. Start conservative and adjust.

Troubleshooting

Check:
  1. Range is high enough to reach blocks
  2. Mode matches block type (e.g., Farm mode only breaks crops)
  3. Blocks are actually mineable (not bedrock/barriers)
  4. You have a tool to break them (use AutoTool)
Solutions:
  1. Disable Rotate for slightly faster operation
  2. Decrease Range to reduce scan time
  3. Enable FastBreak module
  4. Use efficiency enchanted tools
  5. Check server TPS (lag affects break speed)
Reduce detection:
  1. Lower Range to 4.0 or less
  2. Enable Rotate
  3. Enable Strict
  4. Add delay between breaks (use other modules)
Verify:
  1. Crops are actually fully grown
  2. You’re breaking vanilla crops (not modded)
  3. Range includes the crops
  4. Mode is set to “Farm” not “All”
The blacklist system should prevent this, but if it happens:
  1. Disable and re-enable the module
  2. Place your shulkers with the module enabled
  3. Check if you’re using the correct hand for placement
  • AutoTool: Automatically switches to the best tool for each block type
  • FastBreak: Further speeds up block breaking
  • NoBreakDelay: Removes the break animation delay
  • Reach: Extend mining range beyond 6 blocks
  • Scaffold: Builds while Nuker breaks

Build docs developers (and LLMs) love