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 playerModal 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 playerCustom Form (Inputs)
open custom form "register" with title "Register" to player
# Custom forms suportam vários tipos de inputMenu 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 playerScoreboard 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 playerBossbar 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 playerExemplo: 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 65280Seguranç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