Overview

ProtectedArea is a three-component system: a Paper server plugin, a Fabric server mod, and an optional Fabric client-side mod. The server components handle all protection logic, persistence, and command management. The client mod extends the experience with features that require client-side rendering and physics. You only need one server component — Paper or Fabric — depending on your setup.

The components communicate over a custom plugin channel (protectedarea:main). When a player with the mod connects to a server running the plugin or server mod, the server sends area data, rule states, and debug information in real time. On servers without ProtectedArea, the mod does nothing.

Architecture

Server Plugin (Paper)

The Paper plugin manages all protected areas, enforces rules through Bukkit event listeners, stores data in YAML files, and exposes a single command tree (/area) to authorized administrators. It also handles plugin messaging to send area data to clients. Fires Bukkit events for integration with other plugins.

Server Mod (Fabric)

The Fabric server mod provides the same functionality as the Paper plugin but runs on Fabric-based servers. It uses Fabric event hooks, mixins for mob spawning and explosions, and fires Fabric events for integration with other Fabric mods.

Client Mod (Fabric)

The mod receives area data from the server and provides capabilities that cannot be implemented server-side alone:

  • Visual outlines — colored wireframe boxes rendered around each area
  • Physical barriers — client-side collision that enforces no_entry and no_exit rules
  • Debug HUD — a multi-page overlay with real-time area information
  • Custom skybox — per-area sky texture that fades in and out when entering or leaving

Features

Server (Paper & Fabric)

Cube Areas

3D bounding box zones defined by two corner points. Fully persisted to YAML. Supports any world and dimension.

Flat Areas

2D plane zones that detect when a player crosses from one side to the other. Useful for one-way triggers and border detection.

12 Basic Rules

Block breaking, placing, interaction, PvP, entity attacks, damage, drops, spawning, and movement barriers.

Advanced Rules

YES/NO rules targeting specific blocks or entities. Granular control beyond global restrictions.

Per-Player Exceptions

Grant individual players the ability to bypass any rule or the player limit in a specific area.

Player Limits

Cap the number of concurrent players in an area. Lock areas completely with a block flag.

CLIENT MOD
Entry / Exit Commands

Run server commands automatically when players enter or leave an area, with per-player usage tracking and delays.

CLIENT MOD
Area Priority

When areas overlap, the one with the highest priority value governs the rules at that position.

Teleportation

Teleport players to safe random locations inside an area, with support for batched and delayed groups.

Configurable Notifications

All rule violation messages use MiniMessage format and are fully editable without restarting.

Developer API

Full programmatic API for querying and modifying areas. Fabric events (server & client) and Bukkit events (Paper). See Developer API.

Client Mod Features

Area Outlines

Colored wireframe boxes rendered in the world for every area the server sends. Toggled per player via /area view.

CLIENT MOD
Custom Skybox

Each cube area can have a custom sky texture that replaces the vanilla sky while the player is inside. Smooth fade in/out transition.

CLIENT MOD
Physical Barriers

Invisible collision walls enforce no_entry and no_exit rules client-side, allowing smooth movement blocking without teleporting.

CLIENT MOD
Debug HUD

A 5-page overlay in the top-right corner showing area ID, active rules, exceptions, player limit, and advanced rules. Navigate with arrow keys.

CLIENT MOD

Quick Start

The minimum steps to protect a cube area after installing the plugin:

  1. Create a cube area

    Stand in your world and run the create command with two corner coordinates.

    /area create cube spawn -50 60 -50 50 90 50
  2. Add rules

    Apply one or more basic rules to restrict actions inside the area.

    /area cube rules add spawn no_break
    /area cube rules add spawn no_place
    /area cube rules add spawn no_pvp
  3. Grant exceptions (optional)

    Allow specific players or staff to bypass all rules.

    /area cube exception add spawn Marquinho all
  4. Enable visualization (optional)

    If the player has the client mod installed, show the area outline.

    /area color spawn #4488ff Spawn Zone
    /area view Marquinho true