java.lang.Object
net.minecraft.world.level.block.state.BlockBehaviour
net.minecraft.world.level.block.Block
com.simibubi.create.content.kinetics.base.KineticBlock
com.simibubi.create.content.kinetics.base.RotatedPillarKineticBlock
com.simibubi.create.content.kinetics.simpleRelays.AbstractShaftBlock
com.simibubi.create.content.kinetics.simpleRelays.AbstractSimpleShaftBlock
com.simibubi.create.content.kinetics.simpleRelays.CogWheelBlock
com.petrolpark.petrolsparts.content.kinetics.differential.DifferentialBlock
All Implemented Interfaces:
com.simibubi.create.content.decoration.encasing.EncasableBlock, com.simibubi.create.content.equipment.wrench.IWrenchable, com.simibubi.create.content.equipment.wrench.IWrenchableWithBracket, com.simibubi.create.content.kinetics.base.IRotate, com.simibubi.create.content.kinetics.simpleRelays.ICogWheel, com.simibubi.create.foundation.block.IBE<com.simibubi.create.content.kinetics.base.KineticBlockEntity>, 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

public class DifferentialBlock extends com.simibubi.create.content.kinetics.simpleRelays.CogWheelBlock
  • Nested Class Summary

    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
     

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

    AXIS

    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
    DifferentialBlock(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)
     
    net.minecraft.world.level.block.entity.BlockEntityType<? extends com.simibubi.create.content.kinetics.base.KineticBlockEntity>
     
    net.minecraft.core.Direction.Axis
    getRotationAxis(net.minecraft.world.level.block.state.BlockState state)
     
    net.minecraft.world.phys.shapes.VoxelShape
    getShape(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.BlockGetter worldIn, net.minecraft.core.BlockPos pos, net.minecraft.world.phys.shapes.CollisionContext context)
     
    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)
     
    boolean
     
    boolean
     
    void
    onNeighborChange(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.LevelReader level, net.minecraft.core.BlockPos pos, net.minecraft.core.BlockPos neighbor)
     
    void
    onPlace(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState oldState, boolean isMoving)
     
    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
    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)
     

    Methods inherited from class com.simibubi.create.content.kinetics.simpleRelays.CogWheelBlock

    canSurvive, getAxisForPlacement, getParticleInitialRadius, getParticleTargetRadius, isSmallCog, isValidCogwheelPosition, large, small, triggerShiftingGearsAdvancement, useItemOn

    Methods inherited from class com.simibubi.create.content.kinetics.simpleRelays.AbstractSimpleShaftBlock

    getPistonPushReaction, onRemove, onWrenched, removeBracket

    Methods inherited from class com.simibubi.create.content.kinetics.simpleRelays.AbstractShaftBlock

    getBlockEntityClass, getFluidState, isPathfindable, updateShape

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

    getPreferredAxis, rotate

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

    areStatesKineticallyEquivalent, updateIndirectNeighbourShapes

    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, defaultDestroyTime, defaultMapColor, entityInside, getAnalogOutputSignal, getBlockSupportShape, getCollisionShape, getDestroyProgress, getDirectSignal, getDrops, getInteractionShape, getLightBlock, getLootTable, getMaxHorizontalOffset, getMaxVerticalOffset, getMenuProvider, getOcclusionShape, getRenderShape, getSeed, getShadeBrightness, getSignal, getSoundType, getVisualShape, hasAnalogOutputSignal, isAir, isCollisionShapeFullBlock, isOcclusionShapeFullBlock, isRandomlyTicking, isSignalSource, mirror, neighborChanged, 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 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 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, getCloneItemStack, getEnchantPowerBonus, getExpDrop, getExplosionResistance, getFireSpreadSpeed, getFlammability, getFriction, getLightEmission, getMapColor, getRespawnPosition, getSoundType, getStateAtViewpoint, getToolModifiedState, getWeakChanges, hasDynamicLightEmission, hidesNeighborFace, isBed, isBurning, isConduitFrame, isEmpty, isFertile, isFireSource, isFlammable, isLadder, isPortalFrame, isScaffolding, isSlimeBlock, isStickyBlock, makesOpenTrapdoorAboveClimbable, onBlockExploded, onBlockStateChange, onCaughtFire, onDestroyedByPlayer, onDestroyedByPushReaction, onTreeGrow, rotate, setBedOccupied, shouldCheckWeakPower, shouldDisplayFluidOverlay, shouldHideAdjacentFluidFace, supportsExternalFaceHiding

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

    getPickupSound

    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, updateAfterWrenched

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

    tryRemoveBracket

    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

    • FULL_MODEL

      public static final net.minecraft.world.level.block.state.properties.BooleanProperty FULL_MODEL
  • Constructor Details

    • DifferentialBlock

      public DifferentialBlock(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 com.simibubi.create.content.kinetics.simpleRelays.AbstractShaftBlock
    • getStateForPlacement

      public net.minecraft.world.level.block.state.BlockState getStateForPlacement(net.minecraft.world.item.context.BlockPlaceContext context)
      Overrides:
      getStateForPlacement in class com.simibubi.create.content.kinetics.simpleRelays.CogWheelBlock
    • onPlace

      public void onPlace(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState oldState, boolean isMoving)
      Overrides:
      onPlace in class com.simibubi.create.content.kinetics.base.KineticBlock
    • setPlacedBy

      public 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)
      Overrides:
      setPlacedBy in class com.simibubi.create.content.kinetics.simpleRelays.CogWheelBlock
    • getShape

      public net.minecraft.world.phys.shapes.VoxelShape getShape(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.BlockGetter worldIn, net.minecraft.core.BlockPos pos, net.minecraft.world.phys.shapes.CollisionContext context)
      Overrides:
      getShape in class com.simibubi.create.content.kinetics.simpleRelays.CogWheelBlock
    • onNeighborChange

      public void onNeighborChange(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.LevelReader level, net.minecraft.core.BlockPos pos, net.minecraft.core.BlockPos neighbor)
    • tick

      public 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
    • 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
      Overrides:
      hasShaftTowards in class com.simibubi.create.content.kinetics.simpleRelays.AbstractShaftBlock
    • isLargeCog

      public boolean isLargeCog()
      Specified by:
      isLargeCog in interface com.simibubi.create.content.kinetics.simpleRelays.ICogWheel
      Overrides:
      isLargeCog in class com.simibubi.create.content.kinetics.simpleRelays.CogWheelBlock
    • isDedicatedCogWheel

      public boolean isDedicatedCogWheel()
      Specified by:
      isDedicatedCogWheel in interface com.simibubi.create.content.kinetics.simpleRelays.ICogWheel
      Overrides:
      isDedicatedCogWheel in class com.simibubi.create.content.kinetics.simpleRelays.CogWheelBlock
    • getBlockEntityType

      public net.minecraft.world.level.block.entity.BlockEntityType<? extends com.simibubi.create.content.kinetics.base.KineticBlockEntity> getBlockEntityType()
      Specified by:
      getBlockEntityType in interface com.simibubi.create.foundation.block.IBE<com.simibubi.create.content.kinetics.base.KineticBlockEntity>
      Overrides:
      getBlockEntityType in class com.simibubi.create.content.kinetics.simpleRelays.AbstractSimpleShaftBlock
    • 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
      Overrides:
      getRotationAxis in class com.simibubi.create.content.kinetics.simpleRelays.AbstractShaftBlock