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.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: Dalamud.Plugin
Assembly: Dalamud.dll
Syntax
public sealed class DalamudPluginInterface : IDisposable

Properties

| Improve this Doc View Source

AssemblyLocation

Gets the location of your plugin assembly.

Declaration
public FileInfo AssemblyLocation { get; }
Property Value
Type Description
System.IO.FileInfo
| 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

GeneralChatType

Gets the chat type used by default for plugin messages.

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

IsDebugging

Gets a value indicating whether a debugger is attached.

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

IsDev

Gets a value indicating whether this is a dev plugin.

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

IsDevMenuOpen

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 IsDevMenuOpen { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

IsTesting

Gets a value indicating whether this is a testing release of a plugin.

Declaration
public bool IsTesting { get; }
Property Value
Type Description
System.Boolean
Remarks

Dev plugins have undefined behavior for this value, but can be expected to return false.

| Improve this Doc View Source

LoadTime

Gets the time that this plugin was loaded.

Declaration
public DateTime LoadTime { get; }
Property Value
Type Description
System.DateTime
| Improve this Doc View Source

LoadTimeDelta

Gets the timespan delta from when this plugin was loaded.

Declaration
public TimeSpan LoadTimeDelta { get; }
Property Value
Type Description
System.TimeSpan
| Improve this Doc View Source

LoadTimeUTC

Gets the UTC time that this plugin was loaded.

Declaration
public DateTime LoadTimeUTC { get; }
Property Value
Type Description
System.DateTime
| Improve this Doc View Source

PluginInternalNames

Gets a list of installed plugin internal names.

Declaration
public List<string> PluginInternalNames { get; }
Property Value
Type Description
System.Collections.Generic.List<System.String>
| Improve this Doc View Source

PluginNames

Gets a list of installed plugin names.

Declaration
public List<string> PluginNames { get; }
Property Value
Type Description
System.Collections.Generic.List<System.String>
| 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

SourceRepository

Gets the repository from which this plugin was installed.

If a plugin was installed from the official/main repository, this will return the value of Dalamud.Plugin.Internal.Types.LocalPluginManifest.FlagMainRepo. Developer plugins will return the value of Dalamud.Plugin.Internal.Types.LocalPluginManifest.FlagDevPlugin.

Declaration
public string SourceRepository { get; }
Property Value
Type Description
System.String
| 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

Create<T>(Object[])

Create a new object of the provided type using its default constructor, then inject objects and properties.

Declaration
public T Create<T>(params object[] scopedObjects)
    where T : class
Parameters
Type Name Description
System.Object[] scopedObjects

Objects to inject additionally.

Returns
Type Description
T

The created and initialized type.

Type Parameters
Name Description
T

The type to create.

| Improve this Doc View Source

Dispose()

Obsolete implicit dispose implementation. Should not be used.

Declaration
[Obsolete("Do not dispose \"DalamudPluginInterface\".", true)]
public void Dispose()
| Improve this Doc View Source

GetData<T>(String)

Declaration
public T GetData<T>(string tag)
    where T : class
Parameters
Type Name Description
System.String tag
Returns
Type Description
T
Type Parameters
Name Description
T
| Improve this Doc View Source

GetIpcProvider<TRet>(String)

Gets an IPC provider.

Declaration
public ICallGateProvider<TRet> GetIpcProvider<TRet>(string name)
Parameters
Type Name Description
System.String name

The name of the IPC registration.

Returns
Type Description
ICallGateProvider<TRet>

An IPC provider.

Type Parameters
Name Description
TRet

The return type for funcs. Use object if this is unused.

Exceptions
Type Condition
IpcTypeMismatchError

This is thrown when the requested types do not match the previously registered types are different.

| Improve this Doc View Source

GetIpcProvider<T1, TRet>(String)

Declaration
public ICallGateProvider<T1, TRet> GetIpcProvider<T1, TRet>(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
ICallGateProvider<T1, TRet>
Type Parameters
Name Description
T1
TRet
| Improve this Doc View Source

GetIpcProvider<T1, T2, TRet>(String)

Declaration
public ICallGateProvider<T1, T2, TRet> GetIpcProvider<T1, T2, TRet>(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
ICallGateProvider<T1, T2, TRet>
Type Parameters
Name Description
T1
T2
TRet
| Improve this Doc View Source

GetIpcProvider<T1, T2, T3, TRet>(String)

Declaration
public ICallGateProvider<T1, T2, T3, TRet> GetIpcProvider<T1, T2, T3, TRet>(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
ICallGateProvider<T1, T2, T3, TRet>
Type Parameters
Name Description
T1
T2
T3
TRet
| Improve this Doc View Source

GetIpcProvider<T1, T2, T3, T4, TRet>(String)

Declaration
public ICallGateProvider<T1, T2, T3, T4, TRet> GetIpcProvider<T1, T2, T3, T4, TRet>(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
ICallGateProvider<T1, T2, T3, T4, TRet>
Type Parameters
Name Description
T1
T2
T3
T4
TRet
| Improve this Doc View Source

GetIpcProvider<T1, T2, T3, T4, T5, TRet>(String)

Declaration
public ICallGateProvider<T1, T2, T3, T4, T5, TRet> GetIpcProvider<T1, T2, T3, T4, T5, TRet>(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
ICallGateProvider<T1, T2, T3, T4, T5, TRet>
Type Parameters
Name Description
T1
T2
T3
T4
T5
TRet
| Improve this Doc View Source

GetIpcProvider<T1, T2, T3, T4, T5, T6, TRet>(String)

Declaration
public ICallGateProvider<T1, T2, T3, T4, T5, T6, TRet> GetIpcProvider<T1, T2, T3, T4, T5, T6, TRet>(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
ICallGateProvider<T1, T2, T3, T4, T5, T6, TRet>
Type Parameters
Name Description
T1
T2
T3
T4
T5
T6
TRet
| Improve this Doc View Source

GetIpcProvider<T1, T2, T3, T4, T5, T6, T7, TRet>(String)

Declaration
public ICallGateProvider<T1, T2, T3, T4, T5, T6, T7, TRet> GetIpcProvider<T1, T2, T3, T4, T5, T6, T7, TRet>(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
ICallGateProvider<T1, T2, T3, T4, T5, T6, T7, TRet>
Type Parameters
Name Description
T1
T2
T3
T4
T5
T6
T7
TRet
| Improve this Doc View Source

GetIpcProvider<T1, T2, T3, T4, T5, T6, T7, T8, TRet>(String)

Declaration
public ICallGateProvider<T1, T2, T3, T4, T5, T6, T7, T8, TRet> GetIpcProvider<T1, T2, T3, T4, T5, T6, T7, T8, TRet>(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
ICallGateProvider<T1, T2, T3, T4, T5, T6, T7, T8, TRet>
Type Parameters
Name Description
T1
T2
T3
T4
T5
T6
T7
T8
TRet
| Improve this Doc View Source

GetIpcSubscriber<TRet>(String)

Gets an IPC subscriber.

Declaration
public ICallGateSubscriber<TRet> GetIpcSubscriber<TRet>(string name)
Parameters
Type Name Description
System.String name

The name of the IPC registration.

Returns
Type Description
ICallGateSubscriber<TRet>

An IPC subscriber.

Type Parameters
Name Description
TRet

The return type for funcs. Use object if this is unused.

| Improve this Doc View Source

GetIpcSubscriber<T1, TRet>(String)

Declaration
public ICallGateSubscriber<T1, TRet> GetIpcSubscriber<T1, TRet>(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
ICallGateSubscriber<T1, TRet>
Type Parameters
Name Description
T1
TRet
| Improve this Doc View Source

GetIpcSubscriber<T1, T2, TRet>(String)

Declaration
public ICallGateSubscriber<T1, T2, TRet> GetIpcSubscriber<T1, T2, TRet>(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
ICallGateSubscriber<T1, T2, TRet>
Type Parameters
Name Description
T1
T2
TRet
| Improve this Doc View Source

GetIpcSubscriber<T1, T2, T3, TRet>(String)

Declaration
public ICallGateSubscriber<T1, T2, T3, TRet> GetIpcSubscriber<T1, T2, T3, TRet>(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
ICallGateSubscriber<T1, T2, T3, TRet>
Type Parameters
Name Description
T1
T2
T3
TRet
| Improve this Doc View Source

GetIpcSubscriber<T1, T2, T3, T4, TRet>(String)

Declaration
public ICallGateSubscriber<T1, T2, T3, T4, TRet> GetIpcSubscriber<T1, T2, T3, T4, TRet>(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
ICallGateSubscriber<T1, T2, T3, T4, TRet>
Type Parameters
Name Description
T1
T2
T3
T4
TRet
| Improve this Doc View Source

GetIpcSubscriber<T1, T2, T3, T4, T5, TRet>(String)

Declaration
public ICallGateSubscriber<T1, T2, T3, T4, T5, TRet> GetIpcSubscriber<T1, T2, T3, T4, T5, TRet>(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
ICallGateSubscriber<T1, T2, T3, T4, T5, TRet>
Type Parameters
Name Description
T1
T2
T3
T4
T5
TRet
| Improve this Doc View Source

GetIpcSubscriber<T1, T2, T3, T4, T5, T6, TRet>(String)

Declaration
public ICallGateSubscriber<T1, T2, T3, T4, T5, T6, TRet> GetIpcSubscriber<T1, T2, T3, T4, T5, T6, TRet>(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
ICallGateSubscriber<T1, T2, T3, T4, T5, T6, TRet>
Type Parameters
Name Description
T1
T2
T3
T4
T5
T6
TRet
| Improve this Doc View Source

GetIpcSubscriber<T1, T2, T3, T4, T5, T6, T7, TRet>(String)

Declaration
public ICallGateSubscriber<T1, T2, T3, T4, T5, T6, T7, TRet> GetIpcSubscriber<T1, T2, T3, T4, T5, T6, T7, TRet>(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
ICallGateSubscriber<T1, T2, T3, T4, T5, T6, T7, TRet>
Type Parameters
Name Description
T1
T2
T3
T4
T5
T6
T7
TRet
| Improve this Doc View Source

GetIpcSubscriber<T1, T2, T3, T4, T5, T6, T7, T8, TRet>(String)

Declaration
public ICallGateSubscriber<T1, T2, T3, T4, T5, T6, T7, T8, TRet> GetIpcSubscriber<T1, T2, T3, T4, T5, T6, T7, T8, TRet>(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
ICallGateSubscriber<T1, T2, T3, T4, T5, T6, T7, T8, TRet>
Type Parameters
Name Description
T1
T2
T3
T4
T5
T6
T7
T8
TRet
| Improve this Doc View Source

GetOrCreateData<T>(String, Func<T>)

Declaration
public T GetOrCreateData<T>(string tag, Func<T> dataGenerator)
    where T : class
Parameters
Type Name Description
System.String tag
System.Func<T> dataGenerator
Returns
Type Description
T
Type Parameters
Name Description
T
| 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

Inject(Object, Object[])

Inject services into properties on the provided object instance.

Declaration
public bool Inject(object instance, params object[] scopedObjects)
Parameters
Type Name Description
System.Object instance

The instance to inject services into.

System.Object[] scopedObjects

Objects to inject additionally.

Returns
Type Description
System.Boolean

Whether or not the injection succeeded.

| Improve this Doc View Source

RelinquishData(String)

Declaration
public void RelinquishData(string tag)
Parameters
Type Name Description
System.String tag
| 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

TryGetData<T>(String, out T)

Declaration
public bool TryGetData<T>(string tag, out T data)
    where T : class
Parameters
Type Name Description
System.String tag
T data
Returns
Type Description
System.Boolean
Type Parameters
Name Description
T

Events

| Improve this Doc View Source

LanguageChanged

Event that gets fired when loc is changed

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

Explicit Interface Implementations

| Improve this Doc View Source

IDisposable.Dispose()

Unregister your plugin and dispose all references.

Declaration
void IDisposable.Dispose()

Implements

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