Class LargeFanBlockEntity

java.lang.Object
net.neoforged.neoforge.attachment.AttachmentHolder
net.minecraft.world.level.block.entity.BlockEntity
com.simibubi.create.foundation.blockEntity.SyncedBlockEntity
com.simibubi.create.foundation.blockEntity.CachedRenderBBBlockEntity
com.simibubi.create.foundation.blockEntity.SmartBlockEntity
com.simibubi.create.content.kinetics.base.KineticBlockEntity
com.lightning.northstar.block.tech.large_fan.LargeFanBlockEntity
All Implemented Interfaces:
ReceivingKineticBlockEntity, com.simibubi.create.api.equipment.goggles.IHaveCustomOverlayIcon, com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation, com.simibubi.create.api.equipment.goggles.IHaveHoveringInformation, com.simibubi.create.api.schematic.nbt.PartialSafeNBT, com.simibubi.create.api.schematic.requirement.SpecialBlockEntityItemRequirement, com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer, com.simibubi.create.foundation.utility.IInteractionChecker, net.createmod.ponder.api.VirtualBlockEntity, net.neoforged.neoforge.attachment.IAttachmentHolder, net.neoforged.neoforge.common.extensions.IBlockEntityExtension

public class LargeFanBlockEntity extends com.simibubi.create.content.kinetics.base.KineticBlockEntity implements com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer, ReceivingKineticBlockEntity
  • Nested Class Summary

    Nested classes/interfaces inherited from class net.minecraft.world.level.block.entity.BlockEntity

    net.minecraft.world.level.block.entity.BlockEntity.DataComponentInput

    Nested classes/interfaces inherited from class net.neoforged.neoforge.attachment.AttachmentHolder

    net.neoforged.neoforge.attachment.AttachmentHolder.AsField

    Nested classes/interfaces inherited from interface com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer

    com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer.Fluid, com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer.Inventory
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected float
    Visual rotation progress, used by the renderer
    protected int
    Installed blade count
    protected net.minecraft.core.BlockPos
     
    protected net.minecraft.core.BlockPos
     
    protected net.createmod.catnip.animation.LerpedFloat
    Effective speed in RPM
    protected boolean
     
    protected int
     
    protected net.minecraft.core.BlockPos
     
    static final int
    Maximum amount of blades that can be installed
    static final int
    Minimum amount of blades that must be installed for the fan to spin
    protected boolean
     
    protected boolean
     
    protected int
     

    Fields inherited from class com.simibubi.create.content.kinetics.base.KineticBlockEntity

    capacity, effects, lastCapacityProvided, lastStressApplied, network, networkDirty, overStressed, preventSpeedUpdate, sequenceContext, source, speed, stress, updateSpeed, wasMoved

    Fields inherited from class com.simibubi.create.foundation.blockEntity.SmartBlockEntity

    lazyTickCounter, lazyTickRate

    Fields inherited from class net.minecraft.world.level.block.entity.BlockEntity

    level, remove, worldPosition

    Fields inherited from class net.neoforged.neoforge.attachment.AttachmentHolder

    ATTACHMENTS_NBT_KEY
  • Constructor Summary

    Constructors
    Constructor
    Description
    LargeFanBlockEntity(net.minecraft.world.level.block.entity.BlockEntityType<?> type, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    addToGoggleTooltip(List<net.minecraft.network.chat.Component> tooltip, boolean isPlayerSneaking)
     
    protected net.minecraft.world.phys.AABB
     
    void
     
    net.minecraft.core.Direction.Axis
     
    net.minecraft.core.BlockPos
     
     
    int
     
    int
     
    net.minecraft.core.BlockPos
     
    net.minecraft.core.Direction.Axis
     
    int
    getMaxLength(net.minecraft.core.Direction.Axis longAxis, int width)
     
    int
     
    int
     
    int
     
    int
     
    int
     
    boolean
     
    void
     
    void
    onNeighborChange(net.minecraft.core.BlockPos neighbor, boolean manual)
     
    void
     
    float
    propagateRotationFrom(com.simibubi.create.content.kinetics.base.KineticBlockEntity target, net.minecraft.world.level.block.state.BlockState stateFrom, net.minecraft.world.level.block.state.BlockState stateTo, net.minecraft.core.BlockPos diff, boolean connectedViaAxes, boolean connectedViaCogs)
     
    float
    propagateRotationTo(com.simibubi.create.content.kinetics.base.KineticBlockEntity target, net.minecraft.world.level.block.state.BlockState stateFrom, net.minecraft.world.level.block.state.BlockState stateTo, net.minecraft.core.BlockPos diff, boolean connectedViaAxes, boolean connectedViaCogs)
     
    protected void
    read(net.minecraft.nbt.CompoundTag compound, net.minecraft.core.HolderLookup.Provider registries, boolean clientPacket)
     
    void
    removeController(boolean keepContents)
     
    void
    setController(net.minecraft.core.BlockPos pos)
     
    void
    setHeight(int height)
     
    void
    setWidth(int width)
     
    void
     
    protected void
     
    protected void
    write(net.minecraft.nbt.CompoundTag compound, net.minecraft.core.HolderLookup.Provider registries, boolean clientPacket)
     

    Methods inherited from class com.simibubi.create.content.kinetics.base.KineticBlockEntity

    addBehaviours, addPropagationLocations, addStressImpactStats, addToTooltip, attachKinetics, calculateAddedStressCapacity, calculateStressApplied, canPropagateDiagonally, clearKineticInformation, convertToAngular, convertToDirection, convertToLinear, copySequenceContextFrom, detachKinetics, getFlickerScore, getGeneratedSpeed, getOrCreateNetwork, getRotationAngleOffset, getSpeed, getStressConfigKey, getTheoreticalSpeed, hasNetwork, hasSource, initialize, isCustomConnection, isNoisy, isOverStressed, isSource, isSpeedRequirementFulfilled, makeComputerKineticsChangeEvent, needsSpeedUpdate, onSpeedChanged, remove, removeSource, requestModelDataUpdate, setNetwork, setSource, setSpeed, switchToBlockState, syncSequenceContext, tickAudio, updateFromNetwork, warnOfMovement

    Methods inherited from class com.simibubi.create.foundation.blockEntity.SmartBlockEntity

    addBehavioursDeferred, attachBehaviourLate, award, awardIfNear, canPlayerUse, forEachBehaviour, getAllBehaviours, getBehaviour, getRequiredItems, invalidate, isChunkUnloaded, isVirtual, lazyTick, loadAdditional, markVirtual, onChunkUnloaded, readClient, refreshBlockState, registerAwardables, removeBehaviour, saveAdditional, sendToMenu, setLazyTickRate, setRemoved, writeClient, writeSafe

    Methods inherited from class com.simibubi.create.foundation.blockEntity.CachedRenderBBBlockEntity

    getRenderBoundingBox, invalidateRenderBoundingBox

    Methods inherited from class com.simibubi.create.foundation.blockEntity.SyncedBlockEntity

    blockHolderGetter, getUpdatePacket, getUpdateTag, handleUpdateTag, notifyUpdate, onDataPacket, sendData

    Methods inherited from class net.minecraft.world.level.block.entity.BlockEntity

    addEntityType, applyComponents, applyComponentsFromItemStack, applyImplicitComponents, clearRemoved, collectComponents, collectImplicitComponents, components, fillCrashReportCategory, getBlockPos, getBlockState, getLevel, getPersistentData, getPosFromTag, getType, hasLevel, isRemoved, isValidBlockState, loadCustomOnly, loadStatic, loadWithComponents, onlyOpCanSetNbt, parseCustomNameSafe, removeComponentsFromTag, removeData, saveCustomAndMetadata, saveCustomOnly, saveToItem, saveWithFullMetadata, saveWithId, saveWithoutMetadata, setBlockState, setChanged, setChanged, setComponents, setData, setLevel, syncData, triggerEvent

    Methods inherited from class net.neoforged.neoforge.attachment.AttachmentHolder

    deserializeAttachments, getData, getExistingDataOrNull, hasAttachments, hasData, serializeAttachments

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface net.neoforged.neoforge.attachment.IAttachmentHolder

    getData, getExistingData, getExistingData, getExistingDataOrNull, hasData, removeData, setData, syncData

    Methods inherited from interface net.neoforged.neoforge.common.extensions.IBlockEntityExtension

    getModelData, hasCustomOutlineRendering, invalidateCapabilities, onLoad

    Methods inherited from interface com.simibubi.create.api.equipment.goggles.IHaveCustomOverlayIcon

    getIcon

    Methods inherited from interface com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation

    containedFluidTooltip

    Methods inherited from interface com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer

    getExtraData, getMainAxisOf, modifyExtraData, setExtraData
  • Field Details

    • MINIMUM_BLADES

      public static final int MINIMUM_BLADES
      Minimum amount of blades that must be installed for the fan to spin
      See Also:
    • MAXIMUM_BLADES

      public static final int MAXIMUM_BLADES
      Maximum amount of blades that can be installed
      See Also:
    • controllerPos

      protected net.minecraft.core.BlockPos controllerPos
    • lastKnownPos

      protected net.minecraft.core.BlockPos lastKnownPos
    • updateConnectivity

      protected boolean updateConnectivity
    • width

      protected int width
    • height

      protected int height
    • updateNeighbors

      protected boolean updateNeighbors
    • chain

      protected net.minecraft.core.BlockPos chain
    • flipChain

      protected boolean flipChain
    • blades

      protected int blades
      Installed blade count
    • effectiveSpeed

      protected net.createmod.catnip.animation.LerpedFloat effectiveSpeed
      Effective speed in RPM
    • angle

      protected float angle
      Visual rotation progress, used by the renderer
  • Constructor Details

    • LargeFanBlockEntity

      public LargeFanBlockEntity(net.minecraft.world.level.block.entity.BlockEntityType<?> type, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state)
  • Method Details

    • destroy

      public void destroy()
      Overrides:
      destroy in class com.simibubi.create.foundation.blockEntity.SmartBlockEntity
    • tick

      public void tick()
      Overrides:
      tick in class com.simibubi.create.content.kinetics.base.KineticBlockEntity
    • createRenderBoundingBox

      protected net.minecraft.world.phys.AABB createRenderBoundingBox()
      Overrides:
      createRenderBoundingBox in class com.simibubi.create.foundation.blockEntity.CachedRenderBBBlockEntity
    • onNeighborChange

      public void onNeighborChange(net.minecraft.core.BlockPos neighbor, boolean manual)
    • propagateRotationFrom

      public float propagateRotationFrom(com.simibubi.create.content.kinetics.base.KineticBlockEntity target, net.minecraft.world.level.block.state.BlockState stateFrom, net.minecraft.world.level.block.state.BlockState stateTo, net.minecraft.core.BlockPos diff, boolean connectedViaAxes, boolean connectedViaCogs)
      Specified by:
      propagateRotationFrom in interface ReceivingKineticBlockEntity
      See Also:
      • KineticBlockEntity.propagateRotationTo(KineticBlockEntity, BlockState, BlockState, BlockPos, boolean, boolean)
    • propagateRotationTo

      public float propagateRotationTo(com.simibubi.create.content.kinetics.base.KineticBlockEntity target, net.minecraft.world.level.block.state.BlockState stateFrom, net.minecraft.world.level.block.state.BlockState stateTo, net.minecraft.core.BlockPos diff, boolean connectedViaAxes, boolean connectedViaCogs)
      Overrides:
      propagateRotationTo in class com.simibubi.create.content.kinetics.base.KineticBlockEntity
    • getExtraSealedVolume

      public int getExtraSealedVolume()
    • addToGoggleTooltip

      public boolean addToGoggleTooltip(List<net.minecraft.network.chat.Component> tooltip, boolean isPlayerSneaking)
      Specified by:
      addToGoggleTooltip in interface com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation
      Overrides:
      addToGoggleTooltip in class com.simibubi.create.content.kinetics.base.KineticBlockEntity
    • read

      protected void read(net.minecraft.nbt.CompoundTag compound, net.minecraft.core.HolderLookup.Provider registries, boolean clientPacket)
      Overrides:
      read in class com.simibubi.create.content.kinetics.base.KineticBlockEntity
    • write

      protected void write(net.minecraft.nbt.CompoundTag compound, net.minecraft.core.HolderLookup.Provider registries, boolean clientPacket)
      Overrides:
      write in class com.simibubi.create.content.kinetics.base.KineticBlockEntity
    • updateConnectivity

      protected void updateConnectivity()
    • getController

      public net.minecraft.core.BlockPos getController()
      Specified by:
      getController in interface com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer
    • getControllerBE

      public LargeFanBlockEntity getControllerBE()
      Specified by:
      getControllerBE in interface com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer
    • isController

      public boolean isController()
      Specified by:
      isController in interface com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer
    • setController

      public void setController(net.minecraft.core.BlockPos pos)
      Specified by:
      setController in interface com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer
    • removeController

      public void removeController(boolean keepContents)
      Specified by:
      removeController in interface com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer
    • getLastKnownPos

      public net.minecraft.core.BlockPos getLastKnownPos()
      Specified by:
      getLastKnownPos in interface com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer
    • preventConnectivityUpdate

      public void preventConnectivityUpdate()
      Specified by:
      preventConnectivityUpdate in interface com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer
    • notifyMultiUpdated

      public void notifyMultiUpdated()
      Specified by:
      notifyMultiUpdated in interface com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer
    • getMainConnectionAxis

      public net.minecraft.core.Direction.Axis getMainConnectionAxis()
      Specified by:
      getMainConnectionAxis in interface com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer
    • getMaxLength

      public int getMaxLength(net.minecraft.core.Direction.Axis longAxis, int width)
      Specified by:
      getMaxLength in interface com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer
    • getMaxWidth

      public int getMaxWidth()
      Specified by:
      getMaxWidth in interface com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer
    • getHeight

      public int getHeight()
      Specified by:
      getHeight in interface com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer
    • setHeight

      public void setHeight(int height)
      Specified by:
      setHeight in interface com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer
    • getWidth

      public int getWidth()
      Specified by:
      getWidth in interface com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer
    • setWidth

      public void setWidth(int width)
      Specified by:
      setWidth in interface com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer
    • getAxis

      public net.minecraft.core.Direction.Axis getAxis()
    • getVolumeX

      public int getVolumeX()
    • getVolumeY

      public int getVolumeY()
    • getVolumeZ

      public int getVolumeZ()