Referência da API Lua
Esta referência é gerada a partir dos construtores de tabelas, enriquecedores e resolvedores de contexto de execução Lua atualmente em uso no MagmaCore, no FreeMinecraftModels e no EliteMobs.
Entity Table
A tabela de entidade do MagmaCore é a base para os valores genéricos de entidade; as tabelas Living Entity, Player e Prop do FreeMinecraftModels herdam-na.
Propriedades
| Campo | Tipo | Descrição |
|---|---|---|
uuid | string | UUID da entidade. |
entity_type | string | Tipo de entidade do Bukkit em minúsculas. |
is_valid | bool | Valor de validade em tempo real. |
is_dead | bool | Estado de morte em tempo real. |
current_location | table/nil | Localização {x, y, z, yaw, pitch, world} em tempo real. |
world | string/nil | Nome do mundo em tempo real. |
is_player | bool | Se a entidade é um jogador. |
is_hostile | bool | Se a entidade implementa Monster do Bukkit. |
is_passive | bool | Se a entidade implementa Animals do Bukkit. |
Métodos
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
teleport(location) | table | nil | Teletransporta para uma tabela de localização. |
remove() | — | nil | Remove a entidade se esta ainda for válida. |
set_silent(enabled) | bool | nil | Define o estado silencioso. |
set_invulnerable(enabled) | bool | nil | Define o estado de invulnerabilidade. |
set_gravity(enabled) | bool | nil | Define o estado de gravidade. |
set_glowing(enabled) | bool | nil | Define o estado de brilho. |
Entity Table: enriquecimento do EliteMobs
O enriquecedor do EliteMobs em execução acrescenta estes valores às tabelas de entidade do MagmaCore; elite só existe quando is_elite é verdadeiro.
Propriedades
| Campo | Tipo | Descrição |
|---|---|---|
is_elite | bool | Se o EliteMobs está atualmente a acompanhar a entidade. |
is_custom_boss | bool | Se o elite acompanhado é um custom boss. |
is_significant_boss | bool | Se é um custom boss com um multiplicador de vida superior a 1. |
elite | table/nil | Dados aninhados do EliteMobs em tempo real, presentes apenas para um elite resolvido. |
elite.level | int | Instantâneo do nível do elite. |
elite.name | string/nil | Instantâneo do nome apresentado do elite. |
elite.health | number | Vida em tempo real. |
elite.max_health | number | Vida máxima em tempo real. |
elite.is_custom_boss | bool | Se o elite é um custom boss. |
elite.health_multiplier | number | Instantâneo do multiplicador de vida configurado. |
elite.damage_multiplier | number | Instantâneo do multiplicador de dano configurado. |
Métodos
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
elite.remove() | — | nil | Remove o elite através do processo de remoção do EliteMobs. |
Entity Table: enriquecimento do FreeMinecraftModels
O enriquecedor do FreeMinecraftModels em execução acrescenta estes valores; model só existe quando is_modeled é verdadeiro, e os valores exclusivos de jogador só aparecem em tabelas de jogador.
Propriedades
| Campo | Tipo | Descrição |
|---|---|---|
is_modeled | bool | Se o FreeMinecraftModels resolve uma entidade com modelo. |
is_prop | bool | Se a entidade é um prop do FreeMinecraftModels assente num armor stand. |
model | table/nil | Dados de modelo aninhados, presentes apenas para uma entidade com modelo. |
model.model_id | string/nil | Identificador do blueprint do modelo. |
model.is_dynamic | bool | Se a entidade com modelo é dinâmica. |
is_op | bool | Estado de operador do servidor, apenas para jogadores. |
Métodos
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
model.play_animation(name, blend?=false, loop?=false) | string, bool?=false, bool?=false | bool | Reproduz uma animação do modelo e devolve se esta arrancou. |
model.stop_animations() | — | nil | Para todas as animações do modelo em curso. |
model.remove() | — | nil | Remove a entidade com modelo. |
has_permission(node) | string | bool | Verificação de permissão, apenas para jogadores. |
Living Entity Table
A tabela de entidade viva do MagmaCore herda todas as propriedades e métodos da Entity Table.
Propriedades
| Campo | Tipo | Descrição |
|---|---|---|
health | number | Vida em tempo real. |
maximum_health | number | Vida máxima em tempo real. |
name | string/nil | Nome Bukkit da entidade em tempo real. |
is_alive | bool | Inverso em tempo real do estado de morte do Bukkit. |
Métodos
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
damage(amount) | number | nil | Aplica dano do Bukkit. |
push(x, y, z) | number, number, number | nil | Adiciona um vetor à velocidade atual. |
set_facing(x, y, z) | number, number, number | nil | Vira a entidade para um vetor de direção. |
add_potion_effect(type, duration, amplifier) | string (PotionEffectType), int, int | nil | Adiciona um efeito de poção quando o tipo é resolvido. |
remove_potion_effect(type) | string (PotionEffectType) | nil | Remove um efeito de poção quando o tipo é resolvido. |
get_scale() | — | number | Devolve o atributo de escala, ou 1.0 quando indisponível. |
set_scale(value) | number | nil | Define o atributo de escala quando o servidor o suporta. |
Player Table
A tabela de jogador do MagmaCore herda todas as propriedades e métodos da Living Entity Table.
Propriedades
| Campo | Tipo | Descrição |
|---|---|---|
game_mode | string | Instantâneo do modo de jogo do Bukkit em minúsculas. |
Métodos
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
send_message(text) | string | nil | Envia texto processado pelo interpretador de cores do MagmaCore. |
get_held_item() | — | table/nil | Devolve {type, amount, display_name} para o item da mão principal, ou nil se a mão estiver vazia. |
consume_held_item(amount?=1) | int?=1 | nil | Agenda a redução da pilha da mão principal. |
has_item(material, amount?=1) | string (Material), int?=1 | bool | Testa se o inventário contém a quantidade pedida. |
get_target_entity(range?=50) | number?=50 | table/nil | Faz raycast para a entidade que o jogador está a olhar. |
get_eye_location() | — | table | Devolve a localização dos olhos. |
get_look_direction() | — | table | Devolve uma direção unitária {x, y, z}. |
send_block_change(x, y, z, material, ticks?=-1) | int, int, int, string (Material), int?=-1 | bool | Envia um bloco visível apenas para o cliente e, opcionalmente, repõe-no após ticks positivos; materiais inválidos ou que não sejam blocos devolvem false. |
reset_block(x, y, z) | int, int, int | bool | Agenda a reposição do bloco real para este jogador. |
sleep(x, y, z) | number, number, number | nil | Agenda uma animação de sono forçada e repõe o bloco substituído ao acordar. |
wake_up() | — | nil | Agenda o acordar do jogador quando este está a dormir. |
show_boss_bar(text, color?=WHITE, progress, ticks?=-1) | string, string (BarColor)?=WHITE, number, int?=-1 | nil | Substitui a barra de chefe sólida ativa do jogador e, opcionalmente, esconde-a após ticks positivos. |
hide_boss_bar() | — | nil | Remove a barra de chefe Lua ativa do jogador. |
show_action_bar(text, ticks?=-1) | string, int?=-1 | nil | Envia uma vez, ou repete a cada 40 ticks até terminar uma duração positiva. |
show_title(title, subtitle?="", fade_in, stay, fade_out) | string, string?="", int, int, int | nil | Mostra um título com texto de título e subtítulo processados para cor. |
World Table
A tabela de mundo do MagmaCore é exposta como context.world; os poderes de chefe do EliteMobs herdam-na e aplicam as substituições documentadas mais à frente.
Propriedades
| Campo | Tipo | Descrição |
|---|---|---|
name | string | Instantâneo do nome do mundo. |
Métodos
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
get_block_at(x, y, z) | int, int, int | string | Devolve um nome de Material em minúsculas, ou air sem carregar um chunk descarregado. |
set_block_at(x, y, z, material) | int, int, int, string (Material) | bool | Agenda a colocação do bloco; materiais inválidos devolvem false e os chunks descarregados são ignorados pela tarefa agendada. |
get_highest_block_y(x, z) | int, int | int | Devolve o Y do bloco mais alto. |
spawn_particle(particle, x, y, z, count?=1, dx?=0, dy?=0, dz?=0, speed?=0) | string (Particle), number, number, number, int?=1, number?=0, number?=0, number?=0, number?=0 | nil | Gera uma partícula; nomes inválidos não fazem nada. |
play_sound(sound, x, y, z, volume?=1, pitch?=1) | string (Sound), number, number, number, number?=1, number?=1 | nil | Reproduz um som registado ou uma chave de som de resource pack com namespace em minúsculas. |
strike_lightning(x, y, z) | number, number, number | nil | Invoca um relâmpago. |
get_time() | — | int | Devolve o tempo do mundo em ticks. |
set_time(ticks) | int | nil | Define o tempo do mundo. |
get_nearby_entities(x, y, z, radius) | number, number, number, number | table | Devolve tabelas Entity ou Living Entity próximas. |
get_nearby_players(x, y, z, radius) | number, number, number, number | table | Devolve tabelas Player próximas. |
spawn_entity(type, x, y, z) | string (EntityType), number, number, number | table/nil | Gera uma entidade vanilla; tipos inválidos devolvem nil. |
raycast(from_x, from_y, from_z, dir_x, dir_y, dir_z, max_distance?=50) | number, number, number, number, number, number, number?=50 | table | Devolve os valores hit_entity, hit_location e hit_block. |
place_temporary_block(x, y, z, material, ticks?=0, require_air?=false) | int, int, int, string (Material), int?=0, bool?=false | bool | Coloca um bloco temporário; materiais inválidos ou chunks descarregados devolvem false. |
drop_item(x, y, z, material, amount?=1) | number, number, number, string (Material), int?=1 | table/nil | Larga um item naturalmente e devolve a sua Entity Table; materiais inválidos devolvem nil. |
spawn_firework(x, y, z, colors, type?=BALL, power?=1) | number, number, number, table, string (FireworkEffect.Type)?=BALL, int?=1 | nil | Agenda um fogo de artifício usando nomes de constantes Color do Bukkit, ficando branco por omissão quando nenhum é resolvido. |
strike_lightning_at_location(location) | table | nil | Invoca um relâmpago no mundo da tabela de localização. |
play_sound_at_location(location, sound, volume?=1, pitch?=1) | table, string (Sound), number?=1, number?=1 | nil | Reproduz um som registado ou uma chave de som de resource pack com namespace em minúsculas. |
spawn_particle_at_location(location, particle, count?=1, dx?=0, dy?=0, dz?=0, speed?=0) | table, string (Particle), int?=1, number?=0, number?=0, number?=0, number?=0 | nil | Gera uma partícula no mundo da tabela de localização. |
get_block_at_location(location) | table | string | Devolve um nome de material em minúsculas, ou air para uma localização inválida ou um chunk descarregado. |
set_block_at_location(location, material) | table, string (Material) | bool | Agenda a colocação do bloco no mundo da tabela de localização. |
place_temporary_block_at_location(location, material, ticks?=0, require_air?=false) | table, string (Material), int?=0, bool?=false | bool | Coloca um bloco temporário no mundo da tabela de localização. |
get_highest_block_y_at_location(location) | table | int/nil | Devolve o Y do bloco mais alto, ou nil para uma localização inválida. |
context.world: adições do FreeMinecraftModels
O FreeMinecraftModels regista estes métodos na sua própria tabela de mundo do MagmaCore, pelo que aparecem em context.world nos scripts de item e de prop do FreeMinecraftModels. Todos os métodos devolvem false quando o EliteMobs não está ativo ou quando o jogador não é resolvido, e recorrem à localização do jogador quando o argumento de localização está em falta ou não é utilizável.
Métodos
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
drop_elitemobs_procedural_loot(player, level, location?) | table/string, int, table? | bool | Larga um item do EliteMobs gerado proceduralmente para o jogador; devolve false quando os drops de itens procedurais estão desativados. |
drop_elitemobs_random_loot(player, level, location?) | table/string, int, table? | bool | Sorteia as tabelas de loot do EliteMobs para o jogador no nível indicado. |
drop_elitemobs_custom_loot(player, file, level, location?) | table/string, string, int, table? | bool | Larga um ficheiro de item personalizado específico do EliteMobs para o jogador; devolve false quando o ficheiro não é resolvido. |
O argumento player aceita uma tabela de jogador, uma string de UUID ou um nome exato de jogador. O argumento location aceita uma tabela de localização ou uma tabela de entidade que inclua current_location.
Tabela auxiliar em
O MagmaCore expõe esta tabela globalmente antes de qualquer hook de script correr.
Propriedades
Os construtores auxiliares devolvem as tabelas de dados compactas indicadas abaixo.
| Campo | Tipo | Descrição |
|---|---|---|
location.x | number | Coordenada X devolvida por em.create_location. |
location.y | number | Coordenada Y devolvida por em.create_location. |
location.z | number | Coordenada Z devolvida por em.create_location. |
location.world | string/nil | Nome do mundo quando fornecido a em.create_location. |
location.yaw | number/nil | Yaw quando fornecido a em.create_location. |
location.pitch | number/nil | Pitch quando fornecido a em.create_location. |
vector.x | number | Componente X devolvida por em.create_vector. |
vector.y | number | Componente Y devolvida por em.create_vector. |
vector.z | number | Componente Z devolvida por em.create_vector. |
zone.kind | string | sphere, dome, cylinder, cuboid, cone, static_ray, rotating_ray ou translating_ray. |
zone.radius | number/nil | Raio de esfera, cúpula, cilindro ou cone. |
zone.height | number/nil | Altura do cilindro. |
zone.x | number/nil | Tamanho X do cuboide. |
zone.y | number/nil | Tamanho Y do cuboide. |
zone.z | number/nil | Tamanho Z do cuboide. |
zone.length | number/nil | Comprimento do cone ou do raio. |
zone.thickness | number/nil | Espessura do raio estático. |
zone.point_radius | number/nil | Raio do ponto do raio rotativo ou de translação. |
zone.animation_duration | number/nil | Duração da animação do raio rotativo ou de translação. |
zone.origin | table/nil | Localização definida por set_center ou set_origin. |
zone.destination | table/nil | Localização definida por set_destination. |
Métodos
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
em.create_location(x, y, z, world?, yaw?, pitch?) | number, number, number, string?, number?, number? | table | Devolve uma tabela de localização. |
em.create_vector(x, y, z) | number, number, number | table | Devolve uma tabela de vetor {x, y, z}. |
location.add(dx?=0, dy?=0, dz?=0) | number?=0, number?=0, number?=0 | table | Soma no local e devolve a mesma tabela de localização. |
em.zone.create_sphere_zone(radius) | number | table | Devolve uma definição de esfera com set_center(location). |
em.zone.create_dome_zone(radius) | number | table | Devolve uma definição de cúpula com set_center(location). |
em.zone.create_cylinder_zone(radius, height) | number, number | table | Devolve uma definição de cilindro com set_center(location). |
em.zone.create_cuboid_zone(x, y, z) | number, number, number | table | Devolve uma definição de cuboide com set_center(location). |
em.zone.create_cone_zone(length, radius) | number, number | table | Devolve uma definição de cone com set_origin(location) e set_destination(location). |
em.zone.create_static_ray_zone(length, thickness) | number, number | table | Devolve uma definição de raio estático com setters de origem e destino. |
em.zone.create_rotating_ray_zone(length, point_radius, animation_duration) | number, number, number | table | Devolve uma definição de raio rotativo com setters de origem e destino. |
em.zone.create_translating_ray_zone(length, point_radius, animation_duration) | number, number, number | table | Devolve uma definição de raio de translação com setters de origem e destino. |
zone.set_center(location) | table | table | Define o centro como zone.origin e devolve a mesma tabela de zona. |
zone.set_origin(location) | table | table | Define a origem e devolve a mesma tabela de zona. |
zone.set_destination(location) | table | table | Define o destino e devolve a mesma tabela de zona. |
em.location.is_in_dungeon(location) | table | bool | Testa as regiões de dungeon registadas e os proprietários que reportam o tipo dungeon. |
em.location.is_protected(location) | table | bool | Testa os adaptadores WorldGuard/GriefPrevention integrados e os proprietários de proteção registados por plugins. |
em.location.owned_by(location, namespace) | table, string | bool | Testa a propriedade por um namespace de plugin. |
em.location.owners(location) | table | table | Devolve um array de strings de namespace de proprietários. |
em.location.kinds_at(location) | table | table | Devolve um array de strings com os tipos de propriedade. |
em.location.has_kind(location, kind) | table, string | bool | Testa um tipo de propriedade. |
context.state
Cada instância de script do MagmaCore recebe uma tabela Lua simples que persiste durante o tempo de vida dessa instância. Use-a para contadores, flags, IDs de tarefas e valores partilhados entre hooks.
context.state.counter = (context.state.counter or 0) + 1
context.log
Métodos do MagmaCore, do FreeMinecraftModels e dos NPC do EliteMobs
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
info(message) | string | nil | Regista uma mensagem informativa com o prefixo Lua partilhado. |
warn(message) | string | nil | Regista um aviso. |
error(message) | string | nil | Regista através do canal de avisos partilhado. |
Métodos dos poderes de chefe do EliteMobs
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
info(message) | string | nil | Regista uma mensagem informativa de poder de chefe. |
warn(message) | string | nil | Regista um aviso. |
debug(message) | string | nil | Regista uma mensagem informativa com o prefixo de depuração dos poderes Lua. |
context.scheduler
As tarefas agendadas pertencem à instância do script e são canceladas quando esta termina. Ambas as famílias de nomes abaixo estão disponíveis nas superfícies partilhadas do MagmaCore e nos poderes de chefe do EliteMobs.
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
run_later(ticks, callback) | int, function | int | Corre uma vez após o atraso e devolve o ID da tarefa Bukkit. |
run_repeating(delay, interval, callback) | int, int, function | int | Corre repetidamente após um atraso inicial e devolve o ID da tarefa. |
cancel(task_id) | int | nil | Cancela uma tarefa própria. |
run_after(ticks, callback) | int, function | int | Alias de run_later. |
run_every(interval, callback) | int, function | int | Corre repetidamente sem atraso inicial e devolve o ID da tarefa. |
cancel_task(task_id) | int | nil | Alias de cancel. |
context.cooldowns
Os cooldowns locais são indexados para um proprietário de script e uma definição; os cooldowns globais são partilhados pelo mesmo proprietário. Omitir uma chave local usa __lua: seguido do nome do ficheiro do script. Os poderes de chefe do EliteMobs expõem os mesmos nomes de método, mas os valores locais usam o armazenamento de cooldowns partilhado do chefe e os valores globais usam o cooldown de poder integrado do mesmo.
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
local_ready(key?) | string? | bool | Testa se o cooldown local com essa chave está pronto. |
local_remaining(key?) | string? | int | Devolve os ticks restantes, ou 0 quando está pronto. |
check_local(key, duration) | string/nil, int | bool | Se estiver pronto, inicia o cooldown e devolve true. Passe nil para usar a chave predefinida. |
set_local(duration, key?) | int, string? | nil | Define ou limpa o cooldown local; uma duração não positiva limpa-o. |
global_ready() | — | bool | Testa se o cooldown global do proprietário está pronto. |
set_global(duration) | int | nil | Define o cooldown global em ticks. Nas superfícies partilhadas do MagmaCore, uma duração não positiva limpa-o. |
context.zones: superfície partilhada do MagmaCore
Os scripts do FreeMinecraftModels, os scripts de NPC do EliteMobs e outros consumidores predefinidos do MagmaCore recebem handles de zona inteiros no mundo do proprietário atual do script.
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
create_sphere(x, y, z, radius) | number, number, number, number | int/nil | Regista uma esfera e devolve o seu handle, ou nil quando o proprietário não tem mundo. |
create_cylinder(x, y, z, radius, height) | number, number, number, number, number | int/nil | Regista um cilindro e devolve o seu handle, ou nil quando o proprietário não tem mundo. |
create_cuboid(x, y, z, x_size, y_size, z_size) | number, number, number, number, number, number | int/nil | Regista um cuboide e devolve o seu handle, ou nil quando o proprietário não tem mundo. |
watch(handle, on_enter?, on_leave?) | int, function?, function? | bool/nil | Ativa o acompanhamento de fronteiras para um handle conhecido. A presença de uma função ativa o hook on_zone_enter ou on_zone_leave correspondente; o corpo da função fornecida não é chamado diretamente. |
unwatch(handle) | int | nil | Para o acompanhamento e remove o handle. |
Os hooks genéricos de zona expõem o jogador que atravessa a fronteira através de context.player e context.event.player.
context.event: superfície partilhada do MagmaCore
Esta tabela existe enquanto um hook partilhado tiver um evento Bukkit atual ou um ator. Está ausente nos callbacks agendados e nos hooks sem qualquer um desses valores.
| Campo ou método | Tipo | Descrição |
|---|---|---|
is_cancelled | bool | Estado de cancelamento capturado no momento em que a tabela de contexto foi construída; chamar cancel() ou uncancel() não atualiza este campo. |
cancel() | método | Cancela o evento atual. Presente apenas quando este implementa Cancellable do Bukkit. |
uncancel() | método | Anula o cancelamento do evento atual. Presente apenas quando este implementa Cancellable do Bukkit. |
player | table | Living Entity Table do ator atual, quando existe um. |
Os hooks genéricos de zona fornecem um ator mas nenhum evento Bukkit cancelável, pelo que expõem is_cancelled = false e player sem cancel() nem uncancel().
context.item
Os scripts de item do FreeMinecraftModels recebem esta tabela para o item com script equipado correspondente.
Propriedades
| Campo | Tipo | Descrição |
|---|---|---|
id | string | Identificador do item com script. |
Métodos
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
material() | — | string/nil | Devolve o nome do Material em maiúsculas, ou nil quando o item não está equipado. |
get_amount() | — | int | Devolve a quantidade da pilha, ou 0 quando não está equipado. |
set_amount(amount) | int | nil | Agenda a definição da quantidade da pilha. |
consume(amount?=1) | int?=1 | nil | Agenda a redução da quantidade da pilha. |
get_uses() | — | int | Devolve o contador de usos persistente, com 0 por omissão. |
set_uses(uses) | int | nil | Agenda a definição do contador de usos persistente. |
get_durability() | — | table/nil | Devolve {current, max}, ou nil quando o item não tem barra de durabilidade. |
get_durability_percentage() | — | number/nil | Devolve a durabilidade restante de 0.0 a 1.0, ou nil. |
use_durability(amount, can_break?=false) | int, bool?=false | nil | Agenda a aplicação de dano de durabilidade fixo e limita a uma unidade restante, salvo se for permitido partir o item. |
use_durability_percentage(fraction, can_break?=false) | number, bool?=false | nil | Agenda a aplicação de dano de durabilidade igual a uma fração da durabilidade máxima. |
get_name() | — | string/nil | Devolve o nome apresentado, ou nil quando não existe. |
set_name(name) | string | nil | Agenda a definição de um nome apresentado processado para cor. |
get_lore() | — | table | Devolve um array de strings de lore. |
set_lore(lore) | table | nil | Agenda a definição de strings de lore processadas para cor. |
context.prop
Os scripts de prop do FreeMinecraftModels recebem esta tabela, que herda a Entity Table do MagmaCore quando existe uma entidade de suporte.
Propriedades
| Campo | Tipo | Descrição |
|---|---|---|
model_id | string/nil | Nome do blueprint do modelo, ou nil quando não existe blueprint. |
current_location | table/nil | Localização do prop em tempo real. |
Métodos
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
play_animation(name, blend?=true, loop?=true) | string, bool?=true, bool?=true | bool | Reproduz a animação com esse nome. |
stop_animation() | — | nil | Para todas as animações em curso. |
hurt_visual() | — | nil | Reproduz o efeito visual vermelho de dano sem causar dano. |
pickup() | — | nil | Agenda a remoção permanente e larga um item de colocação. |
has_mount_points() | — | bool | Testa se o prop tem ossos de ponto de montagem. |
mount(player) | table | bool | Agenda a montagem de um jogador resolvido no primeiro assento disponível. |
dismount(player) | table | bool | Agenda a desmontagem de um jogador resolvido deste prop. |
get_passengers() | — | table | Devolve as Entity Tables dos jogadores montados. |
spawn_elitemobs_boss(file, x, y, z) | string, number, number, number | table/nil | Gera um custom boss do EliteMobs quando o EliteMobs está ativo. |
open_inventory(player, title, rows?=3) | table, string, int?=3 | bool | Agenda a abertura do armazenamento persistente com as linhas limitadas entre 1 e 6. |
place_book(player) | table | bool | Agenda o armazenamento de um livro escrito ou por escrever que esteja na mão, quando o prop não tem nenhum. |
read_book(player) | table | bool | Agenda a abertura de um livro escrito guardado. |
take_book(player) | table | bool | Agenda a devolução do livro guardado ao jogador. |
has_book() | — | bool | Testa se o prop guarda um livro. |
drop_inventory() | — | bool | Agenda a limpeza do armazenamento persistente e larga os seus itens. |
drop_book() | — | bool | Agenda a limpeza e a largada do livro guardado. |
is_viewing_inventory(player) | table | bool | Testa se o jogador está a ver o inventário acompanhado deste prop. |
set_persistent_data(key, value) | string, string | bool | Guarda uma string sob a chave fmm_lua_ com âmbito do prop. |
get_persistent_data(key) | string | string/nil | Devolve a string guardada, ou nil. |
context.npc
Os scripts de NPC do EliteMobs herdam os contextos partilhados do MagmaCore e acrescentam esta tabela específica de NPC.
Propriedades
| Campo | Tipo | Descrição |
|---|---|---|
name | string | Nome apresentado do NPC configurado. |
filename | string | Nome do ficheiro de configuração do NPC. |
uuid | string | UUID do NPC em tempo de execução. |
activation_radius | number | Raio de ativação configurado. |
current_location | table | Instantâneo da localização, presente apenas enquanto existir a entidade viva de suporte. |
entity_type | string | Tipo de entidade do Bukkit em maiúsculas, presente apenas enquanto existir a entidade viva de suporte. |
Métodos
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
is_valid() | — | bool | Testa se o NPC é válido. |
get_location() | — | table | Devolve a localização atual do NPC, recorrendo à sua localização de spawn. A tabela inclui também um vetor direction. |
get_eye_location() | — | table | Devolve a localização atual dos olhos, recorrendo à localização de spawn. A tabela inclui também um vetor direction. |
get_activation_radius() | — | number | Devolve o raio de ativação configurado atualmente. |
get_nearby_players(radius) | number | table | Devolve as Player Tables próximas. |
face_direction_or_location(target) | table | nil | Vira-se para um vetor de direção ou olha para uma localização. |
say_greeting(player?) | table/string? | nil | Envia a saudação configurada, usando por omissão o jogador que desencadeou a ação quando disponível. Aceita uma tabela de jogador, um UUID ou um nome. |
say_dialog(player?) | table/string? | nil | Envia o diálogo configurado com a mesma resolução de jogador. |
say_farewell(player?) | table/string? | nil | Envia a despedida configurada com a mesma resolução de jogador. |
play_model_animation(name) | string | nil | Reproduz uma animação de modelo quando existe um modelo personalizado. |
Tabela de referência de entidade dos poderes do EliteMobs
Os métodos dos poderes de chefe do EliteMobs devolvem esta tabela leve para entidades não vivas, como projéteis, fogos de artifício e blocos em queda.
Propriedades
| Campo | Tipo | Descrição |
|---|---|---|
name | string | Instantâneo do nome da entidade. |
uuid | string | UUID da entidade. |
entity_type | string | Instantâneo do tipo de entidade do Bukkit em maiúsculas. |
is_player | bool | Sempre false. |
is_elite | bool | Sempre false. |
is_mount | bool | False, exceto quando um chefe marca como true uma tabela de montada devolvida. |
current_location | table | Instantâneo da localização. |
Métodos
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
is_valid() | — | bool | Testa a validade em tempo real. |
get_location() | — | table | Devolve a localização em tempo real. |
get_velocity() | — | table | Devolve a velocidade em tempo real. |
is_on_ground() | — | bool | Testa o estado de contacto com o solo em tempo real. |
teleport_to_location(location) | table | nil | Teletransporta quando a localização é resolvida. |
set_velocity_vector(vector) | table | nil | Define a velocidade quando o vetor é resolvido. |
set_direction_vector(vector) | table | nil | Define a direção de uma bola de fogo quando aplicável. |
set_yield(amount) | number | nil | Define a potência da bola de fogo quando aplicável. |
set_gravity(enabled) | bool | nil | Define a gravidade. |
detonate() | — | nil | Detona quando a entidade é um fogo de artifício. |
remove() | — | nil | Remove a entidade. |
unregister(reason?=OTHER) | string?=OTHER | nil | Cancela o registo usando DEATH, PHASE_BOSS_RESET, PHASE_BOSS_PHASE_END, CHUNK_UNLOAD, WORLD_UNLOAD, SHUTDOWN, EFFECT_TIMEOUT, BOSS_TIMEOUT, NPC_TIMEOUT, OTHER, UNSPECIFIED_WATCHDOG_REMOVAL, REMOVE_COMMAND, KILL_COMMAND, REINFORCEMENT_CULL, ENTITY_REPLACEMENT ou ARENA_RESET. |
is_inside_vehicle() | — | bool | Testa se a entidade está a montar um veículo. |
has_vehicle() | — | bool | Testa se existe um veículo. |
get_vehicle() | — | table/nil | Devolve a referência do veículo atual. |
set_vehicle(vehicle) | table | bool | Faz esta entidade montar o veículo resolvido. |
leave_vehicle() | — | bool | Sai do veículo atual. |
has_passengers() | — | bool | Testa se existem passageiros. |
get_passenger_count() | — | int | Devolve o número de passageiros. |
get_passengers() | — | table | Devolve as referências dos passageiros. |
add_passenger(passenger) | table | bool | Adiciona o passageiro resolvido. |
remove_passenger(passenger) | table | bool | Remove o passageiro resolvido. |
eject_passengers() | — | bool | Ejeta todos os passageiros. |
Tabela de entidade viva dos poderes do EliteMobs
Os valores de entidade viva dos poderes de chefe do EliteMobs usam esta tabela separada; as tabelas Boss e de jogador dos poderes do EliteMobs herdam-na.
Propriedades
| Campo | Tipo | Descrição |
|---|---|---|
name | string | Instantâneo do nome da entidade. |
uuid | string | UUID da entidade. |
entity_type | string | Instantâneo do tipo de entidade do Bukkit em maiúsculas. |
is_player | bool | Se a entidade é um jogador. |
is_monster | bool | Se a entidade implementa Monster do Bukkit. |
is_elite | bool | Se o EliteMobs acompanha a entidade. |
is_mount | bool | Se o custom boss acompanhado é uma montada. |
is_valid | bool | Instantâneo da validade. |
health | number | Instantâneo da vida. |
maximum_health | number | Instantâneo da vida máxima. |
current_location | table | Instantâneo da localização. |
Métodos
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
is_alive() | — | bool | Testa a validade em tempo real e o estado de morte. |
is_ai_enabled() | — | bool | Devolve o estado da IA em tempo real. |
is_frozen() | — | bool | Devolve a definição de congelamento do custom boss do EliteMobs, ou false. |
get_location() | — | table | Devolve a localização em tempo real. |
get_eye_location() | — | table | Devolve a localização dos olhos em tempo real. |
get_height() | — | number | Devolve a altura da entidade no Bukkit. |
get_health() | — | number | Devolve a vida em tempo real. |
get_maximum_health() | — | number | Devolve a vida máxima em tempo real. |
get_velocity() | — | table | Devolve a velocidade em tempo real. |
deal_damage(amount) | number | nil | Aplica dano genérico do Bukkit. |
deal_custom_damage(amount) | number | nil | Aplica dano personalizado do EliteMobs proveniente do chefe do poder. |
deal_damage_from_boss(amount) | number | nil | Aplica dano do Bukkit atribuído ao chefe do poder. |
restore_health(amount) | number | nil | Cura através do EliteMobs quando a entidade é acompanhada, caso contrário limita a vida do Bukkit ao máximo. |
play_sound_at_entity(sound, volume_or_options?=1, pitch?=1) | string (Sound), number/table?=1, number?=1 | nil | Reproduz um som registado ou personalizado com namespace na entidade. O segundo argumento pode em alternativa ser {volume, pitch}. |
play_sound_at_self(sound, volume_or_options?=1, pitch?=1) | string (Sound), number/table?=1, number?=1 | nil | Alias que reproduz na entidade. O segundo argumento pode em alternativa ser {volume, pitch}. |
spawn_particle_at_self(particle, count?=1) | string (Particle)/table, int?=1 | nil | Gera uma string de partícula ou uma tabela de especificação de partícula na entidade. |
spawn_particles_at_location(location, particle, count?=1, dx?=0, dy?=0, dz?=0, speed?=0) | table, string (Particle), int?=1, number?=0, number?=0, number?=0, number?=0 | nil | Gera uma partícula numa localização. |
teleport_to_location(location) | table | nil | Teletransporta quando a localização é resolvida. |
set_velocity_vector(vector) | table | nil | Define a velocidade quando o vetor é resolvido. |
set_gravity(enabled) | bool | nil | Define a gravidade. |
is_on_ground() | — | bool | Testa o estado de contacto com o solo em tempo real. |
apply_push_vector(vector, additive?=false, delay?=1) | table, bool?=false, int?=1 | nil | Aplica velocidade após um atraso, opcionalmente somando à velocidade atual. |
set_custom_name(name) | string | nil | Define um nome personalizado processado para cor. |
reset_custom_name() | — | nil | Repõe o nome do EliteMobs quando a entidade é acompanhada, caso contrário o nome do Bukkit. |
set_custom_name_visible(visible) | bool | nil | Define a visibilidade do nome personalizado. |
set_ai_enabled(enabled, duration?=0) | bool, int?=0 | nil | Define a IA e passa ao estado oposto após ticks positivos. |
set_awareness_enabled(enabled, duration?=0) | bool, int?=0 | nil | Define a perceção do mob e passa ao estado oposto após ticks positivos. |
face_direction_or_location(target) | table | nil | Vira-se para um vetor ou para uma localização no mesmo mundo. |
play_model_animation(name) | string | nil | Reproduz uma animação de modelo personalizado quando disponível. |
set_scale(scale, duration?=0) | number, int?=0 | nil | Define a escala e repõe-na em 1.0 após ticks positivos. |
set_invulnerable(enabled, duration?=0) | bool, int?=0 | nil | Define a invulnerabilidade com o auxiliar de duração do EliteMobs. |
remove_elite() | — | nil | Remove um elite acompanhado através do processo de remoção do EliteMobs. |
is_healing() | — | bool | Testa o estado de cura do elite acompanhado. |
set_healing(enabled) | bool | nil | Define o estado de cura do elite acompanhado. |
navigate_to_location(location, speed?=1, force?=false, timeout?=0) | table, number?=1, bool?=false, int?=0 | nil | Faz um custom boss acompanhado navegar. |
add_tag(tag, duration?=0) | string, int?=0 | nil | Adiciona uma tag e remove-a após ticks positivos. |
remove_tag(tag) | string | nil | Remove uma tag. |
has_tag(tag) | string | bool | Testa uma tag de entidade, de elite ou de jogador. |
push_relative_to(location, force?=1, extra_x?=0, extra_y?=0, extra_z?=0) | table, number?=1, number?=0, number?=0, number?=0 | nil | Empurra para longe de uma localização de origem, mais deslocamentos opcionais. |
overlaps_box_at_location(center, half_x?=0.5, half_y?=half_x, half_z?=half_x) | table, number?=0.5, number?, number? | bool | Testa a caixa delimitadora da entidade contra a caixa pedida. |
is_inside_vehicle() | — | bool | Testa se a entidade está a montar um veículo. |
has_vehicle() | — | bool | Testa se existe um veículo. |
get_vehicle() | — | table/nil | Devolve a referência do veículo atual. |
set_vehicle(vehicle) | table | bool | Faz esta entidade montar o veículo resolvido. |
leave_vehicle() | — | bool | Sai do veículo atual. |
has_passengers() | — | bool | Testa se existem passageiros. |
get_passenger_count() | — | int | Devolve o número de passageiros. |
get_passengers() | — | table | Devolve as referências dos passageiros. |
add_passenger(passenger) | table | bool | Adiciona o passageiro resolvido. |
remove_passenger(passenger) | table | bool | Remove o passageiro resolvido. |
eject_passengers() | — | bool | Ejeta todos os passageiros. |
apply_potion_effect(type, duration, amplifier?=0) | string (PotionEffectType), int, int?=0 | nil | Aplica um efeito de poção. |
set_equipment(slot, material, options?) | string (EquipmentSlot), string (Material), table? | nil | Define o equipamento; as opções suportam entradas unbreakable e enchantments com type e level. |
set_fire_ticks(ticks) | int | nil | Define os ticks de fogo. |
add_visual_freeze_ticks(ticks?=1) | int?=1 | nil | Adiciona ticks de congelamento. |
place_temporary_block(material, ticks?=0, require_air?=false) | string (Material), int?=0, bool?=false | nil | Coloca um bloco temporário na entidade. |
Tabela de jogador dos poderes do EliteMobs
Os valores de jogador dos poderes de chefe do EliteMobs herdam todas as propriedades e métodos da tabela de entidade viva dos poderes do EliteMobs.
Propriedades
| Campo | Tipo | Descrição |
|---|---|---|
game_mode | string | Instantâneo do modo de jogo do Bukkit em maiúsculas. |
Métodos
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
send_message(text) | string | nil | Envia texto de chat processado para cor. |
show_action_bar(text) | string | nil | Envia uma action bar processada para cor. |
show_title(title, subtitle?="", fade_in?=10, stay?=40, fade_out?=10) | string, string?="", int?=10, int?=40, int?=10 | nil | Mostra um título processado para cor. |
show_boss_bar(title, color?=WHITE, style?=SOLID, duration?=40) | string, string (BarColor)?=WHITE, string (BarStyle)?=SOLID, int?=40 | nil | Mostra uma barra de chefe e remove-a após ticks positivos. |
run_command(command) | string | nil | Executa um comando como o jogador. |
context.boss
Os poderes de chefe do EliteMobs recebem esta tabela, que herda todas as propriedades e métodos da tabela de entidade viva dos poderes do EliteMobs e substitui as linhas aqui listadas por semântica de nível de elite.
Propriedades
| Campo | Tipo | Descrição |
|---|---|---|
name | string | Instantâneo do nome apresentado do elite ou do nome do ficheiro do script. |
uuid | string | UUID do elite. |
health | number | Instantâneo da vida do elite. |
maximum_health | number | Instantâneo da vida máxima do elite. |
current_location | table | Instantâneo da localização do elite. |
level | int | Instantâneo do nível do elite. |
damager_count | int | Instantâneo do número de atacantes. |
is_in_combat | bool | Instantâneo do estado de combate. |
exists | bool | Instantâneo da existência do elite. |
Métodos
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
is_alive() | — | bool | Testa a entidade viva e o estado de existência no EliteMobs. |
get_health() | — | number | Devolve a vida do elite em tempo real. |
get_maximum_health() | — | number | Devolve a vida máxima do elite em tempo real. |
get_location() | — | table | Devolve a localização do elite em tempo real. |
restore_health(amount) | number | nil | Cura através da entidade do EliteMobs. |
add_tag(tag, duration?=0) | string, int?=0 | nil | Adiciona uma tag de elite e remove-a após ticks positivos. |
remove_tag(tag) | string | nil | Remove uma tag de elite. |
has_tag(tag) | string | bool | Testa uma tag de elite. |
reset_custom_name() | — | nil | Repõe o nome apresentado do elite. |
play_sound_at_self(sound, volume_or_options?=1, pitch?=1) | string (Sound), number/table?=1, number?=1 | nil | Reproduz um som registado ou personalizado com namespace na localização do elite. O segundo argumento pode em alternativa ser {volume, pitch}. |
play_sound_at_entity(sound, volume_or_options?=1, pitch?=1) | string (Sound), number/table?=1, number?=1 | nil | Alias que reproduz na localização do elite. O segundo argumento pode em alternativa ser {volume, pitch}. |
spawn_particle_at_self(particle, count?=1) | string (Particle)/table, int?=1 | nil | Gera uma partícula na localização do elite. |
play_model_animation(name) | string | nil | Reproduz a animação do modelo do custom boss quando disponível. |
navigate_to_location(location, speed?=1, force?=false, timeout?=0) | table, number?=1, bool?=false, int?=0 | nil | Faz um custom boss navegar. |
get_damager_count() | — | int | Devolve o número de atacantes em tempo real. |
despawn() | — | nil | Remove o elite com o motivo OTHER. |
get_ender_dragon_phase() | — | string/nil | Devolve o nome da EnderDragon.Phase, ou nil. |
set_ender_dragon_phase(phase) | string (EnderDragon.Phase) | nil | Define uma fase válida do ender dragon. |
has_mount() | — | bool | Testa se o chefe tem um veículo de montada ativo. |
get_mount() | — | table/nil | Devolve a referência da montada marcada com is_mount = true. |
set_mount(mount) | table | bool | Faz o chefe montar a entidade resolvida. |
clear_mount() | — | bool | Sai do veículo atual. |
dismount() | — | bool | Alias de clear_mount(). |
start_tracking_fireball_system(speed?=0.5) | number?=0.5 | nil | Inicia o comportamento de bola de fogo perseguidora para um chefe do tipo monstro. |
handle_spirit_walk_damage(cause) | string (DamageCause) | nil | Executa o tratamento de dano do Spirit Walk. |
shield_wall_is_active() | — | bool | Testa o estado do shield wall. |
initialize_shield_wall(charges?=1) | int?=1 | nil | Inicializa o shield wall. |
shield_wall_absorb_damage(player, damage) | table, number | bool | Tenta absorver o dano de um jogador. |
deactivate_shield_wall() | — | nil | Desativa o shield wall. |
start_zombie_necronomicon(target, file) | table, string | nil | Inicia o tratamento do Zombie Necronomicon para um alvo vivo. |
send_message(text, range?=20) | string, number?=20 | nil | Envia texto processado para cor aos jogadores dentro do alcance. |
get_nearby_players(range) | number | table | Devolve as tabelas de jogador dos poderes do EliteMobs que estejam próximas. |
get_target_player() | — | table/nil | Devolve o alvo atual do mob quando este é um jogador. |
get_nearby_players_in_zone(zone) | table | table | Devolve os jogadores contidos na zona. |
spawn_particles_in_zone(zone, particle, count?=1, dx?=0, dy?=0, dz?=0, speed?=0, coverage?=1) | table, string (Particle), int?=1, number?=0, number?=0, number?=0, number?=0, number?=1 | nil | Amostra o interior da zona e gera partículas. |
spawn_particles_in_zone_border(zone, particle, count?=1, dx?=0, dy?=0, dz?=0, speed?=0, coverage?=1) | table, string (Particle), int?=1, number?=0, number?=0, number?=0, number?=0, number?=1 | nil | Amostra a orla da zona e gera partículas. |
get_particles_from_self_toward_zone(zone, particle, speed?=0.1) | table, string (Particle), number?=0.1 | table | Constrói especificações de partículas direcionais do chefe em direção a pontos amostrados da zona. |
get_particles_toward_self(zone, particle, speed) | table, string (Particle), number | table | Constrói especificações de partículas direcionais em direção ao chefe; o construtor atual lê a velocidade a partir do último argumento fornecido. |
spawn_particles_with_vector(particles) | table | nil | Gera um array de especificações de partículas direcionais. |
summon_reinforcement(file, zone_or_location?, level?=0) | string, table?, int?=0 | table/nil | Invoca um reforço num ponto amostrado da zona, numa localização, ou no chefe. |
summon_projectile(type, origin, destination, speed?=1, options?) | string (EntityType), table, table, number?=1, table? | table/nil | Gera um projétil; as opções suportam custom_damage, detonation_power, yield, incendiary, gravity, glowing, invulnerable, persistent, duration, effect de EntityEffect, spawn_at_origin, direction_only, track, on_land e max_ticks. |
context.players: poderes de chefe do EliteMobs
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
current_target() | — | table/nil | Devolve o ator do evento quando este é um jogador, caso contrário o alvo atual do mob do chefe quando este é um jogador. |
nearby_players(radius) | number | table | Devolve as Player Tables dentro do raio a partir do chefe. |
all_players_in_world() | — | table | Devolve todas as Player Tables no mundo atual do chefe. |
context.entities: poderes de chefe do EliteMobs
Estas consultas excluem o próprio chefe. Os filtros de entidades vivas aceitam player/players, elite/elites, mob/mobs, ou qualquer outro valor para todas as entidades vivas.
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
get_nearby_entities(radius, filter?="living") | number, string? | table | Devolve as entidades dentro do raio. all ou entities inclui entidades não vivas; os outros filtros devolvem tabelas de entidades vivas. |
get_entities_in_box(center, half_x, half_y, half_z, filter?="living") | table, number, number, number, string? | table | Devolve as entidades vivas dentro da caixa alinhada aos eixos. |
get_all_entities(filter?="living") | string? | table | Devolve as entidades vivas correspondentes no mundo do chefe. |
get_direct_target_entity() | — | table/nil | Devolve o alvo direto fornecido pelo hook atual. |
get_boss_spawn_location() | — | table | Devolve a localização de spawn original do chefe. |
context.vectors: poderes de chefe do EliteMobs
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
get_vector_between_locations(source, destination, options?) | table, table, table? | table | Devolve o vetor entre localizações no mesmo mundo, ou {x=0,y=0,z=0} para entradas inválidas ou entre mundos diferentes. As opções suportam normalize, multiplier e o vetor offset. |
rotate_vector(vector, pitch?=0, yaw?=0) | table, number?=0, number?=0 | table | Devolve o vetor rodado por pitch e yaw em graus. |
normalize_vector(vector) | table | table | Devolve um vetor unitário; um vetor nulo continua nulo. |
context.zones: poderes de chefe do EliteMobs
Os poderes de chefe do EliteMobs substituem a superfície partilhada de zonas com handles inteiros por consultas de definição de zona do Elite Script.
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
get_entities_in_zone(zone, options?) | table, table? | table | Devolve as entidades vivas correspondentes. As opções suportam filter e mode = "full" ou "border". |
get_locations_in_zone(zone, options?) | table, table? | table | Devolve localizações amostradas. As opções suportam coverage e mode = "full" ou "border". |
zone_contains(zone, location, mode?="full") | table, table, string? | bool | Testa se a localização está na forma completa ou na orla. |
watch_zone(zone, callbacks, options?) | table, table, table? | nil | Observa com callbacks {on_enter, on_leave}. As opções suportam filter e mode; a observação criada termina com o script. |
context.script: poderes de chefe do EliteMobs
Esta ponte aceita as mesmas chaves de tabela que a configuração YAML de alvo, zona e vetor relativo do Elite Script.
Métodos
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
target(spec) | table | target handle | Cria um handle de alvo. |
zone(spec) | table | zone handle | Cria um handle de zona. |
relative_vector(spec, location?, zone?) | table, table?, zone handle? | vector handle | Cria um handle de vetor relativo, usando o chefe como localização de ação por omissão. |
damage(target, amount?=0, multiplier?=1) | target handle, number?=0, number?=1 | nil | Causa dano a todas as entidades-alvo resolvidas. |
push(target, vector, additive?=false) | target handle, table/vector handle, bool?=false | nil | Aplica velocidade às entidades-alvo resolvidas. |
set_facing(target, vector) | target handle, table/vector handle | nil | Vira as entidades-alvo resolvidas ao longo do vetor. |
spawn_particles(target, particles) | target handle, table/string | nil | Gera a especificação de partículas nas localizações-alvo resolvidas. |
Métodos do target handle
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
entities() | — | table | Resolve e devolve Entity Tables. |
locations() | — | table | Resolve e devolve tabelas de localização. |
first_entity() | — | table/nil | Devolve a primeira entidade resolvida. |
first_location() | — | table/nil | Devolve a primeira localização resolvida. |
Métodos do zone handle
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
full_target(coverage?) | number? | target handle | Cria um handle de alvo para o interior da forma. |
border_target(coverage?) | number? | target handle | Cria um handle de alvo para a orla. |
full_locations(coverage?) | number? | table | Resolve as localizações interiores amostradas. |
border_locations(coverage?) | number? | table | Resolve as localizações amostradas na orla. |
full_entities() | — | table | Resolve as entidades dentro da forma. |
border_entities() | — | table | Resolve as entidades na orla. |
contains(location, mode?="full") | table, string? | bool | Testa a pertença à forma completa ou à orla. |
watch(callbacks, mode?="full") | table, string? | int | Inicia uma observação própria {on_enter, on_leave} e devolve o ID da sua tarefa. |
Métodos do handle de vetor relativo
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
resolve() | — | table | Resolve o vetor para o contexto atual. |
Tabela de evento dos poderes do EliteMobs
Os valores de evento dos poderes de chefe do EliteMobs expõem campos e métodos de forma condicional, consoante o tipo de evento.
Propriedades
| Campo | Tipo | Descrição |
|---|---|---|
damage_amount | number/nil | Instantâneo do valor de dano do evento de dano. |
damage_cause | string/nil | Nome do DamageCause quando o evento de dano expõe um. |
damager | table/nil | Referência ao causador do dano num evento de dano por entidade. |
projectile | table/nil | Referência ao projétil quando o causador do dano é um projétil. |
spawn_reason | string/nil | Motivo de spawn do elite. |
entity | table/nil | Entidade do evento de morte ou de zona. |
Métodos
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
cancel_event() | — | nil | Cancela um EliteDamageEvent ou outro evento cancelável. |
set_damage_amount(amount) | number | nil | Substitui o dano do EliteDamageEvent. |
multiply_damage_amount(multiplier) | number | nil | Multiplica o dano do EliteDamageEvent. |
context.world: adições e substituições do EliteMobs
Os poderes de chefe do EliteMobs herdam todas as linhas da World Table do MagmaCore e acrescentam ou substituem os métodos abaixo.
Métodos
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
play_sound_at_location(location, sound, volume?=1, pitch?=1) | table, string (Sound), number?=1, number?=1 | nil | Substituição que aceita sons registados ou personalizados com namespace através do suporte do EliteMobs. |
spawn_particle_at_location(location, particle, count?=1) | table, string (Particle)/table, int?=1 | nil | Substituição que aceita uma tabela de especificação de partícula do EliteMobs. |
set_block_at_location(location, material, require_air?=false) | table, string (Material), bool?=false | nil | Substituição que usa a colocação de blocos temporários do EliteMobs sem expiração. |
place_temporary_block_at_location(location, material, ticks?=0, require_air?=false) | table, string (Material), int?=0, bool?=false | nil | Substituição que usa a colocação de blocos temporários do EliteMobs. |
get_block_type_at_location(location) | table | string/nil | Devolve um nome de Material em maiúsculas, ou nil para uma localização inválida. |
get_highest_block_y_at_location(location) | table | int/nil | Substituição que devolve o Y do bloco mais alto, ou nil. |
get_blast_resistance_at_location(location) | table | number | Devolve a resistência a explosões do bloco, com 0 por omissão para uma localização inválida. |
is_air_at_location(location) | table | bool | Testa se o bloco-alvo é ar. |
is_passable_at_location(location) | table | bool | Testa a passabilidade segundo o Bukkit. |
is_passthrough_at_location(location) | table | bool | Testa se o material não é sólido. |
is_on_floor_at_location(location) | table | bool | Testa se há um alvo não sólido com um bloco sólido por baixo. |
is_standing_on_material(location, material) | table, string (Material) | bool | Testa o bloco por baixo. |
strike_lightning_at_location(location) | table | nil | Substituição que ativa o bypass de relâmpago do EliteMobs antes de o invocar. |
run_empowered_lightning_task_at_location(location) | table | nil | Executa o suporte de relâmpago potenciado do Ender Dragon. |
set_world_time(time) / set_world_time(location, time) | int/table, int? | nil | Define o tempo do mundo do chefe ou o tempo do mundo da localização fornecida. |
set_world_weather(weather, duration?=6000) / set_world_weather(location, weather, duration?=6000) | string/table, string/int?, int?=6000 | nil | Define CLEAR, PRECIPITATION, RAIN ou THUNDER. |
run_console_command(command) | string | nil | Executa um comando como consola. |
spawn_boss_at_location(file, location?, level?) | string, table?, int? | table/nil | Gera um custom boss na localização fornecida ou atual e com o nível fornecido ou atual. |
spawn_custom_boss_at_location(file, location, options?) | string, table, table? | table/nil | Gera um custom boss; as opções suportam silent, level, add_as_reinforcement e velocity. |
spawn_entity_at_location(type, location, options?) | string (EntityType), table, table? | table/nil | Gera uma entidade vanilla; as opções suportam velocity, duration, effect de EntityEffect, on_land e max_ticks. |
spawn_falling_block_at_location(location, material, options?) | table, string (Material), table? | table/nil | Gera um bloco em queda; as opções suportam drop_item, hurt_entities, velocity e on_land. |
spawn_reinforcement_at_location(file, location, level?=0, velocity?) | string, table, int?=0, table? | table/nil | Invoca um reforço associado ao chefe. |
spawn_fireworks_at_location(location, options) | table, table | table/nil | Gera um fogo de artifício; as opções suportam effects, type, flicker, trail, colors, fade_colors, power, velocity e shot_at_angle, com nomes de FireworkEffect.Type para type. |
spawn_splash_potion_at_location(location, options) | table, table | table/nil | Gera uma poção de arremesso; as entradas de effects aceitam type de PotionEffectType, duration, amplifier e overwrite, além de velocity ao nível superior. |
generate_fake_explosion(locations, source?) | table, table? | nil | Gera uma explosão falsa do EliteMobs para um array de localizações de blocos. |
spawn_fake_gold_nugget_at_location(location, velocity, gravity?=false) | table, table, bool?=false | table/nil | Gera um projétil falso de pepita de ouro. |
run_fake_gold_nugget_damage(projectiles) | table | nil | Executa a passagem de dano dos projéteis falsos. |
generate_player_loot(times?=1) | int?=1 | nil | Gera loot de jogador para os atacantes elegíveis. |
drop_bonus_coins(multiplier?=2) | number?=2 | nil | Larga moedas bónus para os atacantes elegíveis. |
Tabela de projétil falso do EliteMobs
spawn_fake_gold_nugget_at_location devolve esta tabela quando a geração é bem-sucedida.
Métodos
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
get_location() | — | table | Devolve a localização do projétil falso. |
set_gravity(enabled) | bool | nil | Define a gravidade do projétil falso. |
remove() | — | nil | Remove o projétil falso. |
is_removed() | — | bool | Testa se foi removido. |
context.settings
Os poderes de chefe do EliteMobs recebem esta tabela de definições a partir do mesmo construtor da tabela de mundo.
Métodos
| Método | Argumentos | Retorna | Descrição |
|---|---|---|---|
warning_visual_effects_enabled() | — | bool | Devolve a definição atual de efeitos visuais de aviso. |