跳到正文

AreaProtection

作者:msg4edy

A Fabric mod that aims to bring protections and alerts to the server!

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

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 seconds
  • defaultProtectionFlags – Default protection settings for new regions
  • blacklistHardBlock – 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

常见问题

AreaProtection 支持哪些 Minecraft 版本?

AreaProtection 支持 Minecraft Java 版 1.21.11–26.2,共 2 个版本,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。

AreaProtection 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅服务端。

评论

登录后评论和评分