说明
此 wiki 内所使用的文件名及目录名均为默认的,自行替换成你自己的目录及文件名即可。
插件前置
Vault, PlayerPoints, NyEconomy, PlaceholderAPI, AyCore, NBTAPI
插件激活
将插件放入 plugins
加载一遍生成配置文件,打开 ./plugins/MiniCrate/config.yml
# 授权服务器authKey
authKey: "在这里输入你的授权码(注意 : 后方有个空格)"
结构说明
在目录 ./plugins/MiniCrate/
中,有多个文件和目录,下方是它们的作用说明。
| 文件名 | 文件说明 |
| :---: | :--- |
| config.yml | 主配置文件,主功能设置的地方,例: 消息设定, 统一重置设定, 音效设定 |
| rewards.yml | 设置奖励配置文件,设置自定义奖励, 所有抽取物品在这里配置|
| item.yml | 物品的拓展展示类型配置文件, 用于存储额外的展示类型 |
| time.yml| 刷新日期配置文件 |
<br>
| 目录名 | 目录说明 |
| :---: | :--- |
| crates | 抽奖容器目录, 此目录内每个文件相当于游戏内一个独立的抽奖容器(可设置多个) |
奖池容器
文件路径: ./plugins/MiniCrate/crates/example.yml
此处以默认配置生成的example.yml
来举例
奖池消耗
# 消耗货币类型, VAULT, NY_ECONOMY, PLAYER_POINTS
pay-type: VAULT
# NyEconomy 货币名
vault-name: "钻石"
# 是否允许货币
allow-eco: true
# 抽取价格
price:
one: 100
five: 450
# 抵用券物品
coupon:
type: PAPER
amount: 1
data: 0
name: "&b测试奖池抵用卷"
#用于对应拓展物品展示类型
lore: []
vault-name
: 当 pay-type
设置为 NY_ECONOMY
时, 需要在此处设置货币的名称
奖池最终奖励
# 抽奖最终奖励设定
finally:
#满幸运值后下一抽必定抽中最终奖励是否开启
open: true
# 最终奖励
reward: "example-pack-1"
# 达到此幸运值的下一次抽取将必定抽中最终奖励
# 如果reset-reward关闭, 那么玩家的幸运值将会是: 玩家幸运值 - count
count: 10
# 每次抽取增加的幸运值
each-count: 1
# 每个幸运值有额外的追加概率直接抽中最终的奖励
each-chance: 0.01
# 抽中终极奖励是否重置幸运值 (由达成幸运值后抽取到最终奖励,不论如何都会重置幸运值)
# 不论是否开启, 当玩家抽中最终奖励的时候都不会增加幸运值
reset-reward: true
open
: 当设定为 false
, 即不开启的时候,也会按照each-chance
计算追加概率
reward
: 最终奖励的物品编号, 可以为嵌套奖励,也可以是普通奖励
each-chance
: 为额外的几率,在抽取之外会额外计算概率来决定是否直接抽中.
finally:
open: false
reward: ""
count: 0
each-count: 0
each-chance: 0
reset-reward: false
当然了,关闭满幸运值下抽必中最终奖励,只设定幸运值附加概率也可以, 此处不过多赘述
奖池刷新
#重置设置
reset:
#累计次数奖励重置 日期类型: normal->永久 day->日 week->周
rewards: week
#累计次数重置 日期类型: normal->永久 day->日 week->周
counts: normal
奖池抽取奖励
# 奖励列表, 格式: 奖励//槽位下标//几率
rewards:
- "example-1//0//0.35"
- "example-2//1//0.35"
- "example-pack-1//2//0.05"
- "example-pack-2//3//0.20"
# 槽位列表
reward-slots:
- "10"
- "11"
- "12"
- "13"
# 嵌套奖励 (同概率下包内物品按照概率随机)
reward-pack:
example-pack-1:
- pack-1-item-1//0.1 #格式: 奖励//几率
- pack-1-item-2//0.8
- example-pack-2//0.1
example-pack-2:
- pack-2-item-1//0.60
- pack-2-item-2//0.39
```
`rewards`: 以 `example-1//0//0.01` 为例, 其中`example-1` 为rewards.yml 中对应的奖励编号, `0` 指 `reward-slots`中处于第一位的槽位, 即槽位 `10`
`reward-pack`: 嵌套奖励, 例如: 当玩家在奖池中抽到 `example-pack-1` 编号的奖品时,会按照概率随机抽取对应嵌套奖励中 对应 `物品编号` 的奖励 (这个编号的物品需要存在于`rewards.yml` ), 当然了, 其中可以存在进一步的嵌套奖励
>
> 奖励列表的几率应相加和为 1, 如果小于 1, 则有几率抽空
> 嵌套奖励的列表的几率相加小于1, 也可能会抽空
>
## 奖池累计次数奖励
此处以编号为 `c-10`的奖励为例,如下所示
```yaml
# 次数奖励设定
count-rewards:
# 不能重复
c-10:
type: ENDER_CHEST
amount: 1
data: 0
name: "&b抽取 10 次奖励"
lore:
- " &f当前抽取次数 &d%mnc_reward_count% &f次"
- " &f(拓展展示类型,编号: c-10)"
slot: 46
count: 10
show: "c-10"
nbt: []
commands:
- "broadcast 玩家 %player% 抽取幸运奖池达到 10 次了."
...
show: "c-10"
表示使用拓展物品展示类型编号为c-10
的显示类型
奖池界面及按钮
# 抽奖标题
title: "&8幸运奖池"
# 界面大小
size: 54
#界面物品
items:
# 单次抽奖
one:
type: STAINED_GLASS_PANE
amount: 1
data: 3
name: "&b抽一次"
lore:
- "&e消耗 &f100 &e金币"
slot: 21
# action 表示该按钮的功能为单抽
action: one
info:
type: SIGN
amount: 1
data: 0
name: "&a奖池信息"
lore:
- " "
- " &f每次抽取会增加幸运值, 提高极品奖励几率 "
- " &d%player_name% &f"
- " &f当前幸运值 &d%mnc_luck_count% &f点 "
- " &f当前抽取次数 &d%mnc_reward_count% &f次"
- " &f幸运值达到 &d10 &f, 必中极品奖励"
- " &f抽取达到指定次数可领取对应奖励, 每周一重置"
- " "
slot: 22
%player_name%
: 玩家名变量
%mnc_luck_count%
: 幸运值变量
%mnc_reward_count%
: 累计抽取次数变量
奖池物品
文件路径: ./plugins/MiniCrate/rewards.yml
以编号为 example-1
example-2
的奖励物品来举例说明
#编号
example-1:
type: DIAMOND
data: 0
amount: 1
name: "&b钻石 x1 概率 0.35"
display-name: "&b钻石 x1"
lore: []
commands:
- "give %player% diamond 1"
example-2:
type: GOLD_BLOCK
data: 0
amount: 1
name: "&b金币x100 概率 0.35"
display-name: "&b金币 x100"
show: "example3"
lore:
- "拓展展示类型example3"
commands:
- "nye give %player% 金币 100"
show
: 物品拓展展示类型
如果奖励作为嵌套奖励存在, 你也可以省略相关的 物品信息设置, 如下所示
pack-1-item-1:
display-name: "&b测试奖池抵用卷 x1"
commands:
- "mnc give %player% example 1"
pack-1-item-2:
display-name: "&b测试奖池抵用卷 x5"
commands:
- "mnc give %player% example 5"
统一配置
文件路径: ./plugins/MiniCrate/config.yml
命令执行方式
# true为控制台执行, flase为op执行
console: true
音效设定
# 音效
sounds:
success: "BLOCK_ENDERCHEST_OPEN"
tick: "UI_BUTTON_CLICK"
消息设定
message:
prefix: "&bMiniCrate &f"
help:
default:
- "&8[&aMiniCrate&8]: &e命令帮助列表"
- "&8- &b/%c open <奖池> &f打开某个奖池界面"
admin:
- "&8[&aMiniCrate&8]: &e命令帮助列表"
- "&8- &b/%c open <奖池> &f打开某个奖池界面"
- "&8- &b/%c add <物品编号> &f增加一个物品"
- "&8- &b/%c give <玩家> <物品编号> [数量] &f获取存储的物品"
- "&8- &b/%c reset [reward/count/all] [day/week/all] &f按照类型与日期重置抽奖次数或者奖励"
- "&8- &b/%c reload &f重载插件配置文件"
pls-input-player-name: "请输入玩家名."
...
重置设定
reset:
#日
day:
time: "00:00:00"
#周
week:
#星期
date: 1
time: "00:00:00"
设定物品拓展展示类型
文件路径 ./plugins/minicrate/item.yml
目前支持物品拓展展示类型的配置项有
rewards.yml
: 所有奖励物品
./plugins/minicrate/crates/<奖池>.yml
: 奖池中的 coupon
(抵用卷) 和 count-rewards
(累计次数奖励)
使用指令 ./mnc add <物品编号>"
用来向该文件生成手持物品的展示类型数据,当配置项中show
变量配置与其<物品编号>
相同, 将会优先使用item.yml
的展示类型, 例如 rewards.yml
中 有一个物品的配置为 show: test1
, 且 ./plugins/minicrate/item.yml
有与名为 test1
的物品编号,那么就会优先使用该拓展展示类型
创建多个容器
复制文件 ./plugins/MiniCrate/crates/example.yml
并在同目录下粘贴
修改复制后的文件名为你想要的文件名,例如./plugins/MiniCrate/crates//example1.yml
使用命令 /minicrate open <容器文件名> 可打开指定容器名.
papi变量
%mnc_奖池编号_count%
: 玩家奖池当前累计次数
%mnc_奖池编号_luck%
: 玩家奖池当前幸运值
常见问题
为什么我抽到最终奖励了幸运值没有刷新?
请检查你对应容器文件的最终奖励设置, 如最终奖励对应的物品编号,是否有与奖池奖励物品中对应的编号存在, 再者就是请对照默认配置生成的文件来进行更改.
为什么 minicrate 奖励加载错误?
请检查你对应的嵌套奖励
, 和抽奖容器的 奖励设置
等的 物品编号
是否冲突, 或者存在无限嵌套的情况