CoralPreserver
Build with living coral outside water without watching it turn into dead coral.
CoralPreserver is a lightweight, server-side Paper plugin that prevents living coral from automatically dying when placed outside water. It also provides an intentional and configurable way for players to obtain dead coral variants.
Features
- Preserves every living coral variant outside water.
- Supports coral plants, coral blocks, coral fans, and coral wall fans.
- Uses
BlockFadeEventinstead of repeatedly scanning the world. - Does not affect ice, snow, fire, turtle eggs, or other fading blocks.
- Allows players to intentionally dry living coral.
- Preserves wall-fan orientation and waterlogged state during conversion.
- Includes configurable sounds, particles, tools, and tool consumption.
- Provides a configuration reload command.
- Requires no client-side installation.
- Uses no NMS and has no required runtime dependencies.
Intentional coral drying
By default, a player can turn living coral into its matching dead variant by:
- Holding a regular sponge.
- Sneaking.
- Right-clicking the living coral.
For example:
TUBE_CORAL_BLOCKbecomesDEAD_TUBE_CORAL_BLOCK.BRAIN_CORALbecomesDEAD_BRAIN_CORAL.BUBBLE_CORAL_FANbecomesDEAD_BUBBLE_CORAL_FAN.FIRE_CORAL_WALL_FANbecomesDEAD_FIRE_CORAL_WALL_FAN.
The sponge is not consumed by default. Server administrators can change this behavior in the configuration.
Configuration
preserve:
enabled: true
drying:
enabled: true
require-sneak: true
tool: "SPONGE"
consume-tool: false
play-sound: true
sound: "BLOCK_SPONGE_ABSORB"
show-particles: true
The drying tool can be replaced with any valid Bukkit material. Sounds, particles, tool consumption, and the sneak requirement can also be enabled or disabled independently.
After editing the configuration, run:
/coralpreserver reload
The command requires the coralpreserver.reload permission, which is granted to server operators by default.
Compatibility
- Paper 1.21.8 through 26.2
- Java 21+

