FindIt
[!INFO] Git Commit:
3b6d5fa| Updated: 2026-09-25
FindIt 是 GTNH 中的方块/物品搜索实用 mod。它本身不注册任何 Block / Item / Entity / TileEntity / Dimension / Biome / Enchantment / PotionEffect / Multiblock / Structure / Achievement,仅作为 NEI GUI 中的两个搜索快捷键:
- 在任意容器/物品栏界面按下
Y键 → 服务器在玩家坐标±SearchRadius立方体范围内扫描所有 TileEntity,找出方块/Metadata 匹配的格子并通过红色高亮框标记。 - 在任意容器/物品栏界面按下
T键 → 服务器扫描同一立方体范围内的 TileEntity,并通过IStackFilterProvider插件链匹配物品/NBT/GT 盖板/GT 管道/EnderIO 导管/背包/Thaumcraft Essentia 容器等复杂位置;匹配项同时在客户端高亮玩家周围地面上的EntityItem与当前 GUI 中所有满足条件的槽位。
主类 FindIt(com.gtnh.findit.FindIt)通过 @Mod(modid="findit", dependencies="required-after:NotEnoughItems;after:gregtech") 注册 mod。preInit 阶段:
- 注册 GTNHLib
@Config配置FindItConfig; - 按
Side实例化BlockFindService/ItemFindService(服务端版本BlockFindService/ItemFindService,客户端版本ClientBlockFindService/ClientItemFindService); - 实例化
SearchCooldownService用于服务端冷却限速; - 按
Loader.isModLoaded(...)条件注册若干第三方 mod 集成 provider(详见 FindItem 查找服务)。
源码包:com.gtnh.findit。本 mod 完全通过 FML IMessage + SimpleNetworkWrapper 客户端-服务端消息交换搜索请求与命中坐标。
热键列表
- 搜索附近方块 - 默认
Y键,在 NEI GUI 内悬停目标方块触发方块搜索并以红色高亮标记 - 搜索附近库存物品 - 默认
T键,在 NEI GUI 内悬停目标物品触发物品/NBT/GT 盖板/EnderIO 导管/背包/Essentia 多维匹配并高亮 GUI 槽位与地面 EntityItem
设定列表
- FindItConfig - GTNHLib
@Config配置类,11 项全局开关:搜索半径、冷却、最大响应数、视角旋转、粒子/线框模式、物品搜索、GT 管道搜索、EnderIO 导管搜索、物品/方块高亮时长、物品高亮颜色、是否忽略空 stack - 方块搜索服务 -
BlockFindService抽象基类 +ClientBlockFindService客户端实现;服务端按 Block+Meta 匹配 TileEntity 后用BlockFoundResponse回传坐标,客户端按配置选BlockHighlighter或ParticlePosition渲染 - 物品搜索服务 -
ItemFindService抽象基类 +ClientItemFindService客户端实现;服务端通过IStackFilterProvider插件链匹配 ItemStack/NBT/FluidStack/Aspect/GT 盖板/GT 盖板箱子/DraconicEvolution 放置物品/各类背包/Thaumcraft Essentia 容器;客户端同时高亮地面 EntityItem 与当前 GUI 中非玩家槽位 - 搜索冷却服务 -
SearchCooldownService,基于 WeakHashMap 的服务端每玩家 tick 计数器限速,配合FindItConfig.SEARCH_COOLDOWN防止 spam