@minecraft/server / PistonActivateAfterEvent
Class: PistonActivateAfterEvent ​
Defined in: @minecraft/server/index.d.ts:16256
Contains information related to changes to a piston expanding or retracting.
Example ​
pistonAfterEvent.ts
typescript
import {
world,
system,
BlockPermutation,
BlockPistonState,
PistonActivateAfterEvent,
DimensionLocation,
} from '@minecraft/server';
import { MinecraftBlockTypes } from '@minecraft/vanilla-data';
function pistonAfterEvent(log: (message: string, status?: number) => void, targetLocation: DimensionLocation) {
// set up a couple of piston blocks
const piston = targetLocation.dimension.getBlock(targetLocation);
const button = targetLocation.dimension.getBlock({
x: targetLocation.x,
y: targetLocation.y + 1,
z: targetLocation.z,
});
if (piston === undefined || button === undefined) {
log('Could not find block at location.');
return -1;
}
piston.setPermutation(BlockPermutation.resolve(MinecraftBlockTypes.Piston).withState('facing_direction', 3));
button.setPermutation(BlockPermutation.resolve(MinecraftBlockTypes.AcaciaButton).withState('facing_direction', 1));
world.afterEvents.pistonActivate.subscribe((pistonEvent: PistonActivateAfterEvent) => {
const eventLoc = pistonEvent.piston.block.location;
if (eventLoc.x === targetLocation.x && eventLoc.y === targetLocation.y && eventLoc.z === targetLocation.z) {
log(
'Piston event at ' +
system.currentTick +
(pistonEvent.piston.isMoving ? ' Moving' : '') +
(pistonEvent.piston.state === BlockPistonState.Expanding ? ' Expanding' : '') +
(pistonEvent.piston.state === BlockPistonState.Expanded ? ' Expanded' : '') +
(pistonEvent.piston.state === BlockPistonState.Retracting ? ' Retracting' : '') +
(pistonEvent.piston.state === BlockPistonState.Retracted ? ' Retracted' : '')
);
}
});
}Extends ​
Properties ​
block ​
readonlyblock:Block
Defined in: @minecraft/server/index.d.ts:4790
Remarks ​
Block currently in the world at the location of this event.
Inherited from ​
dimension ​
readonlydimension:Dimension
Defined in: @minecraft/server/index.d.ts:4797
Remarks ​
Dimension that contains the block that is the subject of this event.
Inherited from ​
isExpanding ​
readonlyisExpanding:boolean
Defined in: @minecraft/server/index.d.ts:16263
Remarks ​
True if the piston is the process of expanding.
piston ​
readonlypiston:BlockPistonComponent
Defined in: @minecraft/server/index.d.ts:16269
Remarks ​
Contains additional properties and details of the piston.