BeforePistonActivateEventはピストンが伸び縮みする「前」の情報を扱うイベントクラスです。
親クラス
- BlockEvent(公式サイト)
プロパティ
block
read-only block: Block;
このイベントで伸びたり縮んだりしたピストンブロック自体。
Type: Block
cancel
cancel: boolean;
この値をtrueにセットするとピストンの起動がキャンセルされます。ワールド上のピストンは動かなくなります。
Type: boolean
dimension
read-only dimension: Dimension;
このイベントを引き起こしたブロックのディメンション。
Type: Dimension
isExpanding
read-only isExpanding: boolean;
ピストンが伸びる状態になるときはtrue、縮む状態になる場合はfalseとなる。
Type: boolean
piston
read-only piston: BlockPistonComponent;
対象のピストンの追加のプロパティと詳細が格納されたコンポーネント。
Type: BlockPistonComponent
使用例
ピストンが伸びるときに何かする
あんまりいい例が思いつかないのですが、以下のコードでピストンが伸びるときにピストンの上にクリーパーが生まれるようにしてピストンで持ち上げてるように見せかけてみます。
import { BlockLocation, world } from "mojang-minecraft";
world.events.beforePistonActivate.subscribe(ev => {
if (ev.isExpanding) {
const { x, y, z } = ev.block;
ev.dimension.spawnEntity("minecraft:creeper", new BlockLocation(x, y + 1, z));
}
});
私はあまりピストンを使わないので良い例が思いつきませんでした、すみません💧