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.1 到 .10 分别表示购买第 1 到第 10 座熔炉的价格。initial-furnace-count 免费覆盖的序号不会进入购买事务;设置为 0 时,玩家购买第一座熔炉会使用 prices.1 的提供者和金额。
例如把第二座熔炉的价格改为 800 金币,在现有 furnace_purchase.prices 下找到 2 并修改(其余序号保持原样):
furnace_purchase:
prices:
2:
provider: "vault"
price: 800.0
类型切换#
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 日志;插件无法替代经济后端强制恢复余额,管理员必须按日志人工核对。
玩家操作流程、每项能力的准确触发时机和管理员管理边界见升级系统。