BedrockHeightGuard
Modrinthper/Spigot plugin designed for Geyser + Floodgate servers. It prevents Bedrock players from going above (or below) configurable height limits (e.g. 320 / 512).
BedrockHeightGuard
A server-side height enforcement plugin for Paper and Spigot servers running Geyser with Floodgate. BedrockHeightGuard intercepts movement, block placement, and block breaking events for Bedrock-connected players, clamping their effective Y range to a configurable threshold while leaving Java Edition players completely unaffected. The plugin was designed with BuildTheEarth-style environments in mind, where extended build heights above the standard 320-block limit are common and Bedrock client rendering constraints become a practical problem.
How it works
Bedrock clients connected through Geyser are detected at runtime via the Floodgate API using a reflection-based hook, avoiding a hard compile-time dependency. When a Bedrock player exceeds the configured maximum Y or drops below the configured minimum Y, the plugin intercepts the corresponding event and either redirects the player to a safe position or cancels the action entirely, depending on the configured behavior. All enforcement logic is skipped for Java players, operators holding the bypass permission, or players in non-enforced game modes.
Feature set
- Per-world height limits with global fallback values for both maximum and minimum Y boundaries
- Movement clamping on PlayerMoveEvent and PlayerTeleportEvent with head-rotation optimization to avoid unnecessary processing
- Block placement and block break cancellation above or below the configured range
- Configurable proximity warning sent before the hard limit is reached
- Chat and action bar delivery modes for all player-facing messages
- Per-session first-violation title display
- Staff notification system with a dedicated permission node
- Per-player statistics tracked in memory and persisted to disk across restarts, including limit hits, blocked build actions, and highest Y coordinate reached
- Permission-based bypass for trusted players or staff
- Game mode filtering to exclude specific modes from enforcement
- Optional teleport-on-violation to a fixed safe location instead of position clamping
- Position correction on join if a player logs in outside the permitted Y range
- Full tab-completed administrative command set: reload, info, check, stats, togglewarnings
- Console logging for violation events
Requirements
- Paper 1.21.x or a compatible fork
- Floodgate 2.x alongside Geyser for Bedrock player detection
Compatibility
Tested on Paper and Purpur. Folia compatibility is not guaranteed; scheduled task handling has not been adapted for regionized threading.
Permissions
| Node | Default | Description |
|---|---|---|
| bteheightfix.admin | op | Access to all administrative subcommands |
| bteheightfix.reload | op | Permission to reload the configuration |
| bteheightfix.bypass | op | Exempts the holder from all height enforcement |
| bteheightfix.notify | op | Receives staff notifications on player violations |
Not affiliated with the BuildTheEarth project.

Comments 0
No comments yet. Be the first to share your thoughts.