- 🔧 灵活:层次化配置系统,支持配置继承,简单明确地完成功能设置
- 🔒 世界保护:提供 9 种世界保护
- 🌍 独立世界属性: 为每个世界调整独立的设置
- 💬 消息:支持使用下一代 MiniMessage 格式,ActionBar 提示玩家更加优雅,已做频繁触发优化
- ⚡ High Performance:极度轻量,无冗余代码,插件大小仅65KB
- 🎯 权限系统:精细的权限控制,支持使用权限绕过特定保护
进入 Releases 获取最新的预编译版本
- Java 21 或更高版本
- Maven 3.6+ (仅编译时需要)
- 克隆仓库:
git clone https://github.com/StarCodeClub/WorldUtils.git
cd WorldUtils- 编译插件:
mvn clean package- 编译完成后,在
target/目录下找到WorldUtils-1.3.0-SNAPSHOT.jar
# 插件前缀 (MiniMessage 格式)
plugin-prefix: "<gradient:#00eec0:#00c5ff><b>[WU]</b></gradient>"
# 世界配置文件
configs:
# default 为默认配置,同时也是[配置模版],请勿删除!!!
default:
# 阻止玩家修改世界(放置方块,填充水、岩浆,放置画,修改物品展示框和花盆...)
anti-world-edit: false
# 阻止玩家在此世界进行 PVP (玩家互相伤害)
anti-pvp: false
# 阻止玩家进入该世界 (folia 上无法立刻拦截,但于在2s内将会传送至 Fallback World)
anti-player-enter: false
# 如果发现玩家处于禁止进入的世界,将会将玩家传送至该世界出生点
world-enter-fallback: "world"
# 使爆炸在该世界不破坏方块 (仍可造成伤害)
anti-explosion: false
# 阻止玩家与该世界的方块交互 (打开容器,使用工作台等)
anti-block-interaction: false
# 阻止玩家在此世界使用物品 (丢雪球、鸡蛋,射箭,使用刷怪蛋,打火石等)
anti-use-item: false
# 阻止玩家对该世界的实体造成伤害 (不包含玩家互相伤害)
anti-attack-entity: false
# 阻止玩家在该世界与实体交互 (骑乘坐骑,使用栓绳,与村民交易等)
anti-entity-interaction: false
# 阻止玩家在该世界捡起或丢弃物品
anti-pickup-drop-items: false
# 为世界设置独立的游戏模式 (设置为空则使用默认游戏模式)
world-gamemode: ""
# 是否强制禁止玩家在此世界修改游戏模式
force-world-gamemode: false
# 取消玩家碰撞 (禁止玩家推动该世界的实体使其位置改变), 玩家自身仍可被其他实体推动 (由客户端计算)
cancel-player-collision: false
# 在玩家进入该世界时向玩家发送提示, 设置为空则不发送
enter-message:
chat-message: ""
action-bar: ""
title: "" # 使用 \n 分隔 title 和 subtitle
duration: 2 # 显示持续时间,仅对 Title 起效
# 玩家无权限时 actionbar 显示的提示 (MiniMessage 格式)
# 已做频繁触发优化,1s 内只会发送一次, 填空字符串 "" 则不会向玩家发送
messages:
anti-world-edit: "{plugin-prefix} <red>你没有权限修改这个世界.</red>"
anti-pvp: "{plugin-prefix} <red>已禁止在该世界 PVP.</red>"
anti-player-enter: "{plugin-prefix} <red>你没有权限进入这个世界.</red>"
anti-block-interaction: "{plugin-prefix} <red>你没有权限与这个世界的方块交互.</red>"
anti-attack-entity: "{plugin-prefix} <red>已禁止对此世界的实体造成伤害.</red>"
anti-entity-interaction: "{plugin-prefix} <red>已禁止与此世界的生物交互.</red>"
anti-pickup-drop-items: "{plugin-prefix} <red>已禁止在此世界捡起或丢弃物品.</red>"
anti-use-item: "{plugin-prefix} <red>已禁止在此世界使用物品.</red>"
player-gamemode-change: "{plugin-prefix} <red>游戏模式已与该世界统一</red>"
common:
# 仅需添加你想调整的设置,其他设置默认继承 default
# 你也可以手动指定 parent,继承其他配置
# parent: default
anti-explosion: true
hub:
parent: common
# 仅需添加你想在 common 基础上调整的设置
anti-world-edit: true
anti-block-interaction: true
anti-attack-entity: true
messages:
anti-world-edit: "{plugin-prefix} <red>你不能修改主城的任何方块.</red>"
enter-message:
title: "<b>欢迎来到主城</b>\n<yellow>祝您在此服务器玩的开心!</yellow>"
duration: 3
# 指定哪些世界使用哪个配置
# 未指定的默认使用 default 配置
# 指定为 disable 则将在该世界禁用 WorldUtils
world-config:
"world": common
"hub": hub # 使世界使用 hub 配置
"world_the_end": disable| 保护类型 | 描述 | 涵盖事件 | Folia 支持 |
|---|---|---|---|
anti-world-edit |
禁止修改世界 | 禁止方块放置/破坏、桶操作、画/物品展示框交互 | 完整支持✅ |
anti-pvp |
禁止玩家之间战斗 | 取消玩家间伤害 | 完整支持✅ |
anti-player-enter |
禁止玩家进入世界 | 拦截世界切换传送 | 无法立刻拦截,但可以在2s内传送至 fallback world |
anti-explosion |
禁止爆炸破坏方块 | 阻止TNT、苦力怕、烈焰弹爆炸 (非实体破坏) | 完整支持✅ |
anti-block-interaction |
禁止与方块交互 | 拦截打开容器,使用工作台等 | 完整支持✅ |
anti-attack-entity |
禁止攻击实体 | 禁止攻击或杀死非玩家实体 | 完整支持✅ |
anti-entity-interaction |
禁止与实体交互 | 拦截骑乘坐骑,使用栓绳,与村民交易等 | 完整支持✅ |
anti-pickup-drop-items |
禁止丢弃/拿取物品 | 禁止玩家在该世界捡起或丢弃物品 | 完整支持✅ |
anti-use-item |
禁止使用物品 | 拦截丢雪球、鸡蛋,射箭,使用刷怪蛋等 | 完整支持✅ |
world-gamemode |
独立世界游戏模式 | 切换世界时更改游戏模式 | 完整支持✅ |
cancel-player-collision |
取消玩家碰撞 | 禁止玩家推动该世界的实体使其位置改变 | 完整支持✅ |
| 命令 | 说明 | 权限 |
|---|---|---|
/wu help |
显示帮助信息 | wu.admin |
/wu status |
查看保护设置总览 | wu.admin |
/wu status <world> |
查看指定世界保护设置 | wu.admin |
/wu set-config <world> <protect_config/disable> |
切换某世界的保护配置 | wu.admin |
/wu reload |
重载配置文件 | wu.admin |
/wu version |
显示插件版本 | wu.admin |
本插件无任何默认权限
wu.admin- 使用所有 /wu 命令(默认:OP)
wu.bypass.*- 绕过所有世界保护(默认:OP)wu.bypass.<world>.anti-world-edit- 绕过指定世界的世界编辑保护wu.bypass.<world>.anti-pvp- 绕过指定世界的 PVP 保护wu.bypass.<world>.anti-player-enter- 绕过指定世界的进入保护wu.bypass.<world>.anti-block-interaction- 绕过指定世界的方块交互保护wu.bypass.<world>.anti-attack-entity- 绕过指定世界的攻击实体保护wu.bypass.<world>.anti-entity-interaction- 绕过指定世界的实体交互保护wu.bypass.<world>.anti-pickup-drop-items- 绕过指定世界的丢弃/拿取物品保护wu.bypass.<world>.anti-use-item- 绕过指定世界的使用物品保护wu.bypass.change-gamemode- 拥有此权限 WU 将不会修改您的游戏模式wu.bypass.cancel-player-collision- 拥有此权限 WU 将不会调整您的碰撞效果
如果您遇到问题或有功能建议,请在 GitHub Issues 提交。
本项目采用 MIT 许可证,详见 LICENSE 文件。