promotional bannermobile promotional banner

Anvil's Search

Anvil's Search is a companion mod for Tinkers' Search, adding part browsing, tool simulation, and modifier search to the Tinker's Anvil GUI.
Back to Files

anvilssearch-1.0.0.jar

File nameanvilssearch-1.0.0.jar
Uploader
leipishuleipishu
Uploaded
Oct 4, 2026
Downloads
8
Size
214.8 KB
Mod Loaders
Forge
File ID
9057643
Type
R
Release
Supported game versions
  • 1.18.2

Curse Maven Snippet

Forge

implementation fg.deobf("curse.maven:anvils-search-1726231:9057643")

Learn more about Curse Maven

What's new

AnvilsSearch-1.0.0

This is the first version of Anvil's Search

🆕 新增 / Added

  • 全新侧边栏面板:在工匠砧界面左侧添加可收起侧栏,按 G(可重绑)开关

  • 三 Tab 页面:部件 / 模拟 / 强化,一键切换,每个 Tab 独立维护滚动偏移

  • 部件浏览页:列出每一个可制作部件及其全部可产出材料,行可展开显示属性、词条、消耗

  • 拼音搜索:复用 Tinkers' Search 的拼音引擎,支持全拼与首字母匹配

  • 工具模拟器:选择工具 → 逐槽填入材料 → 实时预览属性、词条与工具图标

  • 只读模拟:模拟过程不消耗材料,也不修改工匠砧状态

  • 工具保存:保存到 config/anvilssearch-presets/,文件名带时间戳(<toolId>_<yyyyMMdd-HHmmss>.json),同一工具多次保存不覆盖

  • 工具导出:通过系统原生文件对话框选择导出位置

  • 工具导入:支持从剪贴板或文件导入 JSON 配置

  • 方案浏览器:内置弹窗列出所有已保存预设,点击直接导入

  • 材料渲染图标:方案浏览器中每个预设显示实际材料渲染的工具图标,而非白板图标

  • 方案删除:每个预设行右侧 ✕ 按钮,一键删除

  • 部件完整性校验:保存 / 导出前检查所有部件槽位是否填满,未填满时拒绝并给出提示

  • 强化浏览器:搜索所有匠魂强化配方,按槽位类型(升级 / 能力 / 防御 / 灵魂)过滤

  • 前置条件校验:实时判断强化是否可应用于当前工匠砧上的物品

  • 强化收藏:星标收藏,独立展示,持久化到 config/anvilssearch-favorites.json

  • 强化卡片:显示材料列表、槽位需求、配方变体、描述

  • 部件材料选择器:弹窗式材料列表,支持拼音搜索,实时过滤

  • 材料详情卡片:展开显示属性、词条标签、消耗量,词条支持悬停提示

  • 统一视觉主题:AnvilTheme 集中管理颜色 / 尺寸 / 绘制辅助,三 Tab 风格一致

  • 面板展开动画:350ms cubic ease-out,展开 / 收起与宽度过渡独立

  • New sidebar panel: collapsible left sidebar in the Tinker's Anvil GUI, toggled with G (rebindable)

  • Three tabs: Parts / Simulator / Modifiers, with per-tab independent scroll offsets

  • Parts browser: lists every craftable part and all materials that can produce it; expandable rows show stats, traits, and cost

  • Pinyin search: reuses Tinkers' Search's pinyin engine, supporting full pinyin and initials

  • Tool Simulator: pick a tool → fill each slot with a material → preview stats, traits, and tool icon in real time

  • Read-only simulation: never consumes materials nor modifies the Anvil

  • Save presets: writes to config/anvilssearch-presets/ with timestamped file name (<toolId>_<yyyyMMdd-HHmmss>.json), no overwriting

  • Export presets: uses system-native file dialog to choose export location

  • Import presets: supports importing JSON from clipboard or file

  • Preset browser: built-in popup listing all saved presets, click to import

  • Material-rendered icons: each preset shows its actual material-rendered tool icon instead of a blank icon

  • Delete presets: one-click ✕ button on each preset row

  • Part completeness check: rejects Save / Export when any part slot is empty, with a hint

  • Modifier browser: searches all Tinker's Construct modifier recipes, filterable by slot type (Upgrade / Ability / Defense / Soul)

  • Requirement check: real-time validation of whether a modifier applies to the item on the Anvil

  • Modifier favorites: star to favorite, dedicated section, persisted to config/anvilssearch-favorites.json

  • Modifier cards: display materials, slot requirements, recipe variants, description

  • Part material picker: popup material list with pinyin search and real-time filtering

  • Material detail cards: expand to show stats, trait tags, cost; trait tags support hover tooltip

  • Unified visual theme: AnvilTheme centralizes colors / sizes / draw helpers, consistent across all three tabs

  • Panel animation: 350ms cubic ease-out, expand / collapse and width transitions run independently

🔧 技术改进 / Technical Improvements

  • 新增 AnvilSidebarPanel:侧栏容器,管理 Tab 切换、搜索框焦点、动画、Tooltip 转发

  • 新增 AnvilPanelRenderer:面板主体绘制(标题栏、Tab 栏、搜索框、内容区)

  • 新增 AnvilPanelAnimation:展开 / 收起与宽度过渡的双进度动画

  • 新增 AnvilPanelLayout:三栏布局计算(工具 / 部件 / 预览)

  • 新增 AnvilTheme:全局视觉词典,颜色 / 尺寸 / 绘制辅助集中管理

  • 新增 AnvilTab 接口:三 Tab 统一契约(渲染 / 交互 / 焦点 / Tooltip)

  • 新增 ToolDefinitionIndex:扫描 ForgeRegistries.ITEMS 中的 IModifiable,按 ID 去重

  • 新增 PartMaterialIndex:部件 → 材料索引,支持普通部件(IMaterialItem)与特殊部件(MaterialRegistry 反查)

  • 新增 MaterialDetailBuilder / MaterialDetail:材料详情构建与渲染

  • 新增 PartInfoLookup:桥接 Tinkers' Search 的 FluidPartData,属性 / 词条全部从 Tinkers' Search 数据层取

  • 新增 ModifierIndex / ModifierIndexBuilder:从 RecipeManager 读取强化配方,三级分类(SIMPLE / INCREMENTAL / UNLIMITED / MULTILEVEL / SWAPPABLE)

  • 新增 ModifierReflect:反射工具集,沿继承链查找方法 / 字段

  • 新增 ModifierRequirementChecker:通过动态 Proxy 构造临时 ITinkerStationContainer,调用 getValidatedResult 校验前置

  • 新增 ToolSimulationModel / ToolStatsCalculator:工具模拟与属性计算

  • 新增 ToolPreset / ToolPresetCodec / ToolPresetStore:预设数据结构、JSON 编解码、文件持久化

  • 新增 SystemFileDialogs:系统原生文件对话框(Windows 通过 JNA 调用 IFileOpenDialog COM 接口,失败时回退 AWT FileDialog;macOS / Linux 直接使用 AWT)

  • 新增 FavoritesStore:收藏持久化,1 秒 debounce 合并写入

  • 新增 AnvilSlotAccess:从砧的 Menu 读取 6 个槽位(按坐标归类,不依赖固定索引)

  • 事件总线全面接管:ScreenEvent.InitScreenEvent.Post / DrawScreenEvent.Post / 键盘 / 鼠标 / Tooltip 全部按 HIGHEST 优先级拦截

  • 搜索框聚焦时拦截一切按键与字符输入,避免触发底层工匠站快捷键

  • 渲染层级:ps.translate(0, 0, 500) + glClear(GL_DEPTH_BUFFER_BIT),绘制前保存 GL 状态、退出时恢复

  • 配方重载:RecipesUpdatedEvent 触发时清空全部缓存(ToolDefinitionIndex / PartMaterialIndex / ModifierIndex / MaterialFluidResolver)

  • Added AnvilSidebarPanel: sidebar container managing tab switching, search focus, animation, tooltip forwarding

  • Added AnvilPanelRenderer: main panel drawing (title bar, tab bar, search box, content area)

  • Added AnvilPanelAnimation: dual-progress animation for expand / collapse and width transition

  • Added AnvilPanelLayout: three-column layout computation (tools / parts / preview)

  • Added AnvilTheme: global visual dictionary centralizing colors / sizes / draw helpers

  • Added AnvilTab interface: unified contract for all three tabs (render / interaction / focus / tooltip)

  • Added ToolDefinitionIndex: scans ForgeRegistries.ITEMS for IModifiable, dedupes by ID

  • Added PartMaterialIndex: part → material index, supporting both normal parts (IMaterialItem) and special parts (MaterialRegistry reverse lookup)

  • Added MaterialDetailBuilder / MaterialDetail: material detail building and rendering

  • Added PartInfoLookup: bridges Tinkers' Search's FluidPartData; stats / traits all come from Tinkers' Search's data layer

  • Added ModifierIndex / ModifierIndexBuilder: reads modifier recipes from RecipeManager, with 5-way classification (SIMPLE / INCREMENTAL / UNLIMITED / MULTILEVEL / SWAPPABLE)

  • Added ModifierReflect: reflection utilities for method / field lookup along the inheritance chain

  • Added ModifierRequirementChecker: builds a temporary ITinkerStationContainer via dynamic Proxy and invokes getValidatedResult for requirement checking

  • Added ToolSimulationModel / ToolStatsCalculator: tool simulation and stat computation

  • Added ToolPreset / ToolPresetCodec / ToolPresetStore: preset data structure, JSON codec, file persistence

  • Added SystemFileDialogs: system-native file dialogs (Windows uses JNA to call IFileOpenDialog COM interface, falls back to AWT FileDialog; macOS / Linux use AWT directly)

  • Added FavoritesStore: favorites persistence with 1-second debounce

  • Added AnvilSlotAccess: reads the 6 Anvil slots from the Menu (position-classified, not index-dependent)

  • Full event bus takeover: ScreenEvent.InitScreenEvent.Post / DrawScreenEvent.Post / keyboard / mouse / tooltip, all at HIGHEST priority

  • Search box focus swallows all key and char input to avoid triggering underlying station hotkeys

  • Render layering: ps.translate(0, 0, 500) + glClear(GL_DEPTH_BUFFER_BIT), with GL state save / restore around drawing

  • Recipe reload: RecipesUpdatedEvent clears all caches (ToolDefinitionIndex / PartMaterialIndex / ModifierIndex / MaterialFluidResolver)

This mod has no additional files