Mods Communicator Chat Control
Provides access to Mods Communicator through chat. Allows to publish events in a similar way like mods.
About this mod Author’s original text
Outward Mods Communicator Chat Control
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
- Create the directory: Outward\BepInEx\plugins\OutwardModsCommunicatorChatControl\.
- Extract the archive into any directory(recommend empty).
- Move the contents of the plugins\ directory from the archive into the BepInEx\plugins\OutwardModsCommunicatorChatControl\ directory you created.
- 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
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.
Install these first, or the mod will not work: