Package net.commoble.exmachina.api

# Interface MechanicalStateComponent

All Known Implementing Classes:
  `SimpleMechanicalStateComponent`

Functional Interface:
  This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface MechanicalStateComponent
MechanicalComponent baked and validated for a specific state of the component's associated block. Responsible for providing nodes and connections when queried by the mechanical grapher.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final MechanicalStateComponent`
`EMPTY`
Represents empty/invalid component

## Method Summary

Modifier and Type
Method
Description
`Collection<MechanicalNode>`
`getNodes(net.minecraft.resources.ResourceKey<net.minecraft.world.level.Level> levelKey, net.minecraft.world.level.BlockGetter level, net.minecraft.core.BlockPos pos)`
Provides the MechanicalNodes at a given position where this blockstate is
`default boolean`
`isPresent()`
Returns true if this isn't the EMPTY component.

## Field Details

### EMPTY

static final MechanicalStateComponent EMPTY
Represents empty/invalid component

## Method Details

### getNodes

Collection<MechanicalNode> getNodes(net.minecraft.resources.ResourceKey<net.minecraft.world.level.Level> levelKey, net.minecraft.world.level.BlockGetter level, net.minecraft.core.BlockPos pos)
Provides the MechanicalNodes at a given position where this blockstate is

Parameters:
  `levelKey` - ResourceKey identifying the level where this component is
  `level` - BlockGetter where this component is
  `pos` - BlockPos where this component is
Returns:
  Collection of MechanicalNodes at the given position

### isPresent

default boolean isPresent()
Returns true if this isn't the EMPTY component.

Returns:
  true if this isn't the EMPTY component