# All Classes and Interfaces

Class
Description
AllDirectionsConnector
Connector for blocks that always connect in all six adjacent directions.
BlockComponent
All of the components provided by a `CircuitComponent`, cached and validated for a Block.
BlockStateConnector
Connector for a block whose connections depend on blockstate properties.
BlockStateProperty
StaticProperty for a block which has different property values for different blockstates.
Channel
Channels are used by the signal graph to keep signals separate from each other.
Channel.Redstone
The Redstone Channel
Channel.Single
Single channels represent one of the sixteen-color digital channels
Circuit
a Circuit represents a power graph of blocks.
CircuitBuilder
circuit builder
CircuitComponent
CircuitComponents represent the circuit properties associated with particular Blocks.
CircuitImpl
Internal implementation of Circuit API for power graphs
CircuitManager
API for handling power graphs
CodecHelper
codec utils
CommonConfig
/config/exmachina-common.toml
ComponentBaker
Cache of baked power graph components
ConfigHelper
Helper for creating configs and defining complex objects in configs
Connector
Connectors are properties assigned to block instances that determine which positions a block at a given position could potentially connect to in a circuit.
Connector.BlockConnector
Connector cached and validated for its block
Connector.StateConnector
Cached connector for a given BlockState which defines power graph connectivity
ConstantProperty
StaticProperty representing a constant value for all blockstates.
CubeSignalComponent
SignalComponent for a Block that can connect to the signal graph on all sides, providing their vanilla redstone signal output to the graph.
DefaultSignalComponent
Default SignalComponent used for blocks that have no source assigned to them.
DirectionsConnector
Connector type for a block that connects to a subset of its six neighbors.
DynamicProperty
Dynamic properties are assigned to blocks as part of their circuit element definition.
EmptyCircuit
Represents a power graph circuit without nodes or power
ExMachina
Mod class for Ex Machina where things are registered and events are subscribed.
ExMachinaDataMaps
DataMapTypes for Ex Machina's data maps
ExMachinaGameEvents
The signal graph update event is used to inform the signal grapher that a graph update should occur.
ExMachinaRegistries
Registry ResourceKeys for Ex Machina's static registries
ExMachinaTags
Tags under the exmachina namespace
ExMachinaTags.Blocks
Block Tags under the exmachina namespace
FloorSignalComponent
SignalComponent which can connect to graph nodes if the connecting graph node is adjacent to the source block and on the floor (face direction == DOWN)
LevelCircuitManager
Transient cache of power graph circuits for a given ServerLevel
MechanicalBlockComponent
Cached and validated MechanicalComponent for the block the component is assigned to.
MechanicalBlockState
Cached BlockState + its associated MechanicalStateComponent
MechanicalComponent
A MechanicalComponent is a mechanical graph component assignable to Blocks, which
MechanicalComponentBaker
Cache of mechanical graph components.
MechanicalConnection
Represents properties of some connection from one mechanical node to another.
MechanicalGraph
Represents a mechanical graph of connected nodes
MechanicalGraph.GearRatio
Cached values for a gear fraction
MechanicalGraphBuffer
Buffer in which mechanical graph updates in serverlevels are enqueued.
MechanicalGraphKey
Unique keys of nodes in mechanical graphs.
MechanicalNode
Represents a node in the mechanical graph.
MechanicalNodeStates
Data attachment intended to be used for blockentities which use the exmachina:blockstate mechanical component or similar components which automatically save mechanical state into arbitrary blockentities instead of having the blockentity implement saving manually.
MechanicalState
Representation of a mechanical update provided to a node in the mechanical graph
MechanicalStateComponent
MechanicalComponent baked and validated for a specific state of the component's associated block.
MultipartMechanicalComponent
General-purpose MechanicalComponent which has a format similar to multipart blockstate defintions, assigning nodes to blockstates by comparing states to property-value predicate Cases.
MultipartMechanicalComponent.ApplyWhen
Component of MultipartMechanicalComponent definitions, analogous to the "when" and "apply" blocks in a blockstate json.
MultipartMechanicalComponent.Case
Component of Multipart definitions representing a blockstate predicate.
MultipartMechanicalComponent.OrCase
Component of Multipart definitions' 'when' blocks.
NodeShape
Representation of the volume or connectibility of a graph node
NodeShape.Cube
NodeShape which encompasses an entire BlockPos
NodeShape.Side
NodeShape which represents a node on the internal face of a blockpos
NodeShape.SideSide
NodeShape which represents a node which lies on the internal face of a BlockPos but on touches one of its four orthagonal neighbors
NoneConnector
Connector for a block that cannot connect to or be part of a circuit.
NoneDynamicProperty
DynamicProperty representing an absent DynamicProperty.
NoneMechanicalComponent
MechanicalComponent which provides no power and connects to no graph.
NoneTransmitter
SignalComponent which provides no power and connects to no graph.
Parity
Representation of relative direction of rotation between mechanical nodes
RawNode
Relative node definition used by `VariantsMechanicalComponent` and `MultipartMechanicalComponent`
RawNode.RawConnection
Relative connection from a RawNode to a neighbor node
SignalComponent
A SignalComponent is a signal graph component assignable to Blocks, which
SignalGraph
Represents a graph of connected signal nodes.
SignalGraphBuffer
Buffer in which signal graph updates are enqueued.
SignalGraphKey
Uniquely identifiable key in the signal graph
SignalStrength
Indicator of strong (conducting) vs weak (nonconducting) redstone power
SimpleMechanicalStateComponent
MechanicalStateComponent used by `VariantsMechanicalComponent` and `MultipartMechanicalComponent` to provide mechanical nodes
StateComponent
A CircuitComponent, but baked for a particular BlockState
StateReader
Utility for reading a blockstate predicate in blockstate-file format
StateWirer
SignalComponent bound with its providing BlockState at some position
StaticProperty
Static Properties are assigned to blocks as part of their circuit component definition.
StaticProperty.BakedStaticProperty
StaticProperty cached for a particular Block
TransmissionNode
Properties of a `SignalComponent` graph node.
UnionConnector
Connector providing the union of the position sets of a list of subconnectors.
VariantsMechanicalComponent
General-purpose MechanicalComponent which defines static mechanical nodes per-blockstate similar to how a blockstate file assigns model variants.
VariantsMechanicalComponent.VariantBuilder
Datagen helper for building a variant matching multiple properties' values
WallFloorCeilingSignalComponent
SignalComponent intended for `FaceAttachedHorizontalDirectionalBlock`s such as buttons and levers.
WireIgnoringSignalGetter
delegating SignalGetter which ignores signal from blocks in the exmachina:ignore_vanilla_signal block tag