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
Name | Type | Default | Description |
---|---|---|---|
toggle_state | string | mcutils:open | |
true_sound_event | string | use.stone | |
false_sound_event | string | use.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"
}
}
}
}