WirelessRedstone-CBE
[!INFO] Git Commit:
9dfb913| Updated: 2026-10-01
无线红石(Wireless Redstone)的 ChickenBones Edition,即 CBE =
ChickenBones Edition。它在一个仓库里打包了 3 个独立 mod,
共享同一份核心频率系统。
身份
| 属性 | 实测值 |
|---|---|
| modid(3 个) | WR-CBE|Core、WR-CBE|Addons、WR-CBE|Logic |
| modName | WR-CBE Core / WR-CBE Addons / WR-CBE Logic |
| 主包 | codechicken.wirelessredstone(.core / .addons / .logic) |
| Java 文件 | 74 |
| 物品 | 16(Core 7 + Addons 8 + Logic 1) |
| 多方块部件 | 3(ForgeMultipart) |
| 合成配方 | 18(Core 8 + Addons 7 + Logic 3) |
| 频率总数 | 5000 |
| 配置文件 | config/WirelessRedstone.cfg |
| 网络频道 | WRCBE |
| Minecraft | 1.7.10(gradle.properties,Forge 10.13.4.1614) |
[!IMPORTANT] modid 全大写且用
|分隔三个 mod (WirelessRedstoneCore.java:21、WirelessRedstoneAddons.java:13、WirelessRedstoneLogic.java:13)。资源域却是小写且分属两套:wrcbe_core:(7 个核心物品)与wrcbe_addons:(8 个 addon 物品)。 modid ≠ 资源域,是本仓最易踩的陷阱。
三个 mod 的分工
| modid | 职责 | 硬依赖 | 条目数 |
|---|---|---|---|
WR-CBE|Core |
频率系统、7 个基础物品、干扰器、/freq 命令 |
CodeChickenCore、ForgeMultipart、gtnhlib | core(33) |
WR-CBE|Addons |
遥控器、测向仪、嗅探器、地图、追踪器、REP | WR-CBE|Core |
addons(30) |
WR-CBE|Logic |
3 个 ForgeMultipart 部件(发射/接收/干扰) | WR-CBE|Core、ForgeMultipart |
logic(11) |
核心机制
- 频率空间:0–4999 共 5000 个频率(
RedstoneEther.java:31,numfreqs是static final编译期常量)。 - 干扰器:
jammerrange默认 10 格;超时默认 60 秒; 随机化窗口jammerrandom= 超时的 1/3;实体首延迟 5 秒、 实体重试 10 秒、方块首延迟 10 秒。 - 渲染:
minrps = 0.02F、maxrps = 2.98F;能量束速度speed = 3(每米 tick 数),淡出fadetime = 20tick。 - 命令:
/freq,6 个子命令scanjamopengetsetprivate。 - 矿物词典:本仓注册 2 个 ore name——
obsidianRod与stoneBowl; 并在 3 条配方中消费obsidianRod。
源码缺陷
-
@Mod的 version 是未替换的构建期占位符。WirelessRedstoneCore.java:37写死public static final String version = "GRADLETOKEN_VERSION";, 另外两个@Mod都直接引用它。正式 jar 里三个 mod 的版本字面量 都会是GRADLETOKEN_VERSION。 -
依赖声明里的版本区间下界为空。
WirelessRedstoneCore.java:22-23拼接出required-after:CodeChickenCore@[<version>,)——Maven 版本区间 没有下界。这会让 CodeChickenCore 的任何版本(含不兼容版本) 都满足约束。 -
物品与字段名有拼写错误。
recieverDish/blazeRecieverDish均缺一个e(正确拼写应为receiver)。这是注册名与 unlocalizedName 的一部分, 会直接进入存档与 NBT,改名即破坏兼容性——不可「顺手修正」。 -
速率梯度硬编码了
5000。RedstoneEther.java:46写gradrps = maxrps / 5000D, 而非maxrps / numfreqs。当前numfreqs恰为 5000,两者数值巧合相等; 一旦numfreqs改动,梯度会静默失配。 -
一个已注册物品没有任何配方。
emptyWirelessMap在WRAddonProxy.java:47注册, 但 7 条配方中没有任何一条产出它,玩家无法合成。 -
ITileReceiver的方法名无语义。m1()/m2(double)/m3(double)三个方法是信号强度曲线, 源码中没有任何注释说明其含义。
全部条目索引
core(33)
核心:频率系统、物品、干扰器、命令与 GUI
- WirelessRedstoneCore -
@Mod("WR-CBE|Core")主类 - WRCoreProxy - 注册 7 个核心物品 + 8 条配方
- WRCoreClientProxy - 客户端代理
- WRCoreEventHandler - 14 个事件订阅
- RedstoneEther - 频率系统基类 + 配置常量
- RedstoneEtherServer - 服务端频率与干扰逻辑(52 方法)
- RedstoneEtherClient - 客户端频率逻辑(2 方法)
- RedstoneEtherFrequency - 单个频率的收发节点容器
- SaveManager - 世界数据与配置持久化
- WirelessBolt - 无线能量束粒子与飞行
- RenderWirelessBolt - 能量束渲染器
- WirelessTransmittingDevice - 发射设备接口
- WirelessReceivingDevice - 接收设备接口
- ITileWireless - 无线方块通用接口
- ITileReceiver - 无线接收器接口
- ITileJammer - 无线干扰器接口
- IGuiRemoteUseable - 可被遥控器打开的 GUI 标记接口
- ItemWirelessFreq - 可绑定频率的物品基类
- CommandFreq -
/freq命令 - FreqParam - 子命令抽象基类
- ParamScan -
/freq scan - ParamJam -
/freq jam - ParamOpen -
/freq open - ParamGet -
/freq get - ParamSet -
/freq set - ParamPrivate -
/freq private - FreqCoord - 频率节点坐标值对象
- GuiRedstoneWireless - 频率设置主界面
- GuiInvItemSlot - 背包物品滚动槽位控件
- GuiNameSlot - 频率名称列表控件
- GuiButtonArrow - 方向箭头按钮
- WRCoreCPH - 核心客户端包处理器
- WRCoreSPH - 核心服务端包处理器
addons(30)
Addons:遥控器、测向仪、嗅探器、地图、追踪器、REP
- WirelessRedstoneAddons -
@Mod("WR-CBE|Addons")主类 - WRAddonProxy - 注册 8 个物品 + 7 条配方
- WRAddonClientProxy - 客户端代理
- WRAddonEventHandler - 11 个事件订阅
- RedstoneEtherAddons - Addons 频率扩展基类
- RedstoneEtherClientAddons - 客户端扩展(24 方法)
- RedstoneEtherServerAddons - 服务端扩展(24 方法)
- Remote - 遥控器运行时表示
- Sniffer - 嗅探器运行时表示
- TriangFreqManager - 测向仪角度状态
- EntityREP - 发射实体投射物
- ItemREP - REP 物品
- EntityWirelessTracker - 无线追踪器实体
- ItemWirelessTracker - 追踪器物品
- ItemWirelessRemote - 无线遥控器
- ItemWirelessTriangulator - 无线测向仪(16 方向)
- ItemWirelessSniffer - 公共频率嗅探器
- ItemPrivateSniffer - 私有频率嗅探器
- ItemWirelessMap - 无线地图
- ItemEmptyWirelessMap - 空白无线地图(无配方)
- GuiWirelessSniffer - 频率嗅探器 GUI
- GuiPrivateSniffer - 私有嗅探器 GUI
- WirelessMapNodeStorage - 多人地图节点缓存
- WirelessMapRenderer - 地图渲染器
- RenderTracker - 追踪器渲染器
- RemoteTexManager - 遥控器贴图管理
- TriangTexManager - 测向仪贴图管理
- ClientMapInfo - 客户端地图信息容器
- WRAddonCPH - Addons 客户端包处理器
- WRAddonSPH - Addons 服务端包处理器
logic(11)
Logic:3 个 ForgeMultipart 部件
- WirelessRedstoneLogic -
@Mod("WR-CBE|Logic")主类 - WRLogicProxy - 注册 3 个部件 + 3 条配方
- WRLogicClientProxy - 客户端代理
- ItemWirelessPart - 放置部件的物品(3 损伤值)
- WirelessPart - 部件抽象基类(70 方法)
- TransceiverPart - 收发两用部件基类
- TransmitterPart - 发射器部件
- ReceiverPart - 接收器部件
- JammerPart - 干扰器部件
- ItemWirelessRenderer - 部件物品渲染器
- RenderWireless - 部件渲染逻辑
覆盖率
74 / 74 = 100%(74 个 Java 文件逐个成文,1:1 无遗漏):
- core — 33 条
(含 4 个接口
ITileWireless/ITileReceiver/ITileJammer/WirelessTransmittingDevice/WirelessReceivingDevice, 6 个Param*子命令处理器) - addons — 30 条
- logic — 11 条
依赖关系
| 依赖 | 收录状态 |
|---|---|
CodeChickenCore |
已登记(data/relation.md),尚未成文 → 前向引用 |
ForgeMultipart |
已登记,尚未成文 → 前向引用 |
gtnhlib |
不在 relation.md 中 → 不建分类 |
ChromaticTooltipsCompat |
chromatictooltipscompat——它为 waila 等 mod 补 tooltip,与本模组无直接依赖 |
CodeChickenLib 来自 CodeChickenCore,不单列。
三个 mod 之间是硬依赖链:Core ← Addons、Core ← Logic。