BuilderMode
PluginMIT

BuilderMode

Temporarily increases player render distance, allowing further view with optional movement restrictions

17
Downloads
1
Followers
2 months ago
Updated
📦
3
Versions

📖About BuilderMode

BuilderMode

A Minecraft plugin that temporarily boosts player render distance with configurable restrictions to prevent exploits.

Minecraft Version
Server Software

📖 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 blocking
  • disable-entity-riding: true/false - Toggle entity riding prevention
  • mount-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

  1. Player activates BuilderMode with /buildermode on
  2. If riding an entity (and restriction enabled), player is dismounted
  3. If wearing elytra (and restriction enabled), requires double-confirmation
  4. Current render distance is saved
  5. Render distance increases to configured value for current dimension
  6. Restrictions are applied (if enabled):
    • Cannot ride any entities/vehicles
    • Cannot use or equip elytra
  7. After configured duration, render distance automatically resets
  8. Cooldown begins (continues even if player logs out)
  9. 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 servers
  • safety-check-interval: 30 (30 seconds) for larger servers
  • mount-check-interval: 5 (5 seconds) - good balance