|
1 | 1 | # Easyland 领地管理插件 |
2 | 2 |
|
3 | | - |
| 3 | + |
| 4 | + |
| 5 | + |
4 | 6 |  |
5 | 7 |  |
6 | 8 |  |
7 | 9 |
|
8 | | -专为 PaperMC 1.21 开发的高性能领地管理插件,支持领地创建、权限管理和多种保护功能。 |
| 10 | +高性能、易上手的 PaperMC 领地管理插件,覆盖领地创建、权限分配、保护规则与可视化展示等完整功能。 |
| 11 | + |
| 12 | +## 🧭 目录 |
| 13 | + |
| 14 | +- [功能亮点](#-功能亮点) |
| 15 | +- [指令总览](#-指令总览) |
| 16 | +- [权限节点](#-权限节点) |
| 17 | +- [核心配置](#-核心配置) |
| 18 | +- [多语言支持](#-多语言支持) |
| 19 | +- [快速上手](#-快速上手) |
| 20 | +- [安装部署](#-安装部署) |
| 21 | +- [更新日志](#-更新日志) |
| 22 | +- [支持反馈](#-支持反馈) |
9 | 23 |
|
10 | | -## ✨ 主要功能 |
| 24 | +## ✨ 功能亮点 |
11 | 25 |
|
12 | | -- 🏗️ **领地管理**:创建、认领、删除、查看领地 |
13 | | -- 👥 **信任系统**:玩家权限管理,支持预信任功能 |
14 | | -- 🛡️ **保护系统**:方块、爆炸、容器、玩家保护 |
15 | | -- ✨ **可视化**:粒子效果显示领地边界 |
| 26 | +- 🏗️ **领地管理**:支持创建、认领、删除、列表查看等完整操作 |
| 27 | +- 👥 **信任系统**:灵活的成员管理,包含预信任机制 |
| 28 | +- 🛡️ **保护策略**:方块、爆炸、容器、玩家等多维度防护 |
| 29 | +- 🌈 **可视化边界**:粒子特效展示领地范围,所见即所得 |
| 30 | +- 🌍 **内置多语言**:提供中文、英文、日文本地化 |
16 | 31 |
|
17 | | -## 📋 指令列表 |
| 32 | +## �️ 指令总览 |
18 | 33 |
|
19 | | -主命令:`/easyland`(别名:`/el`, `/land`) |
| 34 | +主命令:`/easyland`(别名:`/el`、`/land`) |
20 | 35 |
|
21 | | -| 指令 | 说明 | 权限 | |
| 36 | +| 子命令 | 说明 | 权限 | |
22 | 37 | | ---------------------- | ------------ | ---------------- | |
23 | 38 | | `select` | 获取选择工具 | easyland.select | |
24 | 39 | | `create [id]` | 创建领地 | easyland.create | |
|
31 | 46 | | `list` | 查看领地列表 | easyland.list | |
32 | 47 | | `remove <id>` | 删除领地 | easyland.remove | |
33 | 48 | | `rule [规则] [on/off]` | 管理保护规则 | easyland.rule | |
| 49 | +| `reload` | 重载配置 | easyland.reload | |
| 50 | +| `help` | 查看帮助 | easyland.help | |
34 | 51 |
|
35 | | -## 🔐 权限配置 |
| 52 | +## 🔐 权限节点 |
36 | 53 |
|
37 | | -### 基础权限 |
38 | | -| 权限节点 | 说明 | 默认值 | |
| 54 | +| 权限节点 | 描述 | 默认值 | |
39 | 55 | | ---------------- | ------------ | ------ | |
40 | | -| easyland.select | 选择工具 | op | |
| 56 | +| easyland.select | 获取选择工具 | op | |
41 | 57 | | easyland.create | 创建领地 | op | |
42 | 58 | | easyland.claim | 认领领地 | true | |
43 | 59 | | easyland.unclaim | 放弃领地 | true | |
|
47 | 63 | | easyland.list | 查看列表 | true | |
48 | 64 | | easyland.rule | 保护规则 | true | |
49 | 65 | | easyland.remove | 删除领地 | op | |
50 | | -| easyland.admin | 管理员权限组 | op | |
| 66 | +| easyland.reload | 重载配置 | op | |
| 67 | +| easyland.help | 查看帮助 | true | |
51 | 68 | | easyland.bypass | 绕过保护 | op | |
| 69 | +| easyland.admin | 管理员合集 | op | |
52 | 70 |
|
53 | | -## ⚙️ 主要配置 |
| 71 | +`easyland.admin` 自动继承上表所有子权限,无需重复分配。 |
54 | 72 |
|
55 | | -| 配置项 | 说明 | 默认值 | |
| 73 | +## ⚙️ 核心配置 |
| 74 | + |
| 75 | +| 配置项 | 作用 | 默认值 | |
56 | 76 | | -------------------------- | ---------------- | -------- | |
57 | | -| `max-lands-per-player` | 每人最大领地数 | 5 | |
| 77 | +| `max-lands-per-player` | 玩家最大领地数 | 5 | |
58 | 78 | | `max-chunks-per-land` | 单领地最大区块数 | 256 | |
59 | | -| `show-duration-seconds` | 默认显示时间 | 10 | |
| 79 | +| `show-duration-seconds` | 默认显示持续时间 | 10 | |
| 80 | +| `max-show-duration-seconds`| 最大显示时间限制 | 30 | |
60 | 81 | | `message-cooldown-seconds` | 消息冷却时间 | 3 | |
61 | | -| `land-boundary-particle` | 边界粒子类型 | firework | |
| 82 | +| `land-boundary-particle` | 边界粒子样式 | firework | |
| 83 | + |
| 84 | +### 保护规则 |
| 85 | + |
| 86 | +保护规则均包含两个字段: |
62 | 87 |
|
63 | | -### 保护规则配置 |
64 | | -每个保护规则都有两个设置项: |
65 | | -- **enable**: 服务器是否允许启用此规则 |
66 | | -- **default**: 新创建领地的默认开启状态 |
| 88 | +- `enable`:是否允许服务器启用该规则 |
| 89 | +- `default`:新领地的默认启用状态 |
67 | 90 |
|
68 | | -| 配置路径 | 保护规则 | 功能说明 | |
| 91 | +| 配置路径 | 规则名称 | 功能说明 | |
69 | 92 | | --------------------------------- | -------- | ------------------ | |
70 | | -| `protection.block-protection` | 方块保护 | 防止破坏/放置方块 | |
| 93 | +| `protection.block-protection` | 方块保护 | 禁止破坏与放置方块 | |
71 | 94 | | `protection.explosion-protection` | 爆炸保护 | 防止爆炸破坏方块 | |
72 | | -| `protection.container-protection` | 容器保护 | 防止访问箱子等容器 | |
73 | | -| `protection.player-protection` | 玩家保护 | 保护玩家免受伤害 | |
| 95 | +| `protection.container-protection` | 容器保护 | 防止打开容器 | |
| 96 | +| `protection.player-protection` | 玩家保护 | 阻止玩家互相伤害 | |
| 97 | + |
| 98 | +## 🌍 多语言支持 |
| 99 | + |
| 100 | +在 `config.yml` 中设置 `language` 完成切换: |
| 101 | + |
| 102 | +```yaml |
| 103 | +# 支持的取值:zh_cn, en_us, ja_jp |
| 104 | +language: zh_cn |
| 105 | +``` |
| 106 | +
|
| 107 | +| 语言代码 | 语言名称 | |
| 108 | +| -------- | -------- | |
| 109 | +| `zh_cn` | 中文简体 | |
| 110 | +| `en_us` | English | |
| 111 | +| `ja_jp` | 日本語 | |
| 112 | + |
| 113 | +欢迎提供社区翻译,提交 PR 即可加入更多语言。 |
| 114 | + |
| 115 | +## � 快速上手 |
74 | 116 |
|
75 | | -## 📖 快速开始 |
| 117 | +1. `/easyland select` 获取选择工具,设置两个区块顶点。 |
| 118 | +2. `/easyland create [ID]` 创建无主领地(可选自定义 ID)。 |
| 119 | +3. `/easyland claim [ID]` 认领无主领地或站在领地内直接认领。 |
| 120 | +4. `/easyland trust <玩家>` 管理伙伴,共享领地权限。 |
| 121 | +5. `/easyland rule <规则> on/off` 调整领地保护策略。 |
76 | 122 |
|
77 | | -1. **获取工具**:`/easyland select` |
78 | | -2. **选择区域**:右键点击两个区块 |
79 | | -3. **创建领地**:`/easyland create [ID]` |
80 | | -4. **认领领地**:`/easyland claim [ID]` |
81 | | -5. **信任玩家**:`/easyland trust <玩家名>` |
82 | | -6. **设置保护**:`/easyland rule <规则名> on` |
| 123 | +## 📦 安装部署 |
83 | 124 |
|
84 | | -## 📦 安装 |
| 125 | +### 运行环境 |
85 | 126 |
|
86 | | -### 系统要求 |
87 | | -- **服务端**:Paper 1.21.x |
88 | | -- **Java**:Java 21 或更高版本 |
89 | | -- **兼容性**:向下兼容 Paper 1.20.4+ |
| 127 | +- 服务端:Paper 1.21.x |
| 128 | +- Java 版本:21 或更高 |
| 129 | +- 兼容性:向下兼容 Paper 1.20.4+ |
90 | 130 |
|
91 | 131 | ### 安装步骤 |
92 | | -1. 下载 `easyland-1.4.jar` |
93 | | -2. 放入 `plugins` 目录 |
94 | | -3. 重启服务器 |
95 | | -4. 配置权限节点 |
| 132 | + |
| 133 | +1. 下载最新构建 `easyland-1.4.1.jar`。 |
| 134 | +2. 将插件放入服务器 `plugins` 目录。 |
| 135 | +3. 启动或重启服务器生成配置文件。 |
| 136 | +4. 按需调整 `config.yml` 与权限节点。 |
| 137 | + |
| 138 | +### 从源码构建(可选) |
| 139 | + |
| 140 | +1. 克隆仓库 `git clone https://github.com/railgun19457/Easyland.git`。 |
| 141 | +2. 在项目根目录执行 `mvn clean package` 生成产物。 |
| 142 | +3. 使用 `target/easyland-1.4.1.jar` 部署到服务器。 |
96 | 143 |
|
97 | 144 | ## 📝 更新日志 |
98 | 145 |
|
99 | | -### V1.4 (最新版) - Paper 1.21.8 适配 |
100 | | -- 🚀 **版本升级**:适配 Paper 1.21.8 + Java 21 |
101 | | -- 🐛 **Bug修复**:修复 LandEnterListener NPE 问题 |
102 | | -- ⚡ **性能优化**:爆炸保护逻辑精简,减少不必要检查 |
103 | | -- 🛡️ **保护优化**:玩家保护不再包含摔落等自然伤害 |
104 | | -- 🌟 **兼容性**:向后兼容 Paper 1.20.4+ |
| 146 | +### v1.4.1 · 多语言强化 |
| 147 | + |
| 148 | +- 🌍 引入完整国际化(i18n)框架 |
| 149 | +- 🐛 修复与连锁破坏类插件联动导致的无限刷资源问题 |
| 150 | +- ➕ 新增 `reload`、`help` 命令 |
| 151 | + |
| 152 | +### v1.4 · Paper 1.21.8 适配 |
| 153 | + |
| 154 | +- 🚀 升级支持 Paper 1.21.8 与 Java 21 |
| 155 | +- 🐛 修复 `LandEnterListener` 空指针异常 |
| 156 | +- ⚡ 优化爆炸保护逻辑,减少额外检查 |
| 157 | +- 🛡️ 玩家保护剥离自然伤害,行为更符合直觉 |
| 158 | +- ♻️ 兼容 Paper 1.20.4+ |
| 159 | + |
| 160 | +### v1.3.1 |
| 161 | + |
| 162 | +- 📈 空间索引优化,查询性能提升 60–80% |
| 163 | +- 🔒 全面换用 `ConcurrentHashMap` 提升并发安全 |
| 164 | +- 💾 降低 20–30% 内存占用 |
| 165 | +- 🧹 重构配置与常量,方便维护 |
| 166 | + |
| 167 | +### v1.3 |
| 168 | + |
| 169 | +- 🔁 全面重写领地保护系统 |
| 170 | +- 🆕 新增 `/easyland rule` 指令体系 |
| 171 | +- 🗂️ 保护规则改为领地级独立存储 |
| 172 | +- 🧱 配置文件结构升级 |
| 173 | + |
| 174 | +### v1.2 |
| 175 | + |
| 176 | +- 🗃️ 新增配置文件管理系统 |
| 177 | +- 🛠️ 增加管理员权限组 |
| 178 | +- 🎯 `show` 指令支持自定义时间 |
105 | 179 |
|
106 | | -### V1.3.1 |
107 | | -- 空间索引优化:查找性能提升 60-80% |
108 | | -- 并发安全:全面使用 ConcurrentHashMap |
109 | | -- 内存优化:减少 20-30% 内存使用 |
110 | | -- 代码重构:移除硬编码,提升可维护性 |
| 180 | +### v1.1 |
111 | 181 |
|
112 | | -### V1.3 |
113 | | -- 革命性领地保护系统重构 |
114 | | -- 新增 `/easyland rule` 指令系统 |
115 | | -- 保护规则按领地独立存储 |
116 | | -- 配置文件结构升级 |
| 182 | +- 👥 信任系统支持预信任 |
| 183 | +- 📋 新增 `trustlist` 指令 |
117 | 184 |
|
118 | | -### V1.2 |
119 | | -- 新增配置文件管理系统 |
120 | | -- 新增管理员权限组 |
121 | | -- 优化 show 指令,支持自定义时间 |
| 185 | +### v1.0 |
122 | 186 |
|
123 | | -### V1.1 |
124 | | -- 优化信任系统,支持预信任 |
125 | | -- 新增 trustlist 指令 |
| 187 | +- 🎉 实现基础领地管理能力 |
126 | 188 |
|
127 | | -### V1.0 |
128 | | -- 基础功能实现 |
| 189 | +## 🤝 支持反馈 |
129 | 190 |
|
| 191 | +- ⭐ 欢迎 Star 本仓库支持项目发展 |
| 192 | +- 🐛 如遇问题请在 Issues 中反馈 |
| 193 | +- 💬 也可通过 Pull Request 贡献功能或翻译 |
130 | 194 |
|
131 | 195 | --- |
132 | 196 |
|
133 | | -💝 **感谢使用 Easyland!** |
134 | | -🌟 如有问题请在 GitHub 提交 Issue |
| 197 | +感谢选择 Easyland,祝你和玩家在领地里玩得开心! |
135 | 198 |
|
0 commit comments