Class BlockSlate
- All Implemented Interfaces:
ICircleComponent,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
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.world.level.block.Block
net.minecraft.world.level.block.Block.BlockStatePairKeyNested 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 extends Object>, net.minecraft.world.level.block.state.BlockBehaviour.StatePredicateNested classes/interfaces inherited from interface at.petrak.hexcasting.api.casting.circles.ICircleComponent
ICircleComponent.ControlFlow -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final net.minecraft.world.phys.shapes.VoxelShapestatic final net.minecraft.world.phys.shapes.VoxelShapestatic final net.minecraft.world.phys.shapes.VoxelShapestatic final net.minecraft.world.phys.shapes.VoxelShapestatic final net.minecraft.world.phys.shapes.VoxelShapestatic final net.minecraft.world.phys.shapes.VoxelShapestatic final net.minecraft.world.level.block.state.properties.EnumProperty<net.minecraft.world.level.block.state.properties.AttachFace>static final net.minecraft.world.level.block.state.properties.DirectionPropertystatic final doublestatic final net.minecraft.world.level.block.state.properties.BooleanPropertyFields inherited from class at.petrak.hexcasting.api.block.circle.BlockCircleComponent
ENERGIZEDFields inherited from class net.minecraft.world.level.block.Block
BLOCK_STATE_REGISTRY, 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_DROPSFields inherited from class net.minecraft.world.level.block.state.BlockBehaviour
drops, dynamicShape, explosionResistance, friction, hasCollision, isRandomlyTicking, jumpFactor, properties, requiredFeatures, soundType, speedFactor, UPDATE_SHAPE_ORDERFields inherited from interface net.minecraft.world.flag.FeatureElement
FILTERED_REGISTRIES -
Constructor Summary
ConstructorsConstructorDescriptionBlockSlate(net.minecraft.world.level.block.state.BlockBehaviour.Properties p_53182_) -
Method Summary
Modifier and TypeMethodDescriptionacceptControlFlow(at.petrak.hexcasting.api.casting.eval.vm.CastingImage imageIn, CircleCastEnv env, net.minecraft.core.Direction enterDir, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState bs, net.minecraft.server.level.ServerLevel world) The heart of the interface! Functionally modify the casting environment.static booleancanAttach(net.minecraft.world.level.LevelReader pReader, net.minecraft.core.BlockPos pPos, net.minecraft.core.Direction pDirection) booleancanEnterFromDirection(net.minecraft.core.Direction enterDir, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState bs, net.minecraft.server.level.ServerLevel world) Can this component get transferred to from a block coming in from that direction, with the given normal?booleancanSurvive(net.minecraft.world.level.block.state.BlockState pState, net.minecraft.world.level.LevelReader pLevel, net.minecraft.core.BlockPos pPos) protected voidcreateBlockStateDefinition(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.item.ItemStackgetCloneItemStack(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.phys.HitResult target, net.minecraft.world.level.BlockGetter level, net.minecraft.core.BlockPos pos, net.minecraft.world.entity.player.Player player) protected static net.minecraft.core.DirectiongetConnectedDirection(net.minecraft.world.level.block.state.BlockState pState) net.minecraft.world.level.material.FluidStategetFluidState(net.minecraft.world.level.block.state.BlockState state) net.minecraft.world.phys.shapes.VoxelShapegetShape(net.minecraft.world.level.block.state.BlockState pState, net.minecraft.world.level.BlockGetter pLevel, net.minecraft.core.BlockPos pPos, net.minecraft.world.phys.shapes.CollisionContext pContext) @Nullable net.minecraft.world.level.block.state.BlockStategetStateForPlacement(net.minecraft.world.item.context.BlockPlaceContext pContext) net.minecraft.world.level.block.state.BlockStatemirror(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.block.Mirror mirror) @Nullable net.minecraft.world.level.block.entity.BlockEntitynewBlockEntity(net.minecraft.core.BlockPos pPos, net.minecraft.world.level.block.state.BlockState pState) net.minecraft.core.DirectionnormalDir(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState bs, net.minecraft.world.level.Level world, int recursionLeft) floatparticleHeight(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState bs, net.minecraft.world.level.Level world) How many blocks in theBlockCircleComponent.normalDir(BlockPos, BlockState, Level)from the center particles should be spawned inEnumSet<net.minecraft.core.Direction>possibleExitDirections(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState bs, net.minecraft.world.level.Level world) This determines the directions the control flow can exit from.booleanpropagatesSkylightDown(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.BlockGetter reader, net.minecraft.core.BlockPos pos) net.minecraft.world.level.block.state.BlockStaterotate(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.block.Rotation rot) net.minecraft.world.level.block.state.BlockStateupdateShape(net.minecraft.world.level.block.state.BlockState pState, net.minecraft.core.Direction pFacing, net.minecraft.world.level.block.state.BlockState pFacingState, net.minecraft.world.level.LevelAccessor pLevel, net.minecraft.core.BlockPos pCurrentPos, net.minecraft.core.BlockPos pFacingPos) Methods inherited from class at.petrak.hexcasting.api.block.circle.BlockCircleComponent
endEnergized, getAnalogOutputSignal, hasAnalogOutputSignal, isEnergized, normalDir, normalDirOfOther, placeStateDirAndSneak, startEnergizedMethods inherited from class net.minecraft.world.level.block.Block
animateTick, appendHoverText, asBlock, asItem, box, builtInRegistryHolder, byItem, canSupportCenter, canSupportRigidBlock, defaultBlockState, destroy, dropFromExplosion, dropResources, dropResources, dropResources, fallOn, getCloneItemStack, getDescriptionId, getDrops, getDrops, getExplosionResistance, getFriction, getId, getJumpFactor, getName, getShapeForEachState, getSoundType, getSpeedFactor, getStateDefinition, handlePrecipitation, hasDynamicShape, isExceptionForConnection, isFaceFull, isPossibleToRespawnInThis, isRandomlyTicking, isShapeFullBlock, playerDestroy, playerWillDestroy, popExperience, popResource, popResourceFromFace, pushEntitiesUp, registerDefaultState, setPlacedBy, shouldRenderFace, spawnDestroyParticles, stateById, stepOn, toString, tryDropExperience, updateEntityAfterFallOn, updateFromNeighbourShapes, updateOrDestroy, updateOrDestroy, wasExploded, withPropertiesOfMethods inherited from class net.minecraft.world.level.block.state.BlockBehaviour
attack, canBeReplaced, canBeReplaced, defaultDestroyTime, defaultMapColor, entityInside, getBlockSupportShape, getCollisionShape, getDestroyProgress, getDirectSignal, getDrops, getInteractionShape, getLightBlock, getLootTable, getMaxHorizontalOffset, getMaxVerticalOffset, getMenuProvider, getOcclusionShape, getRenderShape, getSeed, getShadeBrightness, getSignal, getVisualShape, isCollisionShapeFullBlock, isOcclusionShapeFullBlock, isPathfindable, isSignalSource, neighborChanged, onPlace, onProjectileHit, onRemove, randomTick, requiredFeatures, skipRendering, spawnAfterBreak, tick, triggerEvent, updateIndirectNeighbourShapes, use, useShapeForLightOcclusionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface net.minecraft.world.level.block.EntityBlock
getListener, getTickerMethods inherited from interface net.minecraft.world.flag.FeatureElement
isEnabledMethods inherited from interface at.petrak.hexcasting.api.casting.circles.ICircleComponent
exitPositionFromDirection, fakeThrowMishapMethods inherited from interface net.minecraft.world.level.block.SimpleWaterloggedBlock
canPlaceLiquid, getPickupSound, pickupBlock, placeLiquid
-
Field Details
-
WATERLOGGED
public static final net.minecraft.world.level.block.state.properties.BooleanProperty WATERLOGGED -
FACING
public static final net.minecraft.world.level.block.state.properties.DirectionProperty FACING -
ATTACH_FACE
public static final net.minecraft.world.level.block.state.properties.EnumProperty<net.minecraft.world.level.block.state.properties.AttachFace> ATTACH_FACE -
THICKNESS
public static final double THICKNESS- See Also:
-
AABB_FLOOR
public static final net.minecraft.world.phys.shapes.VoxelShape AABB_FLOOR -
AABB_CEILING
public static final net.minecraft.world.phys.shapes.VoxelShape AABB_CEILING -
AABB_EAST_WALL
public static final net.minecraft.world.phys.shapes.VoxelShape AABB_EAST_WALL -
AABB_WEST_WALL
public static final net.minecraft.world.phys.shapes.VoxelShape AABB_WEST_WALL -
AABB_SOUTH_WALL
public static final net.minecraft.world.phys.shapes.VoxelShape AABB_SOUTH_WALL -
AABB_NORTH_WALL
public static final net.minecraft.world.phys.shapes.VoxelShape AABB_NORTH_WALL
-
-
Constructor Details
-
BlockSlate
public BlockSlate(net.minecraft.world.level.block.state.BlockBehaviour.Properties p_53182_)
-
-
Method Details
-
propagatesSkylightDown
public boolean propagatesSkylightDown(net.minecraft.world.level.block.state.BlockState state, @Nonnull net.minecraft.world.level.BlockGetter reader, @Nonnull net.minecraft.core.BlockPos pos) - Overrides:
propagatesSkylightDownin classnet.minecraft.world.level.block.Block
-
getFluidState
@Nonnull public net.minecraft.world.level.material.FluidState getFluidState(net.minecraft.world.level.block.state.BlockState state) - Overrides:
getFluidStatein classnet.minecraft.world.level.block.state.BlockBehaviour
-
acceptControlFlow
public ICircleComponent.ControlFlow acceptControlFlow(at.petrak.hexcasting.api.casting.eval.vm.CastingImage imageIn, CircleCastEnv env, net.minecraft.core.Direction enterDir, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState bs, net.minecraft.server.level.ServerLevel world) Description copied from interface:ICircleComponentThe heart of the interface! Functionally modify the casting environment.With the new update you can have the side effects happen inline. In fact, you have to have the side effects happen inline.
Also, return a list of directions that the control flow can exit this block in. The circle environment will mishap if not exactly 1 of the returned directions can be accepted from.
- Specified by:
acceptControlFlowin interfaceICircleComponent
-
canEnterFromDirection
public boolean canEnterFromDirection(net.minecraft.core.Direction enterDir, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState bs, net.minecraft.server.level.ServerLevel world) Description copied from interface:ICircleComponentCan this component get transferred to from a block coming in from that direction, with the given normal?- Specified by:
canEnterFromDirectionin interfaceICircleComponent
-
possibleExitDirections
public EnumSet<net.minecraft.core.Direction> possibleExitDirections(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState bs, net.minecraft.world.level.Level world) Description copied from interface:ICircleComponentThis determines the directions the control flow can exit from. It's called at the beginning of execution to see if the circle actually forms a loop.For most blocks, this should be the same as returned from
ICircleComponent.acceptControlFlow(at.petrak.hexcasting.api.casting.eval.vm.CastingImage, at.petrak.hexcasting.api.casting.eval.env.CircleCastEnv, net.minecraft.core.Direction, net.minecraft.core.BlockPos, net.minecraft.world.level.block.state.BlockState, net.minecraft.server.level.ServerLevel)Things like directrices might return otherwise. Whatever is returned when controlling flow must be a subset of this set.- Specified by:
possibleExitDirectionsin interfaceICircleComponent
-
getCloneItemStack
public net.minecraft.world.item.ItemStack getCloneItemStack(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.phys.HitResult target, net.minecraft.world.level.BlockGetter level, net.minecraft.core.BlockPos pos, net.minecraft.world.entity.player.Player player) -
normalDir
public net.minecraft.core.Direction normalDir(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState bs, net.minecraft.world.level.Level world, int recursionLeft) - Specified by:
normalDirin classBlockCircleComponent
-
particleHeight
public float particleHeight(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState bs, net.minecraft.world.level.Level world) Description copied from class:BlockCircleComponentHow many blocks in theBlockCircleComponent.normalDir(BlockPos, BlockState, Level)from the center particles should be spawned in- Specified by:
particleHeightin classBlockCircleComponent
-
newBlockEntity
@Nullable public @Nullable net.minecraft.world.level.block.entity.BlockEntity newBlockEntity(net.minecraft.core.BlockPos pPos, net.minecraft.world.level.block.state.BlockState pState) - Specified by:
newBlockEntityin interfacenet.minecraft.world.level.block.EntityBlock
-
getShape
public net.minecraft.world.phys.shapes.VoxelShape getShape(net.minecraft.world.level.block.state.BlockState pState, net.minecraft.world.level.BlockGetter pLevel, net.minecraft.core.BlockPos pPos, net.minecraft.world.phys.shapes.CollisionContext pContext) - Overrides:
getShapein classnet.minecraft.world.level.block.state.BlockBehaviour
-
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:
createBlockStateDefinitionin classBlockCircleComponent
-
getStateForPlacement
@Nullable public @Nullable net.minecraft.world.level.block.state.BlockState getStateForPlacement(net.minecraft.world.item.context.BlockPlaceContext pContext) - Overrides:
getStateForPlacementin classnet.minecraft.world.level.block.Block
-
canSurvive
public boolean canSurvive(net.minecraft.world.level.block.state.BlockState pState, net.minecraft.world.level.LevelReader pLevel, net.minecraft.core.BlockPos pPos) - Overrides:
canSurvivein classnet.minecraft.world.level.block.state.BlockBehaviour
-
updateShape
public net.minecraft.world.level.block.state.BlockState updateShape(net.minecraft.world.level.block.state.BlockState pState, net.minecraft.core.Direction pFacing, net.minecraft.world.level.block.state.BlockState pFacingState, net.minecraft.world.level.LevelAccessor pLevel, net.minecraft.core.BlockPos pCurrentPos, net.minecraft.core.BlockPos pFacingPos) - Overrides:
updateShapein classnet.minecraft.world.level.block.state.BlockBehaviour
-
canAttach
public static boolean canAttach(net.minecraft.world.level.LevelReader pReader, net.minecraft.core.BlockPos pPos, net.minecraft.core.Direction pDirection) -
getConnectedDirection
protected static net.minecraft.core.Direction getConnectedDirection(net.minecraft.world.level.block.state.BlockState pState) -
rotate
public net.minecraft.world.level.block.state.BlockState rotate(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.block.Rotation rot) - Overrides:
rotatein classnet.minecraft.world.level.block.state.BlockBehaviour
-
mirror
public net.minecraft.world.level.block.state.BlockState mirror(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.block.Mirror mirror) - Overrides:
mirrorin classnet.minecraft.world.level.block.state.BlockBehaviour
-