Files
CBT/LOCAL-INSTALL-API14.md
KnackAtNite 5b3d8c87d1
Debug Build and Test / Build against Latest Dalamud (push) Has been cancelled
Debug Build and Test / Build against Staging Dalamud (push) Has been cancelled
Release Build and Publish / Release Build against Staging Dalamud and deploy to MyDalamudPlugins (release) Has been cancelled
CBT API 14 compatibility: Dalamud SDK 14, net10, fix ISigScanner and LocalPlayer
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-08 13:27:41 -05:00

1.7 KiB
Raw Permalink Blame History

CBT Local build (Dalamud API 14)

This copy of CBT has been updated to Dalamud API level 14 so it runs on current FFXIV/Dalamud. The upstream repo may still ship API 13, which shows as "outdated and incompatible."

Install the built plugin

  1. Create the folder (if it doesnt exist):
    • %AppData%\XIVLauncher\addon\Hooks\dev\plugins\CBT\
  2. Copy everything from:
    • CBT\bin\Release\ into that folder, so the DLL and manifest are directly inside ...\plugins\CBT\:
    • CBT.dll
    • CBT.json
    • CBT.deps.json
    • Media\ (folder)
    • Data\ (folder)
    • images\ (folder)
  3. In-game: enable test/development plugins in Dalamud settings if required, then enable CBT.

Option B: Install from zip

A zip is built at:

  • C:\Users\flick\Desktop\MyDalamudPlugins\release-zips\CBT.zip

If your Dalamud/plugin installer supports “Install from custom zip” or “Install from file”, use that and select CBT.zip. Otherwise use Option A.

Rebuild after changes

From repo root:

cd "C:\Users\flick\Desktop\MyDalamudPlugins\repos\CBT-main"
dotnet build -c Release

Output: CBT\bin\Release\. Copy those contents into ...\dev\plugins\CBT\ again (or re-zip and reinstall).

Changes made for API 14

  • CBT.csproj: Dalamud.NET.Sdk 13.0.0 → 14.0.1, net9.0-windowsnet10.0-windows, version set to 0.0.3.7.
  • CBT.json: DalamudApiLevel 13 → 14, added InternalName, ApplicableVersion.
  • PluginAddressResolver.cs: Added using Dalamud.Plugin.Services so ISigScanner resolves (moved in API 14).
  • PluginManager.cs: LocalPlayer now uses Service.ObjectTable.LocalPlayer instead of obsolete IClientState.LocalPlayer.