Pular para o conteúdo principal

Referencia da API Lua

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

CampoTipoDescricao
uuidstringUUID da entidade
entity_typestringTipo da entidade (minusculas)
is_validboolA entidade ainda existe no mundo
is_deadboolA entidade esta morta
is_playerboolE um jogador
is_hostileboolE um monstro
is_passiveboolE um animal
is_eliteboolE uma entidade do EliteMobs
is_custom_bossboolE um boss personalizado do EliteMobs
is_significant_bossboolBoss personalizado com multiplicador de vida acima de 1 (encontro projetado)
is_modeledboolPossui um modelo FMM
is_propboolE um prop do FMM
current_locationlocationPosicao da entidade (x, y, z, yaw, pitch, world)
worldstringNome do mundo

Metodos

MetodoArgumentosRetornoDescricao
teleport(location)tabela de localizacaonilTeleporta a entidade
remove()--nilRemove a entidade do mundo
set_silent(enabled)boolnilDefine silencioso
set_invulnerable(enabled)boolnilDefine invulneravel
set_gravity(enabled)boolnilDefine gravidade
set_glowing(enabled)boolnilDefine brilho

Bridge: entity.elite

Presente apenas quando is_elite e verdadeiro. Preenchido via reflexao -- nao requer dependencia do EliteMobs.

CampoTipoDescricao
levelintNivel do mob elite
namestringNome de exibicao do elite
healthdoubleVida atual
max_healthdoubleVida maxima
is_custom_bossboolE um boss personalizado (tambem disponivel no nivel superior)
health_multiplierdoubleMultiplicador de vida definido na configuracao
damage_multiplierdoubleMultiplicador de dano definido na configuracao
remove()metodoRemove a entidade elite

Bridge: entity.model

Presente apenas quando is_modeled e verdadeiro. Preenchido via reflexao -- nao requer dependencia do FMM.

CampoTipoDescricao
model_idstringNome do blueprint do modelo
play_animation(name, blend?, loop?)metodoReproduz animacao. blend padrao e false, loop padrao e false
stop_animations()metodoPara todas as animacoes
remove()metodoRemove a entidade modelada

Tabela de Entidade Viva GLOBAL

Estende a Tabela de Entidade. Aplicada a todas as entidades vivas (mobs e jogadores).

Propriedades

CampoTipoDescricao
healthdoubleVida atual
maximum_healthdoubleVida maxima
namestringNome de exibicao da entidade
is_aliveboolA entidade nao esta morta

Metodos

MetodoArgumentosRetornoDescricao
damage(amount)doublenilCausa dano a entidade
push(x, y, z)double, double, doublenilAdiciona vetor de velocidade
set_facing(x, y, z)double, double, doublenilDefine direcao do olhar
add_potion_effect(type, duration, amplifier)string (PotionEffectType), int, intnilAplica efeito de pocao pelo nome
remove_potion_effect(type)string (PotionEffectType)nilRemove efeito de pocao pelo nome

context.player GLOBAL

Tabela de entidade do jogador. Herda todos os campos de Entidade e Entidade Viva.

Propriedades

CampoTipoDescricao
game_modestringsurvival, creative, adventure, spectator

Metodos

MetodoArgumentosRetornoDescricao
send_message(text)stringnilEnvia mensagem de chat. Suporta codigos de cor
get_held_item()--tabela ou nilRetorna campos type, amount, display_name, ou nil se mao vazia
consume_held_item(amount?)int (padrao 1)nilReduz a pilha do item na mao pela quantidade
has_item(material, amount?)string (Material), int (padrao 1)boolVerifica material no inventario
get_target_entity(range?)num (padrao 50)entidade ou nilRaycast para entidade que o jogador esta olhando
get_eye_location()--locationPosicao dos olhos do jogador
get_look_direction()--vectorVetor de direcao unitario
send_block_change(x, y, z, material, ticks?)int, int, int, string (Material), int (opcional)boolEnvia bloco falso. Restaura automaticamente apos ticks se fornecido
reset_block(x, y, z)int, int, intboolRestaura bloco falso para o real
sleep(x, y, z)num, num, numnilAnimacao de dormir na cama na localizacao
wake_up()--nilAcorda do sono
show_boss_bar(text, color?, progress, ticks?)string, string (BarColor, padrao WHITE), num, int (opcional)nilExibe barra de boss. Auto-oculta apos ticks. Suporta codigos de cor
hide_boss_bar()--nilRemove barra de boss
show_action_bar(text, ticks?)string, int (opcional)nilMostra 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, intnilMostra tela de titulo. Suporta codigos de cor

context.world GLOBAL

Operacoes no mundo. Disponivel em todos os tipos de script.

Propriedades

CampoTipoDescricao
namestringNome do mundo

Metodos

MetodoArgumentosRetornoDescricao
get_block_at(x, y, z)int, int, intstringNome do Material (minusculas)
set_block_at(x, y, z, material)int, int, int, string (Material)boolColoca bloco
get_highest_block_y(x, z)int, intintY 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?=0nilGera efeito de particulas
play_sound(sound, x, y, z, volume?, pitch?)string (Sound), num, num, num, float?=1, float?=1nilReproduz som
strike_lightning(x, y, z)num, num, numnilGera raio
get_time()--intTempo do mundo em ticks
set_time(ticks)longnilDefine tempo do mundo
get_nearby_entities(x, y, z, radius)num, num, num, numtableArray de tabelas de entidades
get_nearby_players(x, y, z, radius)num, num, num, numtableArray de tabelas de entidades de jogadores
spawn_entity(type, x, y, z)string (EntityType), num, num, numentityGera entidade vanilla
raycast(fx, fy, fz, dx, dy, dz, max?)num, num, num, num, num, num, num?=50tableRetorna 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?=falseboolColoca bloco que reverte automaticamente apos ticks
drop_item(x, y, z, material, amount?)num, num, num, string (Material), int?=1entityDropa entidade de item naturalmente na localizacao
spawn_firework(x, y, z, colors, type?, power?)num, num, num, table, string (FireworkEffect.Type)?=BALL, int?=1nilGera 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

CampoTipoDescricao
namestringNome de exibicao do boss
uuidstringUUID da entidade elite
healthdoubleVida atual (snapshot)
maximum_healthdoubleVida maxima (snapshot)
current_locationlocationPosicao do boss (snapshot)
levelintNivel do boss
damager_countintNumero de jogadores que causaram dano a este boss
is_in_combatboolO boss esta em combate
existsboolA entidade do boss existe

Metodos

MetodoArgumentosRetornoDescricao
is_alive()--boolSe a entidade do boss esta viva (verificacao ao vivo)
get_health()--doubleVida atual (ao vivo)
get_maximum_health()--doubleVida maxima (ao vivo)
get_location()--locationPosicao atual (ao vivo)
restore_health(amount)doublenilCura o boss
despawn()--nilRemove a entidade do boss
get_damager_count()--intContagem de atacantes ao vivo
add_tag(tag, ticks?)string, int?=0nilAdiciona tag, remove automaticamente apos ticks se definido
remove_tag(tag)stringnilRemove tag
has_tag(tag)stringboolVerifica tag
reset_custom_name()--nilRestaura nome para o padrao da configuracao
play_sound_at_self(sound, volume?, pitch?)string (Sound), float?=1, float?=1nilReproduz som no boss
play_sound_at_entity(sound, volume?, pitch?)string (Sound), float?=1, float?=1nilReproduz som no boss (alias)
spawn_particle_at_self(particle, count?)string (Particle) ou tabela, int?=1nilGera particula no boss
play_model_animation(name)stringnilReproduz animacao do modelo FMM (requer modelo FMM)
navigate_to_location(location, speed?, force?, timeout?)location, double?=1, bool?=false, int?=0nilNavega ate a localizacao
send_message(text, range?)string, double?=20nilEnvia mensagem para jogadores proximos. Suporta codigos de cor
get_nearby_players(range)doubletableArray de tabelas de jogadores dentro do alcance
get_target_player()--jogador ou nilAlvo atual do mob se for um jogador
get_nearby_players_in_zone(zone)tabela de zonatableJogadores dentro da forma da zona
get_ender_dragon_phase()--string ou nilNome da EnderDragon.Phase
set_ender_dragon_phase(phase)string (EnderDragon.Phase)nilDefine fase do ender dragon
summon_reinforcement(file, zone?, level?)string, zona ou nil, int?=0entidade ou nilGera boss de reforco
summon_projectile(type, origin, dest, speed?, options?)string (EntityType), location, location, double?=1, tableentityGera projetil rastreado

Opcoes do summon_projectile

OpcaoTipoPadraoDescricao
custom_damagenumber--Sobrescreve o dano do projetil
detonation_powerstring--Nivel de poder explosivo
yieldnumber--Rendimento da bola de fogo
incendiarybooltrueBola de fogo causa incendio
gravitybool--Habilita gravidade
glowingboolfalseDefine brilho
invulnerableboolfalseDefine invulneravel
persistentbooltrueDefine persistente
durationint0Remove automaticamente apos ticks
effectstring--EntityEffect para reproduzir ao gerar
spawn_at_originboolfalseGera na origem em vez de lancar do boss
direction_onlyboolfalseDefine direcao sem velocidade (bolas de fogo)
trackbooltrueRegistra como projetil elite
on_landfunction--Callback quando o projetil pousa: function(location, entity)
max_ticksint6000Ticks maximos antes do callback de pouso forcado

Metodos de Zona/Particula

MetodoArgumentosRetornoDescricao
spawn_particles_in_zone(zone, particle, ...)zona, especificacao de particula, coverage?=1.0nilPreenche zona com particulas
spawn_particles_in_zone_border(zone, particle, ...)zona, especificacao de particula, coverage?=1.0nilContorna zona com particulas
get_particles_from_self_toward_zone(zone, particle, speed?)zona, string, double?=0.1tableParticulas direcionais do boss para a zona
get_particles_toward_self(zone, particle, speed?)zona, string, double?=0.1tableParticulas direcionais da zona para o boss
spawn_particles_with_vector(particles)tablenilGera array de particulas direcionais

Suporte a Poderes Especiais

MetodoArgumentosRetornoDescricao
start_tracking_fireball_system(speed?)double?=0.5nilInicia IA de bola de fogo rastreadora
handle_spirit_walk_damage(cause)string (DamageCause)nilTrata dano de spirit walk por causa
shield_wall_is_active()--boolSe o muro de escudo esta ativo
initialize_shield_wall(charges?)int?=1nilAtiva muro de escudo
shield_wall_absorb_damage(player, damage)tabela de entidade, doubleboolTenta absorver dano
deactivate_shield_wall()--nilDesativa muro de escudo
start_zombie_necronomicon(target, file)tabela de entidade, stringnilInicia 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

CampoTipoDescricao
namestringNome de exibicao da entidade
uuidstringUUID da entidade
entity_typestringNome do tipo da entidade
is_playerboolE um jogador
is_monsterboolE um monstro
is_eliteboolE uma entidade do EliteMobs
is_validboolA entidade ainda existe
healthdoubleVida atual (snapshot)
maximum_healthdoubleVida maxima (snapshot)
current_locationlocationPosicao da entidade (snapshot)
game_modestringModo de jogo (apenas jogadores)

Metodos

MetodoArgumentosRetornoDescricao
is_alive()--boolSe a entidade esta viva (verificacao ao vivo)
is_ai_enabled()--boolSe a IA esta habilitada
is_frozen()--boolSe o boss esta congelado (apenas CustomBossEntity)
is_on_ground()--boolSe a entidade esta no chao
is_healing()--boolSe o elite esta se curando
get_location()--locationPosicao atual (ao vivo)
get_eye_location()--locationPosicao dos olhos (ao vivo)
get_height()--doubleAltura da entidade
get_health()--doubleVida atual (ao vivo)
get_maximum_health()--doubleVida maxima (ao vivo)
get_velocity()--vectorVetor de velocidade atual
deal_damage(amount)doublenilCausa dano generico
deal_custom_damage(amount)doublenilCausa dano de ataque personalizado do boss do poder
deal_damage_from_boss(amount)doublenilCausa dano atribuido a entidade boss do poder
restore_health(amount)doublenilCura a entidade (usa cura do EliteMobs se elite)
play_sound_at_entity(sound, volume?, pitch?)string (Sound), float?=1, float?=1nilReproduz som na entidade
play_sound_at_self(sound, volume?, pitch?)string (Sound), float?=1, float?=1nilReproduz som na entidade (alias)
spawn_particle_at_self(particle, count?)string (Particle) ou tabela, int?=1nilGera particula na entidade
spawn_particles_at_location(loc, particle, count?)location, especificacao de particula, int?=1nilGera particulas na localizacao
teleport_to_location(location)locationnilTeleporta a entidade
set_velocity_vector(vector)vectornilDefine velocidade
set_gravity(enabled)boolnilDefine gravidade
apply_push_vector(vector, additive?, delay?)vector, bool?=false, int?=1nilAplica velocidade apos atraso. additive soma a velocidade existente
push_relative_to(location, force?, extraX?, extraY?, extraZ?)location, double?=1, double?=0, double?=0, double?=0nilEmpurra entidade para longe da localizacao
set_custom_name(name)stringnilDefine nome de exibicao personalizado. Suporta codigos de cor
reset_custom_name()--nilRestaura nome para o padrao do EliteMobs
set_custom_name_visible(visible)boolnilAlterna visibilidade do nome
set_ai_enabled(enabled, duration?)bool, int?=0nilDefine estado da IA. Reverte automaticamente apos ticks de duracao
set_awareness_enabled(enabled, duration?)bool, int?=0nilDefine consciencia do mob. Reverte automaticamente apos ticks de duracao
face_direction_or_location(target)vetor ou locationnilVira para uma direcao ou olha para uma localizacao
play_model_animation(name)stringnilReproduz animacao do modelo FMM (requer modelo FMM)
set_scale(scale, duration?)double, int?=0nilDefine escala da entidade. Reverte automaticamente para 1.0 apos ticks de duracao
set_invulnerable(enabled, duration?)bool, int?=0nilDefine invulneravel. Reverte automaticamente apos ticks de duracao
set_healing(enabled)boolnilDefine estado de cura do elite
navigate_to_location(location, speed?, force?, timeout?)location, double?=1, bool?=false, int?=0nilNavega ate a localizacao (apenas CustomBossEntity)
add_tag(tag, ticks?)string, int?=0nilAdiciona tag, remove automaticamente apos ticks
remove_tag(tag)stringnilRemove tag
has_tag(tag)stringboolVerifica tag
overlaps_box_at_location(center, halfX?, halfY?, halfZ?)location, double?=0.5, double?=halfX, double?=halfXboolSe a caixa delimitadora da entidade sobrepoe uma caixa na localizacao
remove_elite()--nilRemove via pipeline de remocao do EliteMobs
apply_potion_effect(type, duration, amplifier?)string (PotionEffectType), int, int?=0nilAplica efeito de pocao
set_equipment(slot, material, options?)string (EquipmentSlot), string (Material), tablenilDefine item no slot de equipamento
set_fire_ticks(ticks)intnilDefine ticks de fogo
add_visual_freeze_ticks(ticks?)int?=1nilAdiciona ticks visuais de congelamento
place_temporary_block(material, ticks?, visual?)string (Material), int?=0, bool?=falsenilColoca bloco temporario na posicao da entidade

Opcoes do set_equipment

OpcaoTipoPadraoDescricao
unbreakableboolfalseTorna o item inquebravel
enchantmentstable--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:

MetodoArgumentosRetornoDescricao
send_message(text)stringnilEnvia mensagem de chat. Suporta codigos de cor
show_action_bar(text)stringnilMostra texto na barra de acao. Suporta codigos de cor
show_title(title, subtitle?, fadeIn?, stay?, fadeOut?)string, string?="", int?=10, int?=40, int?=10nilMostra tela de titulo. Suporta codigos de cor
show_boss_bar(title, color?, style?, duration?)string, string (BarColor)?=WHITE, string (BarStyle)?=SOLID, int?=40nilMostra barra de boss. Auto-oculta apos ticks de duracao. Suporta codigos de cor
run_command(command)stringnilExecuta 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 / MetodoArgumentosRetornoDescricao
name--stringNome da entidade
uuid--stringUUID da entidade
entity_type--stringNome do tipo da entidade
is_player--boolSempre false
is_elite--boolSempre false
is_valid()--boolSe a entidade ainda e valida (verificacao ao vivo)
current_location--locationPosicao (snapshot)
get_location()--locationPosicao atual (ao vivo)
get_velocity()--vectorVetor de velocidade atual
is_on_ground()--boolSe a entidade esta no chao
teleport_to_location(location)locationnilTeleporta a entidade
set_velocity_vector(vector)vectornilDefine velocidade
set_direction_vector(vector)vectornilDefine direcao (apenas bolas de fogo)
set_yield(amount)doublenilDefine rendimento da bola de fogo
set_gravity(enabled)boolnilDefine gravidade
detonate()--nilDetona fogos de artificio
remove()--nilRemove entidade
unregister(reason?)string?=OTHERnilRemove 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.

MetodoArgumentosRetornoDescricao
current_target()--jogador ou nilAtor do evento se for jogador, ou alvo atual do mob se for jogador
nearby_players(radius)doubletableArray de tabelas de jogadores dentro do raio do boss
all_players_in_world()--tableArray 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.

MetodoArgumentosRetornoDescricao
get_nearby_entities(radius, filter?)double, string?="living"tableEntidades dentro do raio. Filtro: "living", "all", "entities"
get_entities_in_box(center, halfX, halfY, halfZ, filter?)location, double, double, double, string?="living"tableEntidades dentro de uma caixa alinhada aos eixos
get_all_entities(filter?)string?="living"tableTodas as entidades no mundo do boss
get_direct_target_entity()--entidade ou nilEntidade alvo direta do evento de acionamento
get_boss_spawn_location()--locationLocalizacao original de spawn do boss

context.vectors ELITEMOBS

Utilitarios de matematica vetorial disponiveis em scripts de poderes do EliteMobs.

MetodoArgumentosRetornoDescricao
get_vector_between_locations(from, to, options?)location, location, tablevectorVetor da origem ao destino. Opcoes podem modificar o resultado
rotate_vector(vector, pitch?, yaw?)vector, double?=0, double?=0vectorRotaciona vetor por pitch e yaw (graus)
normalize_vector(vector)vectorvectorNormaliza 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.

MetodoArgumentosRetornoDescricao
local_ready(key?)string (opcional)boolSe o cooldown local expirou
local_remaining(key?)string (opcional)intTicks restantes no cooldown local (0 se pronto)
check_local(key?, duration)string (opcional), intboolSe pronto, inicia o cooldown e retorna true; caso contrario false
set_local(duration, key?)long, string (opcional)nilDefine cooldown local pela duracao em ticks
global_ready()boolSe o cooldown global expirou
set_global(duration)longnilDefine 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)

MetodoArgumentosRetornoDescricao
run_later(ticks, callback)int, functionintExecuta callback apos ticks. Retorna ID da tarefa
run_repeating(delay, interval, callback)int, int, functionintExecuta callback a cada interval ticks apos atraso inicial. Retorna ID da tarefa
cancel(taskId)intnilCancela uma tarefa agendada

Variante EliteMobs

MetodoArgumentosRetornoDescricao
run_after(ticks, callback)int, functionintExecuta callback apos ticks. Retorna ID da tarefa
run_every(ticks, callback)int, functionintExecuta callback a cada N ticks. Retorna ID da tarefa
cancel_task(taskId)intnilCancela uma tarefa agendada

context.log GLOBAL

Utilitarios de log para depuracao de scripts.

MetodoArgumentosRetornoDescricao
info(message)stringnilRegistra mensagem de informacao
warn(message)stringnilRegistra mensagem de aviso
error(message)stringnilRegistra mensagem de erro/aviso
debug(message)stringnilRegistra 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)

MetodoArgumentosRetornoDescricao
create_sphere(x, y, z, radius)num, num, num, numintCria zona esferica, retorna handle
create_cylinder(x, y, z, radius, height)num, num, num, num, numintCria zona cilindrica, retorna handle
create_cuboid(x, y, z, xSize, ySize, zSize)num, num, num, num, num, numintCria zona cuboide, retorna handle
watch(handle, on_enter?, on_leave?)int, function, functionboolInicia rastreamento de eventos de entrada/saida de jogadores na zona
unwatch(handle)intnilPara o rastreamento da zona

Variante EliteMobs

MetodoArgumentosRetornoDescricao
get_entities_in_zone(zone, options?)zone table, tabletableObtem entidades dentro da zona. Opcoes: filter, mode
get_locations_in_zone(zone, options?)zone table, tabletableObtem localizacoes dentro da zona. Opcoes: coverage, mode
zone_contains(zone, location, mode?)zone table, location, string?="full"boolSe a localizacao esta dentro da zona ("full" ou "border")
watch_zone(zone, callbacks, mode?)zone table, table, string?="full"intMonitora 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 / MetodoTipoDescricao
is_cancelledboolSe o evento esta atualmente cancelado
cancel()methodCancela o evento
uncancel()methodDescancela o evento
playerentity tableJogador 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

MetodoArgumentosRetornoDescricao
target(spec)tabletarget handleCria um handle de alvo a partir de uma tabela de especificacao de alvo do Elite Script
zone(spec)tablezone handleCria um handle de zona a partir de uma tabela de especificacao de zona do Elite Script
relative_vector(spec, location?, zone?)table, location, zone handlevector handleCria um vetor relativo a partir de uma especificacao de vetor do Elite Script
damage(target, amount?, multiplier?)target handle, double?=0, double?=1nilCausa dano a todas as entidades no alvo
push(target, vector, additive?)target handle, vector ou vector handle, bool?=falsenilEmpurra entidades alvo com velocidade
set_facing(target, vector)target handle, vector ou vector handlenilDefine a direcao que as entidades alvo estao olhando
spawn_particles(target, particles)target handle, table ou stringnilGera 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}).

MetodoArgumentosRetornoDescricao
entities()tableArray de tabelas de entidade no alvo
locations()tableArray de tabelas de localizacao no alvo
first_entity()entity ou nilPrimeira entidade no alvo
first_location()location ou nilPrimeira 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"}}).

MetodoArgumentosRetornoDescricao
full_target(coverage?)numbertarget handleHandle de alvo para localizacoes interiores da zona
border_target(coverage?)numbertarget handleHandle de alvo para localizacoes na borda da zona
full_locations(coverage?)numbertableArray de localizacoes interiores
border_locations(coverage?)numbertableArray de localizacoes na borda
full_entities()tableEntidades dentro da zona
border_entities()tableEntidades na borda da zona
contains(location, mode?)location, string?="full"boolSe a localizacao esta na zona
watch(callbacks, mode?)table, string?="full"intMonitora 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.

MetodoArgumentosRetornoDescricao
resolve()vectorCalcula 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

MetodoArgumentosRetornoDescricao
get_block_type_at_location(loc)locationstring ou nilNome do Material
get_highest_block_y_at_location(loc)locationint ou nilY do bloco mais alto
get_blast_resistance_at_location(loc)locationdoubleValor de resistencia a explosao
is_air_at_location(loc)locationboolO bloco e ar
is_passable_at_location(loc)locationboolO bloco e transitavel
is_passthrough_at_location(loc)locationboolO bloco nao e solido
is_on_floor_at_location(loc)locationboolAr com bloco solido abaixo
is_standing_on_material(loc, material)location, string (Material)boolO bloco abaixo corresponde ao material

Manipulacao de Blocos

MetodoArgumentosRetornoDescricao
set_block_at_location(loc, material, visual?)location, string (Material), bool?=falsenilColoca bloco. visual=true para bloco falso
place_temporary_block_at_location(loc, material, ticks?, visual?)location, string, int?=0, bool?=falsenilColoca bloco, remove automaticamente apos ticks

Spawn

MetodoArgumentosRetornoDescricao
spawn_boss_at_location(file, loc?, level?)string, location?=loc do boss, int?=nivel do bossentidade ou nilGera boss personalizado
spawn_custom_boss_at_location(file, loc, options?)string, location, tableentidade ou nilGera boss com opcoes (level, silent, add_as_reinforcement, velocity)
spawn_entity_at_location(type, loc, options?)string (EntityType), location, tableentityGera entidade vanilla com opcoes (velocity, duration, effect, on_land, max_ticks)
spawn_falling_block_at_location(loc, material, options?)location, string (Material), tableentityGera bloco caindo (drop_item, hurt_entities, velocity, on_land)
spawn_reinforcement_at_location(file, loc, level?, velocity?)string, location, int?=0, vectorentidade ou nilGera reforco vinculado ao boss
spawn_fireworks_at_location(loc, config)location, tableentidade ou nilGera fogos de artificio
spawn_splash_potion_at_location(loc, config)location, tableentidade ou nilGera pocao de splash

Efeitos e Utilidades

MetodoArgumentosRetornoDescricao
play_sound_at_location(loc, sound, volume?, pitch?)location, string (Sound), float?=1, float?=1nilReproduz som
spawn_particle_at_location(loc, particle, count?)location, string (Particle) ou tabela, int?=1nilGera particulas
strike_lightning_at_location(loc)locationnilGera raio (ignora protecao do EM)
run_empowered_lightning_task_at_location(loc)locationnilEfeito de raio potencializado
generate_fake_explosion(locations, center?)tabela de localizacoes, locationnilExplosao visual sem dano
spawn_fake_gold_nugget_at_location(loc, velocity, gravity?)location, vector, bool?=falseprojetil falsoGera projetil visual de pepita de ouro
run_fake_gold_nugget_damage(projectiles)tablenilExecuta verificacao de dano em projeteis falsos
set_world_time(time) or (loc, time)long, ou location + longnilDefine tempo do mundo
set_world_weather(weather, duration?) or (loc, weather, duration?)string (CLEAR, RAIN, PRECIPITATION, THUNDER), int?=6000nilDefine clima
run_console_command(command)stringnilExecuta comando de console
generate_player_loot(level?)int?=1nilGera loot para atacantes
drop_bonus_coins(multiplier?)double?=2nilDropa moedas bonus no boss

context.settings (EliteMobs)

MetodoArgumentosRetornoDescricao
warning_visual_effects_enabled()--boolSe 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 / MetodoTipoPresente QuandoDescricao
damage_amountdoubleEventos de danoQuantidade de dano bruto
damage_causestringEventos de danoNome da DamageCause
damagertabela de entidadeEventos de dano por entidadeEntidade que causou o dano
projectiletabela de entidadeEventos de dano por projetilProjetil que causou o dano
spawn_reasonstringEvento de spawnNome do motivo de spawn
entitytabela de entidadeEventos de morte/zonaEntidade relevante
cancel_event()metodoMaioria dos eventosCancela o evento
set_damage_amount(amount)metodo (double)Eventos de danoSobrescreve a quantidade de dano
multiply_damage_amount(multiplier)metodo (double)Eventos de danoMultiplica 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

CampoTipoDescricao
idstringIdentificador de script do item

Metodos

MetodoArgumentosRetornoDescricao
material()--stringNome do Material
get_amount()--intTamanho da pilha
set_amount(n)intnilDefine tamanho da pilha
consume(n?)int?=1nilDecrementa quantidade em n, remove se zero
get_uses()--intContador de usos armazenado no PDC
set_uses(n)intnilDefine contador de usos no PDC
get_durability()--tabela ou nilRetorna campos current e max, ou nil se nao tiver barra de durabilidade
get_durability_percentage()--number ou nilFracao restante de 0.0 a 1.0, ou nil
use_durability(amount, can_break?)int, bool?=falsenilReduz durabilidade por quantidade fixa. Quando false, limita a 1 restante
use_durability_percentage(fraction, can_break?)number, bool?=falsenilReduz durabilidade por fracao do maximo (0.0--1.0)
get_name()--string ou nilNome de exibicao
set_name(s)stringnilDefine nome de exibicao. Suporta codigos de cor
get_lore()--tableArray de strings de lore
set_lore(table)tablenilDefine 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

CampoTipoDescricao
model_idstringNome do blueprint do modelo
current_locationlocationPosicao atual do prop

Metodos

MetodoArgumentosRetornoDescricao
play_animation(name, blend?, loop?)string, bool?=true, bool?=trueboolReproduz animacao nomeada
stop_animation()--nilPara todas as animacoes atuais
hurt_visual()--nilFlash de tonalidade vermelha, sem dano
pickup()--nilRemove prop e dropa item de posicionamento
has_mount_points()--boolSe o prop tem bones de ponto de montagem
mount(player)tabela de entidadeboolMonta jogador no primeiro assento disponivel
dismount(player)tabela de entidadeboolDesmonta jogador
get_passengers()--tableArray de tabelas de entidade para jogadores montados
spawn_elitemobs_boss(file, x, y, z)string, num, num, numentidade ou nilGera boss do EliteMobs (requer EliteMobs)
open_inventory(player, title, rows?)tabela de entidade, string, int?=3boolAbre inventario persistente de bau (1--6 linhas). Titulo suporta codigos de cor
place_book(player)tabela de entidadeboolArmazena livro escrito do jogador no prop
read_book(player)tabela de entidadeboolAbre livro armazenado para leitura
take_book(player)tabela de entidadeboolRetorna livro armazenado ao jogador
has_book()--boolSe um livro esta armazenado
drop_inventory()--boolDropa todos os itens armazenados e limpa
drop_book()--boolDropa livro armazenado e limpa
is_viewing_inventory(player)tabela de entidadeboolSe o jogador esta com o inventario deste prop aberto
set_persistent_data(key, value)string, stringboolArmazena string no PDC do prop
get_persistent_data(key)stringstring ou nilRecupera 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:

CodigoCorCodigoFormato
&0Preto&lNegrito
&1Azul Escuro&mTachado
&2Verde Escuro&nSublinhado
&3Ciano Escuro&oItalico
&4Vermelho Escuro&rResetar
&5Roxo Escuro
&6Dourado
&7Cinza
&8Cinza Escuro
&9Azul
&aVerde
&bCiano
&cVermelho
&dRoxo Claro
&eAmarelo
&fBranco

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