ItemModule(物流模块)
物流管道上安装的功能模块,提供物品提取、存储、排序、合成等各种物流功能。
基本信息
| 属性 | 值 |
|---|---|
| 类别 | Item |
| 父类 | LogisticsItem |
| 注册名 | logisticspipes:itemModule(setUnlocalizedName) |
| 注册证据 | LogisticsPipes.java:487 |
| 配置文件 | NBT(模块独立存储,绑定到物品实例) |
| GUI 触发 | 手中或管道方块上右键 |
模块类型总表
⚠️ 总数已订正。原文写「共有 28 种模块类型」,但其自身表格列了 34 行, 两者自相矛盾。
正确值:33 种(src/main/java/logisticspipes/items/ItemModule.java:176-210
中 registerModule(...) 共调用 33 次):
- 32 种无条件注册(含
BLANK空占位) - 1 种条件注册:
GT_TYPEFILTER_ITEMSINK,仅在 GTNH 环境 (Loader.isModLoaded("dreamcraft") && Loader.isModLoaded("gregtech"))下注册 (ItemModule.java:208-211,条件由LogisticsPipes.isGTNH提供,LogisticsPipes.java:344)
下表 34 行 ID 与类名已逐一核对正确(ItemModule.java:73-115 常量 +
ItemModule.java:176-211 注册):
| ID | 名称 | 类 | 过滤/配置 | 重置方法 |
|---|---|---|---|---|
| 0 | BLANK | - | 无 | - |
| 1 | ITEMSINK | ModuleItemSink | 9格物品过滤 + DefaultRoute 开关 | 无清空,仅 Import 覆盖 |
| 2 | PASSIVE_SUPPLIER | ModulePassiveSupplier | 9格物品过滤 | 无 |
| 3 | EXTRACTOR | ModuleExtractor | 9格物品过滤 + 抽取方向 | 无 |
| 4 | POLYMORPHIC_ITEMSINK | ModulePolymorphicItemSink | 9格物品过滤 | 无 |
| 5 | QUICKSORT | ModuleQuickSort | 无 | - |
| 6 | TERMINUS | ModuleTerminus | 9格物品过滤 | 无 |
| 7 | ADVANCED_EXTRACTOR | ModuleAdvancedExtractor | 9格物品过滤 + 抽取方向 | 无 |
| 8 | BEEANALYZER | ModuleApiaristAnalyser | 分析模式(CC 控制) | 无 |
| 9 | BEESINK | ModuleApiaristSink | FilterType + 分组 + 蜜蜂ID | 右键重置各槽位 |
| 10 | APIARISTREFILLER | ModuleApiaristRefiller | 无 | - |
| 11 | APIARISTTERMINUS | ModuleApiaristTerminus | 无 | - |
| 12 | MODBASEDITEMSINK | ModuleModBasedItemSink | Mod ID 过滤 | 无 |
| 13 | OREDICTITEMSINK | ModuleOreDictItemSink | 矿物字典过滤 | 无 |
| 14 | CC_BASED_QUICKSORT | ModuleCCBasedQuickSort | 无 | - |
| 15 | CC_BASED_ITEMSINK | ModuleCCBasedItemSink | 9格物品过滤 | 无 |
| 16 | CREATIVETABBASEDITEMSINK | ModuleCreativeTabBasedItemSink | 创意模式标签过滤 | 无 |
| 17 | GT_TYPEFILTER_ITEMSINK | ModuleTypeFilterItemSink | 类型过滤(GTNH) | 无 |
| 30 | THAUMICASPECTSINK | ModuleThaumicAspectSink | 神秘要素过滤 | 无 |
| 31 | ENCHANTMENTSINK | ModuleEnchantmentSink | 附魔等级过滤 | 无 |
| 100 | EXTRACTOR_MK2 | ModuleExtractorMk2 | 同 EXTRACTOR | 无 |
| 101 | ADVANCED_EXTRACTOR_MK2 | ModuleAdvancedExtractorMK2 | 同 ADVANCED_EXTRACTOR | 无 |
| 131 | ENCHANTMENTSINK_MK2 | ModuleEnchantmentSinkMK2 | 同 ENCHANTMENTSINK | 无 |
| 200 | EXTRACTOR_MK3 | ModuleExtractorMk3 | 同 EXTRACTOR(更快) | 无 |
| 201 | ADVANCED_EXTRACTOR_MK3 | ModuleAdvancedExtractorMK3 | 同 ADVANCED_EXTRACTOR(更快) | 无 |
| 300 | ELECTRICMANAGER | ModuleElectricManager | 电力阈值 | 无 |
| 301 | ELECTRICBUFFER | ModuleElectricBuffer | 电力缓冲 | 无 |
| 500 | PROVIDER | ModuleProvider | 物品黑名单 | 无 |
| 501 | PROVIDER_MK2 | ModuleProviderMk2 | 同 PROVIDER | 无 |
| 502 | ACTIVE_SUPPLIER | ModuleActiveSupplier | 主动供应 | 无 |
| 600 | CRAFTER | ModuleCrafter | 合成配方(9输入+2输出) | 无(手动删除) |
| 601 | CRAFTER_MK2 | ModuleCrafterMK2 | 同 CRAFTER | 无 |
| 602 | CRAFTER_MK3 | ModuleCrafterMK3 | 同 CRAFTER(液体合成) | 无 |
配置重置机制
有重置方法的模块
ModuleApiaristSink(蜜蜂汇聚)
唯一提供逐槽位右键重置的模块。
| 操作 | 触发方式 |
|---|---|
| 重置 FilterType | 右键点击 Type 槽位 |
| 重置 FilterGroup | 右键点击 Group 槽位 |
| 重置 FirstBee | 右键点击第一个蜜蜂槽位 |
| 重置 SecondBee | 右键点击第二个蜜蜂槽位 |
ModuleItemSink(物品槽)
| 操作 | 方法 | 说明 |
|---|---|---|
| 导入过滤 | GUI 按钮"import" | 从当前指向的容器自动填充 9 格过滤 |
| 重置/清空 | 无 | 只能手动拖出或用 Import 覆盖 |
无重置方法的模块
大多数有过滤配置的模块(ITEMSINK、EXTRACTOR、OREDICTITEMSINK、CRAFTER 等):
- 没有"Clear"按钮
- 没有"Reset"按钮
- 只能手动从 GUI 槽位拖出物品
- 或者用 Import 覆盖(如果有指向的容器)
通用操作
| 操作 | 方式 |
|---|---|
| 添加过滤物品 | 拖入物品到 GUI 槽位 |
| 删除过滤物品 | 从 GUI 槽位拖出 |
| 修改过滤选项 | 槽位旁的按钮(如 Fuzzy 开关) |
| 邻块变化时 | 自动调用 clearCache() 清除缓存 |
第三方集成
| 集成 Mod | 模块 | 功能 |
|---|---|---|
| Forestry | BEEANALYZER、BEESINK、APIARISTREFILLER、APIARISTTERMINUS | 蜜蜂相关物流 |
| Thaumcraft | THAUMICASPECTSINK | TC 要素过滤 |
| ComputerCraft | CC_BASED_QUICKSORT、CC_BASED_ITEMSINK | 计算机控制 |
| IndustrialCraft2 | ELECTRICMANAGER、ELECTRICBUFFER | 电力管理 |
底层实现
- 模块通过
ItemModule.getModuleForItem()反射构造 - 配置存储在物品的 NBT 中(
readFromNBT/writeToNBT) - GUI 通过
LogisticsGuiModule.getInHandGuiProviderForModule()打开 - 模块实现了
ISaveState接口(持久化)