Skip to content

Prevents high altitude lava placement to stop lava casting on Paper 1.21.x. Uses CoreProtect history (when available) to detect player-placed blocks.

License

Notifications You must be signed in to change notification settings

cev-api/AntiLavaCast

Repository files navigation

AntiLavaCast

Prevents high altitude lava placement to stop lava casting on Paper 1.21.x.

Features

  • Cancels lava bucket placement, flow or both if it is more than the configured height above natural ground.
  • Uses CoreProtect history (when available) to identify player-placed blocks for accurate ground detection.
  • Logs a server alert when a placement is blocked.
  • Supports live config reload and runtime toggling.
  • Lava casting attribution, optional logs will tell you who tried to place lava and where.
  • Maintains natural world lava flow.

[AntiLavaCast] Blocked lava placement by CevAPI at -85,164,-29 (heightAboveGround=96, groundY=68)

Requirements

  • Paper 1.21.x
  • Java 21+

Build

./gradlew build

Output jar: build/libs/AntiLavaCast-1.x.x.jar

Install

  1. Build the jar.
  2. Drop the jar into your server plugins folder.
  3. Start the server to generate the config.

Commands

  • /lavacast reload
  • /lavacast enable
  • /lavacast disable
  • /lavacast setheight <blocks>
  • /lavacast drop <on|off> on allows dropping
  • /lavacast flow <on|off> on allows flowing
  • /lavacast logs <on|off> on logs blocked placements
  • /lavacast coreprotect <on|off> toggles CoreProtect integration
  • /lavacast coreprotectlookback <seconds|1m|2h|7d|4w> sets how far back CoreProtect history is searched
  • /lavacast mark <radius> marks nearby blocks as player-placed for height checks (max radius 100)

Permissions

lavacast.admin (default: op)

Config

plugins/AntiLavaCast/config.yml

max-height-above-ground: 20
enabled: true
allow-lava-drop: false
allow-lava-flow: false
log-blocked-placements: true
coreprotect-enabled: true
coreprotect-lookback-seconds: 31536000

Notes

  • The ground scan ignores player-placed blocks; when CoreProtect is available it will also treat historical placements as player-placed.
  • Use /lavacast mark <radius> around old builds to mark them as player-placed if CoreProtect is not available.
  • Marked blocks are stored on disk in plugins/AntiLavaCast/marks and persist across restarts.
  • When CoreProtect is enabled and detected, mark storage is disabled and lookups rely on CoreProtect instead.

About

Prevents high altitude lava placement to stop lava casting on Paper 1.21.x. Uses CoreProtect history (when available) to detect player-placed blocks.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages