Skip to content

mcutils:toggleable

Toggleable block state behavior. (like; doors, trapdoors)

Registering

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

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

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

Component

Options

NameTypeDefaultDescription
toggle_statestringmcutils:open
true_sound_eventstringuse.stone
false_sound_eventstringuse.stone

Examples

Trapdoor

json
{
  "format_version": "1.21.100",
  "minecraft:block": {
    "description": {
      "identifier": "wiki:custom_trapdoor",
      "states": {
        "mcutils:open": [false, true]
      },
      "traits": {
        "minecraft:placement_direction": {
          "enabled_states": ["minecraft:cardinal_direction"]
        },
        "minecraft:placement_position": {
          "enabled_states": ["minecraft:vertical_half"]
        }
      }
    },
    "components": {
      "minecraft:tick": {
        "interval_range": [0, 0]
      },
      "mcutils:toggleable": {
        "toggle_state": "mcutils:open",
        "open_sound_event": "open.wooden_trapdoor",
        "close_sound_event": "close.wooden_trapdoor"
      }
    }
  }
}

Lever

json
{
  "format_version": "1.21.100",
  "minecraft:block": {
    "description": {
      "identifier": "wiki:custom_lever",
      "states": {
        "mcutils:powered": [false, true]
      },
      "traits": {
        "minecraft:placement_direction": {
          "enabled_states": ["minecraft:facing_direction"]
        }
      }
    },
    "components": {
      "minecraft:tick": {
        "interval_range": [0, 0]
      },
      "mcutils:toggleable": {
        "toggled_by_redstone": false,
        "toggle_state": "mcutils:powered",
        "true_sound_event": "random.lever_click",
        "false_sound_event": "random.lever_click"
      }
    }
  }
}

Not associated with or approved by Mojang Studios or Microsoft