Interacciones
Lo que hace un NPC al hacerle click es una lista de pasos, uno por línea, que se ejecutan en orden. Los clicks izquierdo y derecho tienen su propia lista.
Editar la lista
/abb interaction <id> <left|right|both> <opción> [...]| Opción | Ejemplo | Hace |
|---|---|---|
add <paso> | add [message] <green>¡Hola! | Añade un paso al final |
add_before <n> <paso> | add_before 1 [wait] 20 | Añade un paso antes del paso n |
add_after <n> <paso> | add_after 2 [playsound] entity.villager.yes 1 1 | Añade un paso después del paso n |
set <n> <paso> | set 3 [console] give {player} diamond 1 | Reemplaza el paso n |
remove <n> | remove 2 | Quita el paso n |
move_up <n>, move_down <n> | move_up 3 | Mueve el paso n |
list | list | Muestra los pasos, numerados |
clear | clear | Los quita todos |
both cambia la lista izquierda y la derecha a la vez.
Pasos
| Paso | Hace |
|---|---|
[message] <texto> | Un mensaje al chat del jugador (MiniMessage) |
[broadcast] <texto> | Un mensaje para todos |
[playsound] <sonido> [volumen] [tono] | Le reproduce un sonido al jugador |
[player] <comando> | Ejecuta un comando como el jugador |
[console] <comando> | Ejecuta un comando como el servidor |
[server] <nombre> | Envía al jugador a otro servidor (necesita un proxy: Velocity, BungeeCord) |
[wait] <ticks> | Espera antes del siguiente paso (20 ticks = 1 segundo) |
[need_permission] <permiso> | Se detiene aquí si el jugador no lo tiene |
[need_item] <OBJETO>:<cantidad> | Se detiene aquí si el jugador no lo lleva |
[block_until_done] | Ignora más clicks hasta que la lista termine |
Una línea sin etiqueta se ejecuta como el jugador.
Tokens
| Token | Se convierte en |
|---|---|
{player} {player_uuid} {player_display} | El nombre, UUID y nombre visible del jugador |
{npc_id} {npc_name} {npc_model} | El id, nombre y modelo del NPC |
{npc_world} {npc_x} {npc_y} {npc_z} | Dónde está el NPC |
Con PlaceholderAPI también funcionan los %placeholders%, que se rellenan después de los tokens.
Un ejemplo: un vendedor
yaml
right-click-commands:
- "[need_permission] tienda.usar"
- "[block_until_done]"
- "[message] <green>¡Bienvenido, {player}!"
- "[playsound] entity.villager.yes 1 1.2"
- "[wait] 40"
- "[player] warp tienda"Así queda guardado en npcs.yml. Lo mismo con comandos:
/abb interaction vendedor right add [need_permission] tienda.usar
/abb interaction vendedor right add [block_until_done]
/abb interaction vendedor right add [message] <green>¡Bienvenido, {player}!
/abb interaction vendedor right add [playsound] entity.villager.yes 1 1.2
/abb interaction vendedor right add [wait] 40
/abb interaction vendedor right add [player] warp tiendaPor defecto un click no se puede repetir antes de un segundo (settings.default-interaction-cooldown en config.yml, en milisegundos).