Referencia completa de metodos para a API de scripting Lua. Todos os metodos sao chamados usando a sintaxe context.table:method().
Metodos globais (marcados com GLOBAL) vem do Magmacore, a biblioteca central compartilhada -- funcionam de forma identica em scripts do EliteMobs e do FreeMinecraftModels.
Metodos do EliteMobs (marcados com ELITEMOBS) sao especificos para scripts de poderes de bosses do EliteMobs.
Metodos do FMM (marcados com FMM) sao especificos para scripts de itens e props do FreeMinecraftModels.
Quando um metodo requer um enum do Bukkit (Sound, Particle, Material, etc.), consulte os Javadocs do Spigot para valores validos. Nomes de enum sao passados como strings em maiusculas (por exemplo, "DIAMOND_SWORD", "ENTITY_ARROW_SHOOT").
Tabela de Entidade GLOBAL
Campos base presentes em todas as tabelas de entidade -- jogadores, mobs, props, qualquer coisa.
Propriedades
| Campo | Tipo | Descricao |
|---|
uuid | string | UUID da entidade |
entity_type | string | Tipo da entidade (minusculas) |
is_valid | bool | A entidade ainda existe no mundo |
is_dead | bool | A entidade esta morta |
is_player | bool | E um jogador |
is_hostile | bool | E um monstro |
is_passive | bool | E um animal |
is_elite | bool | E uma entidade do EliteMobs |
is_custom_boss | bool | E um boss personalizado do EliteMobs |
is_significant_boss | bool | Boss personalizado com multiplicador de vida acima de 1 (encontro projetado) |
is_modeled | bool | Possui um modelo FMM |
is_prop | bool | E um prop do FMM |
current_location | location | Posicao da entidade (x, y, z, yaw, pitch, world) |
world | string | Nome do mundo |
Metodos
| Metodo | Argumentos | Retorno | Descricao |
|---|
teleport(location) | tabela de localizacao | nil | Teleporta a entidade |
remove() | -- | nil | Remove a entidade do mundo |
set_silent(enabled) | bool | nil | Define silencioso |
set_invulnerable(enabled) | bool | nil | Define invulneravel |
set_gravity(enabled) | bool | nil | Define gravidade |
set_glowing(enabled) | bool | nil | Define brilho |
Bridge: entity.elite
Presente apenas quando is_elite e verdadeiro. Preenchido via reflexao -- nao requer dependencia do EliteMobs.
| Campo | Tipo | Descricao |
|---|
level | int | Nivel do mob elite |
name | string | Nome de exibicao do elite |
health | double | Vida atual |
max_health | double | Vida maxima |
is_custom_boss | bool | E um boss personalizado (tambem disponivel no nivel superior) |
health_multiplier | double | Multiplicador de vida definido na configuracao |
damage_multiplier | double | Multiplicador de dano definido na configuracao |
remove() | metodo | Remove a entidade elite |
Bridge: entity.model
Presente apenas quando is_modeled e verdadeiro. Preenchido via reflexao -- nao requer dependencia do FMM.
| Campo | Tipo | Descricao |
|---|
model_id | string | Nome do blueprint do modelo |
play_animation(name, blend?, loop?) | metodo | Reproduz animacao. blend padrao e false, loop padrao e false |
stop_animations() | metodo | Para todas as animacoes |
remove() | metodo | Remove a entidade modelada |
Tabela de Entidade Viva GLOBAL
Estende a Tabela de Entidade. Aplicada a todas as entidades vivas (mobs e jogadores).
Propriedades
| Campo | Tipo | Descricao |
|---|
health | double | Vida atual |
maximum_health | double | Vida maxima |
name | string | Nome de exibicao da entidade |
is_alive | bool | A entidade nao esta morta |
Metodos
| Metodo | Argumentos | Retorno | Descricao |
|---|
damage(amount) | double | nil | Causa dano a entidade |
push(x, y, z) | double, double, double | nil | Adiciona vetor de velocidade |
set_facing(x, y, z) | double, double, double | nil | Define direcao do olhar |
add_potion_effect(type, duration, amplifier) | string (PotionEffectType), int, int | nil | Aplica efeito de pocao pelo nome |
remove_potion_effect(type) | string (PotionEffectType) | nil | Remove efeito de pocao pelo nome |
context.player GLOBAL
Tabela de entidade do jogador. Herda todos os campos de Entidade e Entidade Viva.
Propriedades
| Campo | Tipo | Descricao |
|---|
game_mode | string | survival, creative, adventure, spectator |
Metodos
| Metodo | Argumentos | Retorno | Descricao |
|---|
send_message(text) | string | nil | Envia mensagem de chat. Suporta codigos de cor |
get_held_item() | -- | tabela ou nil | Retorna campos type, amount, display_name, ou nil se mao vazia |
consume_held_item(amount?) | int (padrao 1) | nil | Reduz a pilha do item na mao pela quantidade |
has_item(material, amount?) | string (Material), int (padrao 1) | bool | Verifica material no inventario |
get_target_entity(range?) | num (padrao 50) | entidade ou nil | Raycast para entidade que o jogador esta olhando |
get_eye_location() | -- | location | Posicao dos olhos do jogador |
get_look_direction() | -- | vector | Vetor de direcao unitario |
send_block_change(x, y, z, material, ticks?) | int, int, int, string (Material), int (opcional) | bool | Envia bloco falso. Restaura automaticamente apos ticks se fornecido |
reset_block(x, y, z) | int, int, int | bool | Restaura bloco falso para o real |
sleep(x, y, z) | num, num, num | nil | Animacao de dormir na cama na localizacao |
wake_up() | -- | nil | Acorda do sono |
show_boss_bar(text, color?, progress, ticks?) | string, string (BarColor, padrao WHITE), num, int (opcional) | nil | Exibe barra de boss. Auto-oculta apos ticks. Suporta codigos de cor |
hide_boss_bar() | -- | nil | Remove barra de boss |
show_action_bar(text, ticks?) | string, int (opcional) | nil | Mostra barra de acao. Repete se ticks maior que 0. Suporta codigos de cor |
show_title(title, subtitle?, fadeIn, stay, fadeOut) | string, string (padrao vazio), int, int, int | nil | Mostra tela de titulo. Suporta codigos de cor |
context.world GLOBAL
Operacoes no mundo. Disponivel em todos os tipos de script.
Propriedades
| Campo | Tipo | Descricao |
|---|
name | string | Nome do mundo |
Metodos
| Metodo | Argumentos | Retorno | Descricao |
|---|
get_block_at(x, y, z) | int, int, int | string | Nome do Material (minusculas) |
set_block_at(x, y, z, material) | int, int, int, string (Material) | bool | Coloca bloco |
get_highest_block_y(x, z) | int, int | int | Y do bloco nao-ar mais alto |
spawn_particle(particle, x, y, z, count?, dx?, dy?, dz?, speed?) | string (Particle), num, num, num, int?=1, num?=0, num?=0, num?=0, num?=0 | nil | Gera efeito de particulas |
play_sound(sound, x, y, z, volume?, pitch?) | string (Sound), num, num, num, float?=1, float?=1 | nil | Reproduz som |
strike_lightning(x, y, z) | num, num, num | nil | Gera raio |
get_time() | -- | int | Tempo do mundo em ticks |
set_time(ticks) | long | nil | Define tempo do mundo |
get_nearby_entities(x, y, z, radius) | num, num, num, num | table | Array de tabelas de entidades |
get_nearby_players(x, y, z, radius) | num, num, num, num | table | Array de tabelas de entidades de jogadores |
spawn_entity(type, x, y, z) | string (EntityType), num, num, num | entity | Gera entidade vanilla |
raycast(fx, fy, fz, dx, dy, dz, max?) | num, num, num, num, num, num, num?=50 | table | Retorna campos hit_entity, hit_location, hit_block |
place_temporary_block(x, y, z, material, ticks?, require_air?) | int, int, int, string (Material), int?=0, bool?=false | bool | Coloca bloco que reverte automaticamente apos ticks |
drop_item(x, y, z, material, amount?) | num, num, num, string (Material), int?=1 | entity | Dropa entidade de item naturalmente na localizacao |
spawn_firework(x, y, z, colors, type?, power?) | num, num, num, table, string (FireworkEffect.Type)?=BALL, int?=1 | nil | Gera fogos de artificio |
context.boss ELITEMOBS
Tabela de entidade do boss para scripts de poderes Lua do EliteMobs. Herda todos os metodos da Tabela de Entidade Viva do EliteMobs. As propriedades sao atualizadas via getters dedicados.
Propriedades
| Campo | Tipo | Descricao |
|---|
name | string | Nome de exibicao do boss |
uuid | string | UUID da entidade elite |
health | double | Vida atual (snapshot) |
maximum_health | double | Vida maxima (snapshot) |
current_location | location | Posicao do boss (snapshot) |
level | int | Nivel do boss |
damager_count | int | Numero de jogadores que causaram dano a este boss |
is_in_combat | bool | O boss esta em combate |
exists | bool | A entidade do boss existe |
Metodos
| Metodo | Argumentos | Retorno | Descricao |
|---|
is_alive() | -- | bool | Se a entidade do boss esta viva (verificacao ao vivo) |
get_health() | -- | double | Vida atual (ao vivo) |
get_maximum_health() | -- | double | Vida maxima (ao vivo) |
get_location() | -- | location | Posicao atual (ao vivo) |
restore_health(amount) | double | nil | Cura o boss |
despawn() | -- | nil | Remove a entidade do boss |
get_damager_count() | -- | int | Contagem de atacantes ao vivo |
add_tag(tag, ticks?) | string, int?=0 | nil | Adiciona tag, remove automaticamente apos ticks se definido |
remove_tag(tag) | string | nil | Remove tag |
has_tag(tag) | string | bool | Verifica tag |
reset_custom_name() | -- | nil | Restaura nome para o padrao da configuracao |
play_sound_at_self(sound, volume?, pitch?) | string (Sound), float?=1, float?=1 | nil | Reproduz som no boss |
play_sound_at_entity(sound, volume?, pitch?) | string (Sound), float?=1, float?=1 | nil | Reproduz som no boss (alias) |
spawn_particle_at_self(particle, count?) | string (Particle) ou tabela, int?=1 | nil | Gera particula no boss |
play_model_animation(name) | string | nil | Reproduz animacao do modelo FMM (requer modelo FMM) |
navigate_to_location(location, speed?, force?, timeout?) | location, double?=1, bool?=false, int?=0 | nil | Navega ate a localizacao |
send_message(text, range?) | string, double?=20 | nil | Envia mensagem para jogadores proximos. Suporta codigos de cor |
get_nearby_players(range) | double | table | Array de tabelas de jogadores dentro do alcance |
get_target_player() | -- | jogador ou nil | Alvo atual do mob se for um jogador |
get_nearby_players_in_zone(zone) | tabela de zona | table | Jogadores dentro da forma da zona |
get_ender_dragon_phase() | -- | string ou nil | Nome da EnderDragon.Phase |
set_ender_dragon_phase(phase) | string (EnderDragon.Phase) | nil | Define fase do ender dragon |
summon_reinforcement(file, zone?, level?) | string, zona ou nil, int?=0 | entidade ou nil | Gera boss de reforco |
summon_projectile(type, origin, dest, speed?, options?) | string (EntityType), location, location, double?=1, table | entity | Gera projetil rastreado |
Opcoes do summon_projectile
| Opcao | Tipo | Padrao | Descricao |
|---|
custom_damage | number | -- | Sobrescreve o dano do projetil |
detonation_power | string | -- | Nivel de poder explosivo |
yield | number | -- | Rendimento da bola de fogo |
incendiary | bool | true | Bola de fogo causa incendio |
gravity | bool | -- | Habilita gravidade |
glowing | bool | false | Define brilho |
invulnerable | bool | false | Define invulneravel |
persistent | bool | true | Define persistente |
duration | int | 0 | Remove automaticamente apos ticks |
effect | string | -- | EntityEffect para reproduzir ao gerar |
spawn_at_origin | bool | false | Gera na origem em vez de lancar do boss |
direction_only | bool | false | Define direcao sem velocidade (bolas de fogo) |
track | bool | true | Registra como projetil elite |
on_land | function | -- | Callback quando o projetil pousa: function(location, entity) |
max_ticks | int | 6000 | Ticks maximos antes do callback de pouso forcado |
Metodos de Zona/Particula
| Metodo | Argumentos | Retorno | Descricao |
|---|
spawn_particles_in_zone(zone, particle, ...) | zona, especificacao de particula, coverage?=1.0 | nil | Preenche zona com particulas |
spawn_particles_in_zone_border(zone, particle, ...) | zona, especificacao de particula, coverage?=1.0 | nil | Contorna zona com particulas |
get_particles_from_self_toward_zone(zone, particle, speed?) | zona, string, double?=0.1 | table | Particulas direcionais do boss para a zona |
get_particles_toward_self(zone, particle, speed?) | zona, string, double?=0.1 | table | Particulas direcionais da zona para o boss |
spawn_particles_with_vector(particles) | table | nil | Gera array de particulas direcionais |
Suporte a Poderes Especiais
| Metodo | Argumentos | Retorno | Descricao |
|---|
start_tracking_fireball_system(speed?) | double?=0.5 | nil | Inicia IA de bola de fogo rastreadora |
handle_spirit_walk_damage(cause) | string (DamageCause) | nil | Trata dano de spirit walk por causa |
shield_wall_is_active() | -- | bool | Se o muro de escudo esta ativo |
initialize_shield_wall(charges?) | int?=1 | nil | Ativa muro de escudo |
shield_wall_absorb_damage(player, damage) | tabela de entidade, double | bool | Tenta absorver dano |
deactivate_shield_wall() | -- | nil | Desativa muro de escudo |
start_zombie_necronomicon(target, file) | tabela de entidade, string | nil | Inicia necronomicon no alvo |
Tabela de Entidade Viva do EliteMobs ELITEMOBS
Tabelas de entidade criadas dentro de scripts de poderes do EliteMobs (de context.boss, dados de eventos, callbacks de zonas e consultas ao mundo) usam uma tabela de entidade viva estendida com metodos adicionais alem da Entidade Viva global. context.boss herda todos estes.
Propriedades
| Campo | Tipo | Descricao |
|---|
name | string | Nome de exibicao da entidade |
uuid | string | UUID da entidade |
entity_type | string | Nome do tipo da entidade |
is_player | bool | E um jogador |
is_monster | bool | E um monstro |
is_elite | bool | E uma entidade do EliteMobs |
is_valid | bool | A entidade ainda existe |
health | double | Vida atual (snapshot) |
maximum_health | double | Vida maxima (snapshot) |
current_location | location | Posicao da entidade (snapshot) |
game_mode | string | Modo de jogo (apenas jogadores) |
Metodos
| Metodo | Argumentos | Retorno | Descricao |
|---|
is_alive() | -- | bool | Se a entidade esta viva (verificacao ao vivo) |
is_ai_enabled() | -- | bool | Se a IA esta habilitada |
is_frozen() | -- | bool | Se o boss esta congelado (apenas CustomBossEntity) |
is_on_ground() | -- | bool | Se a entidade esta no chao |
is_healing() | -- | bool | Se o elite esta se curando |
get_location() | -- | location | Posicao atual (ao vivo) |
get_eye_location() | -- | location | Posicao dos olhos (ao vivo) |
get_height() | -- | double | Altura da entidade |
get_health() | -- | double | Vida atual (ao vivo) |
get_maximum_health() | -- | double | Vida maxima (ao vivo) |
get_velocity() | -- | vector | Vetor de velocidade atual |
deal_damage(amount) | double | nil | Causa dano generico |
deal_custom_damage(amount) | double | nil | Causa dano de ataque personalizado do boss do poder |
deal_damage_from_boss(amount) | double | nil | Causa dano atribuido a entidade boss do poder |
restore_health(amount) | double | nil | Cura a entidade (usa cura do EliteMobs se elite) |
play_sound_at_entity(sound, volume?, pitch?) | string (Sound), float?=1, float?=1 | nil | Reproduz som na entidade |
play_sound_at_self(sound, volume?, pitch?) | string (Sound), float?=1, float?=1 | nil | Reproduz som na entidade (alias) |
spawn_particle_at_self(particle, count?) | string (Particle) ou tabela, int?=1 | nil | Gera particula na entidade |
spawn_particles_at_location(loc, particle, count?) | location, especificacao de particula, int?=1 | nil | Gera particulas na localizacao |
teleport_to_location(location) | location | nil | Teleporta a entidade |
set_velocity_vector(vector) | vector | nil | Define velocidade |
set_gravity(enabled) | bool | nil | Define gravidade |
apply_push_vector(vector, additive?, delay?) | vector, bool?=false, int?=1 | nil | Aplica velocidade apos atraso. additive soma a velocidade existente |
push_relative_to(location, force?, extraX?, extraY?, extraZ?) | location, double?=1, double?=0, double?=0, double?=0 | nil | Empurra entidade para longe da localizacao |
set_custom_name(name) | string | nil | Define nome de exibicao personalizado. Suporta codigos de cor |
reset_custom_name() | -- | nil | Restaura nome para o padrao do EliteMobs |
set_custom_name_visible(visible) | bool | nil | Alterna visibilidade do nome |
set_ai_enabled(enabled, duration?) | bool, int?=0 | nil | Define estado da IA. Reverte automaticamente apos ticks de duracao |
set_awareness_enabled(enabled, duration?) | bool, int?=0 | nil | Define consciencia do mob. Reverte automaticamente apos ticks de duracao |
face_direction_or_location(target) | vetor ou location | nil | Vira para uma direcao ou olha para uma localizacao |
play_model_animation(name) | string | nil | Reproduz animacao do modelo FMM (requer modelo FMM) |
set_scale(scale, duration?) | double, int?=0 | nil | Define escala da entidade. Reverte automaticamente para 1.0 apos ticks de duracao |
set_invulnerable(enabled, duration?) | bool, int?=0 | nil | Define invulneravel. Reverte automaticamente apos ticks de duracao |
set_healing(enabled) | bool | nil | Define estado de cura do elite |
navigate_to_location(location, speed?, force?, timeout?) | location, double?=1, bool?=false, int?=0 | nil | Navega ate a localizacao (apenas CustomBossEntity) |
add_tag(tag, ticks?) | string, int?=0 | nil | Adiciona tag, remove automaticamente apos ticks |
remove_tag(tag) | string | nil | Remove tag |
has_tag(tag) | string | bool | Verifica tag |
overlaps_box_at_location(center, halfX?, halfY?, halfZ?) | location, double?=0.5, double?=halfX, double?=halfX | bool | Se a caixa delimitadora da entidade sobrepoe uma caixa na localizacao |
remove_elite() | -- | nil | Remove via pipeline de remocao do EliteMobs |
apply_potion_effect(type, duration, amplifier?) | string (PotionEffectType), int, int?=0 | nil | Aplica efeito de pocao |
set_equipment(slot, material, options?) | string (EquipmentSlot), string (Material), table | nil | Define item no slot de equipamento |
set_fire_ticks(ticks) | int | nil | Define ticks de fogo |
add_visual_freeze_ticks(ticks?) | int?=1 | nil | Adiciona ticks visuais de congelamento |
place_temporary_block(material, ticks?, visual?) | string (Material), int?=0, bool?=false | nil | Coloca bloco temporario na posicao da entidade |
Opcoes do set_equipment
| Opcao | Tipo | Padrao | Descricao |
|---|
unbreakable | bool | false | Torna o item inquebravel |
enchantments | table | -- | Array de tabelas {type = "ENCHANT_NAME", level = 1} |
Metodos de Jogador do EliteMobs
Jogadores em scripts do EliteMobs possuem todos os metodos de entidade viva do EliteMobs mais:
| Metodo | Argumentos | Retorno | Descricao |
|---|
send_message(text) | string | nil | Envia mensagem de chat. Suporta codigos de cor |
show_action_bar(text) | string | nil | Mostra texto na barra de acao. Suporta codigos de cor |
show_title(title, subtitle?, fadeIn?, stay?, fadeOut?) | string, string?="", int?=10, int?=40, int?=10 | nil | Mostra tela de titulo. Suporta codigos de cor |
show_boss_bar(title, color?, style?, duration?) | string, string (BarColor)?=WHITE, string (BarStyle)?=SOLID, int?=40 | nil | Mostra barra de boss. Auto-oculta apos ticks de duracao. Suporta codigos de cor |
run_command(command) | string | nil | Executa comando como jogador |
Tabela de Referencia de Entidade do EliteMobs
Entidades nao-vivas (projeteis, blocos caindo, fogos de artificio) retornadas por metodos de spawn do EliteMobs recebem uma tabela de referencia leve:
| Campo / Metodo | Argumentos | Retorno | Descricao |
|---|
name | -- | string | Nome da entidade |
uuid | -- | string | UUID da entidade |
entity_type | -- | string | Nome do tipo da entidade |
is_player | -- | bool | Sempre false |
is_elite | -- | bool | Sempre false |
is_valid() | -- | bool | Se a entidade ainda e valida (verificacao ao vivo) |
current_location | -- | location | Posicao (snapshot) |
get_location() | -- | location | Posicao atual (ao vivo) |
get_velocity() | -- | vector | Vetor de velocidade atual |
is_on_ground() | -- | bool | Se a entidade esta no chao |
teleport_to_location(location) | location | nil | Teleporta a entidade |
set_velocity_vector(vector) | vector | nil | Define velocidade |
set_direction_vector(vector) | vector | nil | Define direcao (apenas bolas de fogo) |
set_yield(amount) | double | nil | Define rendimento da bola de fogo |
set_gravity(enabled) | bool | nil | Define gravidade |
detonate() | -- | nil | Detona fogos de artificio |
remove() | -- | nil | Remove entidade |
unregister(reason?) | string?=OTHER | nil | Remove registro do rastreador de entidades do EliteMobs |
context.players ELITEMOBS
Tabela de consulta de jogadores disponivel em scripts de poderes do EliteMobs. Fornece metodos auxiliares para encontrar jogadores em relacao ao boss.
| Metodo | Argumentos | Retorno | Descricao |
|---|
current_target() | -- | jogador ou nil | Ator do evento se for jogador, ou alvo atual do mob se for jogador |
nearby_players(radius) | double | table | Array de tabelas de jogadores dentro do raio do boss |
all_players_in_world() | -- | table | Array de todas as tabelas de jogadores no mundo do boss |
context.entities ELITEMOBS
Tabela de consulta de entidades disponivel em scripts de poderes do EliteMobs. Fornece metodos auxiliares para encontrar entidades em relacao ao boss. Todas as consultas excluem o proprio boss.
| Metodo | Argumentos | Retorno | Descricao |
|---|
get_nearby_entities(radius, filter?) | double, string?="living" | table | Entidades dentro do raio. Filtro: "living", "all", "entities" |
get_entities_in_box(center, halfX, halfY, halfZ, filter?) | location, double, double, double, string?="living" | table | Entidades dentro de uma caixa alinhada aos eixos |
get_all_entities(filter?) | string?="living" | table | Todas as entidades no mundo do boss |
get_direct_target_entity() | -- | entidade ou nil | Entidade alvo direta do evento de acionamento |
get_boss_spawn_location() | -- | location | Localizacao original de spawn do boss |
context.vectors ELITEMOBS
Utilitarios de matematica vetorial disponiveis em scripts de poderes do EliteMobs.
| Metodo | Argumentos | Retorno | Descricao |
|---|
get_vector_between_locations(from, to, options?) | location, location, table | vector | Vetor da origem ao destino. Opcoes podem modificar o resultado |
rotate_vector(vector, pitch?, yaw?) | vector, double?=0, double?=0 | vector | Rotaciona vetor por pitch e yaw (graus) |
normalize_vector(vector) | vector | vector | Normaliza para comprimento unitario |
context.cooldowns GLOBAL
Gerenciamento de cooldowns. Cooldowns locais sao por instancia de script; cooldowns globais sao compartilhados entre todos os scripts na mesma entidade/dono. Se nenhuma chave for fornecida, o padrao e o nome do arquivo do script.
| Metodo | Argumentos | Retorno | Descricao |
|---|
local_ready(key?) | string (opcional) | bool | Se o cooldown local expirou |
local_remaining(key?) | string (opcional) | int | Ticks restantes no cooldown local (0 se pronto) |
check_local(key?, duration) | string (opcional), int | bool | Se pronto, inicia o cooldown e retorna true; caso contrario false |
set_local(duration, key?) | long, string (opcional) | nil | Define cooldown local pela duracao em ticks |
global_ready() | — | bool | Se o cooldown global expirou |
set_global(duration) | long | nil | Define cooldown global pela duracao em ticks |
Em scripts de poderes do EliteMobs, cooldowns locais sao compartilhados entre todos os poderes na mesma entidade de boss, e cooldowns globais usam o sistema de cooldown de poderes integrado do boss.
context.scheduler GLOBAL
Agendamento de tarefas. Todas as tarefas sao automaticamente canceladas quando o script e encerrado.
Variante Global (Magmacore)
| Metodo | Argumentos | Retorno | Descricao |
|---|
run_later(ticks, callback) | int, function | int | Executa callback apos ticks. Retorna ID da tarefa |
run_repeating(delay, interval, callback) | int, int, function | int | Executa callback a cada interval ticks apos atraso inicial. Retorna ID da tarefa |
cancel(taskId) | int | nil | Cancela uma tarefa agendada |
Variante EliteMobs
| Metodo | Argumentos | Retorno | Descricao |
|---|
run_after(ticks, callback) | int, function | int | Executa callback apos ticks. Retorna ID da tarefa |
run_every(ticks, callback) | int, function | int | Executa callback a cada N ticks. Retorna ID da tarefa |
cancel_task(taskId) | int | nil | Cancela uma tarefa agendada |
context.log GLOBAL
Utilitarios de log para depuracao de scripts.
| Metodo | Argumentos | Retorno | Descricao |
|---|
info(message) | string | nil | Registra mensagem de informacao |
warn(message) | string | nil | Registra mensagem de aviso |
error(message) | string | nil | Registra mensagem de erro/aviso |
debug(message) | string | nil | Registra mensagem de depuracao (aparece como info com prefixo debug) |
context.zones GLOBAL
Criacao e monitoramento de zonas. Disponivel em todos os tipos de script.
Variante Global (Magmacore)
| Metodo | Argumentos | Retorno | Descricao |
|---|
create_sphere(x, y, z, radius) | num, num, num, num | int | Cria zona esferica, retorna handle |
create_cylinder(x, y, z, radius, height) | num, num, num, num, num | int | Cria zona cilindrica, retorna handle |
create_cuboid(x, y, z, xSize, ySize, zSize) | num, num, num, num, num, num | int | Cria zona cuboide, retorna handle |
watch(handle, on_enter?, on_leave?) | int, function, function | bool | Inicia rastreamento de eventos de entrada/saida de jogadores na zona |
unwatch(handle) | int | nil | Para o rastreamento da zona |
Variante EliteMobs
| Metodo | Argumentos | Retorno | Descricao |
|---|
get_entities_in_zone(zone, options?) | zone table, table | table | Obtem entidades dentro da zona. Opcoes: filter, mode |
get_locations_in_zone(zone, options?) | zone table, table | table | Obtem localizacoes dentro da zona. Opcoes: coverage, mode |
zone_contains(zone, location, mode?) | zone table, location, string?="full" | bool | Se a localizacao esta dentro da zona ("full" ou "border") |
watch_zone(zone, callbacks, mode?) | zone table, table, string?="full" | int | Monitora zona para entrada/saida. Callbacks: {on_enter = fn, on_leave = fn} |
context.event GLOBAL
Tabela de dados do evento para o hook que acionou a execucao atual do script. Presente apenas durante hooks orientados a eventos (nao em on_tick).
Variante Global (Magmacore)
| Campo / Metodo | Tipo | Descricao |
|---|
is_cancelled | bool | Se o evento esta atualmente cancelado |
cancel() | method | Cancela o evento |
uncancel() | method | Descancela o evento |
player | entity table | Jogador envolvido no evento (se houver) |
Para a tabela de eventos do EliteMobs (que fornece quantidades de dano, causas de dano, etc.), veja Tabela de Eventos do EliteMobs.
context.script ELITEMOBS
Ponte para o sistema Elite Script do EliteMobs. Permite que poderes Lua usem os sistemas de targeting, zona e vetores relativos baseados em YAML atraves de tabelas Lua com os mesmos nomes de campo das configuracoes YAML do Elite Script.
Metodos
| Metodo | Argumentos | Retorno | Descricao |
|---|
target(spec) | table | target handle | Cria um handle de alvo a partir de uma tabela de especificacao de alvo do Elite Script |
zone(spec) | table | zone handle | Cria um handle de zona a partir de uma tabela de especificacao de zona do Elite Script |
relative_vector(spec, location?, zone?) | table, location, zone handle | vector handle | Cria um vetor relativo a partir de uma especificacao de vetor do Elite Script |
damage(target, amount?, multiplier?) | target handle, double?=0, double?=1 | nil | Causa dano a todas as entidades no alvo |
push(target, vector, additive?) | target handle, vector ou vector handle, bool?=false | nil | Empurra entidades alvo com velocidade |
set_facing(target, vector) | target handle, vector ou vector handle | nil | Define a direcao que as entidades alvo estao olhando |
spawn_particles(target, particles) | target handle, table ou string | nil | Gera particulas nas localizacoes do alvo |
Target Handle
Retornado por context.script:target(spec). A tabela de especificacao usa as mesmas chaves das configuracoes YAML de alvo do Elite Script (ex., {targetType = "NEARBY_PLAYERS", range = 20}).
| Metodo | Argumentos | Retorno | Descricao |
|---|
entities() | — | table | Array de tabelas de entidade no alvo |
locations() | — | table | Array de tabelas de localizacao no alvo |
first_entity() | — | entity ou nil | Primeira entidade no alvo |
first_location() | — | location ou nil | Primeira localizacao no alvo |
Zone Handle
Retornado por context.script:zone(spec). A tabela de especificacao usa as mesmas chaves das configuracoes YAML de zona do Elite Script (ex., {shape = "SPHERE", radius = 5, target = {targetType = "SELF"}}).
| Metodo | Argumentos | Retorno | Descricao |
|---|
full_target(coverage?) | number | target handle | Handle de alvo para localizacoes interiores da zona |
border_target(coverage?) | number | target handle | Handle de alvo para localizacoes na borda da zona |
full_locations(coverage?) | number | table | Array de localizacoes interiores |
border_locations(coverage?) | number | table | Array de localizacoes na borda |
full_entities() | — | table | Entidades dentro da zona |
border_entities() | — | table | Entidades na borda da zona |
contains(location, mode?) | location, string?="full" | bool | Se a localizacao esta na zona |
watch(callbacks, mode?) | table, string?="full" | int | Monitora entrada/saida. Retorna ID da tarefa |
Vector Handle
Retornado por context.script:relative_vector(spec). A tabela de especificacao usa as mesmas chaves das configuracoes YAML de vetor relativo do Elite Script.
| Metodo | Argumentos | Retorno | Descricao |
|---|
resolve() | — | vector | Calcula o vetor para o contexto atual |
context.world (EliteMobs) ELITEMOBS
Tabela de mundo estendida para scripts de poderes do EliteMobs. Adiciona spawn especifico de bosses, verificacoes de blocos e efeitos sobre a tabela de mundo global.
Consultas de Blocos
| Metodo | Argumentos | Retorno | Descricao |
|---|
get_block_type_at_location(loc) | location | string ou nil | Nome do Material |
get_highest_block_y_at_location(loc) | location | int ou nil | Y do bloco mais alto |
get_blast_resistance_at_location(loc) | location | double | Valor de resistencia a explosao |
is_air_at_location(loc) | location | bool | O bloco e ar |
is_passable_at_location(loc) | location | bool | O bloco e transitavel |
is_passthrough_at_location(loc) | location | bool | O bloco nao e solido |
is_on_floor_at_location(loc) | location | bool | Ar com bloco solido abaixo |
is_standing_on_material(loc, material) | location, string (Material) | bool | O bloco abaixo corresponde ao material |
Manipulacao de Blocos
| Metodo | Argumentos | Retorno | Descricao |
|---|
set_block_at_location(loc, material, visual?) | location, string (Material), bool?=false | nil | Coloca bloco. visual=true para bloco falso |
place_temporary_block_at_location(loc, material, ticks?, visual?) | location, string, int?=0, bool?=false | nil | Coloca bloco, remove automaticamente apos ticks |
Spawn
| Metodo | Argumentos | Retorno | Descricao |
|---|
spawn_boss_at_location(file, loc?, level?) | string, location?=loc do boss, int?=nivel do boss | entidade ou nil | Gera boss personalizado |
spawn_custom_boss_at_location(file, loc, options?) | string, location, table | entidade ou nil | Gera boss com opcoes (level, silent, add_as_reinforcement, velocity) |
spawn_entity_at_location(type, loc, options?) | string (EntityType), location, table | entity | Gera entidade vanilla com opcoes (velocity, duration, effect, on_land, max_ticks) |
spawn_falling_block_at_location(loc, material, options?) | location, string (Material), table | entity | Gera bloco caindo (drop_item, hurt_entities, velocity, on_land) |
spawn_reinforcement_at_location(file, loc, level?, velocity?) | string, location, int?=0, vector | entidade ou nil | Gera reforco vinculado ao boss |
spawn_fireworks_at_location(loc, config) | location, table | entidade ou nil | Gera fogos de artificio |
spawn_splash_potion_at_location(loc, config) | location, table | entidade ou nil | Gera pocao de splash |
Efeitos e Utilidades
| Metodo | Argumentos | Retorno | Descricao |
|---|
play_sound_at_location(loc, sound, volume?, pitch?) | location, string (Sound), float?=1, float?=1 | nil | Reproduz som |
spawn_particle_at_location(loc, particle, count?) | location, string (Particle) ou tabela, int?=1 | nil | Gera particulas |
strike_lightning_at_location(loc) | location | nil | Gera raio (ignora protecao do EM) |
run_empowered_lightning_task_at_location(loc) | location | nil | Efeito de raio potencializado |
generate_fake_explosion(locations, center?) | tabela de localizacoes, location | nil | Explosao visual sem dano |
spawn_fake_gold_nugget_at_location(loc, velocity, gravity?) | location, vector, bool?=false | projetil falso | Gera projetil visual de pepita de ouro |
run_fake_gold_nugget_damage(projectiles) | table | nil | Executa verificacao de dano em projeteis falsos |
set_world_time(time) or (loc, time) | long, ou location + long | nil | Define tempo do mundo |
set_world_weather(weather, duration?) or (loc, weather, duration?) | string (CLEAR, RAIN, PRECIPITATION, THUNDER), int?=6000 | nil | Define clima |
run_console_command(command) | string | nil | Executa comando de console |
generate_player_loot(level?) | int?=1 | nil | Gera loot para atacantes |
drop_bonus_coins(multiplier?) | double?=2 | nil | Dropa moedas bonus no boss |
context.settings (EliteMobs)
| Metodo | Argumentos | Retorno | Descricao |
|---|
warning_visual_effects_enabled() | -- | bool | Se os VFX de aviso estao habilitados na configuracao |
Tabela de Evento do EliteMobs
A tabela context.event e passada para hooks de dano e spawn. Os campos variam conforme o tipo de evento.
| Campo / Metodo | Tipo | Presente Quando | Descricao |
|---|
damage_amount | double | Eventos de dano | Quantidade de dano bruto |
damage_cause | string | Eventos de dano | Nome da DamageCause |
damager | tabela de entidade | Eventos de dano por entidade | Entidade que causou o dano |
projectile | tabela de entidade | Eventos de dano por projetil | Projetil que causou o dano |
spawn_reason | string | Evento de spawn | Nome do motivo de spawn |
entity | tabela de entidade | Eventos de morte/zona | Entidade relevante |
cancel_event() | metodo | Maioria dos eventos | Cancela o evento |
set_damage_amount(amount) | metodo (double) | Eventos de dano | Sobrescreve a quantidade de dano |
multiply_damage_amount(multiplier) | metodo (double) | Eventos de dano | Multiplica o dano atual |
context.item FMM
Acessado em scripts de itens do FMM. Resolve o item com script especifico dos slots equipados do jogador via tag PDC.
Propriedades
| Campo | Tipo | Descricao |
|---|
id | string | Identificador de script do item |
Metodos
| Metodo | Argumentos | Retorno | Descricao |
|---|
material() | -- | string | Nome do Material |
get_amount() | -- | int | Tamanho da pilha |
set_amount(n) | int | nil | Define tamanho da pilha |
consume(n?) | int?=1 | nil | Decrementa quantidade em n, remove se zero |
get_uses() | -- | int | Contador de usos armazenado no PDC |
set_uses(n) | int | nil | Define contador de usos no PDC |
get_durability() | -- | tabela ou nil | Retorna campos current e max, ou nil se nao tiver barra de durabilidade |
get_durability_percentage() | -- | number ou nil | Fracao restante de 0.0 a 1.0, ou nil |
use_durability(amount, can_break?) | int, bool?=false | nil | Reduz durabilidade por quantidade fixa. Quando false, limita a 1 restante |
use_durability_percentage(fraction, can_break?) | number, bool?=false | nil | Reduz durabilidade por fracao do maximo (0.0--1.0) |
get_name() | -- | string ou nil | Nome de exibicao |
set_name(s) | string | nil | Define nome de exibicao. Suporta codigos de cor |
get_lore() | -- | table | Array de strings de lore |
set_lore(table) | table | nil | Define lore a partir de array de strings |
context.prop FMM
Acessado em scripts de props do FMM. Herda todos os campos de Entidade do armor stand base.
Propriedades
| Campo | Tipo | Descricao |
|---|
model_id | string | Nome do blueprint do modelo |
current_location | location | Posicao atual do prop |
Metodos
| Metodo | Argumentos | Retorno | Descricao |
|---|
play_animation(name, blend?, loop?) | string, bool?=true, bool?=true | bool | Reproduz animacao nomeada |
stop_animation() | -- | nil | Para todas as animacoes atuais |
hurt_visual() | -- | nil | Flash de tonalidade vermelha, sem dano |
pickup() | -- | nil | Remove prop e dropa item de posicionamento |
has_mount_points() | -- | bool | Se o prop tem bones de ponto de montagem |
mount(player) | tabela de entidade | bool | Monta jogador no primeiro assento disponivel |
dismount(player) | tabela de entidade | bool | Desmonta jogador |
get_passengers() | -- | table | Array de tabelas de entidade para jogadores montados |
spawn_elitemobs_boss(file, x, y, z) | string, num, num, num | entidade ou nil | Gera boss do EliteMobs (requer EliteMobs) |
open_inventory(player, title, rows?) | tabela de entidade, string, int?=3 | bool | Abre inventario persistente de bau (1--6 linhas). Titulo suporta codigos de cor |
place_book(player) | tabela de entidade | bool | Armazena livro escrito do jogador no prop |
read_book(player) | tabela de entidade | bool | Abre livro armazenado para leitura |
take_book(player) | tabela de entidade | bool | Retorna livro armazenado ao jogador |
has_book() | -- | bool | Se um livro esta armazenado |
drop_inventory() | -- | bool | Dropa todos os itens armazenados e limpa |
drop_book() | -- | bool | Dropa livro armazenado e limpa |
is_viewing_inventory(player) | tabela de entidade | bool | Se o jogador esta com o inventario deste prop aberto |
set_persistent_data(key, value) | string, string | bool | Armazena string no PDC do prop |
get_persistent_data(key) | string | string ou nil | Recupera string do PDC do prop |
Codigos de Cor
Todos os metodos marcados como suportando codigos de cor usam o ChatColorConverter do Magmacore. Estes formatos podem ser misturados livremente em qualquer string:
Codigos legados
Use & seguido de um caractere de cor/formato:
| Codigo | Cor | Codigo | Formato |
|---|
&0 | Preto | &l | Negrito |
&1 | Azul Escuro | &m | Tachado |
&2 | Verde Escuro | &n | Sublinhado |
&3 | Ciano Escuro | &o | Italico |
&4 | Vermelho Escuro | &r | Resetar |
&5 | Roxo Escuro | | |
&6 | Dourado | | |
&7 | Cinza | | |
&8 | Cinza Escuro | | |
&9 | Azul | | |
&a | Verde | | |
&b | Ciano | | |
&c | Vermelho | | |
&d | Roxo Claro | | |
&e | Amarelo | | |
&f | Branco | | |
Cores hexadecimais
Cor RGB exata usando hex de 6 digitos:
&#FF5500 -- prefixo com &
<#FF5500> -- sintaxe de tag
Gradientes
Interpola suavemente entre duas ou mais cores ao longo do texto:
<gradient:#FF0000:#0000FF>This text fades red to blue</gradient>
<g:#FF0000:#00FF00:#0000FF>Three-color gradient</g>
A forma curta g funciona de forma identica a gradient. Voce pode encadear quantas paradas de cor quiser.
Arco-iris
Percorre todo o espectro de matiz. Saturacao opcional (0--100):
<rainbow>Full rainbow text</rainbow>
<r:50>Pastel rainbow (50% saturation)</r>
Tipos Comuns
location
{ x = number, y = number, z = number, yaw = number, pitch = number, world = string }
vector
{ x = number, y = number, z = number }
entity table
Qualquer tabela com um campo uuid. Tabelas de jogador e entidade do context funcionam diretamente:
context.player -- tabela de entidade valida
context.world:get_nearby_entities(x,y,z,r) -- retorna array de tabelas de entidade