Script API - v1.21.90.25
    Preparing search index...

    Class BlockPistonComponent

    When present, this block has piston-like behavior. Contains additional properties for discovering block piston state.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    block: Block

    Block instance that this component pertains to.

    isMoving: boolean

    Whether the piston is in the process of expanding or retracting.

    This property can throw when used.

    isValid: boolean

    Returns whether the component is valid. A component is considered valid if its owner is valid, in addition to any addition to any additional validation required by the component.

    The current state of the piston.

    This property can throw when used.

    typeId: string

    Identifier of the component.

    componentId: "minecraft:piston" = 'minecraft:piston'

    Methods

    • Returns Block[]

      Retrieves a set of blocks that this piston is connected with.

      This function can throw errors.

      // Script by WavePlayz

      import { world, system, BlockTypes } from "@minecraft/server";

      // Get all available block types in the game
      const blockTypes = BlockTypes.getAll();

      // Function to get a random block type from the list of block types
      const getRandomBlockType = () =>
      blockTypes[Math.floor(blockTypes.length * Math.random())];

      // Subscribe to the event that triggers when a piston is activated
      world.afterEvents.pistonActivate.subscribe((eventData) => {
      // Destructure the dimension and piston objects from the event data
      const { dimension, piston } = eventData;

      // Get the blocks attached to the piston
      const attachedBlocks = piston.getAttachedBlocks();

      // Get the locations of the blocks attached to the piston
      const attachedBlocksLocations = piston.getAttachedBlocksLocations();

      // Loop through each attached block location
      attachedBlocksLocations.forEach((location, index) => {
      // Set the type of each attached block to a random block type
      attachedBlocks[index].setType(getRandomBlockType());
      });
      });
    • Returns Vector3[]

      Retrieves a set of block locations that this piston is connected with.

      This function can throw errors.

      // Script by WavePlayz

      import { world, system, BlockTypes } from "@minecraft/server";

      // Get all available block types in the game
      const blockTypes = BlockTypes.getAll();

      // Function to get a random block type from the list of block types
      const getRandomBlockType = () =>
      blockTypes[Math.floor(blockTypes.length * Math.random())];

      // Subscribe to the event that triggers when a piston is activated
      world.afterEvents.pistonActivate.subscribe((eventData) => {
      // Destructure the dimension and piston objects from the event data
      const { dimension, piston } = eventData;

      // Get the blocks attached to the piston
      const attachedBlocks = piston.getAttachedBlocks();

      // Get the locations of the blocks attached to the piston
      const attachedBlocksLocations = piston.getAttachedBlocksLocations();

      // Loop through each attached block location
      attachedBlocksLocations.forEach((location, index) => {
      // Set the type of each attached block to a random block type
      attachedBlocks[index].setType(getRandomBlockType());
      });
      });