Class PneumaticTubeBlockEntity

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.petrolpark.petrolsparts.content.pneumatic_tube.PneumaticTubeBlockEntity
All Implemented Interfaces:
com.petrolpark.compat.create.core.tube.ITubeBlockEntity, 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.utility.IInteractionChecker, net.createmod.ponder.api.VirtualBlockEntity, net.neoforged.neoforge.attachment.IAttachmentHolder, net.neoforged.neoforge.common.extensions.IBlockEntityExtension

public class PneumaticTubeBlockEntity extends com.simibubi.create.content.kinetics.base.KineticBlockEntity implements com.petrolpark.compat.create.core.tube.ITubeBlockEntity
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    class 
     
    class 
     
    protected class 
     

    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
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     
    protected com.simibubi.create.content.kinetics.belt.behaviour.DirectBeltInputBehaviour
     
    static final int
     
    protected com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour
     
    protected Optional<com.mojang.datafixers.util.Either<PneumaticTubeBlockEntity.Input,PneumaticTubeBlockEntity.Output>>
     
    protected com.simibubi.create.foundation.blockEntity.behaviour.inventory.VersionedInventoryTrackerBehaviour
     
    protected final com.petrolpark.core.item.QueueItemHandler
     
    protected boolean
    Set to true to notify the client if the Tube has been disconnected, so the handler can be removed.
    protected com.simibubi.create.foundation.blockEntity.behaviour.inventory.InvManipulationBehaviour
     
    com.petrolpark.compat.create.core.tube.TubeBehaviour
     
    protected boolean
     

    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
    PneumaticTubeBlockEntity(net.minecraft.world.level.block.entity.BlockEntityType<?> typeIn, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addBehaviours(List<com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour> behaviours)
     
    boolean
    addToTooltip(List<net.minecraft.network.chat.Component> tooltip, boolean isPlayerSneaking)
     
    void
     
     
     
    void
     
    protected net.minecraft.world.phys.AABB
     
    net.minecraft.world.InteractionResult
    flip(net.minecraft.world.entity.player.Player player)
    Attempt to flip the input and output ends.
    protected float
     
     
     
    com.petrolpark.core.item.QueueItemHandler
     
    protected int
     
     
    protected Optional<com.mojang.datafixers.util.Either<PneumaticTubeBlockEntity.Input,PneumaticTubeBlockEntity.Output>>
     
     
    input(com.mojang.datafixers.util.Either<PneumaticTubeBlockEntity.Input,PneumaticTubeBlockEntity.Output> handler)
     
    void
     
    boolean
     
    boolean
     
    void
    onFilterChanged(net.minecraft.world.item.ItemStack filterStack)
     
    void
    onSpeedChanged(float previousSpeed)
     
    output(com.mojang.datafixers.util.Either<PneumaticTubeBlockEntity.Input,PneumaticTubeBlockEntity.Output> handler)
     
    protected void
    read(net.minecraft.nbt.CompoundTag compound, net.minecraft.core.HolderLookup.Provider registries, boolean clientPacket)
     
     
    void
     
    Set this end as the Input (if it is not already).
    boolean
     
    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

    addPropagationLocations, addStressImpactStats, addToGoggleTooltip, 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, propagateRotationTo, 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, destroy, 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
  • Field Details

    • DISTANCE_PER_BLOCK

      public static final int DISTANCE_PER_BLOCK
      See Also:
    • tube

      public com.petrolpark.compat.create.core.tube.TubeBehaviour tube
    • handler

      protected Optional<com.mojang.datafixers.util.Either<PneumaticTubeBlockEntity.Input,PneumaticTubeBlockEntity.Output>> handler
    • filtering

      protected com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour filtering
    • targetInventory

      protected com.simibubi.create.foundation.blockEntity.behaviour.inventory.InvManipulationBehaviour targetInventory
    • invVersionTracker

      protected com.simibubi.create.foundation.blockEntity.behaviour.inventory.VersionedInventoryTrackerBehaviour invVersionTracker
    • beltInput

      protected com.simibubi.create.content.kinetics.belt.behaviour.DirectBeltInputBehaviour beltInput
    • itemBacklog

      protected final com.petrolpark.core.item.QueueItemHandler itemBacklog
    • advancements

      protected PetrolsPartsAdvancementBehaviour advancements
    • removeHandlerClient

      protected boolean removeHandlerClient
      Set to true to notify the client if the Tube has been disconnected, so the handler can be removed.
    • updateFromSpeedClient

      protected boolean updateFromSpeedClient
  • Constructor Details

    • PneumaticTubeBlockEntity

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

    • addBehaviours

      public void addBehaviours(List<com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour> behaviours)
      Overrides:
      addBehaviours in class com.simibubi.create.content.kinetics.base.KineticBlockEntity
    • getHandler

      public Optional<com.mojang.datafixers.util.Either<PneumaticTubeBlockEntity.Input,PneumaticTubeBlockEntity.Output>> getHandler()
    • removeHandler

      public PneumaticTubeBlockEntity removeHandler()
    • getOther

      protected Optional<PneumaticTubeBlockEntity> getOther()
    • getOtherHandler

      protected Optional<com.mojang.datafixers.util.Either<PneumaticTubeBlockEntity.Input,PneumaticTubeBlockEntity.Output>> getOtherHandler()
    • asInput

    • asOutput

    • isInput

      public boolean isInput()
    • setAsInput

      protected Optional<PneumaticTubeBlockEntity.Input> setAsInput()
      Set this end as the Input (if it is not already). The other is lazily set as the Output.
    • isOutput

      public boolean isOutput()
    • getInput

    • getOutput

      protected Optional<PneumaticTubeBlockEntity.Output> getOutput()
    • getItemBacklog

      public com.petrolpark.core.item.QueueItemHandler getItemBacklog()
    • getCombinedAbsSpeed

      protected float getCombinedAbsSpeed()
    • onFilterChanged

      public void onFilterChanged(net.minecraft.world.item.ItemStack filterStack)
    • supportsAmountOnFilter

      public boolean supportsAmountOnFilter()
    • resetInvVersionTracker

      public void resetInvVersionTracker()
    • getItemTransportDistance

      protected int getItemTransportDistance()
    • tick

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

      public void afterTubeConnect()
      Specified by:
      afterTubeConnect in interface com.petrolpark.compat.create.core.tube.ITubeBlockEntity
    • beforeTubeDisconnect

      public void beforeTubeDisconnect()
      Specified by:
      beforeTubeDisconnect in interface com.petrolpark.compat.create.core.tube.ITubeBlockEntity
    • flip

      public net.minecraft.world.InteractionResult flip(@Nullable net.minecraft.world.entity.player.Player player)
      Attempt to flip the input and output ends.
      Parameters:
      player -
    • addToTooltip

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

      public void onSpeedChanged(float previousSpeed)
      Overrides:
      onSpeedChanged 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
    • invalidateTubeRenderBoundingBox

      public void invalidateTubeRenderBoundingBox()
      Specified by:
      invalidateTubeRenderBoundingBox in interface com.petrolpark.compat.create.core.tube.ITubeBlockEntity
    • createRenderBoundingBox

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

      public static Optional<PneumaticTubeBlockEntity.Input> input(com.mojang.datafixers.util.Either<PneumaticTubeBlockEntity.Input,PneumaticTubeBlockEntity.Output> handler)
    • output

      public static Optional<PneumaticTubeBlockEntity.Output> output(com.mojang.datafixers.util.Either<PneumaticTubeBlockEntity.Input,PneumaticTubeBlockEntity.Output> handler)