多货币系统
Nascraft 内置多货币系统,理论上可以支持任意多种货币——只要该货币能提供 PlaceholderAPI 变量,以及存款 / 取款命令。
注意:如果打算使用 Discord 扩展,这些命令和变量必须在玩家离线时也能正常工作。
默认货币是 Vault,可以在配置里改。示例:
# ...
currencies:
# 所有物品默认使用的货币。
# 也是 Discord 背包扩容等功能的默认计价货币。
default-currency: 'vault'
suppliers:
# 必须安装 Vault!这是默认货币。
vault:
format: "<gradient:#f09947:#feed81>[AMOUNT]$</gradient>"
not-enough: "<gradient:#FB6363:#C4B3FD>✘ You don't have enough money to buy that!</gradient>"
decimal-positions: 3
top-limit: 9999999
low-limit: 0.005
#################################################################
# 另一种货币的例子:
player-points:
deposit-cmd: 'playerpoints:p give [USER-NAME] [AMOUNT]'
withdraw-cmd: 'playerpoints:p take [USER-NAME] [AMOUNT]'
balance-placeholder: '%playerpoints_points%'
not-enough: "<gradient:#FB6363:#C4B3FD>✘ You don't have enough points to buy that!</gradient>"
format: "<gradient:#ba24ff:#e8d1ff>[AMOUNT]p</gradient>"
decimal-positions: 0
top-limit: 9999
low-limit: 10
如上例所示,除 Vault 之外的每种货币都需要一个唯一标识(例子中是 player-points)和下面这些属性:
- deposit-cmd:给玩家账户加钱的命令,支持两个占位符
[USER-NAME]和[AMOUNT]。 - withdraw-cmd:从玩家账户扣钱的命令,同样支持
[USER-NAME]和[AMOUNT]。 - balance-placeholder:返回玩家余额的 PlaceholderAPI 变量,必须是纯数字,不能带格式。
- not-enough:余额不足时发给玩家的提示。
- format:金额的显示格式,内置占位符
[AMOUNT]。 - decimal-positions:该货币下价格保留的小数位。PlayerPoints 只支持整数,所以这里是 0。
- top-limit:该货币下价格的硬上限。
- low-limit:该货币下价格的硬下限。