IFU(I Will Find You / 寻矿魔杖)

[!INFO] Git Commit: be0be08 | Updated: 2026-08-16

寻矿魔杖(modid ifu,@Mod 显示名 I Will Find You)是 GTNH(GregTech: New Horizons,Minecraft 1.7.10)的矿石勘探工具。全 mod 只有 1 个注册物品、0 个方块、0 个 TileEntity、0 个实体,共 19 个 Java 文件。

魔杖只做一件事:把玩家背包里第一个矿石方块 / 矿物物品当作筛选目标,每秒一次扫描玩家周围的方块体积,把命中的方块数量写进魔杖的耐久条(0~10 格),并把命中矿石对应的矿脉推给 VisualProspecting 显示。

项目 值 来源
modid ifu IFU.java:21 public static final String MOD_ID = "ifu"
@Mod 类 com.encraft.dz.IFU IFU.java:18-19,根包是 com.encraft.dz(不是 dz)
@Mod name I Will Find You IFU.java:18
中文物品名 寻矿魔杖 assets/ifu/lang/zh_CN.lang
作者 EnnekPL, Moronwmachinegun src/main/resources/mcmod.info
创造模式标签 IFU(图标为魔杖本体) IFU.java:32-37
GUI ID 10 IFU.java:29-30,modGuiIndex = 10
Minecraft 1.7.10 gradle.properties minecraftVersion
Forge 10.13.4.1614 gradle.properties forgeVersion

⚠️ 仓库的 git tag 名是 1.12.4,但 gradle.properties 写的是 minecraftVersion = 1.7.10,语言文件是 .lang 格式,代码使用 SimpleNetworkWrapper / Configuration / StatCollector / CreativeTabs(String) 等 1.7.10 API —— 实际目标版本是 1.7.10,tag 名不可信。

⚠️ IFU.java:9 的 import com.encraft.dz.lib.* 指向的包在源码树里不存在,但它不是失效 import:gradle.properties 的 generateGradleTokenClass = com.encraft.dz.lib.Tags 会由 Gradle 在构建时生成该类,Tags.MOD_VER 正是 @Mod(version = ...) 用的值。

物品列表

  • 寻矿魔杖 - 全 mod 唯一注册物品,堆叠 1,无真耐久(耐久条被用作"命中计数");潜行右键打开筛选界面,每秒扫描一次并在命中 ≥5 格时播放音效,同时揭示匹配矿脉

游戏设定列表

  • 寻矿魔杖配置 - ifu.cfg 的全部 9 个配置项(3 个半径 int、2 个 boolean、1 个音效开关、3 个字符串列表),含列表项 metadata 语法与取值互相影响
  • 筛选界面与数据同步 - 37 格容器模型、SlotFilter / SlotLocked 两个槽位类的实际行为、玩家扩展属性 NBT 字段路径、唯一的网络同步消息、界面文字与 5 个颜色

物品效果

  • 矿石勘探效果 - 扫描范围与节流去重、4 种 MatchTarget 的穷举判定、只认天然大矿脉的命中规则、以及矿脉揭示的 3 步调用链

本 mod 没有的内容(源码 grep 证据)

以下维度在本 mod 中没有任何内容,因此没有为它们建目录,也没有在条目里留下占位符。

维度 状态 依据
方块 / TileEntity 无 grep -rn "registerBlock|extends Block|registerTileEntity|TileEntity" src/main/java 零命中;registerItem|registerBlock 只命中 IFUItems.java:16 一处 registerItem
实体(含投掷物) 无 无任何 Entity 子类;grep -rn "registerModEntity|EntityLiving|EntityItem" 零命中,仅 Entity 出现在 import net.minecraft.entity.Entity 与 proxy 的 EntityPlayer 签名里
多方块结构 无 grep -rn "Multiblock|IMultiblock|Controller" 零命中
游戏指令 无 grep -rn "ICommand|CommandBase|addChatCommand|CommandEvent|ServerCommand" 零命中(唯一"调试输出"是 debugBlockInfo 配置下经 GTUtility.sendChatComp 打的聊天文本,不是指令)
热键绑定 无 grep -rn "KeyBinding|keyBind|registerKeyBinding|ClientRegistry" 零命中。ClientProxy 只有 getPlayerEntity 一个覆写
附魔 无 grep -rn "Enchantment" 零命中;魔杖可被任意附魔但自身不注册附魔
Buff / Debuff 无 grep -rn "Potion|MobEffect|PotionEffect" 零命中
群系 无 grep -rn "Biome|BiomeGen|BiomeProvider" 零命中
结构生成 无 grep -rn "Structure|MapGen|MinableWorldgen|StructureStart" 零命中
成就 无 grep -rn "Achievement|AchievementPage" 零命中
维度 / 世界生成 无 grep -rn "WorldProvider|registerDimension|DimensionType" 零命中。源码里没有 worldObj.getBlock(x,y,z) 之外的方块放置、没有 IWorldGenerator;对维度的唯一处理是读取 world.provider.dimensionId / getDimensionName() 做白名单判断
NEI / REI / JEI 集成 无 grep -rn "nei/|rei/|jei/|SimpleServiceLocator|ICraftingRecipeProvider" 零命中;物品配方只经 GT 的 GTModHandler.addCraftingRecipe 注册
自定义方块"硬度" 不适用 本 mod 无方块,故无 hardness / explosion resistance / light 值。魔杖是物品,只有 setMaxStackSize(1)

ColorUtils 的 5 个颜色常量与矿石稀有度或矿层显示无关——ColorUtils 全文件仅这 5 个常量,唯一引用者是 GuiOreFinder,全部用于筛选界面的文字着色。