# Hierarchy For All Packages

Package Hierarchies:

- net.commoble.exmachina.api,
- net.commoble.exmachina.api.content,
- net.commoble.exmachina.internal,
- net.commoble.exmachina.internal.power,
- net.commoble.exmachina.internal.signal,
- net.commoble.exmachina.internal.util

## Class Hierarchy

- java.lang.Object
  - net.commoble.exmachina.internal.power.CircuitBuilder
  - net.commoble.exmachina.internal.power.CircuitImpl (implements net.commoble.exmachina.api.Circuit)
  - net.commoble.exmachina.internal.util.CodecHelper
  - net.commoble.exmachina.internal.power.ComponentBaker
  - net.commoble.exmachina.internal.util.ConfigHelper
  - net.commoble.exmachina.internal.ExMachina
  - net.commoble.exmachina.api.ExMachinaDataMaps
  - net.commoble.exmachina.api.ExMachinaRegistries
  - net.commoble.exmachina.api.ExMachinaTags
  - net.commoble.exmachina.api.ExMachinaTags.Blocks
  - net.minecraft.world.level.saveddata.SavedData
    - net.commoble.exmachina.internal.power.LevelCircuitManager (implements net.commoble.exmachina.api.CircuitManager)
    - net.commoble.exmachina.internal.signal.SignalGraphBuffer
  - net.commoble.exmachina.api.SignalGraphUpdateGameEvent
  - net.commoble.exmachina.internal.util.StateReader

## Interface Hierarchy

- net.commoble.exmachina.api.Channel
- net.commoble.exmachina.api.Circuit
- net.commoble.exmachina.api.CircuitManager
- net.commoble.exmachina.api.Connector
- net.commoble.exmachina.api.Connector.BlockConnector
- net.commoble.exmachina.api.Connector.StateConnector
- net.commoble.exmachina.api.DynamicProperty
- net.commoble.exmachina.api.Receiver
- net.commoble.exmachina.api.SignalReceiver
- net.commoble.exmachina.api.SignalSource
- net.commoble.exmachina.api.SignalTransmitter
- net.commoble.exmachina.api.StaticProperty
- net.commoble.exmachina.api.StaticProperty.BakedStaticProperty

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - net.commoble.exmachina.api.content.AllDirectionsConnector (implements net.commoble.exmachina.api.Connector)
    - net.commoble.exmachina.api.Channel.Redstone (implements net.commoble.exmachina.api.Channel)
    - net.commoble.exmachina.api.content.CubeSource (implements net.commoble.exmachina.api.SignalSource)
    - net.commoble.exmachina.api.content.DefaultReceiver (implements net.commoble.exmachina.api.SignalReceiver)
    - net.commoble.exmachina.api.content.DefaultSource (implements net.commoble.exmachina.api.SignalSource)
    - net.commoble.exmachina.api.content.DefaultTransmitter (implements net.commoble.exmachina.api.SignalTransmitter)
    - net.commoble.exmachina.internal.power.EmptyCircuit (implements net.commoble.exmachina.api.Circuit)
    - net.commoble.exmachina.api.content.NoneConnector (implements net.commoble.exmachina.api.Connector)
    - net.commoble.exmachina.api.content.NoneDynamicProperty (implements net.commoble.exmachina.api.DynamicProperty)
    - net.commoble.exmachina.api.content.NoneSource (implements net.commoble.exmachina.api.SignalSource)
    - net.commoble.exmachina.api.SignalStrength

## Record Class Hierarchy

- java.lang.Object
  - java.lang.Record
    - net.commoble.exmachina.api.BlockComponent
    - net.commoble.exmachina.api.content.BlockStateConnector (implements net.commoble.exmachina.api.Connector)
    - net.commoble.exmachina.api.content.BlockStateProperty (implements net.commoble.exmachina.api.StaticProperty)
    - net.commoble.exmachina.api.Channel.Single (implements net.commoble.exmachina.api.Channel)
    - net.commoble.exmachina.api.CircuitComponent
    - net.commoble.exmachina.internal.CommonConfig
    - net.commoble.exmachina.api.content.ConstantProperty (implements net.commoble.exmachina.api.StaticProperty)
    - net.commoble.exmachina.api.content.DirectionsConnector (implements net.commoble.exmachina.api.Connector)
    - net.commoble.exmachina.api.Face
    - net.commoble.exmachina.api.content.FloorSource (implements net.commoble.exmachina.api.SignalSource)
    - net.commoble.exmachina.internal.signal.NodePos
    - net.commoble.exmachina.internal.signal.PosReceiver
    - net.commoble.exmachina.internal.signal.SignalGraph
    - net.commoble.exmachina.api.StateComponent
    - net.commoble.exmachina.api.StateWirer
    - net.commoble.exmachina.api.TransmissionNode
    - net.commoble.exmachina.api.content.UnionConnector (implements net.commoble.exmachina.api.Connector)
    - net.commoble.exmachina.api.content.WallFloorCeilingSource (implements net.commoble.exmachina.api.SignalSource)
    - net.commoble.exmachina.internal.signal.WireIgnoringSignalGetter (implements net.minecraft.world.level.SignalGetter)