Skip to content

mcutils:button

Vanilla button block behavior.

Registering

Before you can use this component you need to register it.

js
import { system } from "@minecraft/server";
import { ButtonComponent } from "@lpsmods/mc-utils";

system.beforeEvents.startup.subscribe((event) => {
  event.blockComponentRegistry.registerCustomComponent(ButtonComponent.typeId, new ButtonComponent());
});

Requirements

Component

Options

NameTypeDefaultDescription
powered_statestringmcutils:powered
delaynumber
click_on_sound_eventstring
click_off_sound_eventstring

Examples

Button

json
{
  "format_version": "1.21.100",
  "minecraft:block": {
    "description": {
      "identifier": "wiki:custom_button",
      "states": {
        "mcutils:powered": [false, true]
      },
      "traits": {
        "minecraft:placement_direction": {
          "enabled_states": ["minecraft:facing_direction"]
        }
      }
    },
    "components": {
      "minecraft:tick": {
        "interval_range": [0, 0],
        "looping": true
      },
      "mcutils:button": {
        "delay": 30,
        "powered_state": "mcutils:powered"
      }
    }
  }
}

Not associated with or approved by Mojang Studios or Microsoft