Area Protection v1.0.0 - Initial Release
Overview
A comprehensive server-side region protection and alert system for Minecraft 1.21.11 with LuckPerms integration. Create protected regions, manage permissions, receive real-time alerts, and control who can access your areas.
Core Features
Region Management
- Create Protected Regions: Define rectangular areas with
/area pos1,/area pos2, and/area create <name> - Delete Regions: Remove regions with
/area delete <name> - View Region Info: Display region details, protection status, and lists with
/area info <name>or/area list - Region Expansion: Expand existing regions in any direction (up, down, north, south, east, west) with
/area expand <region> <direction> <amount> - Priority System: Assign priority levels to regions for overlap handling
- Volume Limits: Configurable maximum region volume per player (default: 1,000,000 blocks)
- Per-Player Limits: Limit how many regions a player can create (default: 10 regions per player)
- Overlap Prevention: Prevents creation of regions that overlap with existing regions
Protection Flags
Toggle protection on/off per region with /area protection <region> <type> <true/false>:
| Protection Type | Description |
|---|---|
block_break |
Prevent unauthorized block breaking |
block_place |
Prevent unauthorized block placement |
block_interact |
Prevent interaction with blocks (buttons, levers, etc.) |
container_open |
Prevent access to containers (chests, barrels, hoppers, etc.) |
entity_damage |
Prevent damage to non-player entities (animals, pets, etc.) |
pvp |
Prevent player-versus-player combat |
All protection flags enabled by default on new regions.
Access Control
Whitelist System
- Add players to whitelist:
/area whitelist add <region> <player> - Remove from whitelist:
/area whitelist remove <region> <player> - Whitelisted players can perform protected actions
Blacklist System
- Add players to blacklist:
/area blacklist add <region> <player> - Remove from blacklist:
/area blacklist remove <region> <player> - Blacklisted players have no access to protected actions
- Whitelisting a blacklisted player (or vice versa) removes them from the opposite list
Owner Control
- Only region owner or admins can modify region settings
- Region owner is the player who created the region
- Admin permission:
areaprotection.admin
Alert System
Real-Time Alerts
- Receive alerts instantly when someone violates protection rules
- Alerts sent to region owner if online
- View pending alerts with
/alert inbox [page] - Clear alerts with
/alert clear - View alert history with
/alert history <region> [page]
Alert Types
Toggle specific alert types with /alert settings <region> <type>:
| Alert Type | Triggered When |
|---|---|
enter |
Any player enters the region |
leave |
Any player exits the region |
block_break |
Someone attempts to break a protected block |
block_place |
Someone attempts to place a protected block |
block_interact |
Someone attempts to interact with a block |
container_open |
Someone attempts to open a container |
entity_damage |
Someone attempts to damage an entity |
pvp |
Someone attempts player combat |
Offline Alert Storage
- Alerts are stored when region owner is offline
- Automatically delivered when player logs in
- Shows first 5 alerts in chat, can view all with
/alert inbox
Alert Cooldowns
- Configurable per alert type to prevent spam (default: 30-60 seconds)
- Prevents duplicate alerts for the same action in quick succession
Toggle Alerts
- Disable all alerts for a region:
/alert toggle <region> - Re-enable with the same command
Custom Messages
- Set enter message:
/area message <region> enter <message> - Set leave message:
/area message <region> leave <message> - Messages displayed in color to all players entering/leaving the region
Permission Integration
LuckPerms Support
- Automatic LuckPerms detection and integration
- Assign permissions via LuckPerms web editor or in-game
- Permissions automatically registered with LuckPerms on server start
Permission Nodes
| Permission | Use |
|---|---|
areaprotection.pos |
Use /area pos1 and /area pos2 commands |
areaprotection.create |
Create new regions with /area create |
areaprotection.delete |
Delete regions with /area delete |
areaprotection.whitelist |
Manage whitelists |
areaprotection.blacklist |
Manage blacklists |
areaprotection.protection |
Modify protection settings |
areaprotection.alerts.receive |
Receive alert notifications |
areaprotection.bypass |
Bypass all protections (admin only) |
areaprotection.admin |
Full admin access to all regions |
areaprotection.reload |
Reload configuration |
Fallback Permissions
- If LuckPerms not installed, basic permissions granted to all players by default
- Admin permissions require server op status (level 4) or LuckPerms permission
Configuration
config/areaprotection.json- Customizable settings:limits.maxRegionVolume- Maximum blocks per region (default: 1,000,000)limits.maxRegionsPerPlayer- Maximum regions per player (default: 10)alertCooldowns- Alert cooldown times in secondsdefaultProtectionFlags- Default protection settings for new regionsblacklistHardBlock- Whether to prevent breaking certain blocks in regions
Data Storage
- Automatic region and alert data persistence to
config/areaprotection/ - JSON-based storage for easy backup and editing
- Offline alerts retained across server restarts
Event Handling
- Block Breaking: Monitor and prevent unauthorized block destruction
- Block Interaction: Prevent button, lever, and other block interactions
- Entity Damage: Prevent harm to animals and entities
- Player Movement: Track region entry/exit, display messages, trigger alerts
- Container Access: Prevent unauthorized container opening
- Player Connection: Deliver offline alerts on login
Technical Details
Requirements
- Minecraft Version: 1.21.11
- Fabric Loader: 0.17.3+
- Fabric API: 0.141.1+1.21.11
- Java: 21+
Optional Dependencies
- LuckPerms: For advanced permission management (automatic detection)
Mappings
- Uses Mojang official mappings for 100% compatibility
Command Reference
/area pos1 - Set position 1 at current location
/area pos2 - Set position 2 at current location
/area create <name> [priority] - Create region from selection
/area delete <name> - Delete a region
/area info <name> - Show region details
/area list - List all regions
/area protection <region> <type> <true/false> - Toggle protection
/area whitelist add <region> <player> - Add to whitelist
/area whitelist remove <region> <player> - Remove from whitelist
/area blacklist add <region> <player> - Add to blacklist
/area blacklist remove <region> <player> - Remove from blacklist
/area message <region> enter <message> - Set enter message
/area message <region> leave <message> - Set leave message
/area expand <region> <direction> <amount> - Expand region
/alert toggle <region> - Toggle all alerts on/off
/alert inbox [page] - View offline alerts
/alert clear - Clear all offline alerts
/alert history <region> [page] - View region alert history
/alert settings <region> <type> - Toggle specific alert type
File Structure
config/
├── areaprotection.json - Main configuration
└── areaprotection/
├── regions.json - Saved regions
└── offline_alerts.json - Stored offline alerts
Notes
- Region protection is server-side only (works on both vanilla and modded clients)
- All timestamps stored in UTC and formatted for player's timezone
- Alert cooldowns prevent spam but don't prevent violations
- Blacklist + whitelist on same player: player goes to opposite list (removes from previous)
Version Info
- Version: 1.0.0
- Release Date: January 2026
- Status: Initial Release
