upgrades.yml
升级配置位于:
plugins/KaFurnace/upgrades.yml
插件首次启动时释放该文件,后续版本只补齐缺失叶子键,不覆盖已有价格或倍率。执行 /kf reload 会先完整解析和校验新文件,校验失败时不会发布新的升级配置;请根据控制台错误修正后再重载。
价格格式#
每个收费节点都使用:
provider: "vault"
price: 1000.0
provider 只支持:
| 值 | 要求 |
|---|---|
vault |
安装并启用 Vault,且存在已注册的 Economy 服务 |
playerpoints |
安装并启用 PlayerPoints;price 必须为 0..2147483647 的整数 |
价格必须是有限非负数字,0 表示仍执行事务但不减少余额。Vault 与 PlayerPoints 均为软依赖;配置使用的提供者不可用时,该项不会按免费处理,而是拒绝购买。
熔炉购买#
furnace_purchase.prices.2 到 .10 分别表示购买第 2 到第 10 座熔炉的价格。第一座普通熔炉免费创建,不配置一级价格。
类型切换#
type_switch.furnace、type_switch.blast_furnace、type_switch.smoker 是每次切换到对应目标类型的价格。选择当前类型不会扣款。成功切换要求全部虚拟槽为空且已点燃燃料耗尽。
永久能力#
unlocks 下的每项按熔炉独立购买一次:
| 键 | 效果 |
|---|---|
offline_smelting |
离线继续熔炼 |
auto_output_delivery |
在线时自动配送产物和经验 |
completion_notification |
全部有效原料完成后通知一次 |
五类等级#
upgrades 下包含 input_slot、fuel_slot、output_slot、fuel_efficiency、smelting_speed。一级是默认状态,所以每项必须完整配置目标等级 2..6。例如:
upgrades:
smelting_speed:
levels:
2:
speed_multiplier: 1.2
provider: "vault"
price: 1500.0
价格是“从前一级升级到该目标等级”的单次费用。玩家不能跳级。
fuel_efficiency 的 burn_duration_multiplier 和 smelting_speed 的 speed_multiplier 必须是有限正数,并且不能低于前一级倍率。一级倍率固定为 1.0。倍率只作用于新点燃的燃料或新开始的熔炼轮次,热重载和升级都不会重写在途时长。
事务与退款#
购买流程先校验业务状态和余额,再扣款并等待关键数据库写入。数据库失败时,插件恢复内存状态并向原提供者发起一次补偿退款。若退款也失败,控制台会记录玩家 UUID、提供者、金额和原因的 SEVERE 日志;插件无法替代经济后端强制恢复余额,管理员必须按日志人工核对。
玩家操作流程、每项能力的准确触发时机和管理员管理边界见升级系统。