JonKazama-Hellion 401ebc9495 feat(recipedata): add LuminaRecipeAdapter + AnvilStrings resx
The adapter is the only place in the plugin that touches Lumina and
Dalamud types - everything outside Anvil.RecipeData.Internal stays on
the BCL surface (Critical Boundary per 00-Anvil-Scope §3.3).

- LuminaRecipeAdapter: walks Status, CraftAction, Action, Item, ItemFood,
  and Recipe + RecipeLevelTable, builds the AnvilXxx records, and
  swaps the CatalogState into RecipeDataCatalog in one atomic write.
  Cosmic actions normalise the Action-sheet ClassJob=-1 sentinel to
  RowIdByClassJob key 0 (spec §2.3.1); the legacy ARR singletons
  (Manipulation 278, Waste Not 279, Innovation 284, Waste Not II 285)
  drop out via the PrimaryCostValue == 0 filter (spec §3.1 #3). The
  CraftAction sheet wins the canonical icon at the CRP variant
  (ClassJobId 8). Per-job rows are cross-checked for Cost, ClassJobLevel,
  and Specialist consistency; mismatches log a warning.
- SH-15 option B is hard-wired: every AnvilRecipe ships with
  MissionHasMaterialMiracle = false, MissionHasSteadyHand = false, and
  IsSplendorCosmic = false in v0.1.0. IsCosmic is still set from
  Recipe.Number == 0 so the catalog can label Cosmic recipes; the WKS
  mission sheet chain is not walked. v0.2.0 will replace those constant
  assignments with the resolver and the rest of the adapter stays put.
- The adapter invariant (Cosmic sub-flag implies the master IsCosmic
  flag) throws on inconsistent recipe states at catalog-build time so
  v0.2.0+ catches a broken WKS resolver before it corrupts the simulator.
- ItemFood walk uses ItemAction.Data[0] (48 = "well fed", 49 =
  "medicated") instead of an ItemAction.Type column that does not exist
  in the current Lumina schema. The bonus extractor filters
  ItemFood.Params to the three crafting BaseParam ids (CP=11,
  Craftsmanship=70, Control=71). Item rows are populated only for the
  ItemIds that recipes / foods actually reference - no 50k-row mirror.
- AnvilStrings.resx + AnvilStrings.de.resx + AnvilStrings.Designer.cs:
  Localization layer for condition display names and the SelfTest step
  name. The adapter looks the condition strings up through the generated
  ResourceManager so culture-switching is a no-restart change later on.
2026-05-27 21:27:55 +02:00
2026-05-27 19:16:36 +02:00
2026-05-27 19:16:36 +02:00
2026-05-27 19:16:36 +02:00
2026-05-27 19:16:36 +02:00

Anvil

An independent Hellion Forge plugin for FINAL FANTASY XIV crafting.

Anvil is a privacy-focused, zero-telemetry crafting helper for Dalamud (API level 15+). It provides a crafting simulator, a solver wrapper, recipe bookmarks, and an opt-in Auto-Craft hook.

Status: v0.1.0 — early development. The crafting simulator, solver wrapper, macro engine, hooks, IPC provider, bookmark store, and UI layers are being built module-by-module under the Anvil clean-room pipeline. The Recipe Data layer (module 01) is the first ground-up piece.

Features (planned)

  • Crafting Simulator — state machine for FFXIV crafting steps, conditions, buffs, and actions, with full Cosmic Exploration schema support.
  • Solver Wrapper — bridge to the Raphael Rust solver (bundled binary).
  • Recipe Note Overlay — anchors next to FFXIV's recipe-note addon.
  • Synth Helper Overlay — live next-action hint during synthesis.
  • Macro Editor — compose, replay, export to FFXIV macros and MacroMate.
  • Recipe Bookmarks — local list with notes, tags, and quick-open.
  • Auto-Craft (opt-in) — UseAction hook with explicit warning modal.
  • IPC Provider — exposes theme, macros, and crafting status to other Hellion Forge plugins.
  • Bilingual EN/DE UI with Hellion Anvil-Boutique styling (Forge-Bronze on dark surface).

Privacy

Zero telemetry. No network calls. Everything stays on your machine. See PRIVACY.md for the full statement.

Attribution

Anvil is a clean-room re-implementation, not a fork. The plugin is inspired by Craftimizer by Asriel Camora (MIT) — see NOTICE.md for the goodwill attribution.

License

MIT — Copyright (c) 2026 Hellion Online Media.

Install

The custom Dalamud repository URL for Anvil is:

https://gitea.hellion-forge.cloud/JonKazama-Hellion/Anvil/raw/branch/main/repo.json

Add this URL under Dalamud → Settings → Experimental → Custom Plugin Repositories, then install Anvil from the plugin installer.

S
Description
No description provided
Readme MIT 156 KiB
Languages
C# 97%
Shell 3%