输入至少两个字符

升级系统

文档版本: v1.0.3

升级状态按熔炉独立保存。玩家的不同熔炉可以拥有不同类型、槽位等级、速度、燃料效率和永久能力,不存在玩家级全局升级。

玩家操作流程#

  1. 执行 /kf 打开主菜单。
  2. 右键点击要管理的熔炉,直接打开该熔炉的升级菜单;也可先左键打开详细熔炉,再点击 L 熔炉信息按钮。
  3. 点击类型、等级或永久能力按钮完成购买。

玩家通过菜单购买,价格来自 upgrades.yml;没有免付费的玩家购买指令。快速连续点击也不会同时发起多笔购买。

每次事务会先检查玩家的数量、等级、能力和炉型权限,再检查经济并扣款。权限拒绝不会产生扣款。完整节点和 LuckPerms 示例见权限。

可购买项目#

项目 初始状态 购买规则
熔炉 initial-furnace-count 配置的数量免费 超出免费数量后按目标序号收费,且不能超过数量权限上限
普通熔炉、高炉、烟熏炉类型 FURNACE 目标炉型权限允许时,每次切换到不同类型收费
五类等级 1 级 只能逐级购买到下一等级,不能超过该属性权限上限或系统 6 级上限
三类永久能力 未解锁 能力权限允许时,每座熔炉每项只购买一次

选择当前设备类型、购买已解锁能力或点击已满级属性不会扣款。类型切换还要求全部原料、燃料和输出槽为空,并且当前已点燃燃料已经耗尽。

五类等级效果#

配置键 实际效果
input_slot 等级等于可使用的原料槽数量;引擎从低序号槽开始选择第一个有效配方
fuel_slot 等级等于可使用的燃料槽数量;需要点燃时从低序号槽开始选择第一个有效燃料
output_slot 等级等于可使用的输出槽数量;优先合并相似产物,再选择低序号空槽
fuel_efficiency 实际燃烧时长 = 基础时长 × burn_duration_multiplier
smelting_speed 实际熔炼时长 = 基础时长 ÷ speed_multiplier

多个原料槽共享一套熔炼进度和燃料,不会并行加工。当前轮次会固定配方、原料槽、产物、经验和熔炼时长;速度升级或 /kf reload 不会改变已经开始的轮次。燃料效率同样只影响之后点燃的燃料,不会重算当前燃料余量。

普通玩家只能升级,不能降级。管理员降低槽位等级时,如果将被锁定的槽位仍有物品,操作会被拒绝;必须先取空这些槽位。

三类永久能力#

离线熔炼#

offline_smelting 解锁后,该熔炉在所有者离线时仍使用绝对时间推进。未解锁的熔炉在离线时冻结时间基线,上线后从新基线继续,不补算暂停区间。

玩家离线很久后,结果可能不会在上线瞬间全部显示;稍等几次后台刷新即可。

自动配送#

auto_output_delivery 解锁后,插件会定期检查该玩家的熔炉:

  • 只在所有者在线时执行;
  • 按已解锁输出槽顺序配送;
  • 只提取背包当前能够接收的数量;
  • 同步发放对应产物经验;
  • 背包放不下的产物和经验继续留在原输出槽;
  • 只有保存成功的提取才会完成。

完成通知#

completion_notification 会在一批可熔炼原料加工完后通知玩家一次;如果玩家暂时不在线,上线后再通知。留下不能熔炼的原料不会妨碍完成通知。

无效配方物品可以继续留在原料槽中;“完成”指当前没有可继续熔炼的有效原料,不表示所有原料槽物理为空。

扣费失败怎么办?#

每个价格都在 upgrades.yml 中选择 vault 或 playerpoints。插件会先检查余额和权限,再扣款,最后保存购买结果:

检查权限与余额 → 扣款 → 保存熔炉 → 购买成功

如果扣款后保存失败,插件会恢复原熔炉状态并尝试退款。退款也失败时,控制台会记录 SEVERE 日志,需要管理员人工核对。

价格为 0 仍要求对应提供者可用,并执行完整事务。如果希望测试 Vault 项目,需要 Vault 和一个 Economy 实现;Vault 本身不保存余额。PlayerPoints 价格必须是整数。

默认 upgrades.yml 同时使用 Vault 和 PlayerPoints。首次测试前应安装两套提供者,或把所有收费节点统一改为当前服务器已有的提供者并执行 /kf reload。

管理员管理#

管理员可以查看或强制设置指定玩家某座现有熔炉的状态:

/kf admin furnace <玩家名|UUID> <1-10> get
/kf admin furnace <玩家名|UUID> <1-10> set <属性> <值>
/kf admin furnace <玩家名|UUID> <1-10> reset <属性>

set 和 reset 不扣除经济,也不要求逐级修改,但仍会执行数值范围、槽位物品和数据库写入校验。命令不会替玩家创建尚不存在的熔炉。完整属性名和权限见命令与权限。

重载边界#

/kf reload 会先完整校验新的价格和倍率,只有全部有效时才原子替换当前配置。重载不会切换数据库连接,也不会改写已开始轮次和已点燃燃料的时长。新的价格用于重载完成后发起的购买事务。