# 下一代自定义末影箱
终极、高性能且完全可定制的现代服务器的末影箱解决方案。从头开始为 Paper & Folia 构建。
## 概述
- 厌倦了那些导致服务器卡顿、缺乏功能或不支持现代服务器软件的基本末影箱插件吗? Next-Gen Custom Ender Chest 是对经典概念的彻底重写,专为满足现代高性能服务器的需求而设计。
- 我们的插件提供强大的、灵活的和完全异步的体验,确保零卡顿,同时为您的玩家提供基于权限的末影箱。无论您运行单服务器还是大型网络,我们的多存储后端都能满足您的需求。
## ⭐ 特性
**基于权限的大小**: 可以轻松配置多达 6 种不同的末影箱大小,通过权限节点 (CustomEnderChest.level.0 到 CustomEnderChest.level.5) 授予玩家。
**⚡ 高性能 & 异步**: 所有数据操作(加载和保存)均以异步方式处理,这意味着即使有数百名玩家在线,服务器的性能也不会受到影响。灵活的存储系统:您可以选择如何存储数据!
- MySQL: 适用于 BungeeCord/Velocity 等多服务器网络,无缝同步玩家数据。
- H2: 用于单服务器的快速、基于文件的数据库。与 YML 相比,它具有更好的性能,并且无需任何设置。
- YML: 简单易编辑,将每个玩家的数据保存在单独的文件中。
**Folia 兼容**: 考虑到未来。我们的调度器和数据处理逻辑与 Folia 的多线程环境完全兼容,这为很少的插件提供了这种功能。
完全可定制 (MiniMessage):使用强大的 MiniMessage 格式自定义所有消息、前缀,甚至物品栏标题。内置对渐变、十六进制颜色和传统代码 (&c) 的支持。
**多语言支持**: 创建和在不同的语言文件(lang_en.yml、lang_vi.yml 等)之间切换,只需更改 config 即可。
**强大的管理员命令**: 重新加载插件,打开/删除任何玩家的箱子(在线或离线),轻松管理插件。
**易于迁移**: 一个简单的命令 (/cec importlegacy) 允许您从此插件的基于文件的旧版本导入所有玩家数据。
## 命令 & 权限
点击查看 命令 & 权限
```
玩家命令: /ec - 打开你的末影箱.
别名: /ec, /cec, /customenderchest
大小权限:
CustomEnderChest.level.0 - 9 格 (1 行)
CustomEnderChest.level.1 - 18 格 (2 行)
CustomEnderChest.level.2 - 27 格 (3 行)
CustomEnderChest.level.3 - 36 格 (4 行)
CustomEnderChest.level.4 - 45 格 (5 行)
CustomEnderChest.level.5 - 54 格 (6 行)
```
```
管理员命令:
/cec reload - 重新加载配置和语言文件
/cec importlegacy - 从旧插件版本的格式导入数据。
/cec delete - # 下次更新
/cec open - 打开末影箱 玩家
权限: CustomEnderChest.admin
```
配置
插件配置非常简单。您可以控制从存储类型到每个音效的所有内容。
```
# -------------------------------------------------- #
# CustomEnderChest v2.0 的配置 #
# -------------------------------------------------- #
# 感谢您使用重构版本!
# 所有消息、标题和用户界面文本现在都在 /lang 目录中管理。
# 通用插件设置
general:
# 使用的语言文件。
# 示例:“en” 将加载“lang_en.yml”, “vi” 将加载“lang_vi.yml”。
# 确保相应的文件存在于插件的 /lang 文件夹中。
locale: "en"
# 数据库设置
storage:
# 存储类型。选项:
# yml - 在 YAML 文件中存储数据,无需外部设置。
# h2 - (默认 & 推荐用于单服务器) 快速、轻量级,在单个文件中存储数据,无需外部设置。
# mysql - (推荐用于多服务器网络) 需要一个单独的 MySQL 服务器。
type: "h2"
# 将在数据库中使用的表名。
table_name: "custom_enderchests"
# 定期自动保存在线玩家的数据。
# 这有助于在服务器崩溃时尽量减少数据丢失。
# 时间以秒为单位。
auto-save-interval-seconds: 300 # 默认是 5 分钟
# MySQL 设置(仅当 `type` 为 "mysql" 时生效)
mysql:
host: "127.0.0.1"
port: 3306
database: "enderchest_db"
username: "user"
password: "password"
# 启用/禁用连接的 SSL 加密。
use-ssl: false
# 连接池 (HikariCP) 设置。
# 这些设置优化数据库连接性能。
# 除非您知道自己在做什么,否则通常不需要更改这些设置。
pool-settings:
max-pool-size: 10
min-idle: 5
connection-timeout: 30000 # 30 秒
# 自动清理 MySQL 中的旧用户数据
auto-cleanup:
# 启用/禁用自动删除不活跃的玩家数据。
enabled: false
# 不活跃的天数。离线超过此时间长的玩家的数据将被删除。
inactive-days: 90
# 末影箱游戏选项
enderchest-options:
# 通过右键单击末影箱方块禁用打开自定义末影箱。
# 如果您只想通过命令让玩家打开箱子,则很有用。
disable-enderchest-click: false
# 音频自定义
sounds:
# 如果设置为 `true`,则禁用所有插件声音。
disable-all: false
# 您可以在此处找到有效的音效名称:
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html
# (使用 Enum 列中的名称)
open:
name: "BLOCK_ENDER_CHEST_OPEN"
volume: 1.0
pitch: 1.0
close:
name: "BLOCK_ENDER_CHEST_CLOSE"
volume: 1.0
pitch: 1.0
fail:
name: "BLOCK_NOTE_BLOCK_PLING"
volume: 1.0
pitch: 0.5
reload:
name: "ENTITY_PLAYER_LEVELUP"
volume: 0.8
pitch: 1.5
```
点击查看 lang/lang_en.yml
```
messages:
prefix: "[EnderChest] "
no-permission: "You don't have permission for that."
players-only: "This command can only be run by a player."
reload-success: "Configuration and language files have been reloaded."
data-still-loading: "Your data is still loading, please wait a moment..."
command:
usage: "Usage: /
点击查看 lang/lang_vi.yml
```
messages:
prefix: "[Rương Ender] "
no-permission: "Bạn không có quyền để làm điều này."
players-only: "Lệnh này chỉ có thể được thực thi bởi người chơi."
reload-success: "Đã tải lại tệp cấu hình và ngôn ngữ."
data-still-loading: "Dữ liệu của bạn đang được tải, vui lòng chờ trong giây lát..."
command:
usage: "Sử dụng: /
## 安装
1. 下载最新版本。
2. 将 .jar 文件放入服务器的插件文件夹中。
3. 启动服务器以生成默认的配置文件。
4. 停止服务器,编辑 config.yml 和 lang/lang_en.yml 以便自定义。
5. 再次启动服务器。 完成!
## 支持
如果您有任何问题或需要支持,请使用讨论线程或 Discord:maiminhdung.