923d421e57
User-facing rebrand of the Hellion Forge maintenance fork so it installs as a separate Dalamud plugin slot named Forgeimizer and refuses to load in parallel with upstream Craftimizer. Internal namespaces stay as Craftimizer.* — this is a deliberate light-rename so a future upstream merge stays straightforward. Manifest and build: - csproj AssemblyName = Forgeimizer (DLL is now Forgeimizer.dll) - csproj PackageProjectUrl points at the Hellion Gitea - csproj Authors dual-credits Asriel Camora and Hellion Forge - Craftimizer.json renamed to Forgeimizer.json with Name/InternalName/ Punchline/Description/RepoUrl/IconUrl/ImageUrls/Tags updated to Forgeimizer + Hellion-hosted URLs Conflict detector: - New Utils/CraftimizerConflictDetector.cs checks pluginInterface.InstalledPlugins for an active InternalName=="Craftimizer" and throws InvalidOperationException with /xlplugins guidance if found - Plugin.cs constructor calls the detector before Service.Initialize so no Dalamud state is touched on conflict Other user-facing strings: - WindowSystem name "Craftimizer" -> "Forgeimizer" - Settings about-tab header "Craftimizer" -> "Forgeimizer", hyperlink retargeted to the Hellion Gitea repo (upstream attribution stays on the WorkingRobot author line below) - Configuration.MacroMateName default "Craftimizer" -> "Forgeimizer" - /craftimizer slash command gains a /forgeimizer alias (all other upstream commands stay unchanged for muscle-memory compatibility) Docs: - README rewritten with Forgeimizer title, install section, conflict notice, slash command table, dual-holder license footer - COPYRIGHT title and source-code block updated to call out both the rebrand and the SDK 15 migration as Hellion Forge fork maintenance - NOTICE.md direct-word-to-Asriel section now also covers the rebrand scope and the conflict detector language, with explicit invitation to flag anything that does not sit right LICENSE remains unchanged — Asriel Camora's MIT notice is mandatory. Plugin Version stays at 2.9.1.1; this is a rebrand cycle, not a version bump.
171 lines
8.5 KiB
Markdown
171 lines
8.5 KiB
Markdown
# Forgeimizer
|
|
|
|
[](LICENSE)
|
|
[](https://github.com/goatcorp/Dalamud)
|
|
[](https://dotnet.microsoft.com/)
|
|
[](https://www.finalfantasyxiv.com/)
|
|
[](https://github.com/WorkingRobot/Craftimizer)
|
|
|
|
<p align="center">
|
|
<img src="docs/images/hellion-forge.png" alt="Hellion Forge" width="180" />
|
|
</p>
|
|
|
|
**Version 2.9.1.1** — a Hellion Forge maintenance fork of
|
|
[Craftimizer](https://github.com/WorkingRobot/Craftimizer) by
|
|
[Asriel Camora](https://github.com/WorkingRobot), brought back to life on
|
|
Dalamud SDK 15 for FFXIV 7.5+. Installs as a standalone plugin under the name
|
|
**Forgeimizer**, refuses to load while upstream Craftimizer is active.
|
|
|
|
Upstream Craftimizer received its last update for FFXIV 7.4 in late 2025 and
|
|
has been dormant since. With the Dalamud API jump from level 14 to 15 in
|
|
early 2026, the plugin stopped loading. Forgeimizer is a narrow
|
|
API-compatibility cycle that gets the crafting plugin back on its feet for
|
|
personal and friend-circle use. No features added, no design changes, no
|
|
behavior departures from upstream. If Asriel ships an official SDK 15 update
|
|
upstream, Forgeimizer folds back into a pure mirror and the recommendation
|
|
will be to switch back.
|
|
|
|
## Acknowledgements
|
|
|
|
Every line of crafting logic, every solver heuristic, the entire simulator,
|
|
the recipe data layer, the synthesis hooks, and all UI windows are
|
|
**[Asriel Camora](https://github.com/WorkingRobot)**'s work. Forgeimizer only
|
|
unblocks the API path and changes the user-facing plugin identity. Full
|
|
acknowledgement in [NOTICE.md](NOTICE.md).
|
|
|
|
Forgeimizer is maintained under **Hellion Forge**, the modding and plugin
|
|
line of [Hellion Online Media](https://hellion-media.de).
|
|
|
|
---
|
|
|
|
## What this fork changes
|
|
|
|
| Area | Upstream Craftimizer 2.9.1.1 | Forgeimizer |
|
|
| ----------------------------------------------- | ---------------------------------------- | ---------------------------------------------------------------------------------------- |
|
|
| Plugin display name (Dalamud installer) | `Craftimizer` | **`Forgeimizer`** |
|
|
| InternalName (config slot) | `Craftimizer` | **`Forgeimizer`** (separate `pluginConfigs/Forgeimizer/`) |
|
|
| Assembly | `Craftimizer.dll` | **`Forgeimizer.dll`** |
|
|
| Conflict handling | n/a | Throws `InvalidOperationException` on load if upstream `Craftimizer` is active |
|
|
| Dalamud SDK | 14.0.1 | **15.0.0** |
|
|
| Dalamud API Level | 14 | **15** |
|
|
| `FFXIVClientStructs.FFXIV.Component.GUI` type | `ValueType` | `AtkValueType` (upstream rename) |
|
|
| `Dalamud.Interface.Utility.Raii.ImRaii` nested | `IEndObject`, `Color` (removed in SDK15) | local `IEndObject` interface in `ImRaii2.cs`; typed `ImRaii.*Disposable` returns |
|
|
| `Settings.TabItem` ref-bool lifetime | `var open = true; TabItem(label, ref open, flags)` (rejected by SDK 15 escape analysis) | `TabItem(label, flags)` overload (no ref) |
|
|
|
|
Internal namespaces (`Craftimizer.*`) are intentionally left alone. This is a
|
|
deliberate light-rename so a future upstream merge stays simple.
|
|
|
|
---
|
|
|
|
## Tech Stack
|
|
|
|
| Category | Technology |
|
|
| ---------- | ------------------------------------------------------- |
|
|
| Platform | Dalamud Plugin (API Level 15) |
|
|
| Language | C# / .NET 10 (`net10.0-windows`) |
|
|
| Build | Dalamud.NET.Sdk 15.0.0 |
|
|
| UI | Dear ImGui via Dalamud bindings |
|
|
| Solver | Raphael (Rust crate, bundled as `raphael_bindings.dll`) |
|
|
| Toolchain | dotnet 10 SDK |
|
|
|
|
---
|
|
|
|
## Install
|
|
|
|
### From custom repository (recommended, friend-circle install)
|
|
|
|
> Coming once the release pipeline lands. Once active, point Dalamud at
|
|
> the `repo.json` URL from this repository root and `Forgeimizer` shows
|
|
> up in the **All Plugins** list.
|
|
|
|
### From source (dev install)
|
|
|
|
```bash
|
|
git clone ssh://git@gitea.hellion-forge.cloud:2222/JonKazama-Hellion/Craftimizer.git
|
|
cd Craftimizer
|
|
dotnet build Craftimizer.sln -c Release
|
|
```
|
|
|
|
The plugin DLL plus manifest land in `Craftimizer/bin/x64/Release/`. Point
|
|
Dalamud's **Dev Plugin Locations** at that folder (`/xlsettings` →
|
|
**Experimental**) to load it as a dev plugin.
|
|
|
|
### Conflict with upstream Craftimizer
|
|
|
|
Forgeimizer refuses to load if upstream Craftimizer is also active. Both
|
|
plugins hook the same FFXIV `UseAction` and `IsActionHighlighted` paths, and
|
|
running them in parallel would corrupt either's state. The Forgeimizer
|
|
constructor throws an `InvalidOperationException` with a clear message
|
|
pointing at `/xlplugins` if it detects an active Craftimizer install.
|
|
|
|
Disable upstream Craftimizer in `/xlplugins` before enabling Forgeimizer.
|
|
|
|
---
|
|
|
|
## Project Status
|
|
|
|
**Experimental Hellion fork — small-circle use.** Custom repo and release
|
|
pipeline are next on the roadmap. If upstream Craftimizer resumes active
|
|
maintenance, Forgeimizer archives and the recommendation will be to switch
|
|
back upstream.
|
|
|
|
---
|
|
|
|
## Slash Commands
|
|
|
|
All upstream Craftimizer slash commands work unchanged, plus one alias:
|
|
|
|
| Command | What it does |
|
|
| -------------------------------------- | ------------------------------------------------ |
|
|
| `/craftimizer` *or* **`/forgeimizer`** | Open the settings window |
|
|
| `/crafteditor` *or* `/macroeditor` | Open the crafting macro editor |
|
|
| `/craftaction` | Execute the next suggested action in synth helper |
|
|
| `/craftretry` | Click "Retry" in the synthesis helper |
|
|
| `/craftmacros` *or* `/macrolist` | Open the crafting macros window |
|
|
|
|
---
|
|
|
|
## Community & Support
|
|
|
|
- Bug reports and questions:
|
|
[Gitea Issues](https://gitea.hellion-forge.cloud/JonKazama-Hellion/Craftimizer/issues)
|
|
- Discord DM: `@j.j_kazama`
|
|
- Email (business): <kontakt@hellion-media.de>
|
|
|
|
For anything that relates back to upstream Craftimizer or to attribution,
|
|
see the contact path in [NOTICE.md](NOTICE.md).
|
|
|
|
---
|
|
|
|
## License
|
|
|
|
MIT (same license as upstream Craftimizer). Full text in [LICENSE](LICENSE).
|
|
Copyright details with dual-holder block in [COPYRIGHT](COPYRIGHT). Personal
|
|
acknowledgement to the upstream author in [NOTICE.md](NOTICE.md).
|
|
|
|
© 2023 [Asriel Camora](https://github.com/WorkingRobot) for the original
|
|
Craftimizer plugin. © 2026 Hellion Online Media for the Forgeimizer
|
|
rebrand and the Dalamud SDK 15 fork-maintenance modifications.
|
|
|
|
### FFXIV Disclaimer
|
|
|
|
FINAL FANTASY XIV © SQUARE ENIX CO., LTD. All rights reserved. Craftimizer
|
|
and Forgeimizer are unofficial, fan-made plugins and are not affiliated
|
|
with, supported by, sponsored by, or approved by Square Enix.
|
|
|
|
---
|
|
|
|
## Project Documents
|
|
|
|
| Document | Contents |
|
|
| -------------------------- | -------------------------------------------------------------- |
|
|
| [`LICENSE`](LICENSE) | MIT licence full text (Asriel Camora original notice intact). |
|
|
| [`COPYRIGHT`](COPYRIGHT) | Dual-holder copyright block, visual asset attribution. |
|
|
| [`NOTICE.md`](NOTICE.md) | Acknowledgement to upstream author, scope of fork, contact. |
|
|
|
|
---
|
|
|
|
Maintained under **Hellion Forge**, the modding and plugin line of
|
|
**Hellion Online Media** | Bad Harzburg |
|
|
[hellion-media.de](https://hellion-media.de)
|