Outward
Install

Details

Last Updated
First Uploaded
Downloads
162
Likes
0
Size
162KB
Dependency string
GymMed-Mods_Communicator_Chat_Control-0.0.2
Dependants

Categories

Outward Mods Communicator Chat Control


Logo
Provides access to Mods Communicator through chat. It enables event-driven communication between mods, allowing users to interact with them directly through chat.

How to use it

Firstly, install Chat Commands Manager. After that, you can use the commands provided by this mod directly in chat.

Built-in Commands

/events Lists all registered events from OutwardModsCommunicator.

Usage: /events

/event Gets detailed information about a specific event including its parameters and types.

Usage: /event gymmed.chat_commands_manager_* ChatCommandsManager@AddChatCommand
/event --mod=gymmed.chat_commands_manager_* --event=ChatCommandsManager@AddChatCommand
/event gymmed.loot_manager_* AddLoot

/publish Publishes an event to OutwardModsCommunicator directly from chat. Parameters are dynamically parsed based on the event's registered schema in Mods Communicator.

How it works: The mod reads the registered event parameters from Mods Communicator and automatically parses your chat input to match the expected types. If a parameter type cannot be parsed from a string (like functions or delegates), it will be skipped. Unregistered parameters are silently ignored, giving you flexibility.

Usage: /publish gymmed.loot_manager_* LootRulesSerializer@SaveLootRulesToXml
/publish gymmed.loot_manager_* LootRulesSerializer@LoadCustomLoots --filePath="C:/documents/myPath"
/publish gymmed.loot_manager_* AddLoot --itemId=4300040 --faction=bandits
/publish gymmed.loot_manager_* AddLoot --itemId=4300040 --faction="bandits"
/publish --event=AddLoot --itemId=4300040 --faction=Deer

Supported Types:

  • Primitives: string, int, float, bool, double, long, decimal, char
  • Enums: Any game enum (e.g., Character.Factions.Bandits, Character.Factions.Deer)
  • Nullable<T>: Optional enum/primitive types (e.g., Nullable<Character.Factions>)
  • IEnumerable/ICollection: Space-separated values (e.g., --names="Sword Shield" becomes List<string>)
  • Arrays: Space-separated values (e.g., --ids="4300040 4300041")

Notes:

  • Parameters can be passed positionally (in order) or by name (--param=value)
  • If mod namespace is omitted, searches all registered mods for the event
  • If a value cannot be parsed to the expected type, an error is shown and the event is NOT published
  • Unregistered parameters (not defined in the event schema) are silently dropped - they are not added to the event payload
  • Each mod is responsible for validating and handling the received data in their own event handlers

How to set up

To manually set up, do the following

  1. Create the directory: Outward\BepInEx\plugins\OutwardModsCommunicatorChatControl\.
  2. Extract the archive into any directory(recommend empty).
  3. Move the contents of the plugins\ directory from the archive into the BepInEx\plugins\OutwardModsCommunicatorChatControl\ directory you created.
  4. It should look like Outward\BepInEx\plugins\OutwardModsCommunicatorChatControl\OutwardModsCommunicatorChatControl.dll Launch the game.

If you liked the mod leave a star on GitHub it's free

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.