Show / Hide Table of Contents

Class DalamudPluginInterface

This class acts as an interface to various objects needed to interact with Dalamud and the game.

Inheritance
System.Object
DalamudPluginInterface
Implements
System.IDisposable
Inherited Members
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Dalamud.Plugin
Assembly: Dalamud.dll
Syntax
public class DalamudPluginInterface : IDisposable

Properties

| Improve this Doc View Source

ClientState

Gets the ClientState object that allows you to access current client memory information like actors, territories, etc.

Declaration
public ClientState ClientState { get; }
Property Value
Type Description
ClientState
| Improve this Doc View Source

CommandManager

Gets the CommandManager object that allows you to add and remove custom chat commands.

Declaration
public CommandManager CommandManager { get; }
Property Value
Type Description
CommandManager
| Improve this Doc View Source

ConfigDirectory

Gets the directory your plugin configurations are stored in.

Declaration
public DirectoryInfo ConfigDirectory { get; }
Property Value
Type Description
System.IO.DirectoryInfo
| Improve this Doc View Source

ConfigFile

Gets the config file of your plugin.

Declaration
public FileInfo ConfigFile { get; }
Property Value
Type Description
System.IO.FileInfo
| Improve this Doc View Source

DalamudAssetDirectory

Gets the directory Dalamud assets are stored in.

Declaration
public DirectoryInfo DalamudAssetDirectory { get; }
Property Value
Type Description
System.IO.DirectoryInfo
| Improve this Doc View Source

Data

Gets the DataManager instance which allows you to access game data needed by the main dalamud features.

Declaration
public DataManager Data { get; }
Property Value
Type Description
DataManager
| Improve this Doc View Source

Framework

Gets the Framework object that allows you to interact with the client.

Declaration
public Framework Framework { get; }
Property Value
Type Description
Framework
| Improve this Doc View Source

IsDebugging

Gets a value indicating whether Dalamud is running in Debug mode or the /xldev menu is open. This can occur on release builds.

Declaration
public bool IsDebugging { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

Reason

Gets the reason this plugin was loaded.

Declaration
public PluginLoadReason Reason { get; }
Property Value
Type Description
PluginLoadReason
| Improve this Doc View Source

Sanitizer

Gets serializer class with functions to remove special characters from strings.

Declaration
public ISanitizer Sanitizer { get; }
Property Value
Type Description
ISanitizer
| Improve this Doc View Source

SeStringManager

Gets the SeStringManager instance which allows creating and parsing SeString payloads.

Declaration
public SeStringManager SeStringManager { get; }
Property Value
Type Description
SeStringManager
| Improve this Doc View Source

TargetModuleScanner

Gets the SigScanner instance targeting the main module of the FFXIV process.

Declaration
public SigScanner TargetModuleScanner { get; }
Property Value
Type Description
SigScanner
| Improve this Doc View Source

UiBuilder

Gets the UiBuilder instance which allows you to draw UI into the game via ImGui draw calls.

Declaration
public UiBuilder UiBuilder { get; }
Property Value
Type Description
UiBuilder
| Improve this Doc View Source

UiLanguage

Gets the current UI language in two-letter iso format.

Declaration
public string UiLanguage { get; }
Property Value
Type Description
System.String

Methods

| Improve this Doc View Source

AddChatLinkHandler(UInt32, Action<UInt32, SeString>)

Register a chat link handler.

Declaration
public DalamudLinkPayload AddChatLinkHandler(uint commandId, Action<uint, SeString> commandAction)
Parameters
Type Name Description
System.UInt32 commandId

The ID of the command.

System.Action<System.UInt32, SeString> commandAction

The action to be executed.

Returns
Type Description
DalamudLinkPayload

Returns an SeString payload for the link.

| Improve this Doc View Source

Dispose()

Unregister your plugin and dispose all references. You have to call this when your IDalamudPlugin is disposed.

Declaration
public void Dispose()
| Improve this Doc View Source

GetPluginConfig()

Get a previously saved plugin configuration or null if none was saved before.

Declaration
public IPluginConfiguration GetPluginConfig()
Returns
Type Description
IPluginConfiguration

A previously saved config or null if none was saved before.

| Improve this Doc View Source

GetPluginConfigDirectory()

Get the config directory.

Declaration
public string GetPluginConfigDirectory()
Returns
Type Description
System.String

directory with path of AppData/XIVLauncher/pluginConfig/PluginInternalName.

| Improve this Doc View Source

GetPluginLocDirectory()

Get the loc directory.

Declaration
public string GetPluginLocDirectory()
Returns
Type Description
System.String

directory with path of AppData/XIVLauncher/pluginConfig/PluginInternalName/loc.

| Improve this Doc View Source

Log(String, Object[])

Log a templated message to the in-game debug log.

Declaration
[Obsolete]
public void Log(string messageTemplate, params object[] values)
Parameters
Type Name Description
System.String messageTemplate

The message template.

System.Object[] values

Values to log.

| Improve this Doc View Source

LogError(Exception, String, Object[])

Log a templated error message to the in-game debug log.

Declaration
[Obsolete]
public void LogError(Exception exception, string messageTemplate, params object[] values)
Parameters
Type Name Description
System.Exception exception

The exception that caused the error.

System.String messageTemplate

The message template.

System.Object[] values

Values to log.

| Improve this Doc View Source

LogError(String, Object[])

Log a templated error message to the in-game debug log.

Declaration
[Obsolete]
public void LogError(string messageTemplate, params object[] values)
Parameters
Type Name Description
System.String messageTemplate

The message template.

System.Object[] values

Values to log.

| Improve this Doc View Source

RemoveChatLinkHandler()

Removes all chat link handlers registered by the plugin.

Declaration
public void RemoveChatLinkHandler()
| Improve this Doc View Source

RemoveChatLinkHandler(UInt32)

Remove a chat link handler.

Declaration
public void RemoveChatLinkHandler(uint commandId)
Parameters
Type Name Description
System.UInt32 commandId

The ID of the command.

| Improve this Doc View Source

SavePluginConfig(IPluginConfiguration)

Save a plugin configuration(inheriting IPluginConfiguration).

Declaration
public void SavePluginConfig(IPluginConfiguration currentConfig)
Parameters
Type Name Description
IPluginConfiguration currentConfig

The current configuration.

| Improve this Doc View Source

SendMessage(ExpandoObject)

Send a message to all subscribed plugins.

Declaration
[Obsolete("The current IPC mechanism is obsolete and scheduled to be replaced after API level 3.")]
public void SendMessage(ExpandoObject message)
Parameters
Type Name Description
System.Dynamic.ExpandoObject message

The message to send.

| Improve this Doc View Source

SendMessage(String, ExpandoObject)

Send a message to a specific plugin.

Declaration
[Obsolete("The current IPC mechanism is obsolete and scheduled to be replaced after API level 3.")]
public bool SendMessage(string pluginName, ExpandoObject message)
Parameters
Type Name Description
System.String pluginName

The InternalName of the plugin to send the message to.

System.Dynamic.ExpandoObject message

The message to send.

Returns
Type Description
System.Boolean

True if the corresponding plugin was present and received the message.

| Improve this Doc View Source

Subscribe(String, Action<ExpandoObject>)

Subscribe to an IPC message by a plugin.

Declaration
[Obsolete("The current IPC mechanism is obsolete and scheduled to be replaced after API level 3.")]
public void Subscribe(string pluginName, Action<ExpandoObject> action)
Parameters
Type Name Description
System.String pluginName

The InternalName of the plugin to subscribe to.

System.Action<System.Dynamic.ExpandoObject> action

The action to take when a message was received.

| Improve this Doc View Source

SubscribeAny(Action<String, ExpandoObject>)

Subscribe to an IPC message by any plugin.

Declaration
[Obsolete("The current IPC mechanism is obsolete and scheduled to be replaced after API level 3.")]
public void SubscribeAny(Action<string, ExpandoObject> action)
Parameters
Type Name Description
System.Action<System.String, System.Dynamic.ExpandoObject> action

The action to take when a message was received.

| Improve this Doc View Source

Unsubscribe(String)

Unsubscribe from messages from a plugin.

Declaration
[Obsolete("The current IPC mechanism is obsolete and scheduled to be replaced after API level 3.")]
public void Unsubscribe(string pluginName)
Parameters
Type Name Description
System.String pluginName

The InternalName of the plugin to unsubscribe from.

| Improve this Doc View Source

UnsubscribeAny()

Unsubscribe from messages from any plugin.

Declaration
[Obsolete("The current IPC mechanism is obsolete and scheduled to be replaced after API level 3.")]
public void UnsubscribeAny()

Events

| Improve this Doc View Source

OnLanguageChanged

Event that gets fired when loc is changed

Declaration
public event DalamudPluginInterface.LanguageChangedDelegate OnLanguageChanged
Event Type
Type Description
DalamudPluginInterface.LanguageChangedDelegate

Implements

System.IDisposable
  • Improve this Doc
  • View Source
In This Article
Back to top Generated by DocFX