Class RedstoneTransmissionBlock

java.lang.Object
net.minecraft.world.level.block.state.BlockBehaviour
net.minecraft.world.level.block.Block
petrolpark.mc.library.core.world.block.multiPart.MultiPartBlock<RedstoneTransmissionPart>
petrolpark.mc.library.compat.create.core.world.block.multiPart.CreateMultiPartBlock<RedstoneTransmissionPart>
petrolpark.mc.library.compat.create.core.world.block.multiPart.MultiPartKineticBlock<RedstoneTransmissionPart>
petrolpark.mc.library.compat.create.core.world.block.multiPart.DirectionalMultiPartKineticBlock<RedstoneTransmissionPart>
petrolpark.mc.library.compat.create.core.world.block.multiPart.WaterloggedDirectionalMultiPartKineticBlock<RedstoneTransmissionPart>
petrolpark.mc.petrolsparts.content.kinetics.redstoneTransmission.RedstoneTransmissionBlock
All Implemented Interfaces:
com.simibubi.create.api.schematic.requirement.SpecialBlockItemRequirement, com.simibubi.create.content.equipment.wrench.IWrenchable, com.simibubi.create.content.kinetics.base.IRotate, com.simibubi.create.foundation.block.IBE<RedstoneTransmissionBlockEntity>, com.simibubi.create.foundation.block.ProperWaterloggedBlock, net.minecraft.world.flag.FeatureElement, net.minecraft.world.level.block.BucketPickup, net.minecraft.world.level.block.EntityBlock, net.minecraft.world.level.block.LiquidBlockContainer, net.minecraft.world.level.block.SimpleWaterloggedBlock, net.minecraft.world.level.ItemLike, net.neoforged.neoforge.common.extensions.IBlockExtension, net.neoforged.neoforge.common.extensions.IBucketPickupExtension, petrolpark.mc.library.compat.create.core.world.block.IReplaceableBlock, IFaceAlignedCogWheelBlock, IStateDependentCogWheelBlock

public class RedstoneTransmissionBlock extends petrolpark.mc.library.compat.create.core.world.block.multiPart.WaterloggedDirectionalMultiPartKineticBlock<RedstoneTransmissionPart> implements com.simibubi.create.foundation.block.IBE<RedstoneTransmissionBlockEntity>, petrolpark.mc.library.compat.create.core.world.block.IReplaceableBlock, IStateDependentCogWheelBlock, IFaceAlignedCogWheelBlock
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    class 
     

    Nested classes/interfaces inherited from class petrolpark.mc.library.compat.create.core.world.block.multiPart.CreateMultiPartBlock

    petrolpark.mc.library.compat.create.core.world.block.multiPart.CreateMultiPartBlock.ICreatePart

    Nested classes/interfaces inherited from class petrolpark.mc.library.core.world.block.multiPart.MultiPartBlock

    petrolpark.mc.library.core.world.block.multiPart.MultiPartBlock.Clipper<PART extends petrolpark.mc.library.core.world.block.multiPart.MultiPartBlock.IPart>, petrolpark.mc.library.core.world.block.multiPart.MultiPartBlock.IPart

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

    net.minecraft.world.level.block.Block.BlockStatePairKey

    Nested classes/interfaces inherited from class net.minecraft.world.level.block.state.BlockBehaviour

    net.minecraft.world.level.block.state.BlockBehaviour.BlockStateBase, net.minecraft.world.level.block.state.BlockBehaviour.OffsetFunction, net.minecraft.world.level.block.state.BlockBehaviour.OffsetType, net.minecraft.world.level.block.state.BlockBehaviour.Properties, net.minecraft.world.level.block.state.BlockBehaviour.StateArgumentPredicate<A>, net.minecraft.world.level.block.state.BlockBehaviour.StatePredicate

    Nested classes/interfaces inherited from interface com.simibubi.create.content.kinetics.base.IRotate

    com.simibubi.create.content.kinetics.base.IRotate.SpeedLevel, com.simibubi.create.content.kinetics.base.IRotate.StressImpact
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final net.minecraft.world.level.block.state.properties.BooleanProperty
     
    static final net.minecraft.world.level.block.state.properties.BooleanProperty
     
    static final net.minecraft.world.level.block.state.properties.BooleanProperty
     
    final int
     
    static final net.minecraft.world.level.block.state.properties.BooleanProperty
     
    static final net.minecraft.world.level.block.state.properties.BooleanProperty
     

    Fields inherited from class petrolpark.mc.library.compat.create.core.world.block.multiPart.DirectionalMultiPartKineticBlock

    FACING

    Fields inherited from class petrolpark.mc.library.core.world.block.multiPart.MultiPartBlock

    clipperCache, shapeCache

    Fields inherited from class net.minecraft.world.level.block.Block

    BLOCK_STATE_REGISTRY, CODEC, INDESTRUCTIBLE, INSTANT, stateDefinition, UPDATE_ALL, UPDATE_ALL_IMMEDIATE, UPDATE_CLIENTS, UPDATE_IMMEDIATE, UPDATE_INVISIBLE, UPDATE_KNOWN_SHAPE, UPDATE_LIMIT, UPDATE_MOVE_BY_PISTON, UPDATE_NEIGHBORS, UPDATE_NONE, UPDATE_SUPPRESS_DROPS

    Fields inherited from class net.minecraft.world.level.block.state.BlockBehaviour

    drops, dynamicShape, explosionResistance, friction, hasCollision, isRandomlyTicking, jumpFactor, properties, requiredFeatures, soundType, speedFactor, UPDATE_SHAPE_ORDER

    Fields inherited from interface net.minecraft.world.flag.FeatureElement

    FILTERED_REGISTRIES

    Fields inherited from interface com.simibubi.create.foundation.block.ProperWaterloggedBlock

    WATERLOGGED
  • Constructor Summary

    Constructors
    Constructor
    Description
    RedstoneTransmissionBlock(net.minecraft.world.level.block.state.BlockBehaviour.Properties properties)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected boolean
    areStatesKineticallyEquivalent(net.minecraft.world.level.block.state.BlockState oldState, net.minecraft.world.level.block.state.BlockState newState)
     
    protected void
    createBlockStateDefinition(net.minecraft.world.level.block.state.StateDefinition.Builder<net.minecraft.world.level.block.Block,net.minecraft.world.level.block.state.BlockState> builder)
     
    protected int
    existingLength(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.core.Direction facing, net.minecraft.core.Direction direction)
     
     
    net.minecraft.world.level.block.entity.BlockEntityType<? extends RedstoneTransmissionBlockEntity>
     
    getCogType(net.minecraft.world.level.block.state.BlockState state)
     
    double
    getDisplacementForCog(int cogIndex)
     
    static final int
     
    getParts(net.minecraft.world.level.block.state.BlockState state)
     
    net.minecraft.world.level.block.state.BlockState
    getReplacedState(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState existingState, net.minecraft.world.level.block.state.BlockState newState, net.minecraft.world.entity.player.Player player)
     
    net.minecraft.core.Direction.Axis
    getRotationAxis(net.minecraft.world.level.block.state.BlockState state)
     
    net.minecraft.world.level.block.state.BlockState
    getStateForPlacement(net.minecraft.world.item.context.BlockPlaceContext context)
     
    boolean
    hasShaftTowards(net.minecraft.world.level.LevelReader world, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, net.minecraft.core.Direction face)
     
    protected void
    neighborChanged(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.Block neighborBlock, net.minecraft.core.BlockPos neighborPos, boolean movedByPiston)
     
    void
    switchBlockState(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState oldState, net.minecraft.world.level.block.state.BlockState newState)
     
    protected void
    tick(net.minecraft.world.level.block.state.BlockState state, net.minecraft.server.level.ServerLevel level, net.minecraft.core.BlockPos pos, net.minecraft.util.RandomSource random)
     
    void
    update(net.minecraft.world.level.LevelAccessor levelAccessor, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, boolean force)
     
    net.minecraft.world.level.block.state.BlockState
    updateAfterPlaced(net.minecraft.world.level.Level level, net.minecraft.world.level.block.state.BlockState newState, net.minecraft.core.BlockPos pos)
     
    net.minecraft.world.level.block.state.BlockState
    updateAfterWrenched(net.minecraft.world.level.block.state.BlockState newState, net.minecraft.world.item.context.UseOnContext context)
     
    protected net.minecraft.world.level.block.state.BlockState
    updateShape(net.minecraft.world.level.block.state.BlockState state, net.minecraft.core.Direction direction, net.minecraft.world.level.block.state.BlockState neighborState, net.minecraft.world.level.LevelAccessor level, net.minecraft.core.BlockPos pos, net.minecraft.core.BlockPos neighborPos)
     
    protected net.minecraft.world.ItemInteractionResult
    useItemOn(net.minecraft.world.item.ItemStack stack, net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.entity.player.Player player, net.minecraft.world.InteractionHand hand, net.minecraft.world.phys.BlockHitResult hitResult)
     
    net.minecraft.world.level.block.state.BlockState
    withoutPart(net.minecraft.world.level.block.state.BlockState state, RedstoneTransmissionPart part)
     

    Methods inherited from class petrolpark.mc.library.compat.create.core.world.block.multiPart.WaterloggedDirectionalMultiPartKineticBlock

    getFluidState

    Methods inherited from class petrolpark.mc.library.compat.create.core.world.block.multiPart.DirectionalMultiPartKineticBlock

    mirror, rotate

    Methods inherited from class petrolpark.mc.library.compat.create.core.world.block.multiPart.MultiPartKineticBlock

    getParticleInitialRadius, getParticleTargetRadius, onPlace, onRemove, onWrenched, setPlacedBy, updateIndirectNeighbourShapes

    Methods inherited from class petrolpark.mc.library.compat.create.core.world.block.multiPart.CreateMultiPartBlock

    getRequiredItems, onSneakWrenched

    Methods inherited from class petrolpark.mc.library.core.world.block.multiPart.MultiPartBlock

    canSurviveWithout, dropPartResources, getBlockSupportShape, getCloneItemStack, getCollisionShape, getDrops, getFullShape, getPartDrops, getPartDrops, getRenderShape, getShape, getTargetedPart, getVisualShape, onDestroyedByPlayer

    Methods inherited from class net.minecraft.world.level.block.Block

    animateTick, appendHoverText, asBlock, asItem, box, builtInRegistryHolder, byItem, canSupportCenter, canSupportRigidBlock, codec, defaultBlockState, destroy, dropFromExplosion, dropResources, dropResources, dropResources, fallOn, getCloneItemStack, getDescriptionId, getDrops, getDrops, getExplosionResistance, getFriction, getId, getJumpFactor, getName, getShapeForEachState, getSpeedFactor, getStateDefinition, handlePrecipitation, hasDynamicShape, initializeClient, isExceptionForConnection, isFaceFull, isPossibleToRespawnInThis, isShapeFullBlock, playerDestroy, playerWillDestroy, popExperience, popResource, popResourceFromFace, pushEntitiesUp, registerDefaultState, shouldRenderFace, spawnDestroyParticles, stateById, stepOn, toString, tryDropExperience, updateEntityAfterFallOn, updateFromNeighbourShapes, updateOrDestroy, updateOrDestroy, wasExploded, withPropertiesOf

    Methods inherited from class net.minecraft.world.level.block.state.BlockBehaviour

    attack, canBeReplaced, canBeReplaced, canSurvive, defaultDestroyTime, defaultMapColor, entityInside, getAnalogOutputSignal, getDestroyProgress, getDirectSignal, getInteractionShape, getLightBlock, getLootTable, getMaxHorizontalOffset, getMaxVerticalOffset, getMenuProvider, getOcclusionShape, getSeed, getShadeBrightness, getSignal, getSoundType, hasAnalogOutputSignal, isAir, isCollisionShapeFullBlock, isOcclusionShapeFullBlock, isPathfindable, isRandomlyTicking, isSignalSource, onExplosionHit, onProjectileHit, propagatesSkylightDown, properties, propertiesCodec, randomTick, requiredFeatures, simpleCodec, skipRendering, spawnAfterBreak, triggerEvent, useShapeForLightOcclusion, useWithoutItem

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface net.minecraft.world.level.block.EntityBlock

    getListener

    Methods inherited from interface net.minecraft.world.flag.FeatureElement

    isEnabled

    Methods inherited from interface com.simibubi.create.foundation.block.IBE

    getBlockEntity, getBlockEntityOptional, getTicker, newBlockEntity, onBlockEntityUse, onBlockEntityUseItemOn, withBlockEntityDo

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

    addLandingEffects, addRunningEffects, canBeHydrated, canConnectRedstone, canDropFromExplosion, canEntityDestroy, canHarvestBlock, canStickTo, canSustainPlant, collisionExtendsVertically, getAdjacentBlockPathType, getAppearance, getBeaconColorMultiplier, getBedDirection, getBlockPathType, getBubbleColumnDirection, getEnchantPowerBonus, getExpDrop, getExplosionResistance, getFireSpreadSpeed, getFlammability, getFriction, getLightEmission, getMapColor, getPistonPushReaction, getRespawnPosition, getSoundType, getStateAtViewpoint, getToolModifiedState, getWeakChanges, hasDynamicLightEmission, hidesNeighborFace, ignitedByLava, isBed, isBurning, isConduitFrame, isEmpty, isFertile, isFireSource, isFlammable, isLadder, isPortalFrame, isScaffolding, isSlimeBlock, isStickyBlock, makesOpenTrapdoorAboveClimbable, onBlockExploded, onBlockStateChange, onCaughtFire, onDestroyedByPushReaction, onNeighborChange, onTreeGrow, rotate, setBedOccupied, shouldCheckWeakPower, shouldDisplayFluidOverlay, shouldHideAdjacentFluidFace, supportsExternalFaceHiding

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

    getPickupSound

    Methods inherited from interface petrolpark.mc.library.compat.create.core.world.block.IReplaceableBlock

    canBeReplaced

    Methods inherited from interface com.simibubi.create.content.kinetics.base.IRotate

    getMinimumRequiredSpeedLevel, hideStressImpact, showCapacityWithAnnotation

    Methods inherited from interface com.simibubi.create.content.equipment.wrench.IWrenchable

    getRotatedBlockState, onSneakWrenched, onWrenched

    Methods inherited from interface com.simibubi.create.foundation.block.ProperWaterloggedBlock

    fluidState, updateWater, withWater

    Methods inherited from interface net.minecraft.world.level.block.SimpleWaterloggedBlock

    canPlaceLiquid, getPickupSound, pickupBlock, placeLiquid
  • Field Details

    • LOWER_COG

      public static final net.minecraft.world.level.block.state.properties.BooleanProperty LOWER_COG
    • MIDDLE_COG

      public static final net.minecraft.world.level.block.state.properties.BooleanProperty MIDDLE_COG
    • UPPER_COG

      public static final net.minecraft.world.level.block.state.properties.BooleanProperty UPPER_COG
    • UPPER_CONNECTION

      public static final net.minecraft.world.level.block.state.properties.BooleanProperty UPPER_CONNECTION
    • LOWER_CONNECTION

      public static final net.minecraft.world.level.block.state.properties.BooleanProperty LOWER_CONNECTION
    • placementHelperId

      public final int placementHelperId
  • Constructor Details

    • RedstoneTransmissionBlock

      public RedstoneTransmissionBlock(net.minecraft.world.level.block.state.BlockBehaviour.Properties properties)
  • Method Details

    • getMaxTransmissionLength

      public static final int getMaxTransmissionLength()
    • createBlockStateDefinition

      protected void createBlockStateDefinition(net.minecraft.world.level.block.state.StateDefinition.Builder<net.minecraft.world.level.block.Block,net.minecraft.world.level.block.state.BlockState> builder)
      Overrides:
      createBlockStateDefinition in class petrolpark.mc.library.compat.create.core.world.block.multiPart.WaterloggedDirectionalMultiPartKineticBlock<RedstoneTransmissionPart>
    • getParts

      public Collection<RedstoneTransmissionPart> getParts(net.minecraft.world.level.block.state.BlockState state)
      Specified by:
      getParts in class petrolpark.mc.library.core.world.block.multiPart.MultiPartBlock<RedstoneTransmissionPart>
    • withoutPart

      public net.minecraft.world.level.block.state.BlockState withoutPart(net.minecraft.world.level.block.state.BlockState state, RedstoneTransmissionPart part)
      Specified by:
      withoutPart in class petrolpark.mc.library.core.world.block.multiPart.MultiPartBlock<RedstoneTransmissionPart>
    • getStateForPlacement

      public net.minecraft.world.level.block.state.BlockState getStateForPlacement(net.minecraft.world.item.context.BlockPlaceContext context)
      Overrides:
      getStateForPlacement in class petrolpark.mc.library.compat.create.core.world.block.multiPart.WaterloggedDirectionalMultiPartKineticBlock<RedstoneTransmissionPart>
    • update

      public void update(net.minecraft.world.level.LevelAccessor levelAccessor, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, boolean force)
    • tick

      protected void tick(net.minecraft.world.level.block.state.BlockState state, net.minecraft.server.level.ServerLevel level, net.minecraft.core.BlockPos pos, net.minecraft.util.RandomSource random)
      Overrides:
      tick in class net.minecraft.world.level.block.state.BlockBehaviour
    • getDisplacementForCog

      public double getDisplacementForCog(int cogIndex)
    • existingLength

      protected int existingLength(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.core.Direction facing, net.minecraft.core.Direction direction)
      Parameters:
      level -
      pos -
      facing -
      direction -
      Returns:
      length of existing Transmission, or 0 if it is max length already
    • switchBlockState

      public void switchBlockState(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState oldState, net.minecraft.world.level.block.state.BlockState newState)
      Overrides:
      switchBlockState in class petrolpark.mc.library.compat.create.core.world.block.multiPart.MultiPartKineticBlock<RedstoneTransmissionPart>
    • neighborChanged

      protected void neighborChanged(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.Block neighborBlock, net.minecraft.core.BlockPos neighborPos, boolean movedByPiston)
      Overrides:
      neighborChanged in class net.minecraft.world.level.block.state.BlockBehaviour
    • updateShape

      protected net.minecraft.world.level.block.state.BlockState updateShape(net.minecraft.world.level.block.state.BlockState state, net.minecraft.core.Direction direction, net.minecraft.world.level.block.state.BlockState neighborState, net.minecraft.world.level.LevelAccessor level, net.minecraft.core.BlockPos pos, net.minecraft.core.BlockPos neighborPos)
      Overrides:
      updateShape in class petrolpark.mc.library.compat.create.core.world.block.multiPart.WaterloggedDirectionalMultiPartKineticBlock<RedstoneTransmissionPart>
    • getReplacedState

      public net.minecraft.world.level.block.state.BlockState getReplacedState(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState existingState, net.minecraft.world.level.block.state.BlockState newState, net.minecraft.world.entity.player.Player player)
      Specified by:
      getReplacedState in interface petrolpark.mc.library.compat.create.core.world.block.IReplaceableBlock
    • useItemOn

      protected net.minecraft.world.ItemInteractionResult useItemOn(net.minecraft.world.item.ItemStack stack, net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.entity.player.Player player, net.minecraft.world.InteractionHand hand, net.minecraft.world.phys.BlockHitResult hitResult)
      Overrides:
      useItemOn in class net.minecraft.world.level.block.state.BlockBehaviour
    • updateAfterWrenched

      public net.minecraft.world.level.block.state.BlockState updateAfterWrenched(net.minecraft.world.level.block.state.BlockState newState, net.minecraft.world.item.context.UseOnContext context)
      Specified by:
      updateAfterWrenched in interface com.simibubi.create.content.equipment.wrench.IWrenchable
    • updateAfterPlaced

      public net.minecraft.world.level.block.state.BlockState updateAfterPlaced(net.minecraft.world.level.Level level, net.minecraft.world.level.block.state.BlockState newState, net.minecraft.core.BlockPos pos)
    • areStatesKineticallyEquivalent

      protected boolean areStatesKineticallyEquivalent(net.minecraft.world.level.block.state.BlockState oldState, net.minecraft.world.level.block.state.BlockState newState)
      Overrides:
      areStatesKineticallyEquivalent in class petrolpark.mc.library.compat.create.core.world.block.multiPart.DirectionalMultiPartKineticBlock<RedstoneTransmissionPart>
    • getRotationAxis

      public net.minecraft.core.Direction.Axis getRotationAxis(net.minecraft.world.level.block.state.BlockState state)
      Specified by:
      getRotationAxis in interface com.simibubi.create.content.kinetics.base.IRotate
    • hasShaftTowards

      public boolean hasShaftTowards(net.minecraft.world.level.LevelReader world, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, net.minecraft.core.Direction face)
      Specified by:
      hasShaftTowards in interface com.simibubi.create.content.kinetics.base.IRotate
    • getCogType

      public CogType getCogType(net.minecraft.world.level.block.state.BlockState state)
      Specified by:
      getCogType in interface IStateDependentCogWheelBlock
    • getBlockEntityClass

      public Class<RedstoneTransmissionBlockEntity> getBlockEntityClass()
      Specified by:
      getBlockEntityClass in interface com.simibubi.create.foundation.block.IBE<RedstoneTransmissionBlockEntity>
    • getBlockEntityType

      public net.minecraft.world.level.block.entity.BlockEntityType<? extends RedstoneTransmissionBlockEntity> getBlockEntityType()
      Specified by:
      getBlockEntityType in interface com.simibubi.create.foundation.block.IBE<RedstoneTransmissionBlockEntity>