RemoteIO
[!INFO] Git Commit:
320ebf2| Updated: 2026-10-02
远程访问 / 跨距离 IO mod。核心道具是「位置芯片」——把坐标写进芯片,
就能隔着地图对那个坐标开箱、注入、抽取,突破原版「只能作用于六面相邻方块」的限制。
mcmod.info 自述:Remote IO lets the player think outside the blocks; no longer are you limited to only six sides.
身份
| 属性 | 实测值 |
|---|---|
| modid | RIO(全大写,ModInfo.java:7) |
| 资源域 | remoteio(小写,与 modid 大小写不一致) |
| 主类 | remoteio.common.RemoteIO |
| Java 文件 | 111(10 453 行) |
| 方块 | 5(transceiver 已实现但注册被注释且三个类已删除) |
| 物品 | 9(2 个字段声明后从未实例化) |
| TileEntity | 5 |
| 容器 | 8 |
| 配方 | 17 条普通 + 3 条自定义 IRecipe |
| 网络包 | 4(通道名 RIO) |
| 文件配置项 | 1(heatProvided);另有 GUI 级 maxPushRate |
| 硬依赖 | required-after:Forge@[10.13.2.1291,);after:Waila |
| API 包 | api(Forge @API,provides = "RemoteIO|API") |
| 语言文件 | 4(en_US / fr_FR / ko_KR / zh_CN) |
[!IMPORTANT] modid 与资源域大小写不同:注册用
RIO:, 而assets/、模型与 lang 全在assets/remoteio/下。 RemoteIO 的checkMappings也把两套命名混用—— 判定用map.name.startsWith("remoteio:")(资源域), 重映射却用GameRegistry.findBlock(ModInfo.ID, ...)(modidRIO)。
[!NOTE]
mcmod.info全文为${modId}/${modName}/${modVersion}/${minecraftVersion}占位符, modid 与版本只能从ModInfo常量与生成的Tags.VERSION读取。
源码缺陷
| 缺陷 | 位置 |
|---|---|
transceiver 方块注册被注释,且 BlockTransceiver / ItemBlockTransceiver / TileTransceiver 三个类已从仓库删除,仅残留 .obj / .mtl 模型 |
ModBlocks.java:57-61 |
interactionInhibitor / wirelessLocationChip 两个字段从未赋值,恒为 null;前者使 3 处比较恒为 false,并让 RecipeInhibitorApply 永不触发 |
ModItems.java:27-28 |
heatProvided 字段初值 100 vs 配置默认值 1000,实际生效值为 1000 |
RemoteIO.java:49 vs :92 |
VisualState.toString() 对 3 个 CAMOUFLAGE_* 落入 default 分支返回 null |
VisualState.java |
IIOTool 是空接口(0 个方法),仅一行 TODO 注释 |
remoteio/api/IIOTool.java |
LocalizationUpdater 硬编码源码路径与 GitHub master 分支,发行 jar 中无效 |
RemoteIO.java:96-101 |
chip.upgrade 的 SIMPLE_CAMO(meta 2)无配方,其 GUI 无法正常打开 |
ModRecipes.java |
| AE2 传输芯片配方在 AE2 已装但控制器与柜子都取不到时整条不注册 | ModRecipes.java:196-198 |
依赖关系
- 硬依赖:Forge ≥ 10.13.2.1291(低于本 wiki 目标版本 10.13.4.1614)。
- 软依赖 Waila,经
FMLInterModComms用字符串注册(改名会静默失效)。 - 下列 mod 参与功能但不在本 wiki 收录范围(
relation.md无对应行): IC2、CoFH API / CoFHCore、Thaumcraft、Applied Energistics 2(modidappliedenergistics2)。
核心列表
主类、代理、传输 / 升级类型、事件处理器与兼容层
- block-tracker - 已放置远程 IO 方块的世界索引
- block-update-ticker - 方块延迟更新的集中调度
- common-proxy - 服务端代理
- container-handler - 容器打开后的同步与关闭清理
- gui-handler - 「哪个方块 / 物品 → 开哪个 GUI」的分发
- IC2Helper - IC2 扳手对本 mod 方块的识别
- IC2TransferHelper - IC2 电力换算(8 个接口反射)
- localization-updater - 开发期多语言补全工具,发行 jar 中无效
- player-event-handler - 玩家事件;含一处恒 false 的死判断
- recipe-helper - 17 条配方的注册辅助(无条件 / 条件两类)
- redstone-tracker - 红石传输类型的信号追踪
- RemoteIO -
@Mod(modid="RIO")主类,注册 5 方块 / 9 物品 / 17 配方 - RFTransferHelper - RF / CoFH 能量换算
- tab-remote-io - 本 mod 专用的创造模式页签
- tool-helper - 面向 mod 方块的通用工具辅助
- transfer-type - 7 种传输类型,meta 3-9 与 11 是空洞
- upgrade-type - 3 种升级,
SIMPLE_CAMO无配方 - waila-provider - Waila HUD 叠加,字符串反射注册
常量列表
modid、资源域与反射用接口路径
- dependency-info - 4 个第三方 modid 与 16 个反射用接口路径
- dimensional-coords - 「维度 + 坐标」载体,支持跨维度
- ModBlocks - 6 个方块字段,实际注册 5 个
- ModInfo - modid
RIO、资源域remoteio等常量源 - ModItems - 11 个物品字段,实际注册 9 个
- strings - 单词换行(word wrap)
- visual-state - 7 个渲染状态,伪装态
toString()返回 null
方块列表
5 个已注册方块 + 1 个基类
- block-io-core - 两个远程 IO 方块的基类
- intelligent-workbench - 自动合成工作台
- machine - 双 meta 方块:meta 0 储液罐 / meta 1 加热器
- remote-interface - 核心方块:远程注入 / 抽取
- remote-inventory - 远程打开远处方块的背包
- skylight - 6 面天光方块,无 TileEntity 且无 ItemBlock
方块实体列表
5 个 TileEntity + 2 个基类
- machine-heater - meta 1 加热器,每 tick 上限 = 配置
heatProvided - machine-reservoir - meta 0 储液罐的
IFluidHandler实现 - tile-core - 全部 TileEntity 的最底层基类
- TileIntelligentWorkbench - 自动合成工作台的 TileEntity
- tile-io-core - 两个远程 IO 实体的基类
- TileRemoteInterface - 远程接口的 TileEntity
- TileRemoteInventory - 远程库存的 TileEntity
物品列表
9 个已注册物品 + 2 个基类 / ItemBlock
- blank-plate - 空白板,所有芯片的通用底板
- interaction-inhibitor - ⚠️ 死代码:类完整但从未被实例化
- io-tool - IO 工具,
IIOTool的唯一实现 - item-block-multi - 多 meta ItemBlock,服务于
machine - item-block-remote-inventory - 远程库存方块的 ItemBlock
- linker - 链接器,与远程访问器成对
- location-chip - 位置芯片,记录坐标使远程操作成为可能
- pda - PDA,手持式远程管理终端
- remote-accessor - 远程访问器,注册名是驼峰
remoteAccessor - selective-meta - 按 meta 区分子物品的基类
- transfer-chip - 传输芯片,7 个 meta
- upgrade-chip - 升级芯片,3 个 meta(1 个无配方)
- wireless-transmitter - 无线发射器,免手持远程访问
容器列表
GUI 容器、影子槽与三种背包实现
- container-intelligent-workbench - 自动合成工作台容器
- ContainerIO - 两个远程 IO 容器的基类
- container-item - 手持物品界面的容器基类
- container-item-phantom - 物品界面的影子槽容器
- container-null - 空容器占位,全仓无
new调用 - container-remote-interface - 远程注入 / 抽取界面容器
- container-remote-inventory - 远程开箱界面容器
- container-simple-camo - 简易伪装配置界面(正常流程打不开)
- InventoryArray - 数组式背包包装器(统一多种能力)
- InventoryItem - 手持物品 GUI 的背包
- InventoryNBT - NBT 持久化背包
- InventoryTileCrafting - 自动工作台的 3×3 合成网格背包
- SlotLimited - 受限槽位,限制可放入的物品类型
- SlotPhantom - 影子槽:本地无物品,服务端执行
- SlotPhantomBlock - 影子槽的方块实体变体
配方列表
17 条普通配方 + 3 条自定义 IRecipe
- mod-recipes - 17 条配方的完整清单与条件
- recipe-copy-location - 坐标复制配方(用
INSTANCE,注册两次) - recipe-inhibitor-apply - ⚠️ 自定义配方,因目标物品不存在而永不触发
- recipe-remote-inventory - 远程库存赋予配方(用
new,注册两次)
网络列表
通道
RIO与 4 个包
- client-proxy-player - 客户端包处理
- PacketClientAllowContainer - 服务端 → 客户端:授权访问容器
- PacketServerApplyRFConfig - 客户端 → 服务端:提交 RF 推送速率
- PacketClientForceSlot - 客户端 → 服务端:强制点击影子槽
- packet-handler - 通道
RIO与 4 个包的注册 - PacketServerOpenRemoteGUI - 服务端 → 客户端:打开远程 GUI
- server-proxy-player - 服务端包处理
- vanilla-packet-helper - 复用原版包的旁路逻辑
客户端列表
6 个 GUI、2 个 handler、2 个 helper、手册
- documentation - 游戏内手册;含不存在物品的页面
- gui-better-button - 改进版按钮基类
- gui-button-custom - 自定义按钮(贴图 / 文本混排)
- gui-documentation - 手册渲染界面
- gui-intelligent-workbench - 自动工作台界面
- gui-remote-interface - 远程接口界面
- gui-remote-inventory - 远程库存界面
- gui-rf-config - RF 推送速率设置,
maxPushRate默认 0 - gui-simple-camo - 简易伪装设置界面
- IORenderHelper - 渲染坐标 / 朝向换算的公共部分
- sound-handler - 客户端音效处理
- text-formatter - 客户端富文本排版
- tooltip-event-handler - 为物品补充 tooltip 说明
渲染列表
1 个方块级 + 4 个 Tile 级渲染器
- render-intelligent-workbench - 自动工作台的 Tile 级渲染
- render-remote-interface - 唯一单独申请渲染 ID 的方块渲染器
- render-tile-machine - 一个渲染器服务储液罐与加热器两个实体
- render-tile-remote-interface - 远程接口的 Tile 级渲染
- render-tile-remote-inventory - 远程库存的 Tile 级渲染
API列表
公开 API 包(目前是空接口)
- IIOTool - ⚠️ 空接口,0 个方法,仅有 TODO 注释