# UserCrates
这个插件将每个箱子变成潜在的寻宝箱。 任何玩家都可以创建寻宝箱并放入他们想要的物品,然后打开自己的寻宝箱!
## 关于
它是如何工作的? 简单来说,你只需对着一个箱子,输入几个命令,就完成了! 现在任何持有密钥的玩家都可以打开那个箱子。 不需要其他的!
## 特殊说明
### 针对服务器管理员
如果你想启用经济功能(例如,为寻宝箱付费),你需要将 Vault 和一个与 Vault 兼容的经济插件安装到你的服务器上。 虽然不是必需的,但当 Vault 未正确设置时,插件将自动禁用经济相关的特性。
以下插件保护的任何箱子都不能变成寻宝箱。 如果你想在这里添加其他插件,请在我的 [discord](https://discord.gg/8PPgcmYNf4) 上告诉我。
* WorldGuard
* GriefPrevention
所有权限默认应启用给所有用户。 如果你希望有限制,你需要一个允许你禁用权限的权限管理器插件。
### 针对开发者
不幸的是,此插件没有 API。 即使目前这没有用,如果足够多的请求出现,我也可以创建一个。
## 命令
| 命令 | 描述 | 所需权限 |
|------------------------------------|-------------------------------------------------------------------------------------|----------------------------|
| /crate | 主命令。 | usercrates.use |
| /crate help | 提供所有其他命令的主要帮助菜单 | |
| /crate create \[amount\] \[label\] | 在你正在看的箱子处创建一个寻宝箱。 | usercrates.create |
| /crate delete | 删除你正在看的寻宝箱。 当然你需要是该寻宝箱的所有者。 | usercrates.delete |
| /crate manage | 提供一个简单的菜单,用于关于修改你的寻宝箱的命令建议。 | usercrates.manage |
| /crate addaccessor \ | 将给定的玩家添加为你的寻宝箱的访问者。 | usercrates.accessor.add |
| /crate removeaccessor \ | 从你的寻宝箱的访问者列表中删除该玩家。 | usercrates.accessor.remove |
| /crate changetype \ | 更改你的寻宝箱的类型。 | usercrates.changetype |
| /crate setprice \ | 更改你的寻宝箱的价格 | usercrates.setprice |
| /crate getkey \ | 给你一定数量的密钥来出售,使用各种方式。 | usercrates.getkey |
## 配置
### lang.yml
```yaml
# /crate addaccessor 和 /crate removeaccessor 命令的消息
accessor:
# /crate addaccessor
add:
# 当玩家看的箱子不存在时。
not-chest: '&c您需要看着您要添加访问者的寻宝箱'
# 当玩家看着一个箱子,但它不是寻宝箱时。
not-crate: '&c您没有看着寻宝箱'
# 当玩家试图对一个他们不拥有的寻宝箱执行此操作时。
not-owner: '&c这个寻宝箱不属于您'
# 当给定的名称已经在该寻宝箱的访问者列表中时。
exists: '&b%player% &c已经在这个寻宝箱的访问者列表中了'
# 当玩家成功地将某人添加到访问者列表中
# %player% - 被添加到访问者列表中的玩家。
success: '&a已成功将 &b%player% &a添加到这个寻宝箱的访问者列表中!'
# /crate removeaccessor
remove:
# 当玩家看的箱子不存在时。
not-chest: '&c您需要看着您要删除访问者的寻宝箱'
# 当玩家看着一个箱子,但它不是寻宝箱时。
not-crate: '&c您没有看着寻宝箱'
# 当玩家试图对一个他们不拥有的寻宝箱执行此操作时。
not-owner: '&c这个寻宝箱不属于您'
# 当给定的名称不存在于该寻宝箱的访问者列表中时。
unexists: '&b%player% &c已经不在这个寻宝箱的访问者列表中了'
# 当玩家成功地从访问者列表中删除了某人
# %player% - 从访问者列表中删除的玩家
success: '&a已成功将 &b%player% &a从这个寻宝箱的访问者列表中移除!'
# /crate changetype
changetype:
# 当玩家看的箱子不存在时。
not-chest: '&c您需要看着您要更改类型的箱子'
# 当玩家看着一个箱子,但它不是寻宝箱时。
not-crate: '&c您没有看着寻宝箱'
# 当玩家试图对一个他们不拥有的寻宝箱执行此操作时。
not-owner: '&c这个寻宝箱不属于您'
# 当玩家想要一个可出售的类型,但没有经济系统。
no-econ: '&c您不能将您的寻宝箱设置为可出售,因为此服务器没有经济系统'
# 当玩家成功更改了寻宝箱类型时。
# %type% - 寻宝箱的新类型。在 'manage.types' 下定义
success: '&a已成功将寻宝箱类型更改为 &b%type%!'
# /crate create
create:
# 当玩家看的箱子不存在时。
not-chest: '&c您需要看一个箱子来创建寻宝箱'
# 当玩家看着一个寻宝箱时
already-crate: '&c那里已经有一个寻宝箱了'
# 当玩家成功创建了寻宝箱时。
success: '&a已成功在该区块创建了寻宝箱! 您可以放入您的物品,设置一个价格并获取密钥以将其出售,并添加访问者以管理寻宝箱。'
# 当服务器上没有经济系统时,在成功消息中出现的额外警告。
no-econ: '&6您将无法将您的寻宝箱设置为可出售,因为此服务器没有经济系统'
# /crate delete
delete:
# 当玩家看的箱子不存在时。
not-chest: '&c您需要看着您要删除的寻宝箱'
# 当玩家看着一个箱子,但它不是寻宝箱时。
not-crate: '&c您没有看着寻宝箱'
# 当玩家试图对一个他们不拥有的寻宝箱执行此操作时。
not-owner: '&c这个寻宝箱不属于您'
# 当玩家成功删除了寻宝箱时。
success: '&a已成功删除寻宝箱!'
# /crate getkey
getkey:
# 当玩家看的箱子不存在时。
not-chest: '&c您需要看着要获取密钥的寻宝箱'
# 当玩家看着一个箱子,但它不是寻宝箱时。
not-crate: '&c您没有看着寻宝箱'
# 当玩家试图对一个他们不拥有的寻宝箱执行此操作时。
not-owner: '&c这个寻宝箱不属于您'
# 当玩家试图为不支持密钥的寻宝箱获取密钥时。
not-keyable: '&c此寻宝箱不支持密钥。 您需要通过打开它来购买寻宝箱。 如果您想使它能够使用密钥,请先使用 &b/crate changetype &c更改其类型。'
# 当玩家成功获取了一些密钥时。
# %amount% - 玩家获得密钥的数量。
success: '&a已成功获取 &b%amount% &a个密钥!'
# /crate manage
manage:
# 当玩家看的箱子不存在时。
not-chest: '&c您需要看着您要管理的寻宝箱'
# 当玩家看着一个箱子,但它不是寻宝箱时。
not-crate: '&c您没有看着寻宝箱'
# 当玩家试图对一个他们不拥有的寻宝箱执行此操作时。
not-owner: '&c这个寻宝箱不属于您'
# 菜单的标题。
# %player% - 拥有此寻宝箱的玩家。
header: '&4--&a%player%''s Crate&4--'
# 显示寻宝箱所有者的文本。
# %player% - 拥有此寻宝箱的玩家。
owner: '&e所有者: &b%player%'
# 显示访问者的文本。
# %accessors% - 此寻宝箱的访问者列表。
accessors: '&e访问者: &b%accessors%'
# [ADD] 按钮,当点击时会提示您使用 /crate addaccessor。
add-accessor: '&a&l[ADD]'
# 显示寻宝箱类型的文本。
# %type% - 寻宝箱的类型。在 'manage.types' 下定义。
type: '&e使用类型: &b%type%'
# 显示寻宝箱价格的文本。
# %price% - 寻宝箱的价格。
price: '&e价格: &a%price%'
# [CHANGE] 按钮,当点击时会提示您使用 /crate setprice 更改价格。
change: '&a&l[CHANGE]'
# 用于所有寻宝箱类型的彩色名称。
types:
# 仅使用密钥才能打开寻宝箱的意义。
KEY: '仅使用密钥'
# 仅使用价格才能打开寻宝箱的意义。
PRICE: '仅使用价格'
# 表示玩家可以使用密钥和价格两种方式打开寻宝箱。
BOTH_PRICE_KEY: '价格 & 密钥'
# 表示只有访问者才能在没有价格/密钥的情况下打开寻宝箱。 旨在用于有趣的寻宝箱。
ONLY_ACCESSORS: '仅访问者'
# 菜单的页脚。
footer: '&4------------------------'
# /crate setprice
setprice:
# 当服务器上没有经济系统时,意味着此命令完全没有用处。
no-econ: '&c您无法为任何寻宝箱设置价格,因为此服务器可能在寻宝箱仍然处于 &b只有价格 &ctype 时移除了其经济系统。 询问寻宝箱的所有者更改类型。'
# 当玩家看的箱子不存在时。
not-chest: '&c您需要看着您要更改价格的寻宝箱'
# 当玩家看着一个箱子,但它不是寻宝箱时。
not-crate: '&c您没有看着寻宝箱'
# 当玩家试图对一个他们不拥有的寻宝箱执行此操作时。
not-owner: '&c这个寻宝箱不属于您'
# 当玩家看的寻宝箱不支持价格时。
not-pricable: '&c您无法将这个寻宝箱设置为可以出售。 您需要先使用 &b/crate getkey &c获取一个密钥'。如果希望设置为可出售, 首先使用 &b/crate changetype &c修改类型。'
# 当玩家成功地更改了寻宝箱价格时。
# %price% - 寻宝箱的新价格。
success: '&a已成功更改寻宝箱的价格为 &b%price%!'
# /crate help (当您尝试执行未知命令时,例如 /crate askdg 或 /crate setype,也会显示)
help:
# 列表的标题。
header: '&4-----&aHelp Menu&4-----'
# 列表的命令格式。
# %cmd% - 命令用法。
# %desc% - 命令描述。
format: '&b%cmd% &6- &e%desc%'
# 列表的页脚。
footer: '&4-------------------'
# 当有人在不显示它的情况下破坏了寻宝箱区块时。
crate-break: '&c您不能破坏寻宝箱区块。 如果您尝试删除它,请考虑 &b/crate delete &c。'
# 关于玩家打开寻宝箱的时刻的消息。
open:
# 当玩家的物品栏没有空间时。
no-space: '&c您的物品栏没有空间来打开此寻宝箱'
# 当寻宝箱处于“仅访问者”模式,但玩家不是访问者时。
not-accessor: '&c此寻宝箱仅限访问者,您无法打开它'
# 当玩家正在打开寻宝箱时。
ing: '&e正在打开寻宝箱...'
# 当寻宝箱是支持价格的类型,但服务器没有经济系统时。
no-econ: '&c您目前无法打开这个寻宝箱,因为此服务器可能在寻宝箱仍然处于 &b仅价格 &ctype 时删除了其经济系统。 请告知寻宝箱的所有者更改类型'
# Stands for 'not-enough-balance'. 当玩家负担不起寻宝箱时。
# %price% - 玩家需要花费的金额。 保证玩家的余额低于它。
neb: '&c您需要 &a%price% &c才能打开这个寻宝箱'
# 当玩家手里没有持有一个密钥,但寻宝箱需要一个密钥时。
no-key: '&c您需要手里拿着一个密钥才能打开这个寻宝箱'
# 当玩家手里拿着一个属于其他寻宝箱的密钥时。
invalid-key: '&c您正在拿着错误的寻宝箱密钥'
# 当寻宝箱里面没有任何东西时。
nothing: '&c这个寻宝箱里面没有任何东西'
# 玩家花在寻宝箱上的钱金额。 如果他确实花了钱。
# %price% - 玩家在寻宝箱上花费的金额。
spent: '&e花费 &a%price% &e在这个寻宝箱上'
# 当玩家通过价格打开寻宝箱时,会发送给寻宝箱所有者的消息。
# %player% - 打开了寻宝箱的玩家。
# %price% - %player% 花费的金额。 寻宝箱的拥有者赚了这笔金额。
notification: '&b%player% &e购买了您的寻宝箱,花费 &a%price%&e!'
# 告诉玩家从寻宝箱里得到了什么。
# IMPORTANT: 始终在 "%item%" 前后添加 '&f'。 请勿忘记此操作。
# %item% - 玩家获得的物品名称。 悬停时会显示完整的物品工具提示。
# %count% - 物品的数量。
done: '&a您从寻宝箱中获得了 &f[&f%item%&f] x%count% &a!'
# 寻宝箱全息图的行。
hologram:
# 第一行。
# %player% - 拥有寻宝箱的玩家。
1: '&e%player%''s Crate'
# 第二行。
# %price% - 寻宝箱的价格。
2: '&e价格: &a%price%'
# 当寻宝箱处于 'KEY' 模式时显示在第二行。
2k: '&6需要密钥'
# 当寻宝箱处于 'BOTH_PRICE_KEY' 模式时显示在第二行。
# %price% - 寻宝箱的价格
2kp: '&6使用密钥 &d/ &e价格: &a%price%'
# 当寻宝箱处于 'ACCESSOR_ONLY' 模式时显示在第二行。
2a: '&6仅访问者'
# 第三行。
3: '&7右键点击以打开'
# 第四行。
4: '&7左键点击查看物品'
# 寻宝箱显示菜单。
crate_display:
# 菜单的标题。
title: 'Crate Display'
# 显示在寻宝箱显示菜单中每个物品下方的文本。
# %change% - 获取此物品的概率。
# %count% - 与此物品完全相同的物品已填充的数量。
# %all% - 寻宝箱中填充的槽数。
chance: '&eChance&6: &3%&b%chance% &3(&b%count% in %all%&3)'
# 寻宝箱打开菜单。
crate_opening:
# 菜单的标题
# %player% - 当前打开寻宝箱的拥有者。
title: 'Opening %player%''s Crate!'
# 寻宝箱密钥的显示。
key:
# 物品名称。
title: '&eCrate Key'
# 3 栏描述
desc:
# 第一栏。 说明这个寻宝箱打开了 %player%'s 寻宝箱。
# %player% - 拥有这个钥匙的寻宝箱的所有者。
1: '&6打开 &e%player%''s Crate&6。'
# 第二栏。 说明这个钥匙值多少钱。
# %price% - 寻宝箱的价格,一个钥匙的价格。
2: '&6值 &a%price% &6 每个钥匙从最新价格算起。'
# 第三栏。 说明如何用这个钥匙打开寻宝箱。
# %player% - 拥有这个钥匙的寻宝箱的所有者。
3: '&6右键点击 &e%player%''s Crate &6以使用这个钥匙打开它!'
```
### config.yml
```yaml
open:
# 如果启用,则当有人打开他的寻宝箱时,寻宝箱的所有者将会收到通知。
notification: true
```