Framework for adding shortcut icons to vanilla and mod functions.
Direct integration using the Iconic Framework API is preferred.
External integration is possible using data paths with SMAPI or Content Patcher.
You can find examples in the [CP] Toolbar Icons folder.
The data model is as follows:
| Entry | Description |
|---|---|
| ModId | The mod that the icon is for. |
| Type | Menu, Method, or Keybind |
| ExtraData | Additional data depending on integration type (see below) |
| Title | The title text to display when hovering over an icon. |
| HoverText | The description text to display when hovering over an icon. |
| TexturePath | The path to the icon's texture. |
| SourceRect | The source area of the icon's texture. |
ExtraData requires the fully qualified name of the Menu class. It must have a parameterless constructor.
ExtraData requires the fully qualified name of the Method. It must be a parameterless method.
ExtraData requires the keybind.
A content pack can provide custom texture for any icon. You need the icon's unique identifier which you can find in your config.json file.
{
"Format": "2.4.0",
"Changes": [
{
"LogName": "Edit the icon texture",
"Action": "EditData",
"Target": "furyx639.ToolbarIcons/TextureOverrides",
"Entries": {
"Pathoschild.HorseFluteAnywhere": {
"Texture": "{{InternalAssetKey: assets/HorseFluteIcon.png}}",
"SourceRect": {
"X": 0,
"Y": 0,
"Width": 16,
"Height": 16
}
}
}
}
]
}❌️ = Not Translated, ❔ = Incomplete, ✔️ = Complete
| Iconic Framework | [CP] Toolbar Icons | |
|---|---|---|
| Chinese | ❌️ | ❌️ |
| French | ❌️ | ❌️ |
| German | ❌️ | ❌️ |
| Hungarian | ❌️ | ❌️ |
| Italian | ❌️ | ❌️ |
| Japanese | ❌️ | ❌️ |
| Korean | ❌️ | ❔ |
| Portuguese | ❌️ | ❌️ |
| Russian | ❌️ | ❌️ |
| Spanish | ❌️ | ❌️ |
| Turkish | ❌️ | ❌️ |
Icons created by Tai:
- Always Scroll Map
- To-Dew
- Daily Quests
- Special Orders