商店 - 重要
敬请注意
这里介绍的内容是整个插件的核心,请确保至少阅读三遍以后再去尝试配置插件。
所有商店文件都存储在 shops
文件夹下。
商店配置
示例商店文件在此:
设置
menu: 商店的菜单名称,也就是菜单的文件名称;可选,如果这个选项删除,则该商店无法打开,只能通过 quickbuy 和 quicksell 指令等手段购买里面的商品
buy-more: 该商店中的商品是否能打开增量购买菜单;可选,各个商品的配置中也有这个选项,因此这个选项也是可以删除的。如果未设置该选项,商品里也没有
buy-more
选项,则默认开启shop-name: 商店的显示名称,会被内置变量
{shop-name}
使用。hide-message: 是否隐藏购买或者回收商品后插件的提示消息。
物品
物品即为商店中的商品,商品可以不是物品,也可以是虚拟物品,例如 100 点其他经济插件的货币。 在上面的示例中,A 和 B 就是商品的 ID,如果你需要在菜单中显示这个商品,则商品的 ID 必须 是一个字符,因为它们需要在商店的 layout
选项中使用。(a-z,A-Z,0-9 等,已经大于原版箱子 54 格的所需了)否则, 你可以随心所欲的设置商品的 ID,只是它们将不能再显示到商店菜单中了。
display-item: 展示在商店菜单中的物品,使用物品语句,可以与玩家实际获得的物品不同。对虚拟物品,你必须在这里设置
display-item
选项,否则它们就无法在商店菜单中显示。对于真实物品,你必须设置config.yml
文件中的display-item
下的auto-set-first-product
为true
以允许你删除这个选项,启用后,若display-item
未设置,那么出售的第一个真实物品将会被当做图标。该部分配置会使用到物品格式的配置;display-item.modify-lore: 是否自动修改物品描述,自动添加商品价格等信息;可选参数(默认为 true)
display-name: 设置商品的显示名称,该名称会在基岩版 FormUI、内置变量
{product}
和增量购买菜单中使用;add-lore: 为该商品单独设置自动修改额外物品描述的格式,可选参数。
buy-more: 设置该商品是否可以打开增量购买菜单,可选参数。
price-mode: 价格的模式,支持
ANY、ALL、CLASSIC_ANY 和 CLASSIC_ALL
参数,有关此选项的更多内容,请见 这里;可选参数bedrock: 基岩版菜单的配置,有关此选项的更多内容,请见 这里;可选参数
buy-more: 该商品是否可使用增量购买菜单;可选参数
buy-more-menu: 该商品单独使用的增量购买菜单配置,与
config.yml
对应的格式一样,不再赘述(上面的示例也有);可选参数price-mode: 价格的模式,支持
ANY、ALL、CLASSIC_ANY 和 CLASSIC_ALL
参数;可选参数product-mode: 商品的模式,可填入的参数与上述相同。可选参数。
products: 作为商品的物品。支持物品语句和经济语句(分别见上述章节);可选参数。若未设置,玩家在购买/出售后不会获得任何东西,适用于命令商店。
buy-prices: 商品的购买价格。支持物品语句和经济语句(分别见上述章节);可选参数,若未设置则不能购买。
buy-prices.start-apply: 设置价格增加的起始购买次数;可选参数。默认为 0。
buy-prices.end-apply: 设置价格增加的最终购买次数;可选参数。默认不限制。
buy-prices.apply: 应用价格的购买次数,格式为:
[1,2,3,4]
;可选参数buy-prices.placeholder: 在内置变量
{price}
中的价格显示格式;默认使用语言文件中的格式。buy-price.conditions: 若要使用这个价格购买物品,则玩家必须到达的条件;
sell-prices: 商品的出手价格。支持物品格式和经济格式(分别见上述章节);可选参数,若未设置则不能出售。
buy-actions: 购买商品后执行的一系列动作。见“动作”章节获取更多信息;可选参数
sell-actions: 出售商品后执行的一系列动作。见“动作”章节获取更多信息;可选参数
fail-actions: 商品因价格不足、库存不足等原因,未能成功交易时执行的动作。见“动作”章节获取更多信息;可选参数
buy-conditions: 玩家购买该商品所需达到的条件。见“条件”章节获取更多信息;可选参数
sell-conditions: 玩家出售该商品所需达到的条件。见“条件”章节获取更多信息;可选参数
buy-limits: 设置购买或出售的最大次数;可选参数。若未设置,商品购买次数不作限制。
buy-limits.global: 全局购买限制;可选参数。
buy-limits.default: 若玩家未到达下述的任意条件,他们就会使用该限制;若设置了 buy-limits,则该项为必需参数。
buy-limits.<条件 ID>: 达到该要求的玩家将会使用该限制。可在“条件”章节找到对应的格式。例如:
buy-limits-reset-mode: 可填入的参数有
TIMER
和TIMED
。若buy-limits
部分配置存在且该选项未设置,我们将会使用你在config.yml
中的默认值;若设置 buy-limits 选项则为必需参数。buy-limits-reset-time: 见上,格式为 XX:XX:XX。若 buy-limits 部分配置存在且该选项不存在,我们会使用
config.yml
中的默认值; TIMER 代表间隔重置、TIMED 代表每日定时重置。 例如,你将重置时间设置为 15:00:00,现在时间为 2023-09-04 12:00:00 在 TIMER 模式下,重置时间为 15 小时后,即 2023-09-05 03:00:00。 在 TIMED 模式下,将会在 2023-09-04 15:00:00 进行重置。sell-limits: 与 buy-limits 设置相同,但是是为出售使用的;
buy-cooldown-mode: 设置商品的冷却模式;可选参数
buy-cooldown-time: 设置商品的冷却时间。可选参数
四种价格/商品模式
如图所示,简单而言,带有 CLASSIC
前缀的模式和不带的模式价格计算方式不一 样。前者是乘法,后者是加法。例如你要购买 5 个面包,面包单价是 10 元,那 么前者是 5+5+5+5+5+...+5,后者是 5x10。前者因为是相加关系,每次相加的 数字可以不一样,后者因为是相乘关系,相乘过程中数字无法发生变动。
按钮
商店中同样可以插入菜单中的按钮(buttons)选项,功能完全一致。
Last updated