ProjectBlue
[!INFO]
Git Commit: c01a5e7 | Updated: 2026-05-27 | Minecraft 1.7.10 | 作者: Greg Ewing
Project Blue 是一个 Project Red 附属方块/物品模组(mcmod.info 原文:“Additional blocks and items for Project Red.”),GTNH 环境下由 GTNewHorizons 维护。核心内容是控制面板(Control Panel)——一个贴在方块任意面上的多合一开关面板,以及一组微型拉杆/按钮/灯;可选地提供 MineFactory Reloaded RedNet ↔ Bundled Cable 转接方块。
| 项 |
值 |
| modid |
ProjectBlue |
| 显示名 |
Project Blue |
| Java 包 |
gcewing.projectblue |
| 资源命名空间 |
gcewing_projectblue(包名点转下划线) |
| 语言文件 |
assets/projectblue/lang/en_US.lang(无中文翻译) |
| 硬依赖 |
ProjectRed 4.12.37-GTNH |
| 可选依赖 |
MineFactory Reloaded、NotEnoughItems |
⚠️ 本 mod 没有 X
任务简报假设这是一个「GTNH 电力库」,带 LV/MV/HV/EV/IV/UV/XV 电压等级族、能量储存、传输速率、距离衰减。源码中完全不存在这些。 逐条 grep 证据如下:
| 简报假设 |
实际情况 |
grep 证据 |
| 电压等级 LV…XV |
不存在。全仓库无 voltage / tier / V 命名 |
grep -rn "voltage|tier|MV|HV|EV\b" src/main/scala → 无相关命中 |
| 能量储存 / 容量 |
不存在。无 EU、无 battery、无 capacitor |
grep -rn "energy|storage|capacity|charge|watt|ampere" src/main/scala → 无相关命中 |
| 传输速率 / 距离衰减 |
不存在。无数据包衰减概念 |
无任何 loss / distance / attenuat 逻辑 |
线缆网络 getPipe |
不存在。Project Blue 自己不注册线缆 |
registerBlocks() 为空;唯一方块是 MFR 集成里的转接器 |
| 实体注册 |
不注册任何实体 |
见下方实体条目 |
| 指令 |
不注册任何指令 |
grep -rn "CommandBase|ICommand|addChatCommand|registerCommand" src/main/scala → 无输出 |
| 快捷键 |
不注册任何 KeyBinding |
grep -rn "KeyBinding|registerKeyBinding" src/main/scala → 无输出 |
| 附魔 |
无 |
grep -rn "net.minecraftforge.enchantment|Enchantment\b" src/main/scala → 无输出 |
| 维度 |
无 |
grep -rn "WorldProvider|DimensionManager|registerDimension" src/main/scala → 无输出 |
| 群系 |
无 |
grep -rn "BiomeGen|Biome\b" src/main/scala → 无输出 |
| 成就 |
无 |
grep -rn "Achievement" src/main/scala → 无输出 |
| Buff / Debuff |
无 |
grep -rn "Potion|PotionEffect" src/main/scala → 无输出 |
| 多方块结构 |
无 |
grep -rn "TileMultiblock|IMultiblock|Multiblock" src/main/scala → 无输出 |
| 世界生成 / 矿物 |
无 |
grep -rn "IWorldGenerator|Feature|Populator" src/main/scala → 无输出 |
| 硬度 / 爆炸抗性 / 亮度 |
一个都没设置 |
grep -rn "setHardness|setResistance|setLightLevel|setBlockStrength" src/main/scala → 无输出 |
| 核心 Mod / Mixin / AT |
全部为空 |
见下表 |
构建配置实测值
| 字段 |
值 |
accessTransformersFile |
(空) |
usesMixins |
false |
mixinPlugin |
(空) |
coreModClass |
(空) |
containsMixinsAndOrCoreModOnly |
false |
本 mod 不做任何字节码变换。
实体
BaseMod 提供了 4 个 addEntity 重载和 EntityRegistry.registerModEntity 调用,但没有任何调用点 —— 这是通用框架的未使用代码。mod 不注册实体。
孤儿资源
assets/gcewing_projectblue/models/tubewire_*.json(8 个)与 textures/blocks/tubewire.png、redwire_*.png、pneumatic_*.png 存在于仓库,但对应的 PneumaticTubePart / PneumaticTubeItem / PneumaticExtractorPart 源文件不存在,注册调用也全被注释。属已移除功能的残留资源。详见 捆绑信号网络。
注册内容总表
方块(1 个)
主类 ProjectBlue.registerBlocks() 是空方法。唯一的方块在 MFRIntegration 里注册。
物品(7 个)
| 物品 |
注册名 |
说明 |
| 控制面板 |
gcewing_projectblue:controlPanel |
核心,多尺寸 |
| 微型拉杆/按钮/灯/盖板 |
gcewing_projectblue:miniatureLever / miniatureButton / miniatureLamp / miniatureCover |
面板内控件 |
| 喷漆罐 |
gcewing_projectblue:sprayCan + emptySprayCan |
上色,256 次 |
Multipart 部件(1 个)
| 类型名 |
类 |
pb_controlpanel |
ControlPanelPart |
registerMultiParts() 中另外 3 行(pb_pneumatictube、pneumatic_extractor、pb_pr_insulated)全部被注释。
变体族对照表
Project Blue 没有电压等级。它有三套真正的变体维度:
变体一:面板尺寸
| 尺寸 |
gridSize |
格子数 |
内部槽位 |
循环顺序 |
| 4×4 |
4 |
16 |
16 |
4 → 3 → 2 → 4 |
| 3×3 |
3 |
9 |
16(多余休眠) |
同上 |
| 2×2 |
2 |
4 |
16(多余休眠) |
同上 |
所有尺寸共用同一组 16 长数组,缩小不丢数据。详见 控制面板尺寸变体。
变体二:通道颜色(0–15)
颜色即 Project Red 捆绑线通道号,meta 与 NBT channelColors 通用:
| meta |
名称 |
meta |
名称 |
meta |
名称 |
meta |
名称 |
| 0 |
White |
4 |
Yellow |
8 |
Light Grey |
12 |
Brown |
| 1 |
Orange |
5 |
Lime |
9 |
Cyan |
13 |
Green |
| 2 |
Magenta |
6 |
Pink |
10 |
Purple |
14 |
Red |
| 3 |
Light Blue |
7 |
Grey |
11 |
Blue |
15 |
Black |
变体三:喷漆罐颜色(0–16)
| color |
名称 |
用途 |
| 0–15 |
同上 16 色 |
面板通道染色 / 合成上色 |
| 16 |
Stone(去漆剂) |
面板内重置通道为格号;合成中还原原版拉杆/按钮 |
⚠️ 颜色 16 虽在语言文件里叫 Stone,但显示名走的是 paintRemover.name(Paint Remover)。
| 物品 |
meta 范围 |
特殊值 |
| miniatureLever |
0–16 |
16 = Stone(未上色) |
| miniatureButton |
0–17 |
16 = Stone,17 = Wooden |
| miniatureLamp |
0–15 |
无 |
| miniatureCover |
NBT mat |
非 meta 变体 |
核心机制
| 主题 |
说明 |
| 捆绑信号网络 |
本 mod 唯一的「网络遍历」算法:BundledUtils.getAllSignals 扫描 13 个位置逐通道取最大值 |
| 微型控制器部件 |
部件侧状态、NBT 字段、信号收发、ProjectBlueChannel 网络同步 |
| 控制面板交互动作 |
11 条手持物判定规则、按钮 20 tick 自动弹起、标签编辑 |
| Rednet Adaptor 信号路由 |
16 通道双向路由位掩码状态机 |
系统性说明
| 主题 |
说明 |
| 配置项 |
全 mod 只有 1 个配置项(plasticSheetNames),其余数值全硬编码 |
| 兼容门控 |
MFR / NEI 软门控;ProjectRed 硬依赖(缺则 postInit 抛异常) |
| 公开 API |
完整 mod 开发框架:BaseMod / BaseIntegration / BaseNBTChannel / BaseDataChannel / BaseGui / PBFacePart 等 8 组 |
关键数值速查
| 数值 |
值 |
位置 |
| 捆绑通道数 |
16 |
全局 |
| 按钮按下时长 |
20 tick(1 秒) |
ControlPanelPart.buttonDownTime |
| 标签行数 × 长度 |
2 行 × 6 字符 |
ControlPanelLabelScreen |
| 喷漆罐耐久 |
256 |
SprayCanItem.getMaxDamage |
| 空喷漆罐产量 |
4 |
ProjectBlue.registerRecipes |
| 微型件产量 |
8 |
CraftMiniatureItem |
| 面板厚度 |
1/8 格 |
newBounds(0,0,0,1,1/8.0,1) |
connectionMask 默认 |
0x3 |
ControlPanelPart.load |
| 面板基材回退 |
Blocks.planks meta 0 |
ControlPanelMaterial |