- 版权类型
- 原创
- 插件中文名称
- 欢迎礼包
- 插件英文名称
- WelcomeKit
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- Purpur
- 其他核心
- 语言支持
- 多语言
- 前置组件
- [变量支持]placeholderapi选择性安装https://www.spigotmc.org/resources/placeholderapi.6245/
[权限组支持]luckperms选择性安装https://luckperms.net/
- 适配版本(Java)
- 26.x
- 1.21
- 1.20
[MD]
# WelcomeKit
Minecraft 新手礼包插件,支持 NBT 物品、PlaceholderAPI、LuckPerms 权限组、多语言切换。
**作者:** sixweek | **QQ:** 3857490475
---
## 功能特性
- **多种触发条件** - 首次加入 / 每次登录 / 冷却时间
- **两种给予方式** - 直接给背包 / GUI 界面领取
- **NBT 物品支持** - 名称、lore、附魔、不可破坏、原始 NBT
- **PlaceholderAPI 集成** - 消息和物品中使用 PAPI 占位符
- **LuckPerms 权限组** - 基于权限组的礼包限制
- **多语言支持** - 中文 / 英文 / 日文,可配置切换
- **GUI 礼包中心** - 可视化预览和领取
- **冷却时间系统** - 支持复合格式、状态查询、到期通知
- **SQLite 存储** - 记录领取状态和冷却时间
---
## 安装
1. 将 `WelcomeKit-1.0.0.jar` 放入服务器 `plugins/` 目录
2. 重启服务器
3. 插件会自动生成配置文件
---
## 命令
| 命令 | 说明 | 权限 |
|------|------|------|
| `/wk` | 打开礼包界面 | `welcomekit.gui` |
| `/wk help` | 查看帮助 | - |
| `/wk about` | 关于插件 | - |
| `/wk create <名称>` | 创建礼包 | `welcomekit.create` |
| `/wk delete <名称>` | 删除礼包 | `welcomekit.create` |
| `/wk additem <名称> [槽位]` | 将手中物品添加到礼包 | `welcomekit.create` |
| `/wk settrigger <名称> <类型>` | 设置触发条件 | `welcomekit.create` |
| `/wk setcooldown <名称> <时间>` | 设置冷却时间 | `welcomekit.create` |
| `/wk cooldown <名称>` | 查询冷却状态 | `welcomekit.gui` |
| `/wk setdelivery <名称> <模式>` | 设置给予方式 | `welcomekit.create` |
| `/wk setgroup <名称> <权限组>` | 设置权限组要求 | `welcomekit.create` |
| `/wk setpermission <名称> <权限>` | 设置权限要求 | `welcomekit.create` |
| `/wk list` | 列出所有礼包 | `welcomekit.preview` |
| `/wk preview <名称>` | 预览礼包 | `welcomekit.preview` |
| `/wk give <名称> <玩家>` | 给予礼包 | `welcomekit.admin` |
| `/wk gui` | 打开礼包界面 | `welcomekit.gui` |
| `/wk reload` | 重载配置 | `welcomekit.reload` |
| `/wk locale <语言>` | 切换语言 | `welcomekit.admin` |
---
## 配置
### 主配置 (config.yml)
```yaml
# 语言设置: zh_CN, en_US, ja_JP
locale: zh_CN
# 存储设置
storage:
type: SQLITE
# 默认礼包设置
defaults:
trigger: FIRST_JOIN
cooldown: 7d
delivery: INVENTORY
receive-message: true
```
### 礼包配置 (kits/xxx.yml)
```yaml
# 触发条件
trigger:
type: FIRST_JOIN # FIRST_JOIN | EVERY_LOGIN | COOLDOWN
cooldown: 7d
# 权限要求
requirements:
permission: "welcomekit.vip"
groups:
- vip
- mvp
require-all-groups: false
# 物品列表
items:
0:
material: DIAMOND_SWORD
amount: 1
name: "&b新手之剑"
lore:
- "&7欢迎来到服务器!"
- "&7玩家: &f{player}"
enchantments:
sharpness: 3
flags:
- HIDE_ENCHANTS
unbreakable: true
commands:
- "give {player} diamond 5"
# 给予方式
delivery:
mode: INVENTORY
gui-title: "&6{name} - 新手礼包"
gui-size: 27
message: "&a欢迎!已获得新手礼包!"
```
---
## 触发类型
| 类型 | 说明 |
|------|------|
| `FIRST_JOIN` | 首次加入服务器时触发 |
| `EVERY_LOGIN` | 每次登录都触发 |
| `COOLDOWN` | 冷却时间结束后可再次领取 |
### 冷却时间格式
支持多种格式,可自由组合:
| 格式 | 示例 | 说明 |
|------|------|------|
| `d` | `7d` | 7天 |
| `h` | `12h` | 12小时 |
| `m` | `30m` | 30分钟 |
| `s` | `60s` | 60秒 |
| 组合 | `1d12h` | 1天12小时 |
| 组合 | `2h30m` | 2小时30分钟 |
| 组合 | `1d2h30m45s` | 1天2小时30分钟45秒 |
**查询冷却状态:**
```
/wk cooldown starter
```
**冷却到期通知:** 玩家上线时,如果冷却已结束,会收到自动通知。
## 给予方式
| 方式 | 说明 |
|------|------|
| `INVENTORY` | 直接放入背包 |
| `GUI` | 弹出 GUI 界面让玩家点击领取 |
---
## 变量
### 内置变量
| 变量 | 说明 |
|------|------|
| `{player}` | 玩家名称 |
| `{display_name}` | 玩家显示名称 |
| `{uuid}` | 玩家 UUID |
| `{world}` | 玩家所在世界 |
| `{health}` | 玩家生命值 |
| `{level}` | 玩家等级 |
### PlaceholderAPI 占位符
安装 PlaceholderAPI 后可使用所有 PAPI 占位符,例如:
- `%vault_eco_balance%` - 经济余额
- `%statistic_time_played%` - 在线时间
- `%player_level%` - 等级
---
## 权限
| 权限 | 说明 | 默认 |
|------|------|------|
| `welcomekit.admin` | 管理员权限 | OP |
| `welcomekit.create` | 创建/编辑礼包 | OP |
| `welcomekit.reload` | 重载配置 | OP |
| `welcomekit.preview` | 预览礼包 | OP |
| `welcomekit.gui` | 打开 GUI | 所有玩家 |
| `welcomekit.receive` | 领取礼包 | 所有玩家 |
---
## 依赖
### 必需
- Paper 1.20+ 或 Spigot 1.20+
### 可选
- [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) - 占位符支持
- [LuckPerms](https://luckperms.net/) - 权限组支持
---
## 支持的语言
| 代码 | 语言 |
|------|------|
| `zh_CN` | 简体中文 (默认) |
| `en_US` | English |
| `ja_JP` | 日本語 |
切换语言:`/wk locale zh_CN` 或修改 `config.yml` 中的 `locale` 配置。
---
## 快速开始
### 创建一个新手礼包
```
/wk create starter
```
### 添加物品
手持物品执行:
```
/wk additem starter
```
### 设置触发条件
```
/wk settrigger starter FIRST_JOIN
```
### 设置给予方式
```
/wk setdelivery starter INVENTORY
```
### 设置冷却类型礼包
```
/wk create daily
/wk additem daily
/wk settrigger daily COOLDOWN
/wk setcooldown daily 1d
```
### 查询冷却状态
```
/wk cooldown daily
```
### 重载配置
```
/wk reload
```
---
## 作者信息
- **作者:** sixweek
- **QQ:** 3857490475
---
## 许可证
MIT License
[/MD]