Skip to main content
Version: 15.x (API 15) [Current]

Class SeString

This class represents a parsed SeString.

Assembly: Dalamud.dll​
Declaration
public class SeString

Properties​

TextArrowPayloads​

Gets a list of Payloads necessary to display the arrow link marker icon in chat with the appropriate glow and coloring.

Declaration
public static IEnumerable<Payload> TextArrowPayloads { get; }

Empty​

Gets an empty SeString.

Declaration
public static SeString Empty { get; }

Payloads​

Gets the ordered list of payloads included in this SeString.

Declaration
public List<Payload> Payloads { get; }

TextValue​

Gets all of the raw text from a message as a single joined string.

Declaration
public string TextValue { get; }

Methods​

Parse(byte*, int)​

Parse a binary game message into an SeString.

Declaration
public static SeString Parse(byte* ptr, int len)
Returns​

Dalamud.Game.Text.SeStringHandling.SeString: An SeString containing parsed Payload objects for each payload in the data.

Parameters​
TypeNameDescription
System.Byte*ptrPointer to the string's data in memory.
System.Int32lenLength of the string's data in memory.

Parse(ReadOnlySpan<byte>)​

Parse a binary game message into an SeString.

Declaration
public static SeString Parse(ReadOnlySpan<byte> data)
Returns​

Dalamud.Game.Text.SeStringHandling.SeString: An SeString containing parsed Payload objects for each payload in the data.

Parameters​
TypeNameDescription
System.ReadOnlySpan<System.Byte>dataBinary message payload data in SE's internal format.

Parse(byte[])​

Parse a binary game message into an SeString.

Declaration
public static SeString Parse(byte[] bytes)
Returns​

Dalamud.Game.Text.SeStringHandling.SeString: An SeString containing parsed Payload objects for each payload in the data.

Parameters​
TypeNameDescription
System.Byte[]bytesBinary message payload data in SE's internal format.

Parse(byte*)​

Parse a binary game message into an SeString.

Declaration
public static SeString Parse(byte* ptr)
Returns​

Dalamud.Game.Text.SeStringHandling.SeString: An SeString containing parsed Payload objects for each payload in the data.

Parameters​
TypeNameDescription
System.Byte*ptrPointer to the string's data in memory. Needs to be null-terminated.

CreateItemLink(uint, bool, string?)​

Creates an SeString representing an entire Payload chain that can be used to link an item in the chat log.

Declaration
public static SeString CreateItemLink(uint itemId, bool isHq, string? displayNameOverride = null)
Returns​

Dalamud.Game.Text.SeStringHandling.SeString: An SeString containing all the payloads necessary to display an item link in the chat log.

Parameters​
TypeNameDescription
System.UInt32itemIdThe id of the item to link.
System.BooleanisHqWhether to link the high-quality variant of the item.
System.StringdisplayNameOverrideAn optional name override to display, instead of the actual item name.

CreateItemLink(uint, ItemKind, string?)​

Creates an SeString representing an entire Payload chain that can be used to link an item in the chat log.

Declaration
public static SeString CreateItemLink(uint itemId, ItemKind kind = ItemKind.Normal, string? displayNameOverride = null)
Returns​

Dalamud.Game.Text.SeStringHandling.SeString: An SeString containing all the payloads necessary to display an item link in the chat log.

Parameters​
TypeNameDescription
System.UInt32itemIdThe id of the item to link.
Dalamud.Utility.ItemKindkindThe kind of item to link.
System.StringdisplayNameOverrideAn optional name override to display, instead of the actual item name.

CreateItemLink(Item, bool, string?)​

Creates an SeString representing an entire Payload chain that can be used to link an item in the chat log.

Declaration
public static SeString CreateItemLink(Item item, bool isHq, string? displayNameOverride = null)
Returns​

Dalamud.Game.Text.SeStringHandling.SeString: An SeString containing all the payloads necessary to display an item link in the chat log.

Parameters​
TypeNameDescription
Lumina.Excel.Sheets.ItemitemThe Lumina Item to link.
System.BooleanisHqWhether to link the high-quality variant of the item.
System.StringdisplayNameOverrideAn optional name override to display, instead of the actual item name.

CreateMapLink(uint, uint, int, int)​

Creates an SeString representing an entire Payload chain that can be used to link a map position in the chat log.

Declaration
public static SeString CreateMapLink(uint territoryId, uint mapId, int rawX, int rawY)
Returns​

Dalamud.Game.Text.SeStringHandling.SeString: An SeString containing all of the payloads necessary to display a map link in the chat log.

Parameters​
TypeNameDescription
System.UInt32territoryIdThe id of the TerritoryType for this map link.
System.UInt32mapIdThe id of the Map for this map link.
System.Int32rawXThe raw x-coordinate for this link.
System.Int32rawYThe raw y-coordinate for this link..

CreateMapLinkWithInstance(uint, uint, int?, int, int)​

Creates an SeString representing an entire Payload chain that can be used to link a map position in the chat log.

Declaration
public static SeString CreateMapLinkWithInstance(uint territoryId, uint mapId, int? instance, int rawX, int rawY)
Returns​

Dalamud.Game.Text.SeStringHandling.SeString: An SeString containing all of the payloads necessary to display a map link in the chat log.

Parameters​
TypeNameDescription
System.UInt32territoryIdThe id of the TerritoryType for this map link.
System.UInt32mapIdThe id of the Map for this map link.
System.Nullable<System.Int32>instanceAn optional area instance number to be included in this link.
System.Int32rawXThe raw x-coordinate for this link.
System.Int32rawYThe raw y-coordinate for this link..

CreateMapLink(uint, uint, float, float, float)​

Creates an SeString representing an entire Payload chain that can be used to link a map position in the chat log.

Declaration
public static SeString CreateMapLink(uint territoryId, uint mapId, float xCoord, float yCoord, float fudgeFactor = 0.05)
Returns​

Dalamud.Game.Text.SeStringHandling.SeString: An SeString containing all of the payloads necessary to display a map link in the chat log.

Parameters​
TypeNameDescription
System.UInt32territoryIdThe id of the TerritoryType for this map link.
System.UInt32mapIdThe id of the Map for this map link.
System.SinglexCoordThe human-readable x-coordinate for this link.
System.SingleyCoordThe human-readable y-coordinate for this link.
System.SinglefudgeFactorAn optional offset to account for rounding and truncation errors; it is best to leave this untouched in most cases.

CreateMapLinkWithInstance(uint, uint, int?, float, float, float)​

Creates an SeString representing an entire Payload chain that can be used to link a map position in the chat log.

Declaration
public static SeString CreateMapLinkWithInstance(uint territoryId, uint mapId, int? instance, float xCoord, float yCoord, float fudgeFactor = 0.05)
Returns​

Dalamud.Game.Text.SeStringHandling.SeString: An SeString containing all of the payloads necessary to display a map link in the chat log.

Parameters​
TypeNameDescription
System.UInt32territoryIdThe id of the TerritoryType for this map link.
System.UInt32mapIdThe id of the Map for this map link.
System.Nullable<System.Int32>instanceAn optional area instance number to be included in this link.
System.SinglexCoordThe human-readable x-coordinate for this link.
System.SingleyCoordThe human-readable y-coordinate for this link.
System.SinglefudgeFactorAn optional offset to account for rounding and truncation errors; it is best to leave this untouched in most cases.

CreateMapLink(string, float, float, float)​

Creates an SeString representing an entire Payload chain that can be used to link a map position in the chat log, matching a specified zone name. Returns null if no corresponding PlaceName was found.

Declaration
public static SeString? CreateMapLink(string placeName, float xCoord, float yCoord, float fudgeFactor = 0.05)
Returns​

Dalamud.Game.Text.SeStringHandling.SeString: An SeString containing all of the payloads necessary to display a map link in the chat log.

Parameters​
TypeNameDescription
System.StringplaceNameThe name of the location for this link. This should be exactly the name as seen in a displayed map link in-game for the same zone.
System.SinglexCoordThe human-readable x-coordinate for this link.
System.SingleyCoordThe human-readable y-coordinate for this link.
System.SinglefudgeFactorAn optional offset to account for rounding and truncation errors; it is best to leave this untouched in most cases.

CreateMapLinkWithInstance(string, int?, float, float, float)​

Creates an SeString representing an entire Payload chain that can be used to link a map position in the chat log, matching a specified zone name. Returns null if no corresponding PlaceName was found.

Declaration
public static SeString? CreateMapLinkWithInstance(string placeName, int? instance, float xCoord, float yCoord, float fudgeFactor = 0.05)
Returns​

Dalamud.Game.Text.SeStringHandling.SeString: An SeString containing all of the payloads necessary to display a map link in the chat log.

Parameters​
TypeNameDescription
System.StringplaceNameThe name of the location for this link. This should be exactly the name as seen in a displayed map link in-game for the same zone.
System.Nullable<System.Int32>instanceAn optional area instance number to be included in this link.
System.SinglexCoordThe human-readable x-coordinate for this link.
System.SingleyCoordThe human-readable y-coordinate for this link.
System.SinglefudgeFactorAn optional offset to account for rounding and truncation errors; it is best to leave this untouched in most cases.

CreatePartyFinderLink(uint, string, bool)​

Creates an SeString representing an entire payload chain that can be used to link party finder listings in the chat log.

Declaration
public static SeString CreatePartyFinderLink(uint listingId, string recruiterName, bool isCrossWorld = false)
Returns​

Dalamud.Game.Text.SeStringHandling.SeString: An SeString containing all the payloads necessary to display a party finder link in the chat log.

Parameters​
TypeNameDescription
System.UInt32listingIdThe listing ID of the party finder entry.
System.StringrecruiterNameThe name of the recruiter.
System.BooleanisCrossWorldWhether the listing is limited to the current world or not.

CreatePartyFinderSearchConditionsLink(string)​

Creates an SeString representing an entire payload chain that can be used to link the party finder search conditions.

Declaration
public static SeString CreatePartyFinderSearchConditionsLink(string message)
Returns​

Dalamud.Game.Text.SeStringHandling.SeString: An SeString containing all the payloads necessary to display a link to the party finder search conditions.

Parameters​
TypeNameDescription
System.StringmessageThe text that should be displayed for the link.

FromJson(string)​

Creates a SeString from a json. (For testing - not recommended for production use.)

Declaration
public static SeString? FromJson(string json)
Returns​

Dalamud.Game.Text.SeStringHandling.SeString: A SeString initialized with values from the json.

Parameters​
TypeNameDescription
System.StringjsonA serialized SeString produced by ToJson() Dalamud.Game.Text.SeStringHandling.SeString.ToJson().

ToJson()​

Serializes the SeString to json.

Declaration
public string ToJson()
Returns​

System.String: An json representation of this object.

Append(SeString)​

Appends the contents of one SeString to this one.

Declaration
public SeString Append(SeString other)
Returns​

Dalamud.Game.Text.SeStringHandling.SeString: This object.

Parameters​
TypeNameDescription
Dalamud.Game.Text.SeStringHandling.SeStringotherThe SeString to append to this one.

Append(IEnumerable<Payload>)​

Appends a list of payloads to this SeString.

Declaration
public SeString Append(IEnumerable<Payload> payloads)
Returns​

Dalamud.Game.Text.SeStringHandling.SeString: This object.

Parameters​
TypeNameDescription
System.Collections.Generic.IEnumerable<Dalamud.Game.Text.SeStringHandling.Payload>payloadsThe Payloads to append.

Append(Payload)​

Appends a single payload to this SeString.

Declaration
public SeString Append(Payload payload)
Returns​

Dalamud.Game.Text.SeStringHandling.SeString: This object.

Parameters​
TypeNameDescription
Dalamud.Game.Text.SeStringHandling.PayloadpayloadThe payload to append.

Encode()​

Encodes the Payloads in this SeString into a binary representation suitable for use by in-game handlers, such as the chat log.

Declaration
public byte[] Encode()
Returns​

System.Byte[]: The binary encoded payload data.

EncodeWithNullTerminator()​

Encodes the Payloads in this SeString into a binary representation suitable for use by in-game handlers, such as the chat log. Includes a null terminator at the end of the string.

Declaration
public byte[] EncodeWithNullTerminator()
Returns​

System.Byte[]: The binary encoded payload data.

ToString()​

Get the text value of this SeString.

Declaration
public override string ToString()
Returns​

System.String: The TextValue property.