Rebrand fork to Forgeimizer with Craftimizer conflict detector
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.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Craftimizer (Hellion Fork)
|
||||
# Forgeimizer
|
||||
|
||||
[](LICENSE)
|
||||
[](https://github.com/goatcorp/Dalamud)
|
||||
@@ -10,60 +10,75 @@
|
||||
<img src="docs/images/hellion-forge.png" alt="Hellion Forge" width="180" />
|
||||
</p>
|
||||
|
||||
**Version 2.9.1.1 (Hellion fork)** — a maintenance fork of
|
||||
**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+.
|
||||
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. This fork is a narrow API-compatibility
|
||||
cycle that gets it 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, this fork folds back into a
|
||||
pure mirror and the recommendation will be to switch back.
|
||||
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. This fork only
|
||||
unblocks the API path. Full acknowledgement in [NOTICE.md](NOTICE.md).
|
||||
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).
|
||||
|
||||
This fork is maintained under **Hellion Forge**, the modding and plugin line of
|
||||
[Hellion Online Media](https://hellion-media.de).
|
||||
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 (last 2.9.1.1) | This fork |
|
||||
| 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 (manifest unset, packager-inferred) | **15** (packager-set) |
|
||||
| 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) |
|
||||
|
||||
Diff total: **+23 / −19 lines** across seven files. The change set is
|
||||
intentionally minimal so a future upstream merge stays trivial.
|
||||
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 |
|
||||
| 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 |
|
||||
| Toolchain | dotnet 10 SDK |
|
||||
|
||||
---
|
||||
|
||||
## Build
|
||||
## 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
|
||||
@@ -71,19 +86,42 @@ cd Craftimizer
|
||||
dotnet build Craftimizer.sln -c Release
|
||||
```
|
||||
|
||||
The plugin DLL plus the manifest land in `Craftimizer/bin/x64/Release/`. Point
|
||||
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 — personal-use only.** No distribution channel,
|
||||
no custom repo, no release pipeline. This may change if the fork grows beyond
|
||||
a single-user maintenance build, but for now: clone, build, dev-load.
|
||||
**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.
|
||||
|
||||
If upstream resumes active maintenance, this fork archives.
|
||||
---
|
||||
|
||||
## 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 |
|
||||
|
||||
---
|
||||
|
||||
@@ -94,8 +132,8 @@ If upstream resumes active maintenance, this fork archives.
|
||||
- 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).
|
||||
For anything that relates back to upstream Craftimizer or to attribution,
|
||||
see the contact path in [NOTICE.md](NOTICE.md).
|
||||
|
||||
---
|
||||
|
||||
@@ -106,14 +144,14 @@ 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 Dalamud SDK 15
|
||||
fork-maintenance modifications.
|
||||
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 this fork are unofficial, fan-made plugins and are not affiliated with,
|
||||
supported by, sponsored by, or approved by Square Enix.
|
||||
and Forgeimizer are unofficial, fan-made plugins and are not affiliated
|
||||
with, supported by, sponsored by, or approved by Square Enix.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user