纯净、现代化、高性能的 Minecraft 服务器世界保护插件,支持层次化配置和权限系统。(Folia Supported)
- 🔧 灵活配置:支持配置继承,用最简单的配置设置最复杂的保护规则
- 🌍 全面保护:9 种保护类型,满足你的需求
- 💬 消息自定义:可为任意世界设置单独的 MiniMessage 格式的提示消息
- ⚡ High Performance:轻量级,仅实现核心功能,无冗余代码。消息提示已频繁触发优化,防止高带宽占用
- 🎯 权限系统:精细的权限控制,支持使用权限绕过特定保护
从 Releases 获取最新的预编译版本
- Java 8 或更高版本
- Maven 3.6+ (仅编译时需要)
- 克隆仓库:
git clone https://github.com/StarCodeClub/WorldProtection.git
cd WorldProtection- 编译插件:
mvn clean package- 编译完成后,在
target/目录下找到WorldProtection-1.3.0-SNAPSHOT.jar
# 插件前缀 (MiniMessage 格式)
plugin-prefix: "<shadow:#000000FF><gradient:#ff7300:#ff3c00><b>[WP]</b></gradient></shadow>"
protect-config:
# 配置文件必须包含 default 节点,请勿删除!!!
default:
# 禁止玩家修改世界(放置方块,填充水、岩浆,放置画,修改物品展示框和花盆...)
anti-world-edit: false
# 禁止玩家 pvp (玩家互相伤害)
anti-pvp: false
# 禁止玩家进入世界 (do not work on Folia) (PlayerChangedWorldEvent、PlayerTeleportEvent)
anti-player-enter: false
# 使爆炸在该世界不破坏方块 (EntityExplodeEvent)
anti-explosion: false
# 禁止玩家与该世界的方块交互 (打开容器,使用工作台等) (PlayerInteractEvent)
anti-block-interaction: false
# 禁止玩家在此世界使用物品 (丢雪球、鸡蛋,射箭,使用刷怪蛋等)
anti-use-item: false
# 禁止玩家攻击该世界的实体 (不包含玩家互相伤害)
anti-attack-entity: false
# 禁止玩家在该世界与实体交互 (骑乘坐骑,与村民交易等) (onPlayerInteractEntity)
anti-entity-interaction: false
# 禁止玩家在该世界捡起或丢弃物品 (PlayerPickupItemEvent, PlayerDropItemEvent)
anti-pickup-drop-items: false
# 玩家无权限时 actionbar 显示的提示 (MiniMessage 格式)
# 已做频繁触发优化,1s 内只会发送一次, 填空字符串 "" 则不会向玩家发送
message:
anti-world-edit: "{plugin-prefix} <red>你没有权限修改这个世界.</red>"
anti-pvp: "{plugin-prefix} <red>已禁止在该世界 PVP.</red>"
# ... 其他消息
# 继承配置示例
common:
parent: default # 继承 default 配置
anti-world-edit: true
anti-explosion: true
hub-config:
parent: common # 继承 common 配置
anti-block-interaction: true
anti-attack-entity: true
# 指定哪些世界使用哪些保护配置
world-config:
"world": common # world 世界使用 common 配置
"hub": hub-config # hub 世界使用 hub-config 配置
"world_the_end": disable # 末地禁用所有保护| 保护类型 | 说明 | 涵盖事件 | Folia 支持 |
|---|---|---|---|
anti-world-edit |
禁止修改世界 | 方块放置/破坏、桶操作、画/物品展示框交互 | ✅ |
anti-pvp |
禁止玩家之间战斗 | 玩家间伤害 | ✅ |
anti-player-enter |
禁止玩家进入世界 | 世界切换、传送 | ❌ |
anti-explosion |
禁止爆炸破坏方块 | TNT、苦力怕、烈焰弹爆炸 (非实体破坏) | ✅ |
anti-block-interaction |
禁止与方块交互 | 打开容器,使用工作台等 | ✅ |
anti-attack-entity |
禁止攻击实体 | 攻击或杀死非玩家实体 | ✅ |
anti-entity-interaction |
禁止与实体交互 | 骑乘坐骑,与村民交易等 | ✅ |
anti-pickup-drop-items |
禁止丢弃/拿取物品 | 禁止玩家在该世界捡起或丢弃物品 | ✅ |
anti-use-item |
禁止使用物品 | 丢雪球、鸡蛋,射箭,使用刷怪蛋等 | ✅ |
| 命令 | 说明 | 权限 |
|---|---|---|
/wp help |
显示帮助信息 | wp.admin |
/wp status |
查看保护设置总览 | wp.admin |
/wp status <world> |
查看指定世界保护设置 | wp.admin |
/wp set-config <world> <protect_config/disable> |
切换某世界的保护配置 | wp.admin |
/wp reload |
重载配置文件 | wp.admin |
/wp version |
显示插件版本 | wp.admin |
wp.admin- 使用所有 /wp 命令(默认:OP)
wp.bypass.*- 绕过所有世界保护(默认:OP)wp.bypass.<world>.anti-world-edit- 绕过指定世界的世界编辑保护wp.bypass.<world>.anti-pvp- 绕过指定世界的 PVP 保护wp.bypass.<world>.anti-player-enter- 绕过指定世界的进入保护wp.bypass.<world>.anti-block-interaction- 绕过指定世界的方块交互保护wp.bypass.<world>.anti-attack-entity- 绕过指定世界的攻击实体保护wp.bypass.<world>.anti-entity-interaction- 绕过指定世界的实体交互保护wp.bypass.<world>.anti-pickup-drop-items- 绕过指定世界的丢弃/拿取物品保护wp.bypass.<world>.anti-use-item- 绕过指定世界的使用物品保护
src/main/java/org/xiaomu/WorldProtection/
├── WorldProtection.java # 主插件类
├── Commander.java # 命令处理器
├── Protector.java # 事件监听器
├── ProtectConfig.java # 配置类
└── WPTabCompleter.java # Tab 补全
- 添加 anti-pickup-drop-items 保护类型
- 添加 anti-use-item 保护类型
- 将消息设置为 "" 时自动禁用消息提示
- 修复了 1 个 Bug,优化了 3 处代码
- 独立 plugin prefix
- 添加 set-config 命令
- 支持层次化配置系统
- 添加配置继承功能
- 优化 ActionBar 消息冷却
- 支持 MiniMessage 格式
- 添加 Tab 补全功能
- 支持 Folia
如果您遇到问题或有功能建议,请在 GitHub Issues 提交。
本项目采用 MIT 许可证,详见 LICENSE 文件。
作者: xiaomu18
网站: https://github.com/StarCodeClub/WorldProtection