Package fr.robie.machineengine.api.machine
package fr.robie.machineengine.api.machine
-
ClassDescriptionAn extra capability a machine type exposes, besides the resource handlers of its ports.What a machine does about the time it spent unloaded (D4, ARCHITECTURE.md §18).Something a player asks a machine to do from a menu (D40): take an upgrade out, switch a module off, … A machine type declares its actions by id (
MachineType.Builder.action(String, MachineAction)); a menu button names one (machineengine_action,action: <id>) and runs it with the click.How the player clicked.What came of an action.Addon-provided logic of a machine (ARCHITECTURE.md §12).Everything aMachineBehaviormay touch (ARCHITECTURE.md §12).A persisted value of a machine's own state (counters, modes, settings).What a machine's block sees of the world (E3), read on the owner thread: e.g.Machine lifecycle and process events (ARCHITECTURE.md §26).Amounts inserted and extracted since the last event of this machine.Immutable snapshot of a machine for debugging and admin commands (ARCHITECTURE.md §27).A machine in the world (ARCHITECTURE.md §12).Rows a menu can show one per button (D40): the upgrades a machine takes, the modules of the gear in a station.What a machine is (ARCHITECTURE.md §12): storages, ports, extra capabilities, persisted data, upgrade slots, menu actions and lists (D40) and behavior.What a machine can see and do in the world around it (MachineContext.world()).Reaching other machines by position (MachineContext.machines()), e.g.A configured exposure of one of the machine's storages on some faces (ARCHITECTURE.md §11.2).A ready-made behavior for recipe machines: start the first recipe (registration order) whose inputs are available, run it, deliver outputs, and optionally push outputs to a neighbor.Scheduling state of a machine (ARCHITECTURE.md §17.1).A storage of a machine type:slotsslots ofcapacityeach, accepting variants matchingfilter(ARCHITECTURE.md §12).Why a machine was woken (ARCHITECTURE.md §17.2).