BuilderMode
Temporarily increases player render distance, allowing further view with optional movement restrictions
📖About BuilderMode
BuilderMode
A Minecraft plugin that temporarily boosts player render distance with configurable restrictions to prevent exploits.
📖 Overview
BuilderMode allows players to temporarily increase their render distance for building and exploring, with built-in safeguards to prevent abuse. Perfect for building servers, creative worlds, or any server where players need better visibility for short periods.
✨ Features
Core Functionality
- Temporary Render Distance Boost - Configurable duration and distance per dimension
- Per-Dimension Settings - Different render distances for Overworld, Nether, and The End
- Cooldown System - Prevents spam with configurable cooldowns that persist offline
- Automatic Disable - Deactivates when changing dimensions or logging out
Security & Anti-Exploit
- Periodic Safety Checks - Automatically resets render distances to prevent bypasses
- Dimension Change Detection - Manual checking system for Folia compatibility
- Offline Cooldown Tracking - Cooldowns continue even when players are offline
- No Bypass Exploits - Multiple layers of protection against render distance manipulation
Optional Restrictions
Elytra Blocking - Prevent elytra usage during BuilderMode (toggleable)
- Automatic removal from chestplate slot
- Double-confirmation required when wearing elytra
- Blocks all equip attempts
Entity Riding Prevention - Block mounting any entity/vehicle (toggleable)
- Automatic dismount on activation
- Periodic checks to catch bypasses
- Blocks horses, boats, minecarts, and all other rideable entities
Admin Features
- Individual Feature Toggles - Enable/disable elytra and entity restrictions separately
- Fully Customizable Messages - All plugin messages support color codes and placeholders
- Verbose Logging - Optional detailed console logging for debugging
- Hot Reload - Reload configuration without restarting the server
- Tab Completion - User-friendly command interface
📦 Commands
| Command | Description | Permission |
|---|---|---|
/buildermode or /bm |
Show available commands | None |
/buildermode on |
Activate BuilderMode | None |
/buildermode off |
Manually deactivate BuilderMode | None |
/buildermode info |
Check active time or cooldown status | None |
/bmr |
Reload plugin configuration | buildermode.reload |
🔑 Permissions
| Permission | Description | Default |
|---|---|---|
buildermode.reload |
Allows reloading the configuration | OP |
buildermode.* |
Grants all permissions | OP |
Note: No permission is required to use BuilderMode by default - all players have access!
⚙️ Configuration
Click to view full config.yml# BuilderMode Configuration
# Enable or disable the entire plugin
enabled: true
# Enable verbose logging for debugging and monitoring
verbose: true
# Default render distance to restore after BuilderMode expires
default-render-distance: 8
# How often (in seconds) to check and reset render distance
# This is a safety feature to prevent bypasses
safety-check-interval: 30
# Feature Restrictions
restrictions:
# Prevent players from using elytra while BuilderMode is active
disable-elytra: true
# Prevent players from riding entities while BuilderMode is active
disable-entity-riding: true
# How often (in seconds) to check if players are mounted
# Set to 0 to disable repeating check
mount-check-interval: 5
# Dimension-specific settings
dimensions:
overworld:
render-distance: 18 # Chunks
duration: 1200 # Seconds (20 minutes)
cooldown: 1200 # Seconds (20 minutes)
nether:
render-distance: 12
duration: 900 # 15 minutes
cooldown: 1200
the_end:
render-distance: 18
duration: 900
cooldown: 1200
# Customizable Messages (supports & color codes)
# Placeholders: {time}, {distance}, {duration}
messages:
activated: "&aBuilderMode activated! Render distance set to {distance} chunks for {duration} seconds."
expired: "&eBuilderMode has expired. Render distance restored."
on-cooldown: "&cYou must wait {time} seconds before using BuilderMode again!"
# ... and many more!
Key Configuration Options
Render Distance Settings:
- Configure different distances for each dimension
- Set custom durations and cooldowns per dimension
- Recommended: 12-18 chunks for best performance
Restrictions:
disable-elytra: true/false- Toggle elytra blockingdisable-entity-riding: true/false- Toggle entity riding preventionmount-check-interval: 5- How often to check for mounted players (seconds)
Safety Features:
safety-check-interval: 30- How often to verify render distances (seconds)verbose: true/false- Enable detailed console logging
🔒 How It Works
- Player activates BuilderMode with
/buildermode on - If riding an entity (and restriction enabled), player is dismounted
- If wearing elytra (and restriction enabled), requires double-confirmation
- Current render distance is saved
- Render distance increases to configured value for current dimension
- Restrictions are applied (if enabled):
- Cannot ride any entities/vehicles
- Cannot use or equip elytra
- After configured duration, render distance automatically resets
- Cooldown begins (continues even if player logs out)
- If player changes dimensions, BuilderMode disables and cooldown starts
🛡️ Security Features
Anti-Bypass Protection
- Event-based prevention - Blocks mounting and elytra usage via events
- Periodic verification - Repeating tasks catch any bypasses
- Dimension checks - Manual dimension change detection for Folia
- Safety checks - Regular verification of all player render distances
- Offline tracking - Cooldowns persist through logouts
Folia Compatibility
- Automatic server type detection (Paper vs Folia)
- Uses region schedulers on Folia
- Uses standard Bukkit scheduler on Paper
- Thread-safe for regionized threading
📊 Performance
BuilderMode is designed to be lightweight:
- Minimal CPU usage from periodic checks
- Efficient event handling
- Smart caching of player states
- Configurable check intervals to balance security vs performance
Recommended Settings for Best Performance:
safety-check-interval: 60(1 minute) for small serverssafety-check-interval: 30(30 seconds) for larger serversmount-check-interval: 5(5 seconds) - good balance