Referencia de la API de Lua
Esta referencia se genera a partir de los constructores de tablas, enriquecedores y resolutores de contexto de Lua en vivo de MagmaCore, FreeMinecraftModels y EliteMobs.
Tabla de entidad
La tabla de entidad de MagmaCore es la base para los valores genéricos de entidad; las tablas de entidad viviente, de jugador y de prop de FreeMinecraftModels la heredan.
Propiedades
| Campo | Tipo | Descripción |
|---|---|---|
uuid | string | UUID de la entidad. |
entity_type | string | Tipo de entidad de Bukkit en minúsculas. |
is_valid | bool | Valor de validez en vivo. |
is_dead | bool | Estado de muerte en vivo. |
current_location | table/nil | Ubicación {x, y, z, yaw, pitch, world} en vivo. |
world | string/nil | Nombre del mundo en vivo. |
is_player | bool | Si la entidad es un jugador. |
is_hostile | bool | Si la entidad implementa Monster de Bukkit. |
is_passive | bool | Si la entidad implementa Animals de Bukkit. |
Métodos
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
teleport(location) | table | nil | Teletransporta a una tabla de ubicación. |
remove() | — | nil | Elimina la entidad si sigue siendo válida. |
set_silent(enabled) | bool | nil | Establece el estado silencioso. |
set_invulnerable(enabled) | bool | nil | Establece el estado invulnerable. |
set_gravity(enabled) | bool | nil | Establece el estado de gravedad. |
set_glowing(enabled) | bool | nil | Establece el estado de brillo. |
Tabla de entidad: enriquecimiento de EliteMobs
El enriquecedor en vivo de EliteMobs añade estos valores a las tablas de entidad de MagmaCore; elite existe únicamente cuando is_elite es verdadero.
Propiedades
| Campo | Tipo | Descripción |
|---|---|---|
is_elite | bool | Si EliteMobs está rastreando actualmente la entidad. |
is_custom_boss | bool | Si el elite rastreado es un jefe personalizado. |
is_significant_boss | bool | Si es un jefe personalizado con un multiplicador de salud superior a 1. |
elite | table/nil | Datos anidados en vivo de EliteMobs, presentes solo para un elite resuelto. |
elite.level | int | Instantánea del nivel del elite. |
elite.name | string/nil | Instantánea del nombre mostrado del elite. |
elite.health | number | Salud en vivo. |
elite.max_health | number | Salud máxima en vivo. |
elite.is_custom_boss | bool | Si el elite es un jefe personalizado. |
elite.health_multiplier | number | Instantánea del multiplicador de salud configurado. |
elite.damage_multiplier | number | Instantánea del multiplicador de daño configurado. |
Métodos
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
elite.remove() | — | nil | Elimina el elite a través del pipeline de eliminación de EliteMobs. |
Tabla de entidad: enriquecimiento de FreeMinecraftModels
El enriquecedor en vivo de FreeMinecraftModels añade estos valores; model existe únicamente cuando is_modeled es verdadero, y los valores exclusivos de jugador aparecen solo en las tablas de jugador.
Propiedades
| Campo | Tipo | Descripción |
|---|---|---|
is_modeled | bool | Si FreeMinecraftModels resuelve una entidad modelada. |
is_prop | bool | Si la entidad es un prop de FreeMinecraftModels respaldado por un soporte para armaduras. |
model | table/nil | Datos de modelo anidados, presentes solo para una entidad modelada. |
model.model_id | string/nil | Identificador del blueprint del modelo. |
model.is_dynamic | bool | Si la entidad modelada es dinámica. |
is_op | bool | Estado de operador del servidor, solo para jugadores. |
Métodos
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
model.play_animation(name, blend?=false, loop?=false) | string, bool?=false, bool?=false | bool | Reproduce una animación del modelo y devuelve si se inició. |
model.stop_animations() | — | nil | Detiene todas las animaciones actuales del modelo. |
model.remove() | — | nil | Elimina la entidad modelada. |
has_permission(node) | string | bool | Comprobación de permiso, solo para jugadores. |
Tabla de entidad viviente
La tabla de entidad viviente de MagmaCore hereda todas las propiedades y métodos de la tabla de entidad.
Propiedades
| Campo | Tipo | Descripción |
|---|---|---|
health | number | Salud en vivo. |
maximum_health | number | Salud máxima en vivo. |
name | string/nil | Nombre de entidad de Bukkit en vivo. |
is_alive | bool | Inverso en vivo del estado de muerte de Bukkit. |
Métodos
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
damage(amount) | number | nil | Inflige daño de Bukkit. |
push(x, y, z) | number, number, number | nil | Añade un vector a la velocidad actual. |
set_facing(x, y, z) | number, number, number | nil | Orienta hacia un vector de dirección. |
add_potion_effect(type, duration, amplifier) | string (PotionEffectType), int, int | nil | Añade un efecto de poción cuando el tipo se resuelve. |
remove_potion_effect(type) | string (PotionEffectType) | nil | Elimina un efecto de poción cuando el tipo se resuelve. |
get_scale() | — | number | Devuelve el atributo de escala, o 1.0 cuando no está disponible. |
set_scale(value) | number | nil | Establece el atributo de escala cuando el servidor lo admite. |
Tabla de jugador
La tabla de jugador de MagmaCore hereda todas las propiedades y métodos de la tabla de entidad viviente.
Propiedades
| Campo | Tipo | Descripción |
|---|---|---|
game_mode | string | Instantánea del modo de juego de Bukkit en minúsculas. |
Métodos
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
send_message(text) | string | nil | Envía texto procesado por el parser de color de MagmaCore. Admite códigos de color. |
get_held_item() | — | table/nil | Devuelve {type, amount, display_name} para el objeto de la mano principal, o nil si la mano está vacía. |
consume_held_item(amount?=1) | int?=1 | nil | Encola la reducción del stack de la mano principal. |
has_item(material, amount?=1) | string (Material), int?=1 | bool | Comprueba si el inventario contiene la cantidad solicitada. |
get_target_entity(range?=50) | number?=50 | table/nil | Lanza un rayo para obtener la entidad que el jugador está mirando. |
get_eye_location() | — | table | Devuelve la ubicación de los ojos. |
get_look_direction() | — | table | Devuelve una dirección unitaria {x, y, z}. |
send_block_change(x, y, z, material, ticks?=-1) | int, int, int, string (Material), int?=-1 | bool | Envía un bloque visible solo para el cliente y opcionalmente lo restablece tras un número positivo de ticks; los materiales inválidos o que no son bloques devuelven false. |
reset_block(x, y, z) | int, int, int | bool | Encola la restauración del bloque real para este jugador. |
sleep(x, y, z) | number, number, number | nil | Encola una animación de sueño forzada y restaura el bloque reemplazado al despertar. |
wake_up() | — | nil | Encola el despertar del jugador cuando está durmiendo. |
show_boss_bar(text, color?=WHITE, progress, ticks?=-1) | string, string (BarColor)?=WHITE, number, int?=-1 | nil | Reemplaza la barra de jefe sólida activa del jugador y opcionalmente la oculta tras un número positivo de ticks. Admite códigos de color. |
hide_boss_bar() | — | nil | Elimina la barra de jefe de Lua activa del jugador. |
show_action_bar(text, ticks?=-1) | string, int?=-1 | nil | Envía una vez, o repite cada 40 ticks hasta que termine una duración positiva. Admite códigos de color. |
show_title(title, subtitle?="", fade_in, stay, fade_out) | string, string?="", int, int, int | nil | Muestra un título con el texto de título y subtítulo procesados por color. Admite códigos de color. |
Tabla de mundo
La tabla de mundo de MagmaCore se expone como context.world; los poderes de jefe de EliteMobs la heredan y aplican las sustituciones documentadas más adelante.
Propiedades
| Campo | Tipo | Descripción |
|---|---|---|
name | string | Instantánea del nombre del mundo. |
Métodos
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
get_block_at(x, y, z) | int, int, int | string | Devuelve un nombre de Material en minúsculas, o air sin cargar un chunk descargado. |
set_block_at(x, y, z, material) | int, int, int, string (Material) | bool | Encola la colocación del bloque; los materiales inválidos devuelven false y la tarea encolada omite los chunks descargados. |
get_highest_block_y(x, z) | int, int | int | Devuelve la Y del bloque más 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 | Genera una partícula; los nombres inválidos no hacen nada. |
play_sound(sound, x, y, z, volume?=1, pitch?=1) | string (Sound), number, number, number, number?=1, number?=1 | nil | Reproduce un sonido registrado o una clave de sonido de paquete de recursos con espacio de nombres en minúsculas. |
strike_lightning(x, y, z) | number, number, number | nil | Lanza un rayo. |
get_time() | — | int | Devuelve la hora del mundo en ticks. |
set_time(ticks) | int | nil | Establece la hora del mundo. |
get_nearby_entities(x, y, z, radius) | number, number, number, number | table | Devuelve tablas de entidad o de entidad viviente cercanas. |
get_nearby_players(x, y, z, radius) | number, number, number, number | table | Devuelve tablas de jugador cercanas. |
spawn_entity(type, x, y, z) | string (EntityType), number, number, number | table/nil | Genera una entidad vainilla; los tipos inválidos devuelven 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 | Devuelve los valores hit_entity, hit_location y 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 un bloque temporal; los materiales inválidos o los chunks descargados devuelven false. |
drop_item(x, y, z, material, amount?=1) | number, number, number, string (Material), int?=1 | table/nil | Suelta un objeto de forma natural y devuelve su tabla de entidad; los materiales inválidos devuelven nil. |
spawn_firework(x, y, z, colors, type?=BALL, power?=1) | number, number, number, table, string (FireworkEffect.Type)?=BALL, int?=1 | nil | Encola un fuego artificial usando nombres de constantes Color de Bukkit, con blanco por defecto cuando ninguno se resuelve. |
strike_lightning_at_location(location) | table | nil | Lanza un rayo en el mundo de la tabla de ubicación. |
play_sound_at_location(location, sound, volume?=1, pitch?=1) | table, string (Sound), number?=1, number?=1 | nil | Reproduce un sonido registrado o una clave de sonido de paquete de recursos con espacio de nombres en 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 | Genera una partícula en el mundo de la tabla de ubicación. |
get_block_at_location(location) | table | string | Devuelve un nombre de material en minúsculas, o air para una ubicación inválida o un chunk descargado. |
set_block_at_location(location, material) | table, string (Material) | bool | Encola la colocación del bloque en el mundo de la tabla de ubicación. |
place_temporary_block_at_location(location, material, ticks?=0, require_air?=false) | table, string (Material), int?=0, bool?=false | bool | Coloca un bloque temporal en el mundo de la tabla de ubicación. |
get_highest_block_y_at_location(location) | table | int/nil | Devuelve la Y del bloque más alto, o nil para una ubicación inválida. |
context.world: adiciones de FreeMinecraftModels
FreeMinecraftModels registra estos métodos en su propia tabla de mundo de MagmaCore, así que aparecen en context.world en los scripts de objetos y props de FreeMinecraftModels. Todos los métodos devuelven false cuando EliteMobs no está habilitado o el jugador no se resuelve, y recurren a la ubicación del jugador cuando falta el argumento de ubicación o no es utilizable.
Métodos
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
drop_elitemobs_procedural_loot(player, level, location?) | table/string, int, table? | bool | Suelta un objeto de EliteMobs generado proceduralmente para el jugador; devuelve false cuando las caídas de objetos procedurales están deshabilitadas. |
drop_elitemobs_random_loot(player, level, location?) | table/string, int, table? | bool | Tira las tablas de botín de EliteMobs para el jugador en el nivel indicado. |
drop_elitemobs_custom_loot(player, file, level, location?) | table/string, string, int, table? | bool | Suelta un archivo de objeto personalizado concreto de EliteMobs para el jugador; devuelve false cuando el archivo no se resuelve. |
El argumento player acepta una tabla de jugador, una cadena UUID o un nombre exacto de jugador. El argumento location acepta una tabla de ubicación o una tabla de entidad que contenga current_location.
Tabla auxiliar em
MagmaCore expone esta tabla globalmente antes de que se ejecute cualquier hook de script.
Propiedades
Los constructores auxiliares devuelven las tablas de datos compactas que se muestran a continuación.
| Campo | Tipo | Descripción |
|---|---|---|
location.x | number | Coordenada X devuelta por em.create_location. |
location.y | number | Coordenada Y devuelta por em.create_location. |
location.z | number | Coordenada Z devuelta por em.create_location. |
location.world | string/nil | Nombre del mundo cuando se proporciona a em.create_location. |
location.yaw | number/nil | Yaw cuando se proporciona a em.create_location. |
location.pitch | number/nil | Pitch cuando se proporciona a em.create_location. |
vector.x | number | Componente X devuelto por em.create_vector. |
vector.y | number | Componente Y devuelto por em.create_vector. |
vector.z | number | Componente Z devuelto por em.create_vector. |
zone.kind | string | sphere, dome, cylinder, cuboid, cone, static_ray, rotating_ray o translating_ray. |
zone.radius | number/nil | Radio de la esfera, cúpula, cilindro o cono. |
zone.height | number/nil | Altura del cilindro. |
zone.x | number/nil | Tamaño X del cuboide. |
zone.y | number/nil | Tamaño Y del cuboide. |
zone.z | number/nil | Tamaño Z del cuboide. |
zone.length | number/nil | Longitud del cono o del rayo. |
zone.thickness | number/nil | Grosor del rayo estático. |
zone.point_radius | number/nil | Radio de punto del rayo rotatorio o de traslación. |
zone.animation_duration | number/nil | Duración de la animación del rayo rotatorio o de traslación. |
zone.origin | table/nil | Ubicación establecida por set_center o set_origin. |
zone.destination | table/nil | Ubicación establecida por set_destination. |
Métodos
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
em.create_location(x, y, z, world?, yaw?, pitch?) | number, number, number, string?, number?, number? | table | Devuelve una tabla de ubicación. |
em.create_vector(x, y, z) | number, number, number | table | Devuelve una tabla de vector {x, y, z}. |
location.add(dx?=0, dy?=0, dz?=0) | number?=0, number?=0, number?=0 | table | Suma en el sitio y devuelve la misma tabla de ubicación. |
em.zone.create_sphere_zone(radius) | number | table | Devuelve una definición de esfera con set_center(location). |
em.zone.create_dome_zone(radius) | number | table | Devuelve una definición de cúpula con set_center(location). |
em.zone.create_cylinder_zone(radius, height) | number, number | table | Devuelve una definición de cilindro con set_center(location). |
em.zone.create_cuboid_zone(x, y, z) | number, number, number | table | Devuelve una definición de cuboide con set_center(location). |
em.zone.create_cone_zone(length, radius) | number, number | table | Devuelve una definición de cono con set_origin(location) y set_destination(location). |
em.zone.create_static_ray_zone(length, thickness) | number, number | table | Devuelve una definición de rayo estático con setters de origen y destino. |
em.zone.create_rotating_ray_zone(length, point_radius, animation_duration) | number, number, number | table | Devuelve una definición de rayo rotatorio con setters de origen y destino. |
em.zone.create_translating_ray_zone(length, point_radius, animation_duration) | number, number, number | table | Devuelve una definición de rayo de traslación con setters de origen y destino. |
zone.set_center(location) | table | table | Establece el centro como zone.origin y devuelve la misma tabla de zona. |
zone.set_origin(location) | table | table | Establece el origen y devuelve la misma tabla de zona. |
zone.set_destination(location) | table | table | Establece el destino y devuelve la misma tabla de zona. |
em.location.is_in_dungeon(location) | table | bool | Comprueba las regiones de mazmorra registradas y los propietarios que declaran el tipo dungeon. |
em.location.is_protected(location) | table | bool | Comprueba los adaptadores integrados de WorldGuard/GriefPrevention y los propietarios de protección registrados por plugins. |
em.location.owned_by(location, namespace) | table, string | bool | Comprueba la propiedad por espacio de nombres de plugin. |
em.location.owners(location) | table | table | Devuelve un array de cadenas de espacios de nombres propietarios. |
em.location.kinds_at(location) | table | table | Devuelve un array de cadenas de tipos de propiedad. |
em.location.has_kind(location, kind) | table, string | bool | Comprueba un tipo de propiedad. |
context.state
Cada instancia de script de MagmaCore recibe una tabla Lua simple que persiste durante toda la vida de esa instancia. Úsala para contadores, banderas, IDs de tareas y valores compartidos entre hooks.
context.state.counter = (context.state.counter or 0) + 1
context.log
Métodos de MagmaCore, FreeMinecraftModels y NPC de EliteMobs
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
info(message) | string | nil | Registra un mensaje informativo con el prefijo Lua compartido. |
warn(message) | string | nil | Registra una advertencia. |
error(message) | string | nil | Registra a través del canal de advertencia compartido. |
Métodos de poderes de jefe de EliteMobs
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
info(message) | string | nil | Registra un mensaje informativo de poder de jefe. |
warn(message) | string | nil | Registra una advertencia. |
debug(message) | string | nil | Registra un mensaje informativo con el prefijo de depuración de poder Lua. |
context.scheduler
Las tareas programadas pertenecen a la instancia del script y se cancelan cuando esta se apaga. Ambas familias de nombres siguientes están disponibles en las superficies compartidas de MagmaCore y en los poderes de jefe de EliteMobs.
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
run_later(ticks, callback) | int, function | int | Ejecuta una vez tras el retardo y devuelve el ID de tarea de Bukkit. |
run_repeating(delay, interval, callback) | int, int, function | int | Ejecuta repetidamente tras un retardo inicial y devuelve el ID de tarea. |
cancel(task_id) | int | nil | Cancela una tarea propia. |
run_after(ticks, callback) | int, function | int | Alias de run_later. |
run_every(interval, callback) | int, function | int | Ejecuta repetidamente sin retardo inicial y devuelve el ID de tarea. |
cancel_task(task_id) | int | nil | Alias de cancel. |
context.cooldowns
Los tiempos de reutilización locales se indexan por un propietario de script y una definición; los globales los comparte el mismo propietario. Omitir una clave local usa __lua: seguido del nombre de archivo del script. Los poderes de jefe de EliteMobs exponen los mismos nombres de método, pero los valores locales usan el almacén de cooldowns compartido del jefe y los globales usan su cooldown de poder integrado.
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
local_ready(key?) | string? | bool | Comprueba si el cooldown local indexado está listo. |
local_remaining(key?) | string? | int | Devuelve los ticks restantes, o 0 cuando está listo. |
check_local(key, duration) | string/nil, int | bool | Si está listo, inicia el cooldown y devuelve true. Pasa nil para la clave por defecto. |
set_local(duration, key?) | int, string? | nil | Establece o limpia el cooldown local; una duración no positiva lo limpia. |
global_ready() | — | bool | Comprueba si el cooldown global del propietario está listo. |
set_global(duration) | int | nil | Establece el cooldown global en ticks. En las superficies compartidas de MagmaCore, una duración no positiva lo limpia. |
context.zones: superficie compartida de MagmaCore
Los scripts de FreeMinecraftModels, los scripts de NPC de EliteMobs y otros consumidores de MagmaCore por defecto reciben manejadores de zona enteros en el mundo del propietario actual del script.
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
create_sphere(x, y, z, radius) | number, number, number, number | int/nil | Registra una esfera y devuelve su manejador, o nil cuando el propietario no tiene mundo. |
create_cylinder(x, y, z, radius, height) | number, number, number, number, number | int/nil | Registra un cilindro y devuelve su manejador, o nil cuando el propietario no tiene mundo. |
create_cuboid(x, y, z, x_size, y_size, z_size) | number, number, number, number, number, number | int/nil | Registra un cuboide y devuelve su manejador, o nil cuando el propietario no tiene mundo. |
watch(handle, on_enter?, on_leave?) | int, function?, function? | bool/nil | Habilita el seguimiento de límites para un manejador conocido. La presencia de la función habilita el hook on_zone_enter u on_zone_leave correspondiente; el cuerpo de la función proporcionada no se llama directamente. |
unwatch(handle) | int | nil | Detiene el seguimiento y elimina el manejador. |
Los hooks genéricos de zona exponen al jugador que cruza a través de context.player y context.event.player.
context.event: superficie compartida de MagmaCore
Esta tabla existe mientras un hook compartido tiene un evento de Bukkit o un actor actual. No está presente en callbacks programados ni en hooks sin ninguno de esos dos valores.
| Campo o método | Tipo | Descripción |
|---|---|---|
is_cancelled | bool | Estado de cancelación capturado cuando se construyó la tabla de contexto; llamar a cancel() o uncancel() no actualiza este campo. |
cancel() | método | Cancela el evento actual. Presente solo cuando implementa Cancellable de Bukkit. |
uncancel() | método | Descancela el evento actual. Presente solo cuando implementa Cancellable de Bukkit. |
player | table | Tabla de entidad viviente del actor actual cuando hay uno disponible. |
Los hooks genéricos de zona proporcionan un actor pero ningún evento cancelable de Bukkit, así que exponen is_cancelled = false y player sin cancel() ni uncancel().
context.item
Los scripts de objetos de FreeMinecraftModels reciben esta tabla para el objeto scripteado equipado correspondiente.
Propiedades
| Campo | Tipo | Descripción |
|---|---|---|
id | string | Identificador del objeto scripteado. |
Métodos
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
material() | — | string/nil | Devuelve el nombre de Material en mayúsculas, o nil cuando el objeto no está equipado. |
get_amount() | — | int | Devuelve la cantidad del stack, o 0 cuando no está equipado. |
set_amount(amount) | int | nil | Encola el establecimiento de la cantidad del stack. |
consume(amount?=1) | int?=1 | nil | Encola la reducción de la cantidad del stack. |
get_uses() | — | int | Devuelve el contador de usos persistente, con 0 por defecto. |
set_uses(uses) | int | nil | Encola el establecimiento del contador de usos persistente. |
get_durability() | — | table/nil | Devuelve {current, max}, o nil cuando el objeto no tiene barra de durabilidad. |
get_durability_percentage() | — | number/nil | Devuelve la durabilidad restante de 0.0 a 1.0, o nil. |
use_durability(amount, can_break?=false) | int, bool?=false | nil | Encola la aplicación de daño de durabilidad plano y lo limita a una unidad restante salvo que se permita la rotura. |
use_durability_percentage(fraction, can_break?=false) | number, bool?=false | nil | Encola la aplicación de daño de durabilidad igual a una fracción de la durabilidad máxima. |
get_name() | — | string/nil | Devuelve el nombre mostrado, o nil cuando no existe. |
set_name(name) | string | nil | Encola el establecimiento de un nombre mostrado procesado por color. Admite códigos de color. |
get_lore() | — | table | Devuelve un array de cadenas de lore. |
set_lore(lore) | table | nil | Encola el establecimiento de cadenas de lore procesadas por color. |
context.prop
Los scripts de props de FreeMinecraftModels reciben esta tabla, que hereda la tabla de entidad de MagmaCore cuando existe una entidad de respaldo.
Propiedades
| Campo | Tipo | Descripción |
|---|---|---|
model_id | string/nil | Nombre del blueprint del modelo, o nil cuando no existe blueprint. |
current_location | table/nil | Ubicación en vivo del prop. |
Métodos
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
play_animation(name, blend?=true, loop?=true) | string, bool?=true, bool?=true | bool | Reproduce la animación indicada. |
stop_animation() | — | nil | Detiene todas las animaciones actuales. |
hurt_visual() | — | nil | Reproduce el efecto visual rojo de daño sin infligir daño. |
pickup() | — | nil | Encola la eliminación permanente y suelta un objeto de colocación. |
has_mount_points() | — | bool | Comprueba si el prop tiene huesos de punto de montura. |
mount(player) | table | bool | Encola el montaje de un jugador resuelto en el primer asiento disponible. |
dismount(player) | table | bool | Encola el desmontaje de un jugador resuelto de este prop. |
get_passengers() | — | table | Devuelve las tablas de entidad de los jugadores montados. |
spawn_elitemobs_boss(file, x, y, z) | string, number, number, number | table/nil | Genera un jefe personalizado de EliteMobs cuando EliteMobs está habilitado. |
open_inventory(player, title, rows?=3) | table, string, int?=3 | bool | Encola la apertura del almacenamiento persistente con las filas limitadas de 1 a 6. El título admite códigos de color. |
place_book(player) | table | bool | Encola el guardado de un libro escrito o escribible que el jugador tenga en la mano, cuando el prop no tiene ninguno. |
read_book(player) | table | bool | Encola la apertura de un libro escrito guardado. |
take_book(player) | table | bool | Encola la devolución del libro guardado al jugador. |
has_book() | — | bool | Comprueba si el prop guarda un libro. |
drop_inventory() | — | bool | Encola el vaciado del almacenamiento persistente y suelta sus objetos. |
drop_book() | — | bool | Encola el vaciado y la caída del libro guardado. |
is_viewing_inventory(player) | table | bool | Comprueba si el jugador está viendo el inventario rastreado de este prop. |
set_persistent_data(key, value) | string, string | bool | Guarda una cadena bajo la clave fmm_lua_ con ámbito de prop. |
get_persistent_data(key) | string | string/nil | Devuelve la cadena guardada, o nil. |
context.npc
Los scripts de NPC de EliteMobs heredan los contextos compartidos de MagmaCore y añaden esta tabla específica de NPC.
Propiedades
| Campo | Tipo | Descripción |
|---|---|---|
name | string | Nombre mostrado del NPC configurado. |
filename | string | Nombre del archivo de configuración del NPC. |
uuid | string | UUID del NPC en tiempo de ejecución. |
activation_radius | number | Radio de activación configurado. |
current_location | table | Instantánea de la ubicación, presente solo mientras exista la entidad viviente de respaldo. |
entity_type | string | Tipo de entidad de Bukkit en mayúsculas, presente solo mientras exista la entidad viviente de respaldo. |
Métodos
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
is_valid() | — | bool | Comprueba si el NPC es válido. |
get_location() | — | table | Devuelve la ubicación actual del NPC, recurriendo a su ubicación de aparición. La tabla también incluye un vector direction. |
get_eye_location() | — | table | Devuelve la ubicación actual de los ojos, recurriendo a la ubicación de aparición. La tabla también incluye un vector direction. |
get_activation_radius() | — | number | Devuelve el radio de activación configurado actual. |
get_nearby_players(radius) | number | table | Devuelve tablas de jugador cercanas. |
face_direction_or_location(target) | table | nil | Orienta hacia una dirección vectorial o mira hacia una ubicación. |
say_greeting(player?) | table/string? | nil | Envía el saludo configurado, usando por defecto al jugador que lo desencadenó cuando está disponible. Se acepta una tabla de jugador, un UUID o un nombre. |
say_dialog(player?) | table/string? | nil | Envía el diálogo configurado con la misma resolución de jugador. |
say_farewell(player?) | table/string? | nil | Envía la despedida configurada con la misma resolución de jugador. |
play_model_animation(name) | string | nil | Reproduce una animación de modelo cuando existe un modelo personalizado. |
Tabla de referencia de entidad de poderes de EliteMobs
Los métodos de poderes de jefe de EliteMobs devuelven esta tabla ligera para entidades no vivientes como proyectiles, fuegos artificiales y bloques que caen.
Propiedades
| Campo | Tipo | Descripción |
|---|---|---|
name | string | Instantánea del nombre de la entidad. |
uuid | string | UUID de la entidad. |
entity_type | string | Instantánea del tipo de entidad de Bukkit en mayúsculas. |
is_player | bool | Siempre false. |
is_elite | bool | Siempre false. |
is_mount | bool | False salvo que un jefe marque como true una tabla de montura devuelta. |
current_location | table | Instantánea de la ubicación. |
Métodos
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
is_valid() | — | bool | Comprueba la validez en vivo. |
get_location() | — | table | Devuelve la ubicación en vivo. |
get_velocity() | — | table | Devuelve la velocidad en vivo. |
is_on_ground() | — | bool | Comprueba el estado en vivo de contacto con el suelo. |
teleport_to_location(location) | table | nil | Teletransporta cuando la ubicación se resuelve. |
set_velocity_vector(vector) | table | nil | Establece la velocidad cuando el vector se resuelve. |
set_direction_vector(vector) | table | nil | Establece la dirección de una bola de fuego cuando corresponde. |
set_yield(amount) | number | nil | Establece la potencia de la bola de fuego cuando corresponde. |
set_gravity(enabled) | bool | nil | Establece la gravedad. |
detonate() | — | nil | Detona cuando la entidad es un fuego artificial. |
remove() | — | nil | Elimina la entidad. |
unregister(reason?=OTHER) | string?=OTHER | nil | Da de baja 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 o ARENA_RESET. |
is_inside_vehicle() | — | bool | Comprueba si la entidad va montada en un vehículo. |
has_vehicle() | — | bool | Comprueba si existe un vehículo. |
get_vehicle() | — | table/nil | Devuelve la referencia al vehículo actual. |
set_vehicle(vehicle) | table | bool | Hace que esta entidad monte el vehículo resuelto. |
leave_vehicle() | — | bool | Abandona el vehículo actual. |
has_passengers() | — | bool | Comprueba si existen pasajeros. |
get_passenger_count() | — | int | Devuelve el número de pasajeros. |
get_passengers() | — | table | Devuelve las referencias a los pasajeros. |
add_passenger(passenger) | table | bool | Añade el pasajero resuelto. |
remove_passenger(passenger) | table | bool | Elimina el pasajero resuelto. |
eject_passengers() | — | bool | Expulsa a todos los pasajeros. |
Tabla de entidad viviente de poderes de EliteMobs
Los valores de entidades vivientes de los poderes de jefe de EliteMobs usan esta tabla aparte; las tablas de jefe y de jugador de poderes de EliteMobs la heredan.
Propiedades
| Campo | Tipo | Descripción |
|---|---|---|
name | string | Instantánea del nombre de la entidad. |
uuid | string | UUID de la entidad. |
entity_type | string | Instantánea del tipo de entidad de Bukkit en mayúsculas. |
is_player | bool | Si la entidad es un jugador. |
is_monster | bool | Si la entidad implementa Monster de Bukkit. |
is_elite | bool | Si EliteMobs rastrea la entidad. |
is_mount | bool | Si el jefe personalizado rastreado es una montura. |
is_valid | bool | Instantánea de validez. |
health | number | Instantánea de salud. |
maximum_health | number | Instantánea de salud máxima. |
current_location | table | Instantánea de la ubicación. |
Métodos
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
is_alive() | — | bool | Comprueba la validez en vivo y el estado de muerte. |
is_ai_enabled() | — | bool | Devuelve el estado en vivo de la IA. |
is_frozen() | — | bool | Devuelve la opción de congelación del jefe personalizado de EliteMobs, o false. |
get_location() | — | table | Devuelve la ubicación en vivo. |
get_eye_location() | — | table | Devuelve la ubicación en vivo de los ojos. |
get_height() | — | number | Devuelve la altura de la entidad de Bukkit. |
get_health() | — | number | Devuelve la salud en vivo. |
get_maximum_health() | — | number | Devuelve la salud máxima en vivo. |
get_velocity() | — | table | Devuelve la velocidad en vivo. |
deal_damage(amount) | number | nil | Inflige daño genérico de Bukkit. |
deal_custom_damage(amount) | number | nil | Inflige daño personalizado de EliteMobs procedente del jefe del poder. |
deal_damage_from_boss(amount) | number | nil | Inflige daño de Bukkit atribuido al jefe del poder. |
restore_health(amount) | number | nil | Cura a través de EliteMobs cuando está rastreado; en caso contrario limita la salud de Bukkit al máximo. |
play_sound_at_entity(sound, volume_or_options?=1, pitch?=1) | string (Sound), number/table?=1, number?=1 | nil | Reproduce un sonido registrado o personalizado con espacio de nombres en la entidad. El segundo argumento puede ser en su lugar {volume, pitch}. |
play_sound_at_self(sound, volume_or_options?=1, pitch?=1) | string (Sound), number/table?=1, number?=1 | nil | Alias que reproduce en la entidad. El segundo argumento puede ser en su lugar {volume, pitch}. |
spawn_particle_at_self(particle, count?=1) | string (Particle)/table, int?=1 | nil | Genera una partícula a partir de una cadena o de una tabla de especificación de partícula en la entidad. |
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 | Genera una partícula en una ubicación. |
teleport_to_location(location) | table | nil | Teletransporta cuando la ubicación se resuelve. |
set_velocity_vector(vector) | table | nil | Establece la velocidad cuando el vector se resuelve. |
set_gravity(enabled) | bool | nil | Establece la gravedad. |
is_on_ground() | — | bool | Comprueba el estado en vivo de contacto con el suelo. |
apply_push_vector(vector, additive?=false, delay?=1) | table, bool?=false, int?=1 | nil | Aplica velocidad tras un retardo, opcionalmente sumándola a la velocidad actual. |
set_custom_name(name) | string | nil | Establece un nombre personalizado procesado por color. Admite códigos de color. |
reset_custom_name() | — | nil | Restaura el nombre de EliteMobs cuando está rastreado; en caso contrario, el nombre de Bukkit. |
set_custom_name_visible(visible) | bool | nil | Establece la visibilidad del nombre personalizado. |
set_ai_enabled(enabled, duration?=0) | bool, int?=0 | nil | Establece la IA y cambia al estado opuesto tras un número positivo de ticks. |
set_awareness_enabled(enabled, duration?=0) | bool, int?=0 | nil | Establece la percepción del mob y cambia al estado opuesto tras un número positivo de ticks. |
face_direction_or_location(target) | table | nil | Orienta hacia un vector o hacia una ubicación del mismo mundo. |
play_model_animation(name) | string | nil | Reproduce una animación de modelo personalizado cuando está disponible. |
set_scale(scale, duration?=0) | number, int?=0 | nil | Establece la escala y la restablece a 1.0 tras un número positivo de ticks. |
set_invulnerable(enabled, duration?=0) | bool, int?=0 | nil | Establece la invulnerabilidad con el helper de duración de EliteMobs. |
remove_elite() | — | nil | Elimina un elite rastreado a través del pipeline de eliminación de EliteMobs. |
is_healing() | — | bool | Comprueba el estado de curación del elite rastreado. |
set_healing(enabled) | bool | nil | Establece el estado de curación del elite rastreado. |
navigate_to_location(location, speed?=1, force?=false, timeout?=0) | table, number?=1, bool?=false, int?=0 | nil | Hace navegar a un jefe personalizado rastreado. |
add_tag(tag, duration?=0) | string, int?=0 | nil | Añade una etiqueta y la elimina tras un número positivo de ticks. |
remove_tag(tag) | string | nil | Elimina una etiqueta. |
has_tag(tag) | string | bool | Comprueba una etiqueta de entidad, elite o jugador. |
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 | Empuja alejando de una ubicación de origen más desplazamientos opcionales. |
overlaps_box_at_location(center, half_x?=0.5, half_y?=half_x, half_z?=half_x) | table, number?=0.5, number?, number? | bool | Comprueba la caja delimitadora de la entidad contra la caja solicitada. |
is_inside_vehicle() | — | bool | Comprueba si la entidad va montada en un vehículo. |
has_vehicle() | — | bool | Comprueba si existe un vehículo. |
get_vehicle() | — | table/nil | Devuelve la referencia al vehículo actual. |
set_vehicle(vehicle) | table | bool | Hace que esta entidad monte el vehículo resuelto. |
leave_vehicle() | — | bool | Abandona el vehículo actual. |
has_passengers() | — | bool | Comprueba si existen pasajeros. |
get_passenger_count() | — | int | Devuelve el número de pasajeros. |
get_passengers() | — | table | Devuelve las referencias a los pasajeros. |
add_passenger(passenger) | table | bool | Añade el pasajero resuelto. |
remove_passenger(passenger) | table | bool | Elimina el pasajero resuelto. |
eject_passengers() | — | bool | Expulsa a todos los pasajeros. |
apply_potion_effect(type, duration, amplifier?=0) | string (PotionEffectType), int, int?=0 | nil | Aplica un efecto de poción. |
set_equipment(slot, material, options?) | string (EquipmentSlot), string (Material), table? | nil | Establece el equipamiento; las opciones admiten entradas unbreakable y enchantments con type y level. |
set_fire_ticks(ticks) | int | nil | Establece los ticks de fuego. |
add_visual_freeze_ticks(ticks?=1) | int?=1 | nil | Añade ticks de congelación. |
place_temporary_block(material, ticks?=0, require_air?=false) | string (Material), int?=0, bool?=false | nil | Coloca un bloque temporal en la entidad. |
Tabla de jugador de poderes de EliteMobs
Los valores de jugador de los poderes de jefe de EliteMobs heredan todas las propiedades y métodos de la tabla de entidad viviente de poderes de EliteMobs.
Propiedades
| Campo | Tipo | Descripción |
|---|---|---|
game_mode | string | Instantánea del modo de juego de Bukkit en mayúsculas. |
Métodos
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
send_message(text) | string | nil | Envía texto de chat procesado por color. Admite códigos de color. |
show_action_bar(text) | string | nil | Envía una barra de acción procesada por color. Admite códigos de color. |
show_title(title, subtitle?="", fade_in?=10, stay?=40, fade_out?=10) | string, string?="", int?=10, int?=40, int?=10 | nil | Muestra un título procesado por color. Admite códigos de color. |
show_boss_bar(title, color?=WHITE, style?=SOLID, duration?=40) | string, string (BarColor)?=WHITE, string (BarStyle)?=SOLID, int?=40 | nil | Muestra una barra de jefe y la elimina tras un número positivo de ticks. Admite códigos de color. |
run_command(command) | string | nil | Ejecuta un comando como el jugador. |
context.boss
Los poderes de jefe de EliteMobs reciben esta tabla, que hereda todas las propiedades y métodos de la tabla de entidad viviente de poderes de EliteMobs y sustituye las filas aquí listadas con semántica de nivel elite.
Propiedades
| Campo | Tipo | Descripción |
|---|---|---|
name | string | Instantánea del nombre mostrado del elite o del nombre de archivo del script. |
uuid | string | UUID del elite. |
health | number | Instantánea de la salud del elite. |
maximum_health | number | Instantánea de la salud máxima del elite. |
current_location | table | Instantánea de la ubicación del elite. |
level | int | Instantánea del nivel del elite. |
damager_count | int | Instantánea del número de atacantes. |
is_in_combat | bool | Instantánea del estado de combate. |
exists | bool | Instantánea de la existencia del elite. |
Métodos
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
is_alive() | — | bool | Comprueba la entidad viviente y el estado de existencia en EliteMobs. |
get_health() | — | number | Devuelve la salud en vivo del elite. |
get_maximum_health() | — | number | Devuelve la salud máxima en vivo del elite. |
get_location() | — | table | Devuelve la ubicación en vivo del elite. |
restore_health(amount) | number | nil | Cura a través de la entidad de EliteMobs. |
add_tag(tag, duration?=0) | string, int?=0 | nil | Añade una etiqueta de elite y la elimina tras un número positivo de ticks. |
remove_tag(tag) | string | nil | Elimina una etiqueta de elite. |
has_tag(tag) | string | bool | Comprueba una etiqueta de elite. |
reset_custom_name() | — | nil | Restaura el nombre mostrado del elite. |
play_sound_at_self(sound, volume_or_options?=1, pitch?=1) | string (Sound), number/table?=1, number?=1 | nil | Reproduce un sonido registrado o personalizado con espacio de nombres en la ubicación del elite. El segundo argumento puede ser en su lugar {volume, pitch}. |
play_sound_at_entity(sound, volume_or_options?=1, pitch?=1) | string (Sound), number/table?=1, number?=1 | nil | Alias que reproduce en la ubicación del elite. El segundo argumento puede ser en su lugar {volume, pitch}. |
spawn_particle_at_self(particle, count?=1) | string (Particle)/table, int?=1 | nil | Genera una partícula en la ubicación del elite. |
play_model_animation(name) | string | nil | Reproduce la animación del modelo del jefe personalizado cuando está disponible. |
navigate_to_location(location, speed?=1, force?=false, timeout?=0) | table, number?=1, bool?=false, int?=0 | nil | Hace navegar a un jefe personalizado. |
get_damager_count() | — | int | Devuelve el número de atacantes en vivo. |
despawn() | — | nil | Elimina el elite con el motivo OTHER. |
get_ender_dragon_phase() | — | string/nil | Devuelve el nombre de EnderDragon.Phase, o nil. |
set_ender_dragon_phase(phase) | string (EnderDragon.Phase) | nil | Establece una fase válida del dragón del End. |
has_mount() | — | bool | Comprueba si el jefe tiene un vehículo de montura vivo. |
get_mount() | — | table/nil | Devuelve la referencia a la montura marcada con is_mount = true. |
set_mount(mount) | table | bool | Hace que el jefe monte la entidad resuelta. |
clear_mount() | — | bool | Abandona el vehículo actual. |
dismount() | — | bool | Alias de clear_mount(). |
start_tracking_fireball_system(speed?=0.5) | number?=0.5 | nil | Inicia el comportamiento de bola de fuego rastreadora para un jefe de tipo monstruo. |
handle_spirit_walk_damage(cause) | string (DamageCause) | nil | Ejecuta el manejo de daño de Spirit Walk. |
shield_wall_is_active() | — | bool | Comprueba el estado del muro de escudos. |
initialize_shield_wall(charges?=1) | int?=1 | nil | Inicializa el muro de escudos. |
shield_wall_absorb_damage(player, damage) | table, number | bool | Intenta absorber el daño de un jugador. |
deactivate_shield_wall() | — | nil | Desactiva el muro de escudos. |
start_zombie_necronomicon(target, file) | table, string | nil | Inicia el manejo del Zombie Necronomicon para un objetivo viviente. |
send_message(text, range?=20) | string, number?=20 | nil | Envía texto procesado por color a los jugadores dentro del radio. Admite códigos de color. |
get_nearby_players(range) | number | table | Devuelve tablas de jugador de poderes de EliteMobs cercanas. |
get_target_player() | — | table/nil | Devuelve el objetivo actual del mob cuando es un jugador. |
get_nearby_players_in_zone(zone) | table | table | Devuelve los jugadores contenidos en la 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 | Muestrea el interior de la zona y genera 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 | Muestrea el borde de la zona y genera partículas. |
get_particles_from_self_toward_zone(zone, particle, speed?=0.1) | table, string (Particle), number?=0.1 | table | Construye especificaciones de partículas direccionales desde el jefe hacia los puntos muestreados de la zona. |
get_particles_toward_self(zone, particle, speed) | table, string (Particle), number | table | Construye especificaciones de partículas direccionales hacia el jefe; el constructor en vivo lee actualmente la velocidad del último argumento proporcionado. |
spawn_particles_with_vector(particles) | table | nil | Genera un array de especificaciones de partículas direccionales. |
summon_reinforcement(file, zone_or_location?, level?=0) | string, table?, int?=0 | table/nil | Invoca un refuerzo en un punto muestreado de la zona, en una ubicación o en el jefe. |
summon_projectile(type, origin, destination, speed?=1, options?) | string (EntityType), table, table, number?=1, table? | table/nil | Genera un proyectil; las opciones admiten custom_damage, detonation_power, yield, incendiary, gravity, glowing, invulnerable, persistent, duration, effect de EntityEffect, spawn_at_origin, direction_only, track, on_land y max_ticks. |
context.players: poderes de jefe de EliteMobs
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
current_target() | — | table/nil | Devuelve el actor del evento cuando es un jugador; en caso contrario, el objetivo actual del mob del jefe cuando es un jugador. |
nearby_players(radius) | number | table | Devuelve las tablas de jugador dentro del radio del jefe. |
all_players_in_world() | — | table | Devuelve todas las tablas de jugador del mundo actual del jefe. |
context.entities: poderes de jefe de EliteMobs
Estas consultas excluyen al propio jefe. Los filtros de entidades vivientes aceptan player/players, elite/elites, mob/mobs, o cualquier otro valor para todas las entidades vivientes.
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
get_nearby_entities(radius, filter?="living") | number, string? | table | Devuelve las entidades dentro del radio. all o entities incluye entidades no vivientes; los demás filtros devuelven tablas de entidades vivientes. |
get_entities_in_box(center, half_x, half_y, half_z, filter?="living") | table, number, number, number, string? | table | Devuelve las entidades vivientes dentro de la caja alineada con los ejes. |
get_all_entities(filter?="living") | string? | table | Devuelve las entidades vivientes coincidentes en el mundo del jefe. |
get_direct_target_entity() | — | table/nil | Devuelve el objetivo directo proporcionado por el hook actual. |
get_boss_spawn_location() | — | table | Devuelve la ubicación de aparición original del jefe. |
context.vectors: poderes de jefe de EliteMobs
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
get_vector_between_locations(source, destination, options?) | table, table, table? | table | Devuelve el vector entre ubicaciones del mismo mundo, o {x=0,y=0,z=0} para entradas inválidas o de mundos distintos. Las opciones admiten normalize, multiplier y el vector offset. |
rotate_vector(vector, pitch?=0, yaw?=0) | table, number?=0, number?=0 | table | Devuelve el vector rotado por pitch y yaw en grados. |
normalize_vector(vector) | table | table | Devuelve un vector unitario; un vector cero sigue siendo cero. |
context.zones: poderes de jefe de EliteMobs
Los poderes de jefe de EliteMobs sustituyen la superficie compartida de zonas con manejadores enteros por consultas de definición de zona de Elite Script.
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
get_entities_in_zone(zone, options?) | table, table? | table | Devuelve las entidades vivientes coincidentes. Las opciones admiten filter y mode = "full" o "border". |
get_locations_in_zone(zone, options?) | table, table? | table | Devuelve ubicaciones muestreadas. Las opciones admiten coverage y mode = "full" o "border". |
zone_contains(zone, location, mode?="full") | table, table, string? | bool | Comprueba si la ubicación está en la forma completa o en el borde. |
watch_zone(zone, callbacks, options?) | table, table, table? | nil | Vigila con callbacks {on_enter, on_leave}. Las opciones admiten filter y mode; la vigilancia propia se detiene con el script. |
context.script: poderes de jefe de EliteMobs
Este puente acepta las mismas claves de tabla que la configuración YAML de objetivo, zona y vector relativo de Elite Script.
Métodos
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
target(spec) | table | manejador de objetivo | Crea un manejador de objetivo. |
zone(spec) | table | manejador de zona | Crea un manejador de zona. |
relative_vector(spec, location?, zone?) | table, table?, manejador de zona? | manejador de vector | Crea un manejador de vector relativo, usando por defecto al jefe como ubicación de acción. |
damage(target, amount?=0, multiplier?=1) | manejador de objetivo, number?=0, number?=1 | nil | Daña a todas las entidades objetivo resueltas. |
push(target, vector, additive?=false) | manejador de objetivo, table/manejador de vector, bool?=false | nil | Aplica velocidad a las entidades objetivo resueltas. |
set_facing(target, vector) | manejador de objetivo, table/manejador de vector | nil | Orienta las entidades objetivo resueltas a lo largo del vector. |
spawn_particles(target, particles) | manejador de objetivo, table/string | nil | Genera la especificación de partículas en las ubicaciones objetivo resueltas. |
Métodos del manejador de objetivo
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
entities() | — | table | Resuelve y devuelve tablas de entidad. |
locations() | — | table | Resuelve y devuelve tablas de ubicación. |
first_entity() | — | table/nil | Devuelve la primera entidad resuelta. |
first_location() | — | table/nil | Devuelve la primera ubicación resuelta. |
Métodos del manejador de zona
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
full_target(coverage?) | number? | manejador de objetivo | Crea un manejador de objetivo para el interior de la forma. |
border_target(coverage?) | number? | manejador de objetivo | Crea un manejador de objetivo para el borde. |
full_locations(coverage?) | number? | table | Resuelve las ubicaciones muestreadas del interior. |
border_locations(coverage?) | number? | table | Resuelve las ubicaciones muestreadas del borde. |
full_entities() | — | table | Resuelve las entidades dentro de la forma. |
border_entities() | — | table | Resuelve las entidades en el borde. |
contains(location, mode?="full") | table, string? | bool | Comprueba la pertenencia a la forma completa o al borde. |
watch(callbacks, mode?="full") | table, string? | int | Inicia una vigilancia propia {on_enter, on_leave} y devuelve su ID de tarea. |
Métodos del manejador de vector relativo
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
resolve() | — | table | Resuelve el vector para el contexto actual. |
Tabla de eventos de poderes de EliteMobs
Los valores de evento de los poderes de jefe de EliteMobs exponen campos y métodos de forma condicional según el tipo de evento.
Propiedades
| Campo | Tipo | Descripción |
|---|---|---|
damage_amount | number/nil | Instantánea de la cantidad de daño del evento. |
damage_cause | string/nil | Nombre de DamageCause cuando el evento de daño expone uno. |
damager | table/nil | Referencia al atacante en un evento de daño por entidad. |
projectile | table/nil | Referencia al proyectil cuando el atacante es un proyectil. |
spawn_reason | string/nil | Motivo de aparición del elite. |
entity | table/nil | Entidad del evento de muerte o de zona. |
Métodos
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
cancel_event() | — | nil | Cancela un EliteDamageEvent u otro evento cancelable. |
set_damage_amount(amount) | number | nil | Reemplaza el daño de un EliteDamageEvent. |
multiply_damage_amount(multiplier) | number | nil | Multiplica el daño de un EliteDamageEvent. |
context.world: adiciones y sustituciones de EliteMobs
Los poderes de jefe de EliteMobs heredan todas las filas de la tabla de mundo de MagmaCore y añaden o sustituyen los métodos siguientes.
Métodos
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
play_sound_at_location(location, sound, volume?=1, pitch?=1) | table, string (Sound), number?=1, number?=1 | nil | Sustitución que acepta sonidos registrados o personalizados con espacio de nombres a través del soporte de EliteMobs. |
spawn_particle_at_location(location, particle, count?=1) | table, string (Particle)/table, int?=1 | nil | Sustitución que acepta una tabla de especificación de partícula de EliteMobs. |
set_block_at_location(location, material, require_air?=false) | table, string (Material), bool?=false | nil | Sustitución que usa la colocación de bloques temporales de EliteMobs sin caducidad. |
place_temporary_block_at_location(location, material, ticks?=0, require_air?=false) | table, string (Material), int?=0, bool?=false | nil | Sustitución que usa la colocación de bloques temporales de EliteMobs. |
get_block_type_at_location(location) | table | string/nil | Devuelve un nombre de Material en mayúsculas, o nil para una ubicación inválida. |
get_highest_block_y_at_location(location) | table | int/nil | Sustitución que devuelve la Y del bloque más alto, o nil. |
get_blast_resistance_at_location(location) | table | number | Devuelve la resistencia a explosiones del bloque, con 0 por defecto para una ubicación inválida. |
is_air_at_location(location) | table | bool | Comprueba si el bloque objetivo es aire. |
is_passable_at_location(location) | table | bool | Comprueba la transitabilidad según Bukkit. |
is_passthrough_at_location(location) | table | bool | Comprueba si el material no es sólido. |
is_on_floor_at_location(location) | table | bool | Comprueba que el objetivo no sea sólido y que haya un bloque sólido debajo. |
is_standing_on_material(location, material) | table, string (Material) | bool | Comprueba el bloque de debajo. |
strike_lightning_at_location(location) | table | nil | Sustitución que habilita el bypass de rayos de EliteMobs antes de lanzarlo. |
run_empowered_lightning_task_at_location(location) | table | nil | Ejecuta el soporte de rayos potenciados del dragón del End. |
set_world_time(time) / set_world_time(location, time) | int/table, int? | nil | Establece la hora del mundo del jefe o la del mundo de la ubicación proporcionada. |
set_world_weather(weather, duration?=6000) / set_world_weather(location, weather, duration?=6000) | string/table, string/int?, int?=6000 | nil | Establece CLEAR, PRECIPITATION, RAIN o THUNDER. |
run_console_command(command) | string | nil | Ejecuta un comando como la consola. |
spawn_boss_at_location(file, location?, level?) | string, table?, int? | table/nil | Genera un jefe personalizado en la ubicación proporcionada o actual y con el nivel proporcionado o actual. |
spawn_custom_boss_at_location(file, location, options?) | string, table, table? | table/nil | Genera un jefe personalizado; las opciones admiten silent, level, add_as_reinforcement y velocity. |
spawn_entity_at_location(type, location, options?) | string (EntityType), table, table? | table/nil | Genera una entidad vainilla; las opciones admiten velocity, duration, effect de EntityEffect, on_land y max_ticks. |
spawn_falling_block_at_location(location, material, options?) | table, string (Material), table? | table/nil | Genera un bloque que cae; las opciones admiten drop_item, hurt_entities, velocity y on_land. |
spawn_reinforcement_at_location(file, location, level?=0, velocity?) | string, table, int?=0, table? | table/nil | Invoca un refuerzo vinculado al jefe. |
spawn_fireworks_at_location(location, options) | table, table | table/nil | Genera un fuego artificial; las opciones admiten effects, type, flicker, trail, colors, fade_colors, power, velocity y shot_at_angle, con nombres de FireworkEffect.Type para type. |
spawn_splash_potion_at_location(location, options) | table, table | table/nil | Genera una poción arrojadiza; las entradas de effects aceptan type de PotionEffectType, duration, amplifier y overwrite, además de velocity en el nivel superior. |
generate_fake_explosion(locations, source?) | table, table? | nil | Genera una explosión falsa de EliteMobs para un array de ubicaciones de bloque. |
spawn_fake_gold_nugget_at_location(location, velocity, gravity?=false) | table, table, bool?=false | table/nil | Genera un proyectil falso de pepita de oro. |
run_fake_gold_nugget_damage(projectiles) | table | nil | Ejecuta la pasada de daño de los proyectiles falsos. |
generate_player_loot(times?=1) | int?=1 | nil | Genera botín de jugador para los atacantes elegibles. |
drop_bonus_coins(multiplier?=2) | number?=2 | nil | Suelta monedas de bonificación para los atacantes elegibles. |
Tabla de proyectil falso de EliteMobs
spawn_fake_gold_nugget_at_location devuelve esta tabla cuando la generación tiene éxito.
Métodos
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
get_location() | — | table | Devuelve la ubicación del proyectil falso. |
set_gravity(enabled) | bool | nil | Establece la gravedad del proyectil falso. |
remove() | — | nil | Elimina el proyectil falso. |
is_removed() | — | bool | Comprueba si fue eliminado. |
context.settings
Los poderes de jefe de EliteMobs reciben esta tabla de ajustes del mismo constructor de tabla de mundo.
Métodos
| Método | Args | Devuelve | Descripción |
|---|---|---|---|
warning_visual_effects_enabled() | — | bool | Devuelve el ajuste actual de efectos visuales de advertencia. |