You are viewing a potentially older version of this package. View all versions.
LordAshes-CommonCustomsMenuPlugin-1.0.2 icon

CommonCustomsMenuPlugin

Common menu for custom content plugins to register with.

Date uploaded 2 weeks ago
Version 1.0.2
Download link LordAshes-CommonCustomsMenuPlugin-1.0.2.zip
Downloads 32
Dependency string LordAshes-CommonCustomsMenuPlugin-1.0.2

This mod requires the following mods to function

bbepisTaleSpire-BepInExPack-5.4.10 icon
bbepisTaleSpire-BepInExPack

Unified BepInEx all-in-one modding pack - plugin framework, detour library

Preferred version: 5.4.10
brcoding-SetInjectionFlagPlugin-2.3.0 icon
brcoding-SetInjectionFlagPlugin

Allows players to flag mods are installed

Preferred version: 2.3.0
LordAshes-FileAccessPlugin-1.7.1 icon
LordAshes-FileAccessPlugin

Provides standardized methods for accessing both local file and url resources. Automatically handles searching local folders for assets.

Preferred version: 1.7.1
LordAshes-LoggingPlugin-1.0.1 icon
LordAshes-LoggingPlugin

Provides unified logging functionality

Preferred version: 1.0.1

README

Common Customs Menu Plugin

This unofficial TaleSpire pluigin provides a core Talepsire like asset llibrary menu into which custom content plugins can easily add assets. This menu is independent of the BR menu so plugins registering their content with this standalone menu are less likely to break when BR makes updates.

Special thanks to Equanimity for latest compatibility fix.

Change Log

1.0.2: Bug fix to prevent errors prior to providers providing their assets list
1.0.1: Revised subscription interface to allow registration as co-routine (and thus GUI notifications during registration)
1.0.0: Initial release

Install

Use R2ModMan or similar installer to install this asset pack.

Configuration

Plugin Configuration

Menu Toggle Trigger: Indicates the key or key combination used to toggle the menu open/closed.

Diagnostic Level: Indicates the amount of information that is put into the logs while running. Keep on Info except when getting logs for support.

Number Of Asset Badges Per Row: Indicates how many asset badges are shown in each row of asset. Larger numbers produce smaller badges.

Plugin Registration Complete: Indicates the time in seconds before the plugin asks all provider plugins to list their assets.

Rewrite Scope: Indicates which fields (name, description and/or tags) are used in rewrite (reorganize) checks. Off means rewrites don't occur.

Rewrite

Assets can be reorganize using the rewriter. Ensure that the Rewrite Scope is not set to "off" (see above).

Create a file called org.lordashes.plugins.commoncustomsmenu.rewriter.json and inside it create a structure similar to:

{
  "Item": { "kind": "Effect", "category": "Prop" },
  "Object": { "kind": "Effect", "category": "Prop" },
  "Armor": { "kind": "Effect", "category": "Prop" },
  "Weapon": { "kind": "Effect", "category": "Prop" },
  "Crate": { "kind": "Effect", "category": "Prop" },
  "Treasure": { "kind": "Effect", "category": "Prop" },

  "Cart": { "kind": "Effect", "category": "Vehicle" },
  "Wagon": { "kind": "Effect", "category": "Vehicle" },
  "Boat": { "kind": "Effect", "category": "Vehicle" },
  "Ship": { "kind": "Effect", "category": "Vehicle" }
}

The key in the dictionary structure (the string on the left side) is the keywords for which the rewrites searches. If found then it changes the "kind" and/or the "category" based on the dictionary striucture to the right. The kind property is how the provider treats the asset. The category property is what Type category it will show up in the menu. For example, { "kind": "Effect", "category": "Prop" } means that the asset will be treated as a "Effect" by the provider (the plugin actually responsible for the asset) but the asset which show up under the "Prop" icon.

The rewriter is applied to all assets at runtime. The registration file is left unmodified with the reweiter applies all changes in memory only. As such turning off the rewriter functionality will restore all assets to their developer intended locations.

Registration file

The master list of registered assets, used by the Common Customs Menu plugin, is store in a .cache folder in the plugins install folder under a folder matching the plugin guid (org.lordashes.plugins.commoncustomsmenu). This file contains the info.txt information of each asset that is registered. This is also the file from which the plugin generates its menus. As such, the information for any particular asset can be tweaked by editing this file.

Usage

1. Use the Open Menu shortcut to open the Common Custom Menu. Default: ``{Home}``
2. Select the desired Kind (Type) using the icons on the left.
3. Select the desired Group using the buttons right of the Kind (Type) icons.
4. Select the desired Asset using the badges right of the groups.

CHANGELOG

1.0.5: Added chain to Asset Info to support encounter and stack building
1.0.4: Bug fix assets showing up in multiple places if the group name was repeated in different headers
1.0.4: Extra checks for repeated items
1.0.3: Added common AssetInfo Clone function for plugins to easily make similar registration entries
1.0.2: Bug fix to prevent errors prior to providers providing their assets list
1.0.1: Revised subscription interface to allow registration as co-routine (and thus GUI notifications during registration)
1.0.0: Initial release