Class MultiPartKineticBlock<PART extends CreateMultiPartBlock.ICreatePart>

java.lang.Object
net.minecraft.world.level.block.state.BlockBehaviour
net.minecraft.world.level.block.Block
com.petrolpark.core.world.block.multiPart.MultiPartBlock<PART>
com.petrolpark.compat.create.core.block.CreateMultiPartBlock<PART>
com.petrolpark.compat.create.core.block.MultiPartKineticBlock<PART>
All Implemented Interfaces:
com.simibubi.create.api.schematic.requirement.SpecialBlockItemRequirement, com.simibubi.create.content.equipment.wrench.IWrenchable, com.simibubi.create.content.kinetics.base.IRotate, net.minecraft.world.flag.FeatureElement, net.minecraft.world.level.ItemLike, net.neoforged.neoforge.common.extensions.IBlockExtension

public abstract class MultiPartKineticBlock<PART extends CreateMultiPartBlock.ICreatePart> extends CreateMultiPartBlock<PART> implements com.simibubi.create.content.kinetics.base.IRotate
Largely copied from Create source code.
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.petrolpark.compat.create.core.block.CreateMultiPartBlock

    CreateMultiPartBlock.ICreatePart

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

    MultiPartBlock.Clipper<PART extends MultiPartBlock.IPart>, 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 inherited from class com.petrolpark.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
  • Constructor Summary

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

    Modifier and Type
    Method
    Description
    protected abstract boolean
    areStatesKineticallyEquivalent(net.minecraft.world.level.block.state.BlockState oldState, net.minecraft.world.level.block.state.BlockState newState)
     
    float
     
    float
     
    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)
     
    void
    onPlace(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level worldIn, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState oldState, boolean isMoving)
     
    void
    onRemove(net.minecraft.world.level.block.state.BlockState pState, net.minecraft.world.level.Level pLevel, net.minecraft.core.BlockPos pPos, net.minecraft.world.level.block.state.BlockState pNewState, boolean pIsMoving)
     
    void
    setPlacedBy(net.minecraft.world.level.Level worldIn, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.entity.LivingEntity placer, net.minecraft.world.item.ItemStack stack)
     
    void
    updateIndirectNeighbourShapes(net.minecraft.world.level.block.state.BlockState stateIn, net.minecraft.world.level.LevelAccessor worldIn, net.minecraft.core.BlockPos pos, int flags, int count)
     

    Methods inherited from class com.petrolpark.compat.create.core.block.CreateMultiPartBlock

    getRequiredItems, onSneakWrenched

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

    animateTick, appendHoverText, asBlock, asItem, box, builtInRegistryHolder, byItem, canSupportCenter, canSupportRigidBlock, codec, createBlockStateDefinition, defaultBlockState, destroy, dropFromExplosion, dropResources, dropResources, dropResources, fallOn, getCloneItemStack, getDescriptionId, getDrops, getDrops, getExplosionResistance, getFriction, getId, getJumpFactor, getName, getShapeForEachState, getSpeedFactor, getStateDefinition, getStateForPlacement, 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, getFluidState, getInteractionShape, getLightBlock, getLootTable, getMaxHorizontalOffset, getMaxVerticalOffset, getMenuProvider, getOcclusionShape, getSeed, getShadeBrightness, getSignal, getSoundType, hasAnalogOutputSignal, isAir, isCollisionShapeFullBlock, isOcclusionShapeFullBlock, isPathfindable, isRandomlyTicking, isSignalSource, mirror, neighborChanged, onExplosionHit, onProjectileHit, propagatesSkylightDown, properties, propertiesCodec, randomTick, requiredFeatures, rotate, simpleCodec, skipRendering, spawnAfterBreak, tick, triggerEvent, updateShape, useItemOn, 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.flag.FeatureElement

    isEnabled

    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 com.simibubi.create.content.kinetics.base.IRotate

    getMinimumRequiredSpeedLevel, getRotationAxis, hideStressImpact, showCapacityWithAnnotation

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

    getRotatedBlockState, onSneakWrenched, onWrenched, updateAfterWrenched
  • Constructor Details

    • MultiPartKineticBlock

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

    • onPlace

      public void onPlace(@Nonnull net.minecraft.world.level.block.state.BlockState state, @Nonnull net.minecraft.world.level.Level worldIn, @Nonnull net.minecraft.core.BlockPos pos, @Nonnull net.minecraft.world.level.block.state.BlockState oldState, boolean isMoving)
      Overrides:
      onPlace in class net.minecraft.world.level.block.state.BlockBehaviour
    • onRemove

      public void onRemove(@Nonnull net.minecraft.world.level.block.state.BlockState pState, @Nonnull net.minecraft.world.level.Level pLevel, @Nonnull net.minecraft.core.BlockPos pPos, @Nonnull net.minecraft.world.level.block.state.BlockState pNewState, boolean pIsMoving)
      Overrides:
      onRemove in class net.minecraft.world.level.block.state.BlockBehaviour
    • 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
    • areStatesKineticallyEquivalent

      protected abstract boolean areStatesKineticallyEquivalent(net.minecraft.world.level.block.state.BlockState oldState, net.minecraft.world.level.block.state.BlockState newState)
    • updateIndirectNeighbourShapes

      public void updateIndirectNeighbourShapes(@Nonnull net.minecraft.world.level.block.state.BlockState stateIn, @Nonnull net.minecraft.world.level.LevelAccessor worldIn, @Nonnull net.minecraft.core.BlockPos pos, int flags, int count)
      Overrides:
      updateIndirectNeighbourShapes in class net.minecraft.world.level.block.state.BlockBehaviour
    • setPlacedBy

      public void setPlacedBy(@Nonnull net.minecraft.world.level.Level worldIn, @Nonnull net.minecraft.core.BlockPos pos, @Nonnull net.minecraft.world.level.block.state.BlockState state, @Nullable net.minecraft.world.entity.LivingEntity placer, @Nonnull net.minecraft.world.item.ItemStack stack)
      Overrides:
      setPlacedBy in class net.minecraft.world.level.block.Block
    • getParticleTargetRadius

      public float getParticleTargetRadius()
    • getParticleInitialRadius

      public float getParticleInitialRadius()