java.lang.Object
com.jozufozu.flywheel.backend.instancing.AbstractInstance
com.jozufozu.flywheel.backend.instancing.tile.TileEntityInstance<T>
All Implemented Interfaces:
com.jozufozu.flywheel.backend.api.instance.IDynamicInstance, com.jozufozu.flywheel.backend.api.instance.IInstance, com.jozufozu.flywheel.light.LightListener, com.jozufozu.flywheel.light.MovingListener
Direct Known Subclasses:
HosePulleyInstance, RopePulleyInstance

public abstract class AbstractPulleyInstance extends ShaftInstance implements com.jozufozu.flywheel.backend.api.instance.IDynamicInstance, com.jozufozu.flywheel.light.MovingListener
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected float
     
    protected final net.minecraft.core.Direction
     
    protected final com.mojang.math.Vector3f
     

    Fields inherited from class com.simibubi.create.content.contraptions.base.SingleRotatingInstance

    rotatingModel

    Fields inherited from class com.simibubi.create.content.contraptions.base.KineticTileInstance

    axis

    Fields inherited from class com.jozufozu.flywheel.backend.instancing.tile.TileEntityInstance

    blockState, instancePos, pos, tile

    Fields inherited from class com.jozufozu.flywheel.backend.instancing.AbstractInstance

    materialManager, world
  • Constructor Summary

    Constructors
    Constructor
    Description
    AbstractPulleyInstance(com.jozufozu.flywheel.backend.api.MaterialManager dispatcher, KineticTileEntity tile)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    boolean
     
    protected abstract com.jozufozu.flywheel.backend.api.Instancer<com.jozufozu.flywheel.core.materials.oriented.OrientedData>
     
    protected abstract com.jozufozu.flywheel.backend.api.Instancer<com.jozufozu.flywheel.core.materials.oriented.OrientedData>
     
    protected abstract com.jozufozu.flywheel.backend.api.Instancer<com.jozufozu.flywheel.core.materials.oriented.OrientedData>
     
    protected abstract com.jozufozu.flywheel.backend.api.Instancer<com.jozufozu.flywheel.core.materials.oriented.OrientedData>
     
    protected abstract float
     
    protected abstract com.jozufozu.flywheel.backend.api.Instancer<com.jozufozu.flywheel.core.materials.oriented.OrientedData>
     
    com.jozufozu.flywheel.light.ImmutableBox
     
    protected abstract boolean
     
    void
    onLightUpdate(com.jozufozu.flywheel.light.LightProvider world, net.minecraft.world.level.LightLayer type, com.jozufozu.flywheel.light.ImmutableBox changed)
     
    void
     
    boolean
    update(com.jozufozu.flywheel.light.LightProvider provider)
     
    void
     

    Methods inherited from class com.simibubi.create.content.contraptions.relays.encased.ShaftInstance

    getRenderedBlockState

    Methods inherited from class com.simibubi.create.content.contraptions.base.SingleRotatingInstance

    getModel, init, update

    Methods inherited from class com.jozufozu.flywheel.backend.instancing.tile.TileEntityInstance

    getInstancePosition, getOrientedMaterial, getTransformMaterial, getWorldPosition, shouldReset

    Methods inherited from class com.jozufozu.flywheel.backend.instancing.AbstractInstance

    relight, relight, relight, relight, status

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.jozufozu.flywheel.backend.api.instance.IInstance

    getWorldPosition

    Methods inherited from interface com.jozufozu.flywheel.light.LightListener

    onLightPacket, status
  • Field Details

    • offset

      protected float offset
    • rotatingAbout

      protected final net.minecraft.core.Direction rotatingAbout
    • rotationAxis

      protected final com.mojang.math.Vector3f rotationAxis
  • Constructor Details

    • AbstractPulleyInstance

      public AbstractPulleyInstance(com.jozufozu.flywheel.backend.api.MaterialManager dispatcher, KineticTileEntity tile)
  • Method Details

    • beginFrame

      public void beginFrame()
      Specified by:
      beginFrame in interface com.jozufozu.flywheel.backend.api.instance.IDynamicInstance
    • updateLight

      public void updateLight()
      Overrides:
      updateLight in class SingleRotatingInstance
    • remove

      public void remove()
      Overrides:
      remove in class SingleRotatingInstance
    • getRopeModel

      protected abstract com.jozufozu.flywheel.backend.api.Instancer<com.jozufozu.flywheel.core.materials.oriented.OrientedData> getRopeModel()
    • getMagnetModel

      protected abstract com.jozufozu.flywheel.backend.api.Instancer<com.jozufozu.flywheel.core.materials.oriented.OrientedData> getMagnetModel()
    • getHalfMagnetModel

      protected abstract com.jozufozu.flywheel.backend.api.Instancer<com.jozufozu.flywheel.core.materials.oriented.OrientedData> getHalfMagnetModel()
    • getCoilModel

      protected abstract com.jozufozu.flywheel.backend.api.Instancer<com.jozufozu.flywheel.core.materials.oriented.OrientedData> getCoilModel()
    • getHalfRopeModel

      protected abstract com.jozufozu.flywheel.backend.api.Instancer<com.jozufozu.flywheel.core.materials.oriented.OrientedData> getHalfRopeModel()
    • getOffset

      protected abstract float getOffset()
    • isRunning

      protected abstract boolean isRunning()
    • update

      public boolean update(com.jozufozu.flywheel.light.LightProvider provider)
      Specified by:
      update in interface com.jozufozu.flywheel.light.MovingListener
    • decreaseFramerateWithDistance

      public boolean decreaseFramerateWithDistance()
      Specified by:
      decreaseFramerateWithDistance in interface com.jozufozu.flywheel.backend.api.instance.IDynamicInstance
    • getVolume

      public com.jozufozu.flywheel.light.ImmutableBox getVolume()
      Specified by:
      getVolume in interface com.jozufozu.flywheel.light.LightListener
      Overrides:
      getVolume in class com.jozufozu.flywheel.backend.instancing.tile.TileEntityInstance<KineticTileEntity>
    • onLightUpdate

      public void onLightUpdate(com.jozufozu.flywheel.light.LightProvider world, net.minecraft.world.level.LightLayer type, com.jozufozu.flywheel.light.ImmutableBox changed)
      Specified by:
      onLightUpdate in interface com.jozufozu.flywheel.light.LightListener
      Overrides:
      onLightUpdate in class com.jozufozu.flywheel.backend.instancing.AbstractInstance