Addons Internos

Funcionalidades extras integradas ao Lazuli

Lazuli vem com vários addons integrados que podem ser habilitados no config.yml.

Forms Addon

Interface de formulários para Bedrock Edition.

Simple Form (Botões)

open simple form "main" with title "Menu" and content "Choose:" with buttons "Shop", "Stats" to player

on form response:
    if form is "main":
        switch button:
            case "Shop":
                # Abre shop
                open simple form "shop" with title "Shop" with buttons "Weapons", "Armor", "Items" to player
            case "Stats":
                # Mostra stats
                send "Kills: %{kills::%player's uuid%}%" to player

Modal Form (Sim/Não)

open modal form "confirm" with title "Confirm" and content "Are you sure?" with buttons "Yes", "No" to player

on form response:
    if form is "confirm":
        if button is "Yes":
            # Confirmado
            delete {home::%player's uuid%}
            send "Home deleted!" to player

Custom Form (Inputs)

open custom form "register" with title "Register" to player

# Custom forms suportam vários tipos de input

Menu Addon

Menus baseados em chest (inventário).

# Criar menu
open menu "shop" with title "&6Shop" with rows 3 for player

# Setar itens
set slot 0 of menu "shop" to diamond named "&bDiamond" with lore "&7Price: 100" for player
set slot 4 of menu "shop" to emerald named "&aEmerald" with lore "&7Price: 50" for player

# Preencher bordas
loop numbers from 0 to 8:
    set slot loop-number of menu "shop" to gray_stained_glass_pane named " " for player

# Evento de clique
on menu click:
    if clicked menu is "shop":
        cancel event  # Impede pegar o item
        switch clicked slot:
            case 0:
                if player's balance >= 100:
                    remove 100 from player's balance
                    give diamond to player
                    send "&aPurchased!" to player
            case 4:
                if player's balance >= 50:
                    remove 50 from player's balance
                    give emerald to player

Scoreboard Addon

Scoreboards na lateral da tela.

# Criar scoreboard
create scoreboard "lobby" with title "&6My Server" for player

# Setar linhas
set line 1 of scoreboard "lobby" to "&7Welcome!" for player
set line 2 of scoreboard "lobby" to "" for player
set line 3 of scoreboard "lobby" to "&ePlayer: &f%player%" for player
set line 4 of scoreboard "lobby" to "&eBalance: &f%player's balance%" for player
set line 5 of scoreboard "lobby" to "" for player
set line 6 of scoreboard "lobby" to "&7impera.space" for player

# Atualizar (útil em loops)
every 1 second:
    loop all players:
        set line 4 of scoreboard "lobby" to "&eBalance: &f%loop-player's balance%" for loop-player

# Remover
remove scoreboard "lobby" from player

Bossbar Addon

Barras de boss personalizadas.

# Criar bossbar
create bossbar "event" with title "&6Event Active!" and color red and progress 100 for player

# Cores: blue, green, pink, purple, red, white, yellow

# Atualizar título
set title of bossbar "event" to "&cEvent ending soon!" for player

# Atualizar progresso (0-100)
set progress of bossbar "event" to 50 for player

# Remover
remove bossbar "event" from player
Exemplo: Timer com Bossbar
command /startevent:
    permission: admin.event
    trigger:
        # Criar bossbar para todos
        loop all players:
            create bossbar "event" with title "&6Event: 60 seconds remaining" and color green and progress 100 for loop-player
        
        # Countdown
        loop numbers from 60 to 1:
            set {_time} to loop-number
            set {_progress} to {_time} * 100 / 60
            
            loop all players:
                set title of bossbar "event" to "&6Event: %{_time}% seconds" for loop-player
                set progress of bossbar "event" to {_progress} for loop-player
            
            wait 1 second
        
        # Fim do evento
        loop all players:
            remove bossbar "event" from loop-player
        
        broadcast "&c&lEvent ended!"

HTTP Addon

Requisições HTTP e webhooks.

# GET Request
http get "https://api.example.com/data"
if http request was successful:
    set {_data} to http response

# POST Request
http post "https://api.example.com/submit" with body '{"name": "Steve"}'

# Discord Webhook
send webhook to "https://discord.com/api/webhooks/..." with message "Hello from server!"

# Discord Embed
send discord embed to "WEBHOOK_URL" with title "Player Joined" and description "%player% joined the server!" and color 65280

Segurança

Nunca exponha URLs de webhooks em scripts públicos. Use variáveis de configuração.

Database Addon

Operações SQLite para dados estruturados.

# Conectar a um banco de dados
connect to database "players"

# Criar tabela
create table "users" with columns "uuid TEXT PRIMARY KEY", "name TEXT", "coins INTEGER"

# Inserir dados
insert into "users" values player's uuid, player's name, 100

# Selecionar dados
select from "users" where "uuid = '%player's uuid%'"
if query has results:
    set {_coins} to query result "coins"
    send "Coins: %{_coins}%" to player

# Atualizar dados
update "users" set "coins = 200" where "uuid = '%player's uuid%'"

# Deletar dados
delete from "users" where "uuid = '%player's uuid%'"

Configuração

Habilite/desabilite addons no config.yml:

config.yml
addons:
  forms: true
  scoreboard: true
  menu: true
  bossbar: true
  http: true
  database: true
  effects: true
  custom_events: true