Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a52b9e8d76 | |||
| 923d421e57 |
@@ -1,4 +1,4 @@
|
||||
Craftimizer — Hellion fork of the FFXIV crafting plugin by Asriel Camora
|
||||
Forgeimizer — Hellion Forge fork of Craftimizer by Asriel Camora
|
||||
|
||||
═══════════════════════════════════════════════════════════════════
|
||||
Source code
|
||||
@@ -8,15 +8,21 @@ Copyright (c) 2023 Asriel Camora
|
||||
Original author of Craftimizer (https://github.com/WorkingRobot/Craftimizer).
|
||||
The entire architecture, simulator, solver, recipe data layer,
|
||||
synthesis hooks, macro engine, and every UI window are Asriel's
|
||||
work. This fork would not exist without it.
|
||||
work. Forgeimizer would not exist without it.
|
||||
|
||||
Copyright (c) 2026 Hellion Online Media
|
||||
Hellion fork maintenance: Dalamud SDK 14 → 15 migration for the
|
||||
FFXIV 7.5 / Dalamud API 15 cycle. Scope: the ValueType → AtkValueType
|
||||
rename in FFXIVClientStructs, the local IEndObject interface that
|
||||
replaces the removed Dalamud ImRaii.IEndObject, the typed ImRaii
|
||||
disposable returns (TabItemDisposable, ColorDisposable), and the
|
||||
ImRaii.TabItem ref-bool lifetime fix. No functional changes.
|
||||
Hellion Forge fork maintenance:
|
||||
1. Rebrand to Forgeimizer (AssemblyName, InternalName, plugin
|
||||
manifest, WindowSystem name, conflict detector, /forgeimizer
|
||||
slash command alias).
|
||||
2. Dalamud SDK 14 → 15 migration for the FFXIV 7.5 / Dalamud
|
||||
API 15 cycle. Scope: the ValueType → AtkValueType rename in
|
||||
FFXIVClientStructs, the local IEndObject interface that
|
||||
replaces the removed Dalamud ImRaii.IEndObject, the typed
|
||||
ImRaii disposable returns (TabItemDisposable, ColorDisposable),
|
||||
and the ImRaii.TabItem ref-bool lifetime fix.
|
||||
|
||||
No functional changes to crafting logic, solver, or UI behaviour.
|
||||
|
||||
Source code is licensed under the MIT License. The full Licence text
|
||||
lives in the LICENSE file at the root of this repository.
|
||||
@@ -33,10 +39,12 @@ Copyright (c) 2026 Florian Eck
|
||||
separate permission from the copyright holder.
|
||||
|
||||
Copyright (c) 2023 Asriel Camora
|
||||
Designer of the Craftimizer plugin icon (icon.png), the embedded
|
||||
graphics (Craftimizer/Graphics/*.png), and the documentation
|
||||
screenshots (Images/*.png). Asset reuse follows the MIT Licence
|
||||
above.
|
||||
Designer of the original Craftimizer plugin icon (icon.png), the
|
||||
embedded graphics (Craftimizer/Graphics/*.png), and the
|
||||
documentation screenshots (Images/*.png). Forgeimizer continues
|
||||
to use these assets unchanged as both attribution to the upstream
|
||||
author and as the Dalamud plugin icon. Asset reuse follows the
|
||||
MIT Licence above.
|
||||
|
||||
═══════════════════════════════════════════════════════════════════
|
||||
Bundled binary assets
|
||||
|
||||
@@ -139,7 +139,7 @@ public class MacroCopyConfiguration
|
||||
public int MaxMacroCount { get; set; } = 5;
|
||||
|
||||
// CopyToMacroMate
|
||||
public string MacroMateName { get; set; } = "Craftimizer";
|
||||
public string MacroMateName { get; set; } = "Forgeimizer";
|
||||
public string MacroMateParent { get; set; } = string.Empty;
|
||||
|
||||
// Add /nextmacro [down]
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project Sdk="Dalamud.NET.Sdk/15.0.0">
|
||||
<PropertyGroup>
|
||||
<Authors>Asriel Camora</Authors>
|
||||
<Authors>Asriel Camora (original); Jon Kazama / Hellion Forge (fork)</Authors>
|
||||
<Version>2.9.1.1</Version>
|
||||
<PackageProjectUrl>https://github.com/WorkingRobot/Craftimizer.git</PackageProjectUrl>
|
||||
<AssemblyName>Forgeimizer</AssemblyName>
|
||||
<PackageProjectUrl>https://gitea.hellion-forge.cloud/JonKazama-Hellion/Craftimizer</PackageProjectUrl>
|
||||
<Configurations>Debug;Release</Configurations>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
{
|
||||
"Author": "Asriel",
|
||||
"Name": "Craftimizer",
|
||||
"Punchline": "Simulate crafts, create computer-assisted macros, and get mid-craft suggestions from the comfort of your own game!",
|
||||
"Description": "Allows you to generate macros and simulate all sorts of crafts without having to open another app. Open your crafting log to get started!",
|
||||
"RepoUrl": "https://github.com/WorkingRobot/Craftimizer",
|
||||
"InternalName": "Craftimizer",
|
||||
"ApplicableVersion": "any",
|
||||
"Tags": [
|
||||
"crafting",
|
||||
"doh",
|
||||
"craft",
|
||||
"macro",
|
||||
"solver",
|
||||
"generator",
|
||||
"generate",
|
||||
"simulate",
|
||||
"sim",
|
||||
"simulator"
|
||||
],
|
||||
"CategoryTags": [
|
||||
"Jobs"
|
||||
],
|
||||
"IconUrl": "https://git.camora.dev/asriel/Craftimizer/raw/branch/main/icon.png",
|
||||
"ImageUrls": [
|
||||
"https://git.camora.dev/asriel/Craftimizer/raw/branch/main/Images/RecipeNote.png",
|
||||
"https://git.camora.dev/asriel/Craftimizer/raw/branch/main/Images/SynthHelper.png",
|
||||
"https://git.camora.dev/asriel/Craftimizer/raw/branch/main/Images/MacroEditor.png"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"Author": "Asriel Camora (original); Jon Kazama / Hellion Forge (fork)",
|
||||
"Name": "Forgeimizer",
|
||||
"Punchline": "A Hellion Forge plugin. Crafting simulator and macro solver for FFXIV, maintenance fork of Asriel Camora's Craftimizer kept current for Dalamud API 15+.",
|
||||
"Description": "A Hellion Forge plugin — a maintenance fork of Craftimizer by Asriel Camora, brought back to life on Dalamud SDK 15 for FFXIV 7.5+.\n\nSimulate crafts, create computer-assisted macros, and get mid-craft suggestions from the comfort of your own game. Open your crafting log to get started.\n\nAll features below come from upstream Craftimizer, unchanged in this fork:\n- Crafting simulator with full action state tracking\n- Macro solver (Raphael Rust crate, bundled)\n- Recipe note overlay\n- Synthesis helper window\n- Macro editor and macro list\n\nThis fork:\n- Refuses to load if upstream Craftimizer is active (no parallel hooks)\n- No features added, no design changes vs upstream\n- Will archive if Asriel ships an official SDK 15 update upstream\n\nSource: https://gitea.hellion-forge.cloud/JonKazama-Hellion/Craftimizer",
|
||||
"RepoUrl": "https://gitea.hellion-forge.cloud/JonKazama-Hellion/Craftimizer",
|
||||
"InternalName": "Forgeimizer",
|
||||
"ApplicableVersion": "any",
|
||||
"Tags": [
|
||||
"crafting",
|
||||
"doh",
|
||||
"craft",
|
||||
"macro",
|
||||
"solver",
|
||||
"generator",
|
||||
"generate",
|
||||
"simulate",
|
||||
"sim",
|
||||
"simulator",
|
||||
"hellion",
|
||||
"forge"
|
||||
],
|
||||
"CategoryTags": [
|
||||
"Jobs"
|
||||
],
|
||||
"IconUrl": "https://gitea.hellion-forge.cloud/JonKazama-Hellion/Craftimizer/raw/branch/main/icon.png",
|
||||
"ImageUrls": [
|
||||
"https://gitea.hellion-forge.cloud/JonKazama-Hellion/Craftimizer/raw/branch/main/Images/RecipeNote.png",
|
||||
"https://gitea.hellion-forge.cloud/JonKazama-Hellion/Craftimizer/raw/branch/main/Images/SynthHelper.png",
|
||||
"https://gitea.hellion-forge.cloud/JonKazama-Hellion/Craftimizer/raw/branch/main/Images/MacroEditor.png"
|
||||
]
|
||||
}
|
||||
@@ -37,9 +37,11 @@ public sealed class Plugin : IDalamudPlugin
|
||||
|
||||
public Plugin(IDalamudPluginInterface pluginInterface)
|
||||
{
|
||||
CraftimizerConflictDetector.ThrowIfUpstreamLoaded(pluginInterface);
|
||||
|
||||
Service.Initialize(this, pluginInterface);
|
||||
|
||||
WindowSystem = new("Craftimizer");
|
||||
WindowSystem = new("Forgeimizer");
|
||||
Configuration = Configuration.Load();
|
||||
IconManager = new();
|
||||
Hooks = new();
|
||||
@@ -120,7 +122,7 @@ public sealed class Plugin : IDalamudPlugin
|
||||
public void ExecuteRetrySynthHelper() =>
|
||||
SynthHelperWindow.AttemptRetry();
|
||||
|
||||
[Command(name: "/craftimizer", description: "Open the settings window.")]
|
||||
[Command(name: "/craftimizer", aliases: "/forgeimizer", description: "Open the settings window.")]
|
||||
private void OpenSettingsWindowForced() =>
|
||||
OpenSettingsWindow(true);
|
||||
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
using System.Linq;
|
||||
using Dalamud.Plugin;
|
||||
|
||||
namespace Craftimizer.Utils;
|
||||
|
||||
internal static class CraftimizerConflictDetector
|
||||
{
|
||||
private const string UpstreamInternalName = "Craftimizer";
|
||||
|
||||
public static void ThrowIfUpstreamLoaded(IDalamudPluginInterface pluginInterface)
|
||||
{
|
||||
var conflict = pluginInterface.InstalledPlugins.FirstOrDefault(p =>
|
||||
p.InternalName == UpstreamInternalName && p.IsLoaded
|
||||
);
|
||||
|
||||
if (conflict is null)
|
||||
return;
|
||||
|
||||
throw new System.InvalidOperationException(
|
||||
"Forgeimizer cannot load while the upstream Craftimizer plugin is active.\n\n"
|
||||
+ "Both plugins register the same Dalamud hooks (UseAction, IsActionHighlighted) "
|
||||
+ "and would conflict if loaded together.\n\n"
|
||||
+ "Action: open /xlplugins, disable the upstream 'Craftimizer' plugin, "
|
||||
+ "then re-enable Forgeimizer."
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1113,8 +1113,8 @@ public sealed class Settings : Window, IDisposable
|
||||
|
||||
using (HeaderFont.Push())
|
||||
{
|
||||
ImGuiUtils.AlignCentered(ImGui.CalcTextSize("Craftimizer").X);
|
||||
ImGuiUtils.Hyperlink("Craftimizer", "https://github.com/WorkingRobot/Craftimizer", false);
|
||||
ImGuiUtils.AlignCentered(ImGui.CalcTextSize("Forgeimizer").X);
|
||||
ImGuiUtils.Hyperlink("Forgeimizer", "https://gitea.hellion-forge.cloud/JonKazama-Hellion/Craftimizer", false);
|
||||
}
|
||||
|
||||
using (SubheaderFont.Push())
|
||||
|
||||
@@ -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.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -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