Overview of Dalamud Addon Lifecycle argument types
Dalamud.Game.Addon.Lifecycle.AddonArgTypes namespace provides a set of classes used to pass argument data to Addon lifecycle events. All these classes derive from the base class AddonArgs.website·Indexed 32 days ago
https://dalamud.devDeveloper documentation and API reference for Dalamud, including guides on plugin development, publishing, and reverse engineering. Features detailed API specifications for Dalamud.dll, including IPC interfaces like IIdDataShareAdapter and INameDataShareAdapter, and versioning information for v15 and v10.
Dalamud.Game.Addon.Lifecycle.AddonArgTypes namespace provides a set of classes used to pass argument data to Addon lifecycle events. All these classes derive from the base class AddonArgs.Dalamud.Interface.ManagedFontAtlas namespace provides managed abstractions for ImGui font management. It includes tools for building font atlases, managing font handles with reference counting, and configuring fonts safely. Key components include IFontAtlas for atlas wrapping and FontAtlasBuildToolkitUtilities for convenience in font building.GameConfigSection class represents a specific section of the game configuration. It provides properties to identify the section and its size, as well as helper methods to get and set configuration values of various types.public class GameConfigSectionDalamud.Plugin.Services namespace contains the core service interfaces required for FFXIV plugin development. These services provide access to game state, UI manipulation, and system management. All services implement the IDalamudService marker interface.UiBuilder class (located in Dalamud.dll) is used to create custom windows and overlays drawn on top of the game. It implements IDisposable and IUiBuilder.public sealed class UiBuilder : IDisposable, IUiBuilderDalamud.Interface.Animation namespace provides tools for creating animations within the Dalamud interface. It includes AnimUtil for general animation helper functions and Easing as a base class for implementing custom easing functions.Dalamud.Interface.ImGuiNotification namespace contains the core components for implementing notifications in the ImGui interface. Key components include the Notification blueprint class, NotificationUtilities for implementation support, and interfaces such as INotification and IActiveNotification to manage the lifecycle and appearance of notifications.The Dalamud.Utility namespace contains a wide array of utility classes and extension methods designed to simplify plugin development. Key utility areas include:
AsyncUtils and TaskExtensions for managing async behavior.CStringExtensions, Utf8StringExtensions, StringExtensions, and various ReadOnlySe... extensions for handling game strings and Lumina text.ItemUtil for items, MapUtil for map coordinates and translations, and ActionKindExtensions/ObjectKindExtensions for game enums.FilesystemUtil for file operations, DisposeSafety for resource cleanup, and ThreadSafety for concurrency.DiagnosticUtil for diagnostics and HitchDetector for detecting game hitches.Dalamud.Interface.ImGuiFileDialog namespace provides tools for implementing file and folder pickers within the ImGui interface in Dalamud. It includes the FileDialog class for the picker UI, a FileDialogManager to handle those dialogs, and supporting enums for sorting and configuration flags.SeString (internally known as Utf8String) is a custom null-terminated string implementation used by the game to carry binary payloads. These payloads allow for text formatting (e.g., bold), sound effects, interactable links, and dynamic logic using macros.
Developers can use the following Lumina types for handling these strings:
ReadOnlySeString: An owning type that manages the underlying data buffer.ReadOnlySeStringSpan: A lightweight, non-owning view for parsing from raw pointers.SeStringBuilder: A utility for programmatically constructing SeStrings.Dalamud.Game.Agent namespace (API version 15.x) provides the infrastructure for interacting with game agents. It includes utility classes for ID conversion and lifecycle event tracking, as well as enumerations for defining agent events and the types of arguments associated with those events.IUiBuilder interface (found in Dalamud.dll) is used to draw custom windows and overlays on top of the game. It provides access to font handles, the game's Direct3D device, the main window handle, and various UI state flags such as whether a cutscene is active or if the UI is prepared for use.