Class RedstoneWireBlock
- All Implemented Interfaces:
ItemConvertible
- Mappings:
Namespace Name official cpl
intermediary net/minecraft/class_2457
named net/minecraft/block/RedstoneWireBlock
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.block.Block
Block.NeighborGroup
Nested classes/interfaces inherited from class net.minecraft.block.AbstractBlock
AbstractBlock.AbstractBlockState, AbstractBlock.ContextPredicate, AbstractBlock.OffsetType, AbstractBlock.Settings, AbstractBlock.TypedContextPredicate<A>
-
Field Summary
Modifier and TypeFieldDescriptionprivate static final Vec3d[]
static final Map<Direction,
EnumProperty<WireConnection>> private static final VoxelShape
private final BlockState
private static final Map<Direction,
VoxelShape> private static final Map<Direction,
VoxelShape> private static final float
protected static final int
protected static final int
protected static final int
protected static final int
protected static final int
static final IntProperty
private static final Map<BlockState,
VoxelShape> static final EnumProperty<WireConnection>
static final EnumProperty<WireConnection>
static final EnumProperty<WireConnection>
static final EnumProperty<WireConnection>
private boolean
Fields inherited from class net.minecraft.block.Block
field_31022, field_31023, field_31024, field_31025, field_31035, FORCE_STATE, MOVED, NO_REDRAW, NOTIFY_ALL, NOTIFY_LISTENERS, NOTIFY_NEIGHBORS, REDRAW_ON_MAIN_THREAD, SKIP_DROPS, SKIP_LIGHTING_UPDATES, STATE_IDS, stateManager
Fields inherited from class net.minecraft.block.AbstractBlock
collidable, DIRECTIONS, dynamicBounds, jumpVelocityMultiplier, lootTableId, material, randomTicks, resistance, settings, slipperiness, soundGroup, velocityMultiplier
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprivate void
addPoweredParticles
(World world, Random random, BlockPos pos, Vec3d color, Direction direction, Direction direction2, float float2, float float3) protected void
appendProperties
(StateManager.Builder<Block, BlockState> builder) Appends block state properties to this block.boolean
canPlaceAt
(BlockState state, WorldView world, BlockPos pos) Returns whether the block can be placed atpos
.private boolean
canRunOnTop
(BlockView world, BlockPos pos, BlockState floor) protected static boolean
connectsTo
(BlockState state) protected static boolean
connectsTo
(BlockState state, @Nullable Direction dir) boolean
emitsRedstonePower
(BlockState state) Returns whether the block is capable of emitting redstone power.private BlockState
getDefaultWireState
(BlockView world, BlockState state, BlockPos pos) getOutlineShape
(BlockState state, BlockView world, BlockPos pos, ShapeContext context) private BlockState
getPlacementState
(BlockView world, BlockState state, BlockPos pos) private int
getReceivedRedstonePower
(World world, BlockPos pos) private WireConnection
getRenderConnectionType
(BlockView world, BlockPos pos, Direction direction) private WireConnection
getRenderConnectionType
(BlockView world, BlockPos pos, Direction direction, boolean bool) private VoxelShape
getShapeForState
(BlockState state) getStateForNeighborUpdate
(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos) Returns the state of the block after a neighboring block's state change.int
getStrongRedstonePower
(BlockState state, BlockView world, BlockPos pos, Direction direction) Returns the strong redstone power emitted from the block.int
getWeakRedstonePower
(BlockState state, BlockView world, BlockPos pos, Direction direction) Returns the weak redstone power emitted from the block.static int
getWireColor
(int powerLevel) private int
increasePower
(BlockState state) private static boolean
isFullyConnected
(BlockState state) private static boolean
isNotConnected
(BlockState state) mirror
(BlockState state, BlockMirror mirror) Returnsstate
mirrored bymirror
.void
neighborUpdate
(BlockState state, World world, BlockPos pos, Block sourceBlock, BlockPos sourcePos, boolean notify) Called when a neighboring block is updated.void
onBlockAdded
(BlockState state, World world, BlockPos pos, BlockState oldState, boolean notify) Called server-side on the new block when the block state is changed.void
onStateReplaced
(BlockState state, World world, BlockPos pos, BlockState newState, boolean moved) Called server-side on the old block when the block state is changed.onUse
(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) Called when this block is used by a player.void
prepare
(BlockState state, WorldAccess world, BlockPos pos, int flags, int maxUpdateDepth) Called when the block state changes, before the {#linkplain #getStateForNeighborUpdate neighbor-triggered state update} on the original block, and after the neighbor-triggered state update on the replaced block.void
randomDisplayTick
(BlockState state, World world, BlockPos pos, Random random) Called randomly on the client.rotate
(BlockState state, BlockRotation rotation) Returnsstate
rotated byrotation
.private void
update
(World world, BlockPos pos, BlockState state) private void
updateForNewState
(World world, BlockPos pos, BlockState oldState, BlockState newState) private void
updateNeighbors
(World world, BlockPos pos) private void
updateOffsetNeighbors
(World world, BlockPos pos) Methods inherited from class net.minecraft.block.Block
afterBreak, appendStacks, appendTooltip, asBlock, asItem, canMobSpawnInside, cannotConnect, createCuboidShape, dropExperience, dropExperienceWhenMined, dropStack, dropStack, dropStacks, dropStacks, dropStacks, dropStacks, getBlastResistance, getBlockFromItem, getDefaultState, getDroppedStacks, getDroppedStacks, getJumpVelocityMultiplier, getName, getPickStack, getRawIdFromState, getRegistryEntry, getShapesForStates, getSlipperiness, getSoundGroup, getStateFromRawId, getStateManager, getStateWithProperties, getTranslationKey, getVelocityMultiplier, hasDynamicBounds, hasRandomTicks, hasTopRim, isFaceFullSquare, isShapeFullCube, isTranslucent, onBreak, onBroken, onDestroyedByExplosion, onEntityLand, onLandedUpon, onPlaced, onSteppedOn, postProcessState, precipitationTick, pushEntitiesUpBeforeBlockChange, replace, replace, setDefaultState, shouldDrawSide, shouldDropItemsOnExplosion, sideCoversSmallSquare, spawnBreakParticles, toString
Methods inherited from class net.minecraft.block.AbstractBlock
calcBlockBreakingDelta, canBucketPlace, canPathfindThrough, canReplace, createScreenHandlerFactory, getAmbientOcclusionLightLevel, getCameraCollisionShape, getCollisionShape, getComparatorOutput, getCullingShape, getDefaultMapColor, getDroppedStacks, getFluidState, getHardness, getLootTableId, getMaxHorizontalModelOffset, getOpacity, getPistonBehavior, getRaycastShape, getRenderingSeed, getRenderType, getSidesShape, getVerticalModelOffsetMultiplier, hasComparatorOutput, hasSidedTransparency, isCullingShapeFullCube, isShapeFullCube, isSideInvisible, onBlockBreakStart, onEntityCollision, onProjectileHit, onStacksDropped, onSyncedBlockEvent, randomTick, scheduledTick
-
Field Details
-
WIRE_CONNECTION_NORTH
- Mappings:
Namespace Name Mixin selector official a
Lcpl;a:Lcwm;
intermediary field_11440
Lnet/minecraft/class_2457;field_11440:Lnet/minecraft/class_2754;
named WIRE_CONNECTION_NORTH
Lnet/minecraft/block/RedstoneWireBlock;WIRE_CONNECTION_NORTH:Lnet/minecraft/state/property/EnumProperty;
-
WIRE_CONNECTION_EAST
- Mappings:
Namespace Name Mixin selector official b
Lcpl;b:Lcwm;
intermediary field_11436
Lnet/minecraft/class_2457;field_11436:Lnet/minecraft/class_2754;
named WIRE_CONNECTION_EAST
Lnet/minecraft/block/RedstoneWireBlock;WIRE_CONNECTION_EAST:Lnet/minecraft/state/property/EnumProperty;
-
WIRE_CONNECTION_SOUTH
- Mappings:
Namespace Name Mixin selector official c
Lcpl;c:Lcwm;
intermediary field_11437
Lnet/minecraft/class_2457;field_11437:Lnet/minecraft/class_2754;
named WIRE_CONNECTION_SOUTH
Lnet/minecraft/block/RedstoneWireBlock;WIRE_CONNECTION_SOUTH:Lnet/minecraft/state/property/EnumProperty;
-
WIRE_CONNECTION_WEST
- Mappings:
Namespace Name Mixin selector official d
Lcpl;d:Lcwm;
intermediary field_11439
Lnet/minecraft/class_2457;field_11439:Lnet/minecraft/class_2754;
named WIRE_CONNECTION_WEST
Lnet/minecraft/block/RedstoneWireBlock;WIRE_CONNECTION_WEST:Lnet/minecraft/state/property/EnumProperty;
-
POWER
- Mappings:
Namespace Name Mixin selector official e
Lcpl;e:Lcwo;
intermediary field_11432
Lnet/minecraft/class_2457;field_11432:Lnet/minecraft/class_2758;
named POWER
Lnet/minecraft/block/RedstoneWireBlock;POWER:Lnet/minecraft/state/property/IntProperty;
-
DIRECTION_TO_WIRE_CONNECTION_PROPERTY
public static final Map<Direction,EnumProperty<WireConnection>> DIRECTION_TO_WIRE_CONNECTION_PROPERTY- Mappings:
Namespace Name Mixin selector official f
Lcpl;f:Ljava/util/Map;
intermediary field_11435
Lnet/minecraft/class_2457;field_11435:Ljava/util/Map;
named DIRECTION_TO_WIRE_CONNECTION_PROPERTY
Lnet/minecraft/block/RedstoneWireBlock;DIRECTION_TO_WIRE_CONNECTION_PROPERTY:Ljava/util/Map;
-
field_31222
protected static final int field_31222- See Also:
- Mappings:
Namespace Name Mixin selector official g
Lcpl;g:I
intermediary field_31222
Lnet/minecraft/class_2457;field_31222:I
named field_31222
Lnet/minecraft/block/RedstoneWireBlock;field_31222:I
-
field_31223
protected static final int field_31223- See Also:
- Mappings:
Namespace Name Mixin selector official h
Lcpl;h:I
intermediary field_31223
Lnet/minecraft/class_2457;field_31223:I
named field_31223
Lnet/minecraft/block/RedstoneWireBlock;field_31223:I
-
field_31224
protected static final int field_31224- See Also:
- Mappings:
Namespace Name Mixin selector official i
Lcpl;i:I
intermediary field_31224
Lnet/minecraft/class_2457;field_31224:I
named field_31224
Lnet/minecraft/block/RedstoneWireBlock;field_31224:I
-
field_31225
protected static final int field_31225- See Also:
- Mappings:
Namespace Name Mixin selector official j
Lcpl;j:I
intermediary field_31225
Lnet/minecraft/class_2457;field_31225:I
named field_31225
Lnet/minecraft/block/RedstoneWireBlock;field_31225:I
-
field_31226
protected static final int field_31226- See Also:
- Mappings:
Namespace Name Mixin selector official k
Lcpl;k:I
intermediary field_31226
Lnet/minecraft/class_2457;field_31226:I
named field_31226
Lnet/minecraft/block/RedstoneWireBlock;field_31226:I
-
DOT_SHAPE
- Mappings:
Namespace Name Mixin selector official l
Lcpl;l:Ldxj;
intermediary field_24413
Lnet/minecraft/class_2457;field_24413:Lnet/minecraft/class_265;
named DOT_SHAPE
Lnet/minecraft/block/RedstoneWireBlock;DOT_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
-
field_24414
- Mappings:
Namespace Name Mixin selector official m
Lcpl;m:Ljava/util/Map;
intermediary field_24414
Lnet/minecraft/class_2457;field_24414:Ljava/util/Map;
named field_24414
Lnet/minecraft/block/RedstoneWireBlock;field_24414:Ljava/util/Map;
-
field_24415
- Mappings:
Namespace Name Mixin selector official n
Lcpl;n:Ljava/util/Map;
intermediary field_24415
Lnet/minecraft/class_2457;field_24415:Ljava/util/Map;
named field_24415
Lnet/minecraft/block/RedstoneWireBlock;field_24415:Ljava/util/Map;
-
SHAPES
- Mappings:
Namespace Name Mixin selector official E
Lcpl;E:Ljava/util/Map;
intermediary field_24416
Lnet/minecraft/class_2457;field_24416:Ljava/util/Map;
named SHAPES
Lnet/minecraft/block/RedstoneWireBlock;SHAPES:Ljava/util/Map;
-
COLORS
- Mappings:
Namespace Name Mixin selector official F
Lcpl;F:[Ldwq;
intermediary field_24466
Lnet/minecraft/class_2457;field_24466:[Lnet/minecraft/class_243;
named COLORS
Lnet/minecraft/block/RedstoneWireBlock;COLORS:[Lnet/minecraft/util/math/Vec3d;
-
field_31221
private static final float field_31221- See Also:
- Mappings:
Namespace Name Mixin selector official G
Lcpl;G:F
intermediary field_31221
Lnet/minecraft/class_2457;field_31221:F
named field_31221
Lnet/minecraft/block/RedstoneWireBlock;field_31221:F
-
dotState
- Mappings:
Namespace Name Mixin selector official H
Lcpl;H:Lcvo;
intermediary field_24733
Lnet/minecraft/class_2457;field_24733:Lnet/minecraft/class_2680;
named dotState
Lnet/minecraft/block/RedstoneWireBlock;dotState:Lnet/minecraft/block/BlockState;
-
wiresGivePower
private boolean wiresGivePower- Mappings:
Namespace Name Mixin selector official I
Lcpl;I:Z
intermediary field_11438
Lnet/minecraft/class_2457;field_11438:Z
named wiresGivePower
Lnet/minecraft/block/RedstoneWireBlock;wiresGivePower:Z
-
-
Constructor Details
-
RedstoneWireBlock
- Mappings:
Namespace Name Mixin selector official <init>
Lcvn;<init>(Lcvn$c;)V
intermediary <init>
Lnet/minecraft/class_4970;<init>(Lnet/minecraft/class_4970$class_2251;)V
named <init>
Lnet/minecraft/block/AbstractBlock;<init>(Lnet/minecraft/block/AbstractBlock$Settings;)V
-
-
Method Details
-
getShapeForState
- Mappings:
Namespace Name Mixin selector official n
Lcpl;n(Lcvo;)Ldxj;
intermediary method_27845
Lnet/minecraft/class_2457;method_27845(Lnet/minecraft/class_2680;)Lnet/minecraft/class_265;
named getShapeForState
Lnet/minecraft/block/RedstoneWireBlock;getShapeForState(Lnet/minecraft/block/BlockState;)Lnet/minecraft/util/shape/VoxelShape;
-
getOutlineShape
public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) - Overrides:
getOutlineShape
in classAbstractBlock
- Mappings:
Namespace Name Mixin selector official a
Lcvn;a(Lcvo;Lcgd;Lgt;Ldwv;)Ldxj;
intermediary method_9530
Lnet/minecraft/class_4970;method_9530(Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_3726;)Lnet/minecraft/class_265;
named getOutlineShape
Lnet/minecraft/block/AbstractBlock;getOutlineShape(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/ShapeContext;)Lnet/minecraft/util/shape/VoxelShape;
-
getPlacementState
- Overrides:
getPlacementState
in classBlock
- Mappings:
Namespace Name Mixin selector official a
Lcjt;a(Lccx;)Lcvo;
intermediary method_9605
Lnet/minecraft/class_2248;method_9605(Lnet/minecraft/class_1750;)Lnet/minecraft/class_2680;
named getPlacementState
Lnet/minecraft/block/Block;getPlacementState(Lnet/minecraft/item/ItemPlacementContext;)Lnet/minecraft/block/BlockState;
-
getPlacementState
- Mappings:
Namespace Name Mixin selector official a
Lcpl;a(Lcgd;Lcvo;Lgt;)Lcvo;
intermediary method_27840
Lnet/minecraft/class_2457;method_27840(Lnet/minecraft/class_1922;Lnet/minecraft/class_2680;Lnet/minecraft/class_2338;)Lnet/minecraft/class_2680;
named getPlacementState
Lnet/minecraft/block/RedstoneWireBlock;getPlacementState(Lnet/minecraft/world/BlockView;Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/BlockState;
-
getDefaultWireState
- Mappings:
Namespace Name Mixin selector official b
Lcpl;b(Lcgd;Lcvo;Lgt;)Lcvo;
intermediary method_27843
Lnet/minecraft/class_2457;method_27843(Lnet/minecraft/class_1922;Lnet/minecraft/class_2680;Lnet/minecraft/class_2338;)Lnet/minecraft/class_2680;
named getDefaultWireState
Lnet/minecraft/block/RedstoneWireBlock;getDefaultWireState(Lnet/minecraft/world/BlockView;Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/BlockState;
-
getStateForNeighborUpdate
public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos) Returns the state of the block after a neighboring block's state change.Returning
Blocks.AIR
breaks the block. This is useful to implement supporting block requirement for blocks (if used along withAbstractBlock.canPlaceAt(net.minecraft.block.BlockState, net.minecraft.world.WorldView, net.minecraft.util.math.BlockPos)
).Side effects like activating a redstone component (but not scheduling a tick) should be performed in
AbstractBlock.neighborUpdate(net.minecraft.block.BlockState, net.minecraft.world.World, net.minecraft.util.math.BlockPos, net.minecraft.block.Block, net.minecraft.util.math.BlockPos, boolean)
instead. If the block supports waterlogging and currently has water, this method should be overridden to tick the fluid at the block's position.This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using
World.isClient
. This is not called ifBlock.FORCE_STATE
flag is set in thesetBlockState
call.This method can be used for multiple purposes. Here are some examples:
FenceBlock
uses it to update the fence's connection when a horizontally neighboring block's state is changed.PlantBlock
uses it to break the plant if the state change causes it to lose its supporting block.DoorBlock
uses it to copy the state of the other half of the door.SlabBlock
uses it to schedule the fluid to tick if waterlogged.SoulSandBlock
uses it to schedule the water block above to tick so that it becomes a bubble column.FallingBlock
uses it to schedule the block to tick so that it can fall if needed.
- Overrides:
getStateForNeighborUpdate
in classAbstractBlock
- Parameters:
state
- the state of this blockdirection
- the direction from this block to the neighborneighborState
- the state of the updated neighbor blockworld
- the worldpos
- the position of this blockneighborPos
- the position of the neighbor block- Returns:
- the state of the block after a neighboring block's state change
- See Also:
-
AbstractBlock.neighborUpdate(net.minecraft.block.BlockState, net.minecraft.world.World, net.minecraft.util.math.BlockPos, net.minecraft.block.Block, net.minecraft.util.math.BlockPos, boolean)
AbstractBlock.prepare(net.minecraft.block.BlockState, net.minecraft.world.WorldAccess, net.minecraft.util.math.BlockPos, int, int)
AbstractBlock.canPlaceAt(net.minecraft.block.BlockState, net.minecraft.world.WorldView, net.minecraft.util.math.BlockPos)
Block.FORCE_STATE
- Mappings:
Namespace Name Mixin selector official a
Lcvn;a(Lcvo;Lgy;Lcvo;Lcgy;Lgt;Lgt;)Lcvo;
intermediary method_9559
Lnet/minecraft/class_4970;method_9559(Lnet/minecraft/class_2680;Lnet/minecraft/class_2350;Lnet/minecraft/class_2680;Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;Lnet/minecraft/class_2338;)Lnet/minecraft/class_2680;
named getStateForNeighborUpdate
Lnet/minecraft/block/AbstractBlock;getStateForNeighborUpdate(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/Direction;Lnet/minecraft/block/BlockState;Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/BlockState;
-
isFullyConnected
- Mappings:
Namespace Name Mixin selector official o
Lcpl;o(Lcvo;)Z
intermediary method_27846
Lnet/minecraft/class_2457;method_27846(Lnet/minecraft/class_2680;)Z
named isFullyConnected
Lnet/minecraft/block/RedstoneWireBlock;isFullyConnected(Lnet/minecraft/block/BlockState;)Z
-
isNotConnected
- Mappings:
Namespace Name Mixin selector official p
Lcpl;p(Lcvo;)Z
intermediary method_28483
Lnet/minecraft/class_2457;method_28483(Lnet/minecraft/class_2680;)Z
named isNotConnected
Lnet/minecraft/block/RedstoneWireBlock;isNotConnected(Lnet/minecraft/block/BlockState;)Z
-
prepare
public void prepare(BlockState state, WorldAccess world, BlockPos pos, int flags, int maxUpdateDepth) Called when the block state changes, before the {#linkplain #getStateForNeighborUpdate neighbor-triggered state update} on the original block, and after the neighbor-triggered state update on the replaced block.This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using
World.isClient
.- Overrides:
prepare
in classAbstractBlock
- See Also:
-
AbstractBlock.getStateForNeighborUpdate(net.minecraft.block.BlockState, net.minecraft.util.math.Direction, net.minecraft.block.BlockState, net.minecraft.world.WorldAccess, net.minecraft.util.math.BlockPos, net.minecraft.util.math.BlockPos)
AbstractBlock.neighborUpdate(net.minecraft.block.BlockState, net.minecraft.world.World, net.minecraft.util.math.BlockPos, net.minecraft.block.Block, net.minecraft.util.math.BlockPos, boolean)
- Mappings:
Namespace Name Mixin selector official a
Lcvn;a(Lcvo;Lcgy;Lgt;II)V
intermediary method_9517
Lnet/minecraft/class_4970;method_9517(Lnet/minecraft/class_2680;Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;II)V
named prepare
Lnet/minecraft/block/AbstractBlock;prepare(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;II)V
-
getRenderConnectionType
- Mappings:
Namespace Name Mixin selector official a
Lcpl;a(Lcgd;Lgt;Lgy;)Lcwt;
intermediary method_10477
Lnet/minecraft/class_2457;method_10477(Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;)Lnet/minecraft/class_2773;
named getRenderConnectionType
Lnet/minecraft/block/RedstoneWireBlock;getRenderConnectionType(Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/Direction;)Lnet/minecraft/block/enums/WireConnection;
-
getRenderConnectionType
private WireConnection getRenderConnectionType(BlockView world, BlockPos pos, Direction direction, boolean bool) - Mappings:
Namespace Name Mixin selector official a
Lcpl;a(Lcgd;Lgt;Lgy;Z)Lcwt;
intermediary method_27841
Lnet/minecraft/class_2457;method_27841(Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;Z)Lnet/minecraft/class_2773;
named getRenderConnectionType
Lnet/minecraft/block/RedstoneWireBlock;getRenderConnectionType(Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/Direction;Z)Lnet/minecraft/block/enums/WireConnection;
-
canPlaceAt
Returns whether the block can be placed atpos
.Blocks with supporting block requirements should override this method. Note that this should also be checked manually during
AbstractBlock.getStateForNeighborUpdate(net.minecraft.block.BlockState, net.minecraft.util.math.Direction, net.minecraft.block.BlockState, net.minecraft.world.WorldAccess, net.minecraft.util.math.BlockPos, net.minecraft.util.math.BlockPos)
in order to break the block that lost its supporting block.This is only checked during the use of block items or by endermen, falling blocks, etc that can place blocks. This does not affect block state changes performed through
World.setBlockState(BlockPos, BlockState)
call.This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using
World.isClient
.- Overrides:
canPlaceAt
in classAbstractBlock
- Returns:
- whether the block can be placed at
pos
- See Also:
- Mappings:
Namespace Name Mixin selector official a
Lcvn;a(Lcvo;Lcha;Lgt;)Z
intermediary method_9558
Lnet/minecraft/class_4970;method_9558(Lnet/minecraft/class_2680;Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;)Z
named canPlaceAt
Lnet/minecraft/block/AbstractBlock;canPlaceAt(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/WorldView;Lnet/minecraft/util/math/BlockPos;)Z
-
canRunOnTop
- Mappings:
Namespace Name Mixin selector official b
Lcpl;b(Lcgd;Lgt;Lcvo;)Z
intermediary method_27937
Lnet/minecraft/class_2457;method_27937(Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Z
named canRunOnTop
Lnet/minecraft/block/RedstoneWireBlock;canRunOnTop(Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)Z
-
update
- Mappings:
Namespace Name Mixin selector official a
Lcpl;a(Lcgx;Lgt;Lcvo;)V
intermediary method_10485
Lnet/minecraft/class_2457;method_10485(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)V
named update
Lnet/minecraft/block/RedstoneWireBlock;update(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)V
-
getReceivedRedstonePower
- Mappings:
Namespace Name Mixin selector official a
Lcpl;a(Lcgx;Lgt;)I
intermediary method_27842
Lnet/minecraft/class_2457;method_27842(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;)I
named getReceivedRedstonePower
Lnet/minecraft/block/RedstoneWireBlock;getReceivedRedstonePower(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)I
-
increasePower
- Mappings:
Namespace Name Mixin selector official q
Lcpl;q(Lcvo;)I
intermediary method_10486
Lnet/minecraft/class_2457;method_10486(Lnet/minecraft/class_2680;)I
named increasePower
Lnet/minecraft/block/RedstoneWireBlock;increasePower(Lnet/minecraft/block/BlockState;)I
-
updateNeighbors
- Mappings:
Namespace Name Mixin selector official b
Lcpl;b(Lcgx;Lgt;)V
intermediary method_10479
Lnet/minecraft/class_2457;method_10479(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;)V
named updateNeighbors
Lnet/minecraft/block/RedstoneWireBlock;updateNeighbors(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)V
-
onBlockAdded
public void onBlockAdded(BlockState state, World world, BlockPos pos, BlockState oldState, boolean notify) Called server-side on the new block when the block state is changed. This includes block placement. When overriding this method,AbstractBlock.getStateForNeighborUpdate(net.minecraft.block.BlockState, net.minecraft.util.math.Direction, net.minecraft.block.BlockState, net.minecraft.world.WorldAccess, net.minecraft.util.math.BlockPos, net.minecraft.util.math.BlockPos)
orAbstractBlock.neighborUpdate(net.minecraft.block.BlockState, net.minecraft.world.World, net.minecraft.util.math.BlockPos, net.minecraft.block.Block, net.minecraft.util.math.BlockPos, boolean)
should also be overridden. The method is used in the following cases:- When activating a redstone component on placement (used along with
AbstractBlock.neighborUpdate(net.minecraft.block.BlockState, net.minecraft.world.World, net.minecraft.util.math.BlockPos, net.minecraft.block.Block, net.minecraft.util.math.BlockPos, boolean)
- When resetting a position-dependent state (see
TargetBlock
) - When converting a block on placement (see
WetSpongeBlock
) - When fire lights a portal
- Overrides:
onBlockAdded
in classAbstractBlock
- See Also:
- Mappings:
Namespace Name Mixin selector official b
Lcvn;b(Lcvo;Lcgx;Lgt;Lcvo;Z)V
intermediary method_9615
Lnet/minecraft/class_4970;method_9615(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Z)V
named onBlockAdded
Lnet/minecraft/block/AbstractBlock;onBlockAdded(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Z)V
- When activating a redstone component on placement (used along with
-
onStateReplaced
public void onStateReplaced(BlockState state, World world, BlockPos pos, BlockState newState, boolean moved) Called server-side on the old block when the block state is changed. This includes block removal. This is used to update neighboring blocks when an active redstone power source is removed, or to drop the contents of an inventory. The checkstate.isOf(newState.getBlock())
can be used to see if the block was removed or not.- Overrides:
onStateReplaced
in classAbstractBlock
- See Also:
- Mappings:
Namespace Name Mixin selector official a
Lcvn;a(Lcvo;Lcgx;Lgt;Lcvo;Z)V
intermediary method_9536
Lnet/minecraft/class_4970;method_9536(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Z)V
named onStateReplaced
Lnet/minecraft/block/AbstractBlock;onStateReplaced(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Z)V
-
updateOffsetNeighbors
- Mappings:
Namespace Name Mixin selector official c
Lcpl;c(Lcgx;Lgt;)V
intermediary method_27844
Lnet/minecraft/class_2457;method_27844(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;)V
named updateOffsetNeighbors
Lnet/minecraft/block/RedstoneWireBlock;updateOffsetNeighbors(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)V
-
neighborUpdate
public void neighborUpdate(BlockState state, World world, BlockPos pos, Block sourceBlock, BlockPos sourcePos, boolean notify) Called when a neighboring block is updated. This method should be overridden to perform an action with a side effect, most notably an activation of a redstone component. This can also be used to perform an action changing block states of other blocks, such asSpongeBlock
which absorbs water.To replace the state of the block itself, override
AbstractBlock.getStateForNeighborUpdate(net.minecraft.block.BlockState, net.minecraft.util.math.Direction, net.minecraft.block.BlockState, net.minecraft.world.WorldAccess, net.minecraft.util.math.BlockPos, net.minecraft.util.math.BlockPos)
instead.This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using
World.isClient
.- Overrides:
neighborUpdate
in classAbstractBlock
- See Also:
-
AbstractBlock.getStateForNeighborUpdate(net.minecraft.block.BlockState, net.minecraft.util.math.Direction, net.minecraft.block.BlockState, net.minecraft.world.WorldAccess, net.minecraft.util.math.BlockPos, net.minecraft.util.math.BlockPos)
World.isReceivingRedstonePower(net.minecraft.util.math.BlockPos)
- Mappings:
Namespace Name Mixin selector official a
Lcvn;a(Lcvo;Lcgx;Lgt;Lcjt;Lgt;Z)V
intermediary method_9612
Lnet/minecraft/class_4970;method_9612(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2248;Lnet/minecraft/class_2338;Z)V
named neighborUpdate
Lnet/minecraft/block/AbstractBlock;neighborUpdate(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/Block;Lnet/minecraft/util/math/BlockPos;Z)V
-
getStrongRedstonePower
public int getStrongRedstonePower(BlockState state, BlockView world, BlockPos pos, Direction direction) Returns the strong redstone power emitted from the block.When overriding this, make sure to also override
AbstractBlock.emitsRedstonePower(net.minecraft.block.BlockState)
to returntrue
.AbstractBlock.getWeakRedstonePower(net.minecraft.block.BlockState, net.minecraft.world.BlockView, net.minecraft.util.math.BlockPos, net.minecraft.util.math.Direction)
might also need to be overridden.Strong redstone power is a power that can power a redstone wire when a solid block is in between. For example,
RedstoneBlock
andTargetBlock
emits weak redstone power only.LeverBlock
andAbstractButtonBlock
emits both weak and strong redstone power.- Overrides:
getStrongRedstonePower
in classAbstractBlock
- Returns:
- the strong redstone power emitted from the block
- See Also:
- Mappings:
Namespace Name Mixin selector official b
Lcvn;b(Lcvo;Lcgd;Lgt;Lgy;)I
intermediary method_9603
Lnet/minecraft/class_4970;method_9603(Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;)I
named getStrongRedstonePower
Lnet/minecraft/block/AbstractBlock;getStrongRedstonePower(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/Direction;)I
-
getWeakRedstonePower
public int getWeakRedstonePower(BlockState state, BlockView world, BlockPos pos, Direction direction) Returns the weak redstone power emitted from the block.When overriding this, make sure to also override
AbstractBlock.emitsRedstonePower(net.minecraft.block.BlockState)
to returntrue
.Weak redstone power is a power that cannot power a redstone wire when a solid block is in between. For example,
RedstoneBlock
andTargetBlock
emits weak redstone power only.LeverBlock
andAbstractButtonBlock
emits both weak and strong redstone power depending on the direction.- Overrides:
getWeakRedstonePower
in classAbstractBlock
- Returns:
- the weak redstone power emitted from the block
- See Also:
- Mappings:
Namespace Name Mixin selector official a
Lcvn;a(Lcvo;Lcgd;Lgt;Lgy;)I
intermediary method_9524
Lnet/minecraft/class_4970;method_9524(Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;)I
named getWeakRedstonePower
Lnet/minecraft/block/AbstractBlock;getWeakRedstonePower(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/Direction;)I
-
connectsTo
- Mappings:
Namespace Name Mixin selector official h
Lcpl;h(Lcvo;)Z
intermediary method_10484
Lnet/minecraft/class_2457;method_10484(Lnet/minecraft/class_2680;)Z
named connectsTo
Lnet/minecraft/block/RedstoneWireBlock;connectsTo(Lnet/minecraft/block/BlockState;)Z
-
connectsTo
- Mappings:
Namespace Name Mixin selector official a
Lcpl;a(Lcvo;Lgy;)Z
intermediary method_10482
Lnet/minecraft/class_2457;method_10482(Lnet/minecraft/class_2680;Lnet/minecraft/class_2350;)Z
named connectsTo
Lnet/minecraft/block/RedstoneWireBlock;connectsTo(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/Direction;)Z
-
emitsRedstonePower
Returns whether the block is capable of emitting redstone power.This does not return whether the block is currently emitting redstone power. Use
World.isEmittingRedstonePower(net.minecraft.util.math.BlockPos, net.minecraft.util.math.Direction)
in that case.- Overrides:
emitsRedstonePower
in classAbstractBlock
- Returns:
- whether the block is capable of emitting redstone power
- See Also:
- Mappings:
Namespace Name Mixin selector official f_
Lcvn;f_(Lcvo;)Z
intermediary method_9506
Lnet/minecraft/class_4970;method_9506(Lnet/minecraft/class_2680;)Z
named emitsRedstonePower
Lnet/minecraft/block/AbstractBlock;emitsRedstonePower(Lnet/minecraft/block/BlockState;)Z
-
getWireColor
public static int getWireColor(int powerLevel) - Mappings:
Namespace Name Mixin selector official b
Lcpl;b(I)I
intermediary method_10487
Lnet/minecraft/class_2457;method_10487(I)I
named getWireColor
Lnet/minecraft/block/RedstoneWireBlock;getWireColor(I)I
-
addPoweredParticles
private void addPoweredParticles(World world, Random random, BlockPos pos, Vec3d color, Direction direction, Direction direction2, float float2, float float3) - Mappings:
Namespace Name Mixin selector official a
Lcpl;a(Lcgx;Lamn;Lgt;Ldwq;Lgy;Lgy;FF)V
intermediary method_27936
Lnet/minecraft/class_2457;method_27936(Lnet/minecraft/class_1937;Lnet/minecraft/class_5819;Lnet/minecraft/class_2338;Lnet/minecraft/class_243;Lnet/minecraft/class_2350;Lnet/minecraft/class_2350;FF)V
named addPoweredParticles
Lnet/minecraft/block/RedstoneWireBlock;addPoweredParticles(Lnet/minecraft/world/World;Lnet/minecraft/util/math/random/Random;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/Vec3d;Lnet/minecraft/util/math/Direction;Lnet/minecraft/util/math/Direction;FF)V
-
randomDisplayTick
Called randomly on the client. Blocks may override this to spawn particles. UnlikeAbstractBlock.randomTick(net.minecraft.block.BlockState, net.minecraft.server.world.ServerWorld, net.minecraft.util.math.BlockPos, net.minecraft.util.math.random.Random)
this is not affected by a game rule.- Overrides:
randomDisplayTick
in classBlock
- Mappings:
Namespace Name Mixin selector official a
Lcjt;a(Lcvo;Lcgx;Lgt;Lamn;)V
intermediary method_9496
Lnet/minecraft/class_2248;method_9496(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_5819;)V
named randomDisplayTick
Lnet/minecraft/block/Block;randomDisplayTick(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/random/Random;)V
-
rotate
Returnsstate
rotated byrotation
.By default, this returns the provided block state.
- Overrides:
rotate
in classAbstractBlock
- Returns:
state
rotated byrotation
- Mappings:
Namespace Name Mixin selector official a
Lcvn;a(Lcvo;Lcpw;)Lcvo;
intermediary method_9598
Lnet/minecraft/class_4970;method_9598(Lnet/minecraft/class_2680;Lnet/minecraft/class_2470;)Lnet/minecraft/class_2680;
named rotate
Lnet/minecraft/block/AbstractBlock;rotate(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/BlockRotation;)Lnet/minecraft/block/BlockState;
-
mirror
Returnsstate
mirrored bymirror
.By default, this returns the provided block state.
- Overrides:
mirror
in classAbstractBlock
- Returns:
state
mirrored bymirror
- Mappings:
Namespace Name Mixin selector official a
Lcvn;a(Lcvo;Lcoh;)Lcvo;
intermediary method_9569
Lnet/minecraft/class_4970;method_9569(Lnet/minecraft/class_2680;Lnet/minecraft/class_2415;)Lnet/minecraft/class_2680;
named mirror
Lnet/minecraft/block/AbstractBlock;mirror(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/BlockMirror;)Lnet/minecraft/block/BlockState;
-
appendProperties
Appends block state properties to this block. To use this, override and callStateManager.Builder.add(net.minecraft.state.property.Property<?>[])
inside the method. SeeProperties
for the list of pre-defined properties.- Overrides:
appendProperties
in classBlock
- Mappings:
Namespace Name Mixin selector official a
Lcjt;a(Lcvp$a;)V
intermediary method_9515
Lnet/minecraft/class_2248;method_9515(Lnet/minecraft/class_2689$class_2690;)V
named appendProperties
Lnet/minecraft/block/Block;appendProperties(Lnet/minecraft/state/StateManager$Builder;)V
-
onUse
public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) Called when this block is used by a player. This, by default, is bound to using the right mouse button.This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using
world.isClient()
.If the action result is successful on a logical client, then the action will be sent to the logical server for processing.
- Overrides:
onUse
in classAbstractBlock
- Returns:
- an action result that specifies if using the block was successful.
- Mappings:
Namespace Name Mixin selector official a
Lcvn;a(Lcvo;Lcgx;Lgt;Lbuc;Lbai;Ldwm;)Lbaj;
intermediary method_9534
Lnet/minecraft/class_4970;method_9534(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1657;Lnet/minecraft/class_1268;Lnet/minecraft/class_3965;)Lnet/minecraft/class_1269;
named onUse
Lnet/minecraft/block/AbstractBlock;onUse(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/Hand;Lnet/minecraft/util/hit/BlockHitResult;)Lnet/minecraft/util/ActionResult;
-
updateForNewState
- Mappings:
Namespace Name Mixin selector official a
Lcpl;a(Lcgx;Lgt;Lcvo;Lcvo;)V
intermediary method_28482
Lnet/minecraft/class_2457;method_28482(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Lnet/minecraft/class_2680;)V
named updateForNewState
Lnet/minecraft/block/RedstoneWireBlock;updateForNewState(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/block/BlockState;)V
-