Skip to content

充能方块

文档版本:基于 2026-06-01 代码分析

概述

充能方块(ChargeBlock)是扩展模组的一个功能性方块,支持充能输出两种模式。充能模式下方块蓄力后输出红石脉冲,输出模式下持续输出红石信号。方块具有 5 级可见阶段,可通过核心模组的 config_tool 右键配置。


核心概念

两种模式

模式ID行为
充能(Charge)charge有红石信号蓄力→达到目标→输出 10 tick 脉冲→锁定(需指令重置才能再次蓄力)
输出(Output)output有红石信号时蓄力,chargeTicks>0 时持续输出红石信号

5级阶段

方块外观呈现 5 个可见阶段(0-5),阶段随充能进度/输出状态变化:

  • 阶段 0:空闲
  • 阶段 1-4:充能进度(25%/50%/75%/100%)
  • 阶段 5:完全充能/正在输出

可配置参数

参数说明
模式charge / output
时长充能或输出持续的秒数(内部自动 ×20 转换为 tick)
启用开关

架构设计

mermaid
flowchart LR
    subgraph Config["配置"]
        Tool["config_tool 右键"] --> GUI["ChargeBlockConfigScreen"]
        GUI -->|"UpdateChargeBlockConfigPayload"| Server["ChargeBlockPayloadHandler"]
        Server --> BE["ChargeBlockEntity"]
    end

    subgraph Tick["每tick"]
        BE --> Mode{模式?}
        Mode -->|charge| Charge["充能进度++"]
        Mode -->|output| Output["持续输出阶段5"]
        Charge -->|"进度>=目标"| Pulse["输出红石脉冲"]
    end

    subgraph Redstone["红石输出(二值)"]
        BE --> Block["ChargeBlock"]
        Block -->|"信号强度=15(输出中) 或 0(空闲)"| Wire["红石线"]
    end

关键文件

文件说明
com/chenxi/chenxi_rfm_addition/common/block/ChargeBlock.java充能方块类(5级阶段+红石输出)
com/chenxi/chenxi_rfm_addition/common/block/ChargeBlockEntity.java方块实体(tick逻辑+配置存储)
com/chenxi/chenxi_rfm_addition/client/screen/ChargeBlockConfigScreen.java配置 GUI
com/chenxi/chenxi_rfm_addition/server/command/rfm/NfaRfmChargeBlockCommand.java充能方块指令
com/chenxi/chenxi_rfm_addition/common/network/payload/charge/2 个 Payload

关键流程

指令操作

指令说明
/nfarfm chargeblock place <pos>在指定位置放置充能方块
/nfarfm chargeblock set <pos>打开配置 GUI(等同于右键)

配置GUI

  • 模式选择:充能 / 输出
  • 时长滑块
  • 启用/禁用开关

注意事项

  1. 使用核心模组的 config_tool 物品右键打开配置 GUI
  2. 红石信号为二值输出:正在输出时信号强度=15,空闲时信号强度=0(与阶段值无关)
  3. 阶段(STAGE 0-5)仅影响方块外观纹理,不参与红石计算
  4. 阶段变化触发方块状态更新和相邻方块重算

相关文档