BeforePistonActivateEvent クラス

BeforePistonActivateEventはピストンが伸び縮みする「前」の情報を扱うイベントクラスです。

親クラス

プロパティ

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));
  }
});

私はあまりピストンを使わないので良い例が思いつきませんでした、すみません💧