Sueta

NoWorldFlood

1.2.1

Fixes the new popular world-flooding flying machines

·Plugin

NoWorldFlood
NoWorldFlood is a Paper and Folia plugin that protects worlds from flooding caused by machines abusing moving waterlogged blocks.

Some piston machines can move waterlogged blocks in ways that repeatedly create or spread water, eventually flooding large areas or an entire world. This plugin watches piston extension and retraction, then cancels movement using the configured detection mode.

How it works
NoWorldFlood has two detection modes.

movement-tracking tracks the net movement of waterlogged blocks over time:

  • EAST -> EAST -> EAST accumulates movement and is blocked.
  • EAST -> WEST -> EAST -> WEST cancels itself out and is not blocked.
  • SOUTH -> EAST -> SOUTH -> EAST accumulates diagonal movement and is blocked.

This is meant to avoid false flags from back-and-forth contraptions while still catching machines that steadily transport waterlogged blocks across the world.

waterlogged-blocks is the aggressive fallback. It cancels any piston movement that includes a waterlogged block. Use this if movement tracking misses an exploit, but expect more false positives.

Commands
/noworldflood status
/noworldflood reload
/noworldflood enable
/noworldflood disable
/noworldflood debug

enable and disable are runtime-only. reload reloads config.yml, including the enabled setting. debug lists the currently tracked waterlogged block positions.

Settings
enabled controls protection at startup and after /noworldflood reload:

enabled: true

Detection and logging are controlled with:

detection:
  mode: movement-tracking
  movement-threshold: 3

logging:
  blocked-pistons: true

Statistics
NoWorldFlood uses bStats to collect completely anonymous usage statistics.

Similar projects

Plugin →