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:
2026-05-26 20:03:23 +02:00
parent 19c7c784f8
commit 923d421e57
10 changed files with 213 additions and 118 deletions
+49 -32
View File
@@ -2,41 +2,52 @@
## Acknowledgements
This Craftimizer fork is built on
Forgeimizer is built on
[Craftimizer](https://github.com/WorkingRobot/Craftimizer) by
**[Asriel Camora](https://github.com/WorkingRobot)**, who built and
maintained the plugin for years. The entire architecture, the crafting
simulator, the macro solver, the recipe data layer, the synthesis helper,
and every UI window come from Asriel's work. Without Craftimizer, this
fork would not exist.
and every UI window come from Asriel's work. Without Craftimizer, Forgeimizer
would not exist.
If this fork is useful to you, the credit for that belongs in large
part to Asriel.
If Forgeimizer is useful to you, the credit for that belongs in large part
to Asriel.
## A direct word to Asriel
Hi. I am Jon. I forked Craftimizer because the upstream `main` branch
had not received an update past FFXIV 7.4, and I wanted a working
crafting plugin for personal use that still loads on the current Dalamud
API. This is not a "do it better" fork. The opposite is true. I would
have happily kept using upstream if it had stayed current.
Hi. I am Jon. I forked Craftimizer because the upstream `main` branch had
not received an update past FFXIV 7.4, and I wanted a working crafting
plugin for personal use that still loads on the current Dalamud API. This
is not a "do it better" fork. The opposite is true. I would have happily
kept using upstream if it had stayed current.
What this fork adds is purely a Dalamud SDK 14 → 15 migration cycle.
Concretely, three changes in `FFXIVClientStructs` and Dalamud's `ImRaii`
namespace were renamed or removed; this fork ports the affected call
sites to the new symbol names and adds a local `IEndObject` interface to
replace the nested one Dalamud removed. No new features, no design
departures, no rebranding of internal namespaces. Where I had to modify
your sources I kept the edits minimal, isolated to the lines the SDK 15
compiler refused, and revertible.
What this fork adds is purely:
If you pick Craftimizer back up and ship an upstream SDK 15 update, this
fork folds back into a pure mirror and the recommendation will be to
switch back to your build.
1. A Dalamud SDK 14 → 15 migration cycle. Three changes in
`FFXIVClientStructs` and Dalamud's `ImRaii` namespace were renamed or
removed; this fork ports the affected call sites to the new symbol
names and adds a local `IEndObject` interface to replace the nested
one Dalamud removed.
2. A user-facing rename to **Forgeimizer** so the plugin installs into
its own Dalamud slot and does not collide with your build in the
plugin list. A conflict detector hard-blocks the load if your
upstream `Craftimizer` plugin is active. Internal namespaces stay as
`Craftimizer.*`, the source tree structure is identical, and the
only renamed strings are the assembly name, the manifest, the window
system name, the about-tab title, the MacroMate default name, and a
`/forgeimizer` slash-command alias next to your `/craftimizer`.
No new features, no design departures, no rebranding of internal
namespaces. Where I had to modify your sources I kept the edits minimal,
isolated to the lines the SDK 15 compiler refused, and revertible.
If you pick Craftimizer back up and ship an upstream SDK 15 update,
Forgeimizer folds back into a pure mirror and the recommendation will be
to switch back to your build.
If anything in this fork ever steps on something you would not be okay
with — attribution, naming, anything else — please reach out and I will
fix it. Genuinely.
with — attribution, the `Forgeimizer` naming, the conflict detector
language, anything else — please reach out and I will fix it. Genuinely.
## Why this fork exists
@@ -47,9 +58,12 @@ API jump from level 14 to 15 in early 2026, and Craftimizer stopped
loading from then on. My personal crafting workflow depends on it, so I
took the maintenance burden on for a while.
This fork is maintained for personal and friend-circle use under Hellion
Forgeimizer is maintained for personal and friend-circle use under Hellion
Forge. It is not a competing project and does not target the broader
Craftimizer user base.
Craftimizer user base. The rename to Forgeimizer exists so users who
install through the Hellion Forge custom repo can run it side-by-side with
the upstream Craftimizer install in the Dalamud plugin list without one
silently shadowing the other.
## Why this fork is not upstreamed
@@ -58,13 +72,14 @@ quiet for months and there is no signal that maintenance bandwidth is
available on Asriel's side. A drive-by SDK-15-bump PR with no maintainer
to land it would sit open indefinitely and create the wrong impression
that the change has been reviewed. If upstream becomes active again and
wants the migration, the change set is small enough (+23 / -19 lines,
seven files) to merge by hand in minutes.
wants the migration, the change set is small enough (the SDK 15 patch is
+23 / 19 lines across seven files; the rebrand is roughly a dozen lines
on top) to merge by hand in minutes.
## Maintainer contact
If something in this fork causes problems, especially if it relates back
to upstream Craftimizer or to attribution:
If something in Forgeimizer causes problems, especially if it relates
back to upstream Craftimizer or to attribution:
- **Gitea Issues:**
[JonKazama-Hellion/Craftimizer/issues](https://gitea.hellion-forge.cloud/JonKazama-Hellion/Craftimizer/issues)
@@ -76,9 +91,11 @@ or takedown questions, email is the fastest path.
## Trademarks and naming
"Craftimizer" is the name Asriel chose for the upstream plugin. This
fork keeps the name as a reference to the origin and does not rebrand
the user-facing identity. The Hellion brand is mine.
"Craftimizer" is the name Asriel chose for the upstream plugin. The
Forgeimizer rebrand keeps Craftimizer prominently named in the manifest
description, the about-tab attribution, this NOTICE, and the COPYRIGHT
block, so the fork relationship is unambiguous. The Hellion brand is
mine.
---