# 🌟 **SqizleCrates** - Minecraft 服务器的优质奖励系统
**使用最优雅的箱子解决方案来改变您的服务器体验!**

## 🚀 提升服务器经济
SqizleCrates 重新定义了 Minecraft 服务器上奖励的工作方式。通过完美的简单性和强大性的平衡,该插件提供无与伦比的箱子体验,将让您的玩家欲罢不能。
## ✨ SqizleCrates 胜过其他原因
- **简洁的设计** - 直观的界面使设置和管理变得轻而易举
- **双键系统** - 灵活的虚拟或物理密钥选项,以满足您的服务器需求
- **物品保真度** - 保留所有物品元数据,包括名称、lore 和饰边
- **资源高效** - 优化的代码可确保对服务器的影响最小
- **集成就绪** - 无缝的 PlaceholderAPI 支持,用于扩展功能
## 💎 核心功能
- **可定制的箱子**:创建具有不同奖励、设置和外观的多个箱子
- **虚拟和物理密钥**:在数据库中存储的虚拟密钥或物理密钥物品之间进行选择
- **远程箱子访问**:使用箱子 GUI 从任何地方打开箱子,无需访问物理位置
- **GUI 编辑器**:用于创建和管理箱子的易于使用的游戏内编辑器
- **奖励系统**:添加物品或命令作为奖励,并提供可定制的外观和附魔
- **元数据保留**:当玩家收到奖励时,物品名称、lore 和饰边将被保留
- **滚动动画**:打开箱子时,类似于老虎机的激动人心的滚动动画
- **重骰系统**:允许玩家配置一定次数的机会来重骰奖励
- **权限系统**:使用权限节点控制对箱子的访问
- **数据库存储**:使用 SQLite 永久存储虚拟密钥
- **PlaceholderAPI 支持**:使用 `%sqizlecrates_key_
%` 在全息插件中显示密钥计数
- **可定制的聊天前缀**:使用自定义颜色配置插件的聊天前缀
- **十六进制颜色支持**:除了传统的颜色码之外,还支持使用现代十六进制颜色码 (#RRGGBB)
## 🛠️ 命令 & 权限
| 命令 | 描述 | 权限 |
|---------|-------------|------------|
| `/sqca give key ` | 给玩家密钥 | sqizlecrates.give |
| `/sqca giveall key ` | 给所有在线玩家密钥 | sqizlecrates.giveall |
| `/sqca reload` | 重新加载配置 | sqizlecrates.reload |
| `/sqca crate create ` | 创建一个新的箱子 | sqizlecrates.create |
| `/sqca editor` | 打开箱子编辑器 GUI | sqizlecrates.editor |
| `/sqc crates` | 打开箱子列表 GUI (玩家命令) | sqizlecrates.command |
| `/sqc keys` | 查看所有密钥及其数量的列表 | sqizlecrates.command |
**权限组:**
- `sqizlecrates.admin` - 访问所有管理员命令和功能 (默认: operators)
## 安装
1. 从 [Modrinth](https://modrinth.com/plugin/sqizlecrates) 下载 SqizleCrates 的最新版本
2. 将 SqizleCrates.jar 文件放在服务器的 `plugins` 文件夹中
3. 重新启动服务器或使用插件管理器加载插件
4. 插件将在 `plugins/SqizleCrates` 文件夹中生成默认配置文件
初始配置
### 创建你的第一个箱子
1. 使用 `/sqca crate create ` 创建一个新的箱子
2. 使用 `/sqca editor` 打开箱子编辑器并选择你的箱子
3. 配置箱子设置:
- 设置显示名称、密钥名称和权限
- 选择滚动模式或直接选择模式
- 配置重骰机会
4. 将箱子放置在世界中:
- 在编辑器中,点击“放置箱子”
- 点击世界中的一个方块以将其设置为箱子位置
5. 添加奖励到箱子中:
- 在编辑器中,点击“编辑奖励”
- 将你想要添加为奖励的物品放在你的物品栏中
- 点击这些物品以将它们添加到奖励中
- 配置奖励设置(显示、命令等)
### 给玩家密钥
- 对于虚拟密钥:`/sqca give key `
- 对于物理密钥:在 config.yml 中启用 `physical-items: true` 并使用相同的命令
## 🔧 轻松配置
实施非常简单:
配置 Spoiler
```yaml
# ╔════════════════════════════════════════════════════════╗
# ║ ░░ GENERAL PLUGIN SETTINGS ░░ ║
# ╚════════════════════════════════════════════════════════╝
plugin:
# 消息的语言设置(目前仅支持 'en')
language: "en"
# 启用启动时检查插件更新
check-updates: true
# 调试模式配置
# - 将其设置为 true 以启用详细的日志记录以进行故障排除
# - 将其设置为 false 以进行正常操作(推荐)
debug: false
# ╔════════════════════════════════════════════════════════╗
# ║ ░░ DATABASE SETTINGS ░░ ║
# ╚════════════════════════════════════════════════════════╝
database:
# 启用虚拟密钥的数据库存储
enabled: true
# 数据库类型(目前仅支持 'sqlite')
type: "sqlite"
# 数据库文件名
file: "crates.db"
# ╔════════════════════════════════════════════════════════╗
# ║ ░░ KEY SETTINGS ░░ ║
# ╚════════════════════════════════════════════════════════╝
keys:
# 设置为 true 以使用物理密钥物品,设置为 false 以使用虚拟密钥
physical-items: false
# 用于物理密钥物品的材料
key-material: "TRIPWIRE_HOOK"
# 密钥名称格式(%key_name% 将被替换为箱子的密钥名称)
# 支持传统的颜色码 (&6) 和十六进制颜色 (hex colors)
key-name: "&6%key_name% Key"
# 示例带十六进制颜色:key-name: "#aaa8a8%key_name% Key"
# 密钥物品的 Lore (支持传统的颜色码和十六进制颜色)
key-lore:
- "&7使用此打开 %crate_name% 箱子!"
- "&e右键点击箱子开始。"
# 示例带十六进制颜色:
# - "#aaa8a8使用此打开 %crate_name% 箱子!"
# - "#ffd700右键点击箱子开始。"
# ╔════════════════════════════════════════════════════════╗
# ║ ░░ SOUND SETTINGS ░░ ║
# ╚════════════════════════════════════════════════════════╝
sounds:
# 打开箱子时播放的声音
open: "BLOCK_CHEST_OPEN"
# 领取奖励时播放的声音
claim: "ENTITY_PLAYER_LEVELUP"
# 发生错误时播放的声音
error: "BLOCK_NOTE_BLOCK_BASS"
# ╔════════════════════════════════════════════════════════╗
# ║ ░░ GUI SETTINGS ░░ ║
# ╚════════════════════════════════════════════════════════╝
gui:
# 箱子 GUI 中的行数 (1-6)
# 小心:如果更改此选项且有正在使用的箱子,您需要重新做它们。
rows: 3
# 箱子的默认重骰机会数
default-reroll-chances: 1
# 空闲插槽的填充物品设置
filler:
# 启用或禁用填充物品
enabled: true
# 填充物品的材料
material: "GRAY_STAINED_GLASS_PANE"
# 填充物品的显示名称
name: " "
# ╔════════════════════════════════════════════════════════╗
# ║ ░░ CHAT SETTINGS ░░ ║
# ╚════════════════════════════════════════════════════════╝
chat:
# 聊天前缀配置
prefix:
# 启用或禁用聊天前缀
enabled: true
# 用作前缀的文字 (支持颜色码和十六进制颜色,如 #aaa8a8)
text: "&6[SqizleCrates]:"
# 示例带十六进制颜色:text: "#aaa8a8[SqizleCrates]:"
```
```yaml
crate:
name: "示例"
display-name: "&e示例箱子"
key: "示例密钥"
permission: ""
key-required: true
# 设置为 true 以使用滚动动画,设置为 false 以使用直接选择
roll-mode: true
# 此箱子的重骰机会数 (覆盖默认值)
reroll-chances: 2
gui:
title: "&e示例箱子奖励"
rows: 3
filler:
enabled: true
material: "BLACK_STAINED_GLASS_PANE"
name: " "
sound:
on-open: "BLOCK_ENDER_CHEST_OPEN"
on-claim: "ENTITY_ENDER_DRAGON_GROWL"
location:
world: "world"
x: 0
y: 70
z: 0
rewards:
reward1:
slot: 10
display:
material: "DIAMOND"
name: "&b钻石奖励"
lore:
- "&7赢取钻石!"
give:
type: "item"
item:
material: "DIAMOND"
amount: 1
reward2:
slot: 11
display:
material: "EXPERIENCE_BOTTLE"
name: "&a经验奖励"
lore:
- "&7获得一些经验!"
give:
type: "command"
command: "xp add %player% 100"
```
## 🔌 服务器兼容性
- 完全支持 Minecraft 1.20.1+
- 完美适用于 Paper/Spigot、Folia 和 Purpur 服务器!
- 配合 PlaceholderAPI 使用,功能更强大
加入已经发现 Minecraft 奖励未来发展的具有前瞻性的服务器所有者社区!
---
---
*SqizleCrates - 重新定义奖励体验*