Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

2 Commits

Repository files navigation

WorldUtils

LicenseBuild statuslatest versionfolia supportedMinecraft version

适用于高版本 Paper、Folia 的 Minecraft 服务端的插件,提供许多有关世界的实用功能和设置

Language: 简体中文 | [Switch to English](./README_en.md)

✨ 特性

  • 🔧 灵活:层次化配置系统,支持配置继承,简单明确地完成功能设置
  • 🔒 世界保护:提供 9 种世界保护
  • 🌍 独立世界属性: 为每个世界调整独立的设置
  • 💬 消息:支持使用下一代 MiniMessage 格式,ActionBar 提示玩家更加优雅,已做频繁触发优化
  • ⚡ High Performance:极度轻量,无冗余代码,插件大小仅65KB
  • 🎯 权限系统:精细的权限控制,支持使用权限绕过特定保护

🚀 快速开始

1.使用预编译二进制文件

进入 Releases 获取最新的预编译版本

2.自行编译

  • Java 21 或更高版本
  • Maven 3.6+ (仅编译时需要)
  1. 克隆仓库:
git clone https://github.com/StarCodeClub/WorldUtils.git
cd WorldUtils
  1. 编译插件:
mvn clean package
  1. 编译完成后,在 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 和 subtitleduration: 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: defaultanti-explosion: truehub:
parent: common# 仅需添加你想在 common 基础上调整的设置anti-world-edit: trueanti-block-interaction: trueanti-attack-entity: truemessages:
anti-world-edit: "{plugin-prefix} <red>你不能修改主城的任何方块.</red>"enter-message:
title: "<b>欢迎来到主城</b>\n<yellow>祝您在此服务器玩的开心!</yellow>"duration: 3# 指定哪些世界使用哪个配置# 未指定的默认使用 default 配置# 指定为 disable 则将在该世界禁用 WorldUtilsworld-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 文件。

About

A Minecraft Plugin that provides lots of practical features and customizable settings for managing your worlds.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages