Pathoschild / StardewMods

Mods for Stardew Valley using SMAPI.
MIT License
712 stars 380 forks source link

Add read-only API for querying automation groups. #1019

Open focustense opened 4 months ago

focustense commented 4 months ago

This allows other mods to search for automation groups and gather basic information about connected containers and machines.

Since IAutomatable is already exposed through the existing registration API, this reuses that, and adds a few basic high-level fields including the "automated instance", if one exists. If there isn't a clear backing instance, i.e. if it's a one-off implementation whose details only exist in Automate itself, then the ICustomAutomatableInfo provides a way to communicate some high-level information about it to the caller without having to reveal its internals. (This is currently used for trash cans.)

The new properties on IAutomatable have default implementations, which should be backward-compatible with any other mods using Automate's Registration API provided that SMAPI is using Pintail version 2.4.1 or later.