Class RadioRouter

java.lang.Object
com.codinglitch.simpleradio.radio.RadioRouter
All Implemented Interfaces:
Socket
Direct Known Subclasses:
RadioListener, RadioReceiver, RadioSpeaker, RadioTransmitter

public class RadioRouter extends Object implements Socket
Routes RadioSources to other routers.
  • Field Details

    • wires

      public ArrayList<Wire> wires
    • routers

      public List<RadioRouter> routers
    • routerAcceptor

      public Function<RadioSource,Boolean> routerAcceptor
    • routeCriteria

      public BiPredicate<RadioSource,RadioRouter> routeCriteria
    • acceptCriteria

      public Predicate<RadioSource> acceptCriteria
    • active

      public boolean active
    • distributes

      public boolean distributes
    • valid

      public boolean valid
    • identifier

      public short identifier
    • reference

      public UUID reference
    • owner

      public net.minecraft.world.entity.Entity owner
    • location

      public WorldlyPosition location
    • oldPosition

      public org.joml.Vector3f oldPosition
    • velocity

      public org.joml.Vector3f velocity
    • activity

      public float activity
    • activityTime

      public int activityTime
    • compiledActivity

      public float compiledActivity
    • compiledSamples

      public int compiledSamples
    • rotation

      public org.joml.Quaternionf rotation
    • connectionOffset

      public net.minecraft.world.phys.Vec3 connectionOffset
  • Constructor Details

    • RadioRouter

      public RadioRouter(UUID reference)
    • RadioRouter

      public RadioRouter()
    • RadioRouter

      public RadioRouter(WorldlyPosition location)
    • RadioRouter

      public RadioRouter(WorldlyPosition location, UUID reference)
  • Method Details

    • getRouterFromReceivers

      @Nullable public static @Nullable RadioReceiver getRouterFromReceivers(UUID reference)
    • getRouterFromTransmitters

      @Nullable public static @Nullable RadioTransmitter getRouterFromTransmitters(UUID reference)
    • getRouter

      public RadioRouter getRouter()
      Description copied from interface: Socket
      Override this to expose a given router to wires.
      Allows blocks with more than one router to choose which of their routers wires will connect to.
      Specified by:
      getRouter in interface Socket
      Returns:
      The router to be exposed
    • getReference

      public UUID getReference()
      Specified by:
      getReference in interface Socket
    • getIdentifier

      public short getIdentifier()
      Specified by:
      getIdentifier in interface Socket
    • getWires

      public ArrayList<Wire> getWires()
      Specified by:
      getWires in interface Socket
    • allowDistribution

      public void allowDistribution()
    • getFrequency

      @Nullable public @Nullable Frequency getFrequency()
    • distanceTo

      public double distanceTo(RadioRouter other)
    • getConnectionPosition

      public net.minecraft.world.phys.Vec3 getConnectionPosition()
    • getLocation

      public WorldlyPosition getLocation()
    • tryAddRouter

      public RadioRouter tryAddRouter(RadioRouter router)
    • getRouter

      public RadioRouter getRouter(UUID id)
    • updateLocation

      public void updateLocation(WorldlyPosition location)
    • updateRotation

      public void updateRotation(org.joml.Quaternionf rotation)
    • tick

      public void tick(int tickCount)
    • accept

      public void accept(RadioSource source)
    • prepareSource

      public RadioSource prepareSource(RadioSource source, RadioRouter destination)
    • shouldRouteTo

      public boolean shouldRouteTo(RadioSource source, RadioRouter destination)
    • route

      public void route(RadioSource source, @Nullable @Nullable Predicate<RadioRouter> criteria)
    • route

      public void route(RadioSource source)
    • getRedstoneMappedActivity

      public int getRedstoneMappedActivity()
    • compileActivity

      public void compileActivity(RadioSource source)
    • informActivity

      public void informActivity()
    • invalidate

      public void invalidate()
    • validate

      public boolean validate()
    • toString

      public String toString()
      Overrides:
      toString in class Object