java.lang.Object
com.jozufozu.flywheel.backend.instancing.AbstractInstance
com.jozufozu.flywheel.backend.instancing.tile.TileEntityInstance<T>
All Implemented Interfaces:
com.jozufozu.flywheel.api.instance.IDynamicInstance, com.jozufozu.flywheel.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.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.api.MaterialManager dispatcher, KineticTileEntity tile)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    boolean
     
    protected abstract com.jozufozu.flywheel.api.Instancer<com.jozufozu.flywheel.core.materials.oriented.OrientedData>
     
    protected abstract com.jozufozu.flywheel.api.Instancer<com.jozufozu.flywheel.core.materials.oriented.OrientedData>
     
    protected abstract com.jozufozu.flywheel.api.Instancer<com.jozufozu.flywheel.core.materials.oriented.OrientedData>
     
    protected abstract com.jozufozu.flywheel.api.Instancer<com.jozufozu.flywheel.core.materials.oriented.OrientedData>
     
    protected abstract float
     
    protected abstract com.jozufozu.flywheel.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.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.api.MaterialManager dispatcher, KineticTileEntity tile)
  • Method Details

    • beginFrame

      public void beginFrame()
      Specified by:
      beginFrame in interface com.jozufozu.flywheel.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.api.Instancer<com.jozufozu.flywheel.core.materials.oriented.OrientedData> getRopeModel()
    • getMagnetModel

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

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

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

      protected abstract com.jozufozu.flywheel.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.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