Class SeparateShaftHalvesAssemblageBlock

java.lang.Object
net.minecraft.world.level.block.state.BlockBehaviour
net.minecraft.world.level.block.Block
petrolpark.mc.library.core.world.block.multiPart.MultiPartBlock<AssemblagePart>
petrolpark.mc.library.compat.create.core.world.block.CreateMultiPartBlock<AssemblagePart>
petrolpark.mc.library.compat.create.core.world.block.composite.MultiPartCompositeKineticBlock<AssemblagePart>
petrolpark.mc.petrolsparts.content.kinetics.assemblage.AssemblageBlock
petrolpark.mc.petrolsparts.content.kinetics.assemblage.SeparateShaftHalvesAssemblageBlock
All Implemented Interfaces:
com.simibubi.create.api.contraption.transformable.TransformableBlock, com.simibubi.create.api.schematic.requirement.SpecialBlockItemRequirement, com.simibubi.create.content.decoration.encasing.EncasableBlock, com.simibubi.create.content.equipment.wrench.IWrenchable, com.simibubi.create.content.kinetics.base.IRotate, com.simibubi.create.foundation.block.IBE<AssemblageBlockEntity>, 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.composite.ICompositeKineticBlock, petrolpark.mc.library.compat.create.core.world.block.IReplaceableBlock, IAssemblageBlock, IFaceAlignedCogWheelBlock, IStateDependentCogWheelBlock

public non-sealed class SeparateShaftHalvesAssemblageBlock extends AssemblageBlock
  • Nested Class Summary

    Nested Classes

    Nested classes/interfaces inherited from class petrolpark.mc.petrolsparts.content.kinetics.assemblage.AssemblageBlock

    AssemblageBlock.Factory<B extends AssemblageBlock>

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

    petrolpark.mc.library.compat.create.core.world.block.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
    final int[]
     

    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 petrolpark.mc.petrolsparts.content.kinetics.assemblage.IAssemblageBlock

    AXIS, BOTTOM_COG, BOTTOM_SHAFT_HALF, COG_PROPERTIES, MIDDLE_COG, SHAFT_HALF_PROPERTIES, TOP_COG, TOP_SHAFT_HALF

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

    WATERLOGGED
  • Constructor Summary

    Constructors
    Constructor
    Description
    SeparateShaftHalvesAssemblageBlock(Supplier<AssemblageSet> set, net.minecraft.world.level.block.state.BlockBehaviour.Properties properties)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    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)
     
    getParts(net.minecraft.world.level.block.state.BlockState state)
     
    boolean
    hasBottomShaft(net.minecraft.world.level.block.state.BlockState state)
     
    boolean
    hasTopShaft(net.minecraft.world.level.block.state.BlockState state)
     
    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, AssemblagePart part)
     

    Methods inherited from class petrolpark.mc.library.compat.create.core.world.block.composite.MultiPartCompositeKineticBlock

    onRemove, setPlacedBy, updateIndirectNeighbourShapes

    Methods inherited from class petrolpark.mc.library.compat.create.core.world.block.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, 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, 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, neighborChanged, onExplosionHit, onProjectileHit, propagatesSkylightDown, properties, propertiesCodec, randomTick, requiredFeatures, simpleCodec, skipRendering, spawnAfterBreak, tick, triggerEvent, useShapeForLightOcclusion, useWithoutItem

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface com.simibubi.create.content.decoration.encasing.EncasableBlock

    playEncaseSound, tryEncase

    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 petrolpark.mc.petrolsparts.content.kinetics.assemblage.IAssemblageBlock

    getCogType, getRotatedBlockState, transform

    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.composite.ICompositeKineticBlock

    setPlacedBy, updateIndirectNeighbourShapes

    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

    onSneakWrenched, onWrenched, updateAfterWrenched

    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

    • shaftAndCogWheelsPlacementHelperIds

      public final int[] shaftAndCogWheelsPlacementHelperIds
  • Constructor Details

    • SeparateShaftHalvesAssemblageBlock

      public SeparateShaftHalvesAssemblageBlock(Supplier<AssemblageSet> set, net.minecraft.world.level.block.state.BlockBehaviour.Properties properties)
  • Method Details

    • 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 AssemblageBlock
    • getParts

      public List<AssemblagePart> getParts(net.minecraft.world.level.block.state.BlockState state)
      Overrides:
      getParts in class AssemblageBlock
    • withoutPart

      public net.minecraft.world.level.block.state.BlockState withoutPart(net.minecraft.world.level.block.state.BlockState state, AssemblagePart part)
      Overrides:
      withoutPart in class AssemblageBlock
    • hasTopShaft

      public boolean hasTopShaft(net.minecraft.world.level.block.state.BlockState state)
    • hasBottomShaft

      public boolean hasBottomShaft(net.minecraft.world.level.block.state.BlockState state)
    • 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 AssemblageBlock