Saltar al contenido principal

Referencia de la API de Lua

Referencia completa de métodos para la API de scripting de Lua. Todos los métodos se invocan mediante la sintaxis context.table:method().

Los métodos globales (marcados como GLOBAL) provienen de Magmacore, la biblioteca central compartida. Se aplican a los scripts de FreeMinecraftModels y otros consumidores de ScriptInstance de MagmaCore. Los poderes de jefes de EliteMobs reutilizan el mismo sandbox de Lua pero exponen tablas de contexto y nombres de métodos específicos de jefes; los scripts de NPC de EliteMobs se ejecutan en el mismo runtime de MagmaCore y reciben el contexto compartido completo más la tabla context.npc, exclusiva de NPC. Consulta las secciones de EliteMobs más abajo y Scripts de NPC para conocer esas variantes.

Los métodos de EliteMobs (marcados como ELITEMOBS) son específicos de los scripts de poderes de jefes y scripts de NPC de EliteMobs.

Los métodos de FMM (marcados como FMM) son específicos de los scripts de objetos y props de FreeMinecraftModels.

Cuando un método requiere un enum de Bukkit (Sound, Particle, Material, etc.), consulta los Javadocs de Spigot para conocer los valores válidos. Los nombres de los enums se pasan como cadenas en mayúsculas (por ejemplo, "DIAMOND_SWORD", "ENTITY_ARROW_SHOOT").


Tabla de Entidad GLOBAL

Campos base presentes en todas las tablas de entidad — jugadores, mobs, props, cualquier cosa.

Propiedades

CampoTipoDescripción
uuidstringUUID de la entidad
entity_typestringTipo de entidad (minúsculas)
is_validboolLa entidad aún existe en el mundo
is_deadboolLa entidad está muerta
is_playerboolEs un jugador
is_hostileboolEs un Monstruo
is_passiveboolEs un Animal
current_locationlocationPosición de la entidad (x, y, z, yaw, pitch, world)
worldstringNombre del mundo

Los enriquecedores específicos de cada plugin pueden añadir campos adicionales de nivel superior cuando el plugin correspondiente está instalado. Consulta las secciones de puente más abajo para los campos de EliteMobs y FreeMinecraftModels.

Métodos

MétodoArgsDevuelveDescripción
teleport(location)tabla locationnilTeletransporta la entidad
remove()nilElimina la entidad del mundo
set_silent(enabled)boolnilEstablece silencio
set_invulnerable(enabled)boolnilEstablece invulnerable
set_gravity(enabled)boolnilEstablece la gravedad
set_glowing(enabled)boolnilEstablece el brillo

Puente: entity.elite

Añadido por el enriquecedor de entidades de EliteMobs cuando EliteMobs está instalado. El enriquecedor añade estos flags de nivel superior:

CampoTipoDescripción
is_eliteboolEs una entidad de EliteMobs
is_custom_bossboolEs un jefe personalizado de EliteMobs
is_significant_bossboolJefe personalizado con multiplicador de salud superior a 1 (encuentro diseñado)

entity.elite solo está presente cuando is_elite es true.

CampoTipoDescripción
levelintNivel del mob elite
namestringNombre mostrado del elite
healthdoubleSalud actual
max_healthdoubleSalud máxima
is_custom_bossboolEs un jefe personalizado (también disponible en el nivel superior)
health_multiplierdoubleMultiplicador de salud definido en la configuración
damage_multiplierdoubleMultiplicador de daño definido en la configuración
remove()methodElimina la entidad elite

Puente: entity.model

Añadido por el enriquecedor de entidades de FreeMinecraftModels cuando FMM está instalado. El enriquecedor añade estos flags de nivel superior:

CampoTipoDescripción
is_modeledboolTiene un modelo de FMM
is_propboolEs un prop de FMM

entity.model solo está presente cuando is_modeled es true.

CampoTipoDescripción
model_idstringNombre del blueprint del modelo
is_dynamicboolSi esto es una DynamicEntity de FMM (true) o un prop estático (false)
play_animation(name, blend?, loop?)methodReproduce una animación. blend por defecto es false, loop por defecto es false
stop_animations()methodDetiene todas las animaciones
remove()methodElimina la entidad modelada

Puente: permisos del jugador

Añadido por el enriquecedor de entidades de FreeMinecraftModels cuando FMM está instalado. Estos campos aparecen únicamente en las tablas de entidad de jugador:

Campo / MétodoArgsDevuelveDescripción
has_permission(node)stringboolSi el jugador tiene el nodo de permiso indicado
is_opboolSi el jugador es un operador del servidor

Tabla de Entidad Viviente GLOBAL

Extiende la Tabla de Entidad. Aplicada a todas las entidades vivientes (mobs y jugadores).

Propiedades

CampoTipoDescripción
healthdoubleSalud actual
maximum_healthdoubleSalud máxima
namestringNombre mostrado de la entidad
is_aliveboolLa entidad no está muerta

Métodos

MétodoArgsDevuelveDescripción
damage(amount)doublenilInflige daño a la entidad
push(x, y, z)double, double, doublenilAñade un vector de velocidad
set_facing(x, y, z)double, double, doublenilEstablece la dirección de mirada
add_potion_effect(type, duration, amplifier)string (PotionEffectType), int, intnilAplica un efecto de poción por nombre
remove_potion_effect(type)string (PotionEffectType)nilElimina un efecto de poción por nombre
get_scale()numberEscala actual de la entidad (por defecto 1.0 en servidores sin el atributo generic.scale)
set_scale(value)doublenilEstablece la escala de la entidad mediante el atributo generic.scale (no tiene efecto en servidores anteriores a 1.20.5)

context.player GLOBAL

Tabla de entidad jugador. Hereda todos los campos de Entidad y Entidad Viviente.

Propiedades

CampoTipoDescripción
game_modestringsurvival, creative, adventure, spectator

Métodos

MétodoArgsDevuelveDescripción
send_message(text)stringnilEnvía un mensaje al chat. Admite códigos de color
get_held_item()tabla o nilDevuelve los campos type, amount, display_name, o nil si la mano está vacía. type es un nombre de Material de Bukkit en mayúsculas
consume_held_item(amount?)int (por defecto 1)nilReduce la pila del objeto sostenido en amount
has_item(material, amount?)string (Material), int (por defecto 1)boolComprueba el inventario para un material
get_target_entity(range?)num (por defecto 50)entidad o nilRaycast para la entidad a la que mira el jugador
get_eye_location()locationPosición de los ojos del jugador
get_look_direction()vectorVector unitario de dirección
send_block_change(x, y, z, material, ticks?)int, int, int, string (Material), int (opcional)boolEnvía un bloque falso. Se restablece automáticamente tras ticks si se indica
reset_block(x, y, z)int, int, intboolRestablece el bloque falso al real
sleep(x, y, z)num, num, numnilAnimación de dormir en cama en la ubicación
wake_up()nilDespierta del sueño
show_boss_bar(text, color?, progress, ticks?)string, string (BarColor, por defecto WHITE), num, int (opcional)nilMuestra la barra de jefe. Se oculta automáticamente tras ticks. Admite códigos de color
hide_boss_bar()nilElimina la barra de jefe
show_action_bar(text, ticks?)string, int (opcional)nilMuestra la barra de acción. Se repite si ticks es mayor que 0. Admite códigos de color
show_title(title, subtitle?, fadeIn, stay, fadeOut)string, string (por defecto vacío), int, int, intnilMuestra la pantalla de título. Admite códigos de color

context.world GLOBAL

Operaciones del mundo para los scripts de FreeMinecraftModels y otros runtimes de ScriptInstance respaldados por Magmacore. Los poderes de jefes de EliteMobs parten de esta misma tabla base y superponen las adiciones y sobrescrituras de context.world de EliteMobs listadas más abajo.

Los métodos de context.world vienen en dos formas intercambiables: estilo de coordenadas (x, y, z) y estilo de tabla de ubicación (las variantes *_at_location). Ambas formas están disponibles en las superficies genéricas, y los poderes de jefes de EliteMobs mantienen los métodos base compartidos mientras añaden asistentes de tabla de ubicación específicos de jefes.

Propiedades

CampoTipoDescripción
namestringNombre del mundo

Métodos

MétodoArgsDevuelveDescripción
get_block_at(x, y, z)int, int, intstringNombre del Material (minúsculas). Devuelve "air" si el chunk no está cargado
set_block_at(x, y, z, material)int, int, int, string (Material)boolEncola la colocación del bloque si el material es válido; los chunks no cargados se omiten
get_highest_block_y(x, z)int, intintY del bloque no-aire más alto
spawn_particle(particle, x, y, z, count?, dx?, dy?, dz?, speed?)string (Particle), num, num, num, int?=1, num?=0, num?=0, num?=0, num?=0nilGenera un efecto de partícula
play_sound(sound, x, y, z, volume?, pitch?)string (Sound), num, num, num, float?=1, float?=1nilReproduce un sonido
strike_lightning(x, y, z)num, num, numnilLanza un rayo
get_time()intTiempo del mundo en ticks
set_time(ticks)longnilEstablece el tiempo del mundo
get_nearby_entities(x, y, z, radius)num, num, num, numtablaArray de tablas de entidad
get_nearby_players(x, y, z, radius)num, num, num, numtablaArray de tablas de entidad jugador
spawn_entity(type, x, y, z)string (EntityType), num, num, numentidad o nilGenera una entidad vanilla; devuelve nil si el tipo de entidad es inválido
raycast(fx, fy, fz, dx, dy, dz, max?)num, num, num, num, num, num, num?=50tablaDevuelve los campos hit_entity, hit_location, hit_block
place_temporary_block(x, y, z, material, ticks?, require_air?)int, int, int, string (Material), int?=0, bool?=falseboolEncola un reemplazo de bloque que se revierte automáticamente tras ticks. Devuelve false si el material es inválido o el chunk no está cargado
drop_item(x, y, z, material, amount?)num, num, num, string (Material), int?=1entidad o nilSuelta una entidad de objeto de forma natural en la ubicación; devuelve nil si el material es inválido
spawn_firework(x, y, z, colors, type?, power?)num, num, num, tabla, string (FireworkEffect.Type)?=BALL, int?=1nilGenera un fuego artificial
strike_lightning_at_location(loc)locationnilLanza un rayo
play_sound_at_location(loc, sound, volume?, pitch?)location, string (Sound), float?=1, float?=1nilReproduce un sonido
spawn_particle_at_location(loc, particle, count?, dx?, dy?, dz?, speed?)location, string (Particle), int?=1, num?=0, num?=0, num?=0, num?=0nilGenera un efecto de partícula
get_block_at_location(loc)locationstringNombre del Material (minúsculas). Devuelve "air" si el chunk no está cargado
set_block_at_location(loc, material)location, string (Material)boolEncola la colocación del bloque si el material es válido; los chunks no cargados se omiten
place_temporary_block_at_location(loc, material, ticks?, require_air?)location, string (Material), int?=0, bool?=falseboolEncola un reemplazo de bloque que se revierte automáticamente tras ticks. Devuelve false si el material es inválido o el chunk no está cargado
get_highest_block_y_at_location(loc)locationint o nilY del bloque no-aire más alto

Asistentes de em GLOBAL

Constructores auxiliares globales expuestos en la tabla em en todos los runtimes de Lua de MagmaCore.

Constructores

MétodoArgsDevuelveDescripción
em.create_location(x, y, z, world?, yaw?, pitch?)num, num, num, string?, num?, num?locationTabla de ubicación con x, y, z, opcionalmente world, yaw, pitch, y un método add(dx, dy, dz) que modifica en el sitio
em.create_vector(x, y, z)num, num, numvectorTabla de vector con x, y, z

Constructores de Zonas

Los constructores de zonas devuelven tablas simples de definición de zona. Las esferas, domos, cilindros y cuboides incluyen :set_center(location). Los conos y zonas de rayo incluyen :set_origin(location) y :set_destination(location).

MétodoArgsDevuelveDescripción
em.zone.create_sphere_zone(radius)numzone{ kind = "sphere", radius = ... }
em.zone.create_dome_zone(radius)numzone{ kind = "dome", radius = ... }
em.zone.create_cylinder_zone(radius, height)num, numzone{ kind = "cylinder", radius = ..., height = ... }
em.zone.create_cuboid_zone(x, y, z)num, num, numzoneSemiextensiones del cuboide
em.zone.create_cone_zone(length, radius)num, numzoneDefinición de cono con setters de origen/destino
em.zone.create_static_ray_zone(length, thickness)num, numzoneDefinición de rayo estático
em.zone.create_rotating_ray_zone(length, point_radius, animation_duration)num, num, numzoneDefinición de rayo rotatorio
em.zone.create_translating_ray_zone(length, point_radius, animation_duration)num, num, numzoneDefinición de rayo de traslación

em.location GLOBAL

Asistentes de consulta de ubicaciones expuestos en la tabla global em. Respaldados por el LocationQueryRegistry y el servicio LocationOwnership de Magmacore, que recopila resultados de los proveedores registrados (regiones de dungeon/world-package de EliteMobs, WorldGuard, GriefPrevention, etc.). Todas las funciones aceptan una tabla de ubicación ({x, y, z, world}) y devuelven valores por defecto seguros si la ubicación es inválida.

MétodoArgsDevuelveDescripción
em.location.is_in_dungeon(loc)locationboolSi la ubicación está dentro de alguna región de dungeon registrada
em.location.is_protected(loc)locationboolSi algún proveedor informa que la ubicación está protegida (WorldGuard, GriefPrevention, regiones de EM, etc.)
em.location.owned_by(loc, namespace)location, stringboolSi el namespace dado posee la ubicación (por ejemplo, "EliteMobs")
em.location.owners(loc)locationtablaArray de cadenas de namespace que reclaman la propiedad de esta ubicación
em.location.kinds_at(loc)locationtablaArray de etiquetas de tipo en esta ubicación (por ejemplo, "elitemobs", "world_package", "open_world_dungeon", categoría de tamaño de dungeon)
em.location.has_kind(loc, kind)location, stringboolSi la ubicación tiene la etiqueta de tipo indicada

context.boss ELITEMOBS

Tabla de entidad del jefe para los scripts de poder Lua de EliteMobs. Hereda todos los métodos de la Tabla de Entidad Viviente de EliteMobs. Las propiedades se actualizan mediante getters dedicados.

Propiedades

CampoTipoDescripción
namestringNombre mostrado del jefe
uuidstringUUID de la entidad elite
healthdoubleSalud actual (snapshot)
maximum_healthdoubleSalud máxima (snapshot)
current_locationlocationPosición del jefe (snapshot)
levelintNivel del jefe
damager_countintNúmero de jugadores que han dañado a este jefe
is_in_combatboolEl jefe está en combate
existsboolLa entidad del jefe existe

Métodos

MétodoArgsDevuelveDescripción
is_alive()boolSi la entidad del jefe está viva (comprobación en vivo)
get_health()doubleSalud actual (en vivo)
get_maximum_health()doubleSalud máxima (en vivo)
get_location()locationPosición actual (en vivo)
restore_health(amount)doublenilCura al jefe
despawn()nilElimina la entidad del jefe
get_damager_count()intNúmero de daños en vivo
add_tag(tag, ticks?)string, int?=0nilAñade etiqueta, se elimina automáticamente tras ticks si se indica
remove_tag(tag)stringnilElimina la etiqueta
has_tag(tag)stringboolComprueba la etiqueta
reset_custom_name()nilRestablece el nombre al valor por defecto de la configuración
play_sound_at_self(sound, volume?, pitch?)string (clave de sonido de Minecraft, p. ej. "entity.wither.spawn"), float?=1, float?=1nilReproduce un sonido en el jefe
play_sound_at_entity(sound, volume?, pitch?)string (clave de sonido de Minecraft, p. ej. "entity.wither.spawn"), float?=1, float?=1nilReproduce un sonido en el jefe (alias)
spawn_particle_at_self(particle, count?)string (Particle) o tabla, int?=1nilGenera partícula en el jefe
play_model_animation(name)stringnilReproduce una animación de modelo FMM (requiere modelo FMM)
has_mount()-boolSi este jefe está montado sobre una entidad de montura
get_mount()-entidad o nilReferencia a la entidad de montura actual, marcada con is_mount = true
set_mount(entity)tabla entidadboolHace que el jefe monte sobre la entidad dada
clear_mount()-boolHace que el jefe abandone su vehículo actual
dismount()-boolAlias de clear_mount()
navigate_to_location(location, speed?, force?, timeout?)location, double?=1, bool?=false, int?=0nilPathfinding hasta la ubicación
send_message(text, range?)string, double?=20nilEnvía un mensaje a los jugadores cercanos. Admite códigos de color
get_nearby_players(range)doubletablaArray de tablas de jugador dentro del rango
get_target_player()jugador o nilObjetivo actual del mob si es un jugador
get_nearby_players_in_zone(zone)tabla zonetablaJugadores dentro de la forma de la zona
get_ender_dragon_phase()string o nilNombre de EnderDragon.Phase
set_ender_dragon_phase(phase)string (EnderDragon.Phase)nilEstablece la fase del ender dragon
summon_reinforcement(file, zone?, level?)string, zone o nil, int?=0entidad o nilGenera un jefe de refuerzo
summon_projectile(type, origin, dest, speed?, options?)string (EntityType), location, location, double?=1, tablaentidad o nilGenera un proyectil rastreado; devuelve nil si el tipo o las ubicaciones son inválidos

Opciones de summon_projectile

OpciónTipoPor defectoDescripción
custom_damagenumberSobrescribe el daño del proyectil
detonation_powerstringNivel de potencia explosiva
yieldnumberRendimiento del fireball
incendiarybooltrueEl fireball prende fuego
gravityboolHabilita la gravedad
glowingboolfalseEstablece el brillo
invulnerableboolfalseEstablece invulnerable
persistentbooltrueEstablece persistente
durationint0Eliminación automática tras ticks
effectstringEntityEffect a reproducir al aparecer
spawn_at_originboolfalseGenera en el origen en vez de lanzar desde el jefe
direction_onlyboolfalseEstablece la dirección sin velocidad (fireballs)
trackbooltrueRegistra como proyectil elite
on_landfunctionCallback cuando el proyectil aterriza: function(location, entity)
max_ticksint6000Ticks máximos antes del callback forzado de aterrizaje

Métodos de Zona/Partícula

MétodoArgsDevuelveDescripción
spawn_particles_in_zone(zone, particle, ...)zone, particle spec, coverage?=1.0nilRellena la zona con partículas
spawn_particles_in_zone_border(zone, particle, ...)zone, particle spec, coverage?=1.0nilDelinea la zona con partículas
get_particles_from_self_toward_zone(zone, particle, speed?)zone, string, double?=0.1tablaPartículas direccionales desde el jefe hacia la zona
get_particles_toward_self(zone, particle, speed?)zone, string, double?=0.1tablaPartículas direccionales desde la zona hacia el jefe
spawn_particles_with_vector(particles)tablanilGenera un array de partículas direccionales

Soporte para Poderes Especiales

MétodoArgsDevuelveDescripción
start_tracking_fireball_system(speed?)double?=0.5nilInicia el rastreo de la IA de fireball
handle_spirit_walk_damage(cause)string (DamageCause)nilGestiona el daño de spirit walk por causa
shield_wall_is_active()boolSi el shield wall está activo
initialize_shield_wall(charges?)int?=1nilActiva el shield wall
shield_wall_absorb_damage(player, damage)tabla entidad, doubleboolIntenta absorber daño
deactivate_shield_wall()nilDesactiva el shield wall
start_zombie_necronomicon(target, file)tabla entidad, stringnilInicia el necronomicon en el objetivo

context.npc ELITEMOBS NPC

Tabla de NPC para los scripts Lua de NPC de EliteMobs. Los scripts de NPC residen en plugins/EliteMobs/npc_scripts/ y se adjuntan mediante una lista scripts: de la configuración del NPC. Los scripts de NPC se ejecutan en el mismo runtime de MagmaCore que cualquier otra superficie y reciben el contexto compartido completo — context.world, context.zones, context.scheduler, context.cooldowns, context.log, context.event, context.player, context.state — más la tabla context.npc, exclusiva de NPC, documentada aquí.

Propiedades

CampoTipoDescripción
namestringNombre mostrado del NPC
filenamestringNombre del archivo de configuración del NPC
uuidstringUUID del NPC en tiempo de ejecución
activation_radiusdoubleRadio de activación configurado
current_locationlocationUbicación snapshot cuando la entidad del NPC existe
entity_typestringTipo de entidad de Bukkit cuando la entidad del NPC existe

Métodos

MétodoArgsDevuelveDescripción
is_valid()-boolSi la entidad de respaldo del NPC sigue siendo válida
get_location()-locationUbicación actual del NPC, o el fallback de spawn
get_eye_location()-locationUbicación actual de los ojos, o el fallback de spawn
get_activation_radius()-doubleRadio de activación configurado actual
get_nearby_players(radius)doubletablaTablas de jugador cerca del NPC
face_direction_or_location(target)vector o locationnilMira en una dirección o hacia una ubicación
say_greeting(player?)player, UUID, name, o nilnilEnvía un saludo configurado. Por defecto, el jugador desencadenante cuando está disponible
say_dialog(player?)player, UUID, name, o nilnilEnvía el diálogo configurado. Por defecto, el jugador desencadenante cuando está disponible
say_farewell(player?)player, UUID, name, o nilnilEnvía el texto de despedida configurado. Por defecto, el jugador desencadenante cuando está disponible
play_model_animation(name)stringnilReproduce una animación de modelo personalizado si está disponible; no tiene efecto de forma segura en caso contrario

Los hooks específicos de NPC incluyen on_spawn, on_remove, on_game_tick, on_npc_interact, on_npc_proximity_enter y on_npc_proximity_leave. Consulta Scripts de NPC de EliteMobs para el flujo de trabajo completo y los detalles de cooldown.


Tabla de Entidad Viviente de EliteMobs ELITEMOBS

Las tablas de entidad creadas dentro de los scripts de poder de EliteMobs (desde context.boss, datos de eventos, callbacks de zona y consultas del mundo) usan una tabla de entidad viviente extendida con métodos adicionales más allá de la Entidad Viviente global. context.boss hereda todos estos.

Propiedades

CampoTipoDescripción
namestringNombre mostrado de la entidad
uuidstringUUID de la entidad
entity_typestringNombre del tipo de entidad
is_playerboolEs un jugador
is_monsterboolEs un Monstruo
is_eliteboolEs una entidad de EliteMobs
is_validboolLa entidad aún existe
is_mountboolTrue cuando esta tabla de entidad representa una montura de jefe
healthdoubleSalud actual (snapshot)
maximum_healthdoubleSalud máxima (snapshot)
current_locationlocationPosición de la entidad (snapshot)
game_modestringModo de juego (EN MAYÚSCULAS en EliteMobs: SURVIVAL, CREATIVE, ADVENTURE, SPECTATOR)

Métodos

MétodoArgsDevuelveDescripción
is_alive()boolSi la entidad está viva (comprobación en vivo)
is_ai_enabled()boolSi la IA está habilitada
is_frozen()boolSi el jefe está congelado (solo CustomBossEntity)
is_on_ground()boolSi la entidad está en el suelo
is_healing()boolSi el elite se está curando
get_location()locationPosición actual (en vivo)
get_eye_location()locationPosición de los ojos (en vivo)
get_height()doubleAltura de la entidad
get_health()doubleSalud actual (en vivo)
get_maximum_health()doubleSalud máxima (en vivo)
get_velocity()vectorVector de velocidad actual
deal_damage(amount)doublenilInflige daño genérico
deal_custom_damage(amount)doublenilInflige daño de ataque de jefe personalizado desde el jefe del poder
deal_damage_from_boss(amount)doublenilInflige daño atribuido a la entidad del jefe del poder
restore_health(amount)doublenilCura la entidad (usa el curado de EliteMobs si es elite)
play_sound_at_entity(sound, volume?, pitch?)string (clave de sonido de Minecraft, p. ej. "entity.ender_dragon.growl"), float?=1, float?=1nilReproduce sonido en la entidad
play_sound_at_self(sound, volume?, pitch?)string (clave de sonido de Minecraft, p. ej. "entity.ender_dragon.growl"), float?=1, float?=1nilReproduce sonido en la entidad (alias)
spawn_particle_at_self(particle, count?)string (Particle) o tabla, int?=1nilGenera partícula en la entidad
spawn_particles_at_location(loc, particle, count?)location, particle spec, int?=1nilGenera partículas en la ubicación
teleport_to_location(location)locationnilTeletransporta la entidad
set_velocity_vector(vector)vectornilEstablece la velocidad
set_gravity(enabled)boolnilEstablece la gravedad
apply_push_vector(vector, additive?, delay?)vector, bool?=false, int?=1nilAplica velocidad tras un retraso. additive suma a la velocidad existente
push_relative_to(location, force?, extraX?, extraY?, extraZ?)location, double?=1, double?=0, double?=0, double?=0nilEmpuja la entidad lejos de la ubicación
set_custom_name(name)stringnilEstablece el nombre mostrado personalizado. Admite códigos de color
reset_custom_name()nilRestablece el nombre al valor por defecto de EliteMobs
set_custom_name_visible(visible)boolnilAlterna la visibilidad del nombre
set_ai_enabled(enabled, duration?)bool, int?=0nilEstablece el estado de la IA. Se revierte automáticamente tras duration ticks
set_awareness_enabled(enabled, duration?)bool, int?=0nilEstablece la consciencia del mob. Se revierte automáticamente tras duration ticks
face_direction_or_location(target)vector o locationnilMira en una dirección o hacia una ubicación
play_model_animation(name)stringnilReproduce una animación de modelo FMM (requiere modelo FMM)
is_inside_vehicle()-boolSi la entidad está montada sobre otra entidad
has_vehicle()-boolSi la entidad tiene un vehículo
get_vehicle()-entidad o nilReferencia a la entidad de vehículo actual
set_vehicle(entity)tabla entidadboolHace que esta entidad monte sobre el vehículo dado
leave_vehicle()-boolHace que esta entidad abandone su vehículo actual
has_passengers()-boolSi esta entidad tiene pasajeros
get_passenger_count()-intNúmero de pasajeros
get_passengers()-tablaArray de referencias a entidades pasajeras
add_passenger(entity)tabla entidadboolAñade un pasajero a esta entidad
remove_passenger(entity)tabla entidadboolElimina un pasajero de esta entidad
eject_passengers()-boolExpulsa a todos los pasajeros
set_scale(scale, duration?)double, int?=0nilEstablece la escala de la entidad. Se revierte a 1.0 tras duration ticks
set_invulnerable(enabled, duration?)bool, int?=0nilEstablece invulnerable. Se revierte automáticamente tras duration ticks
set_healing(enabled)boolnilEstablece el estado de curado del elite
navigate_to_location(location, speed?, force?, timeout?)location, double?=1, bool?=false, int?=0nilPathfinding hasta la ubicación (solo CustomBossEntity)
add_tag(tag, ticks?)string, int?=0nilAñade etiqueta, se elimina automáticamente tras ticks
remove_tag(tag)stringnilElimina la etiqueta
has_tag(tag)stringboolComprueba la etiqueta
overlaps_box_at_location(center, halfX?, halfY?, halfZ?)location, double?=0.5, double?=halfX, double?=halfXboolSi el bounding box de la entidad se superpone con una caja en la ubicación
remove_elite()nilElimina mediante el pipeline de eliminación de EliteMobs
apply_potion_effect(type, duration, amplifier?)string (PotionEffectType), int, int?=0nilAplica efecto de poción
set_equipment(slot, material, options?)string (EquipmentSlot), string (Material), tablanilEstablece el objeto en una ranura de equipo
set_fire_ticks(ticks)intnilEstablece los ticks de fuego
add_visual_freeze_ticks(ticks?)int?=1nilAñade ticks visuales de congelación
place_temporary_block(material, ticks?, requireAir?)string (Material), int?=0, bool?=falsenilColoca un bloque temporal en la ubicación de la entidad

Opciones de set_equipment

OpciónTipoPor defectoDescripción
unbreakableboolfalseHace el objeto irrompible
enchantmentstablaArray de tablas {type = "ENCHANT_NAME", level = 1}

Métodos de Jugador en EliteMobs

Los jugadores en scripts de EliteMobs tienen todos los métodos de entidad viviente de EliteMobs más:

MétodoArgsDevuelveDescripción
send_message(text)stringnilEnvía mensaje al chat. Admite códigos de color
show_action_bar(text)stringnilMuestra texto en la barra de acción. Admite códigos de color
show_title(title, subtitle?, fadeIn?, stay?, fadeOut?)string, string?="", int?=10, int?=40, int?=10nilMuestra la pantalla de título. Admite códigos de color
show_boss_bar(title, color?, style?, duration?)string, string (BarColor)?=WHITE, string (BarStyle)?=SOLID, int?=40nilMuestra barra de jefe. Se oculta automáticamente tras duration ticks. Admite códigos de color
run_command(command)stringnilEjecuta un comando como el jugador

Tabla de Referencia de Entidad de EliteMobs

Las entidades no vivientes (proyectiles, falling blocks, fireworks) devueltas por los métodos de spawn de EliteMobs obtienen una tabla de referencia ligera:

Campo / MétodoArgsDevuelveDescripción
namestringNombre de la entidad
uuidstringUUID de la entidad
entity_typestringNombre del tipo de entidad
is_playerboolSiempre false
is_eliteboolSiempre false
is_valid()boolSi la entidad sigue siendo válida (comprobación en vivo)
current_locationlocationPosición (snapshot)
get_location()locationPosición actual (en vivo)
get_velocity()vectorVector de velocidad actual
is_on_ground()boolSi la entidad está en el suelo
teleport_to_location(location)locationnilTeletransporta la entidad
set_velocity_vector(vector)vectornilEstablece la velocidad
set_direction_vector(vector)vectornilEstablece la dirección (solo fireballs)
set_yield(amount)doublenilEstablece el rendimiento del fireball
set_gravity(enabled)boolnilEstablece la gravedad
detonate()nilDetona el fuego artificial
remove()nilElimina la entidad
unregister(reason?)string?=OTHERnilAnula el registro del rastreador de entidades de EliteMobs

context.players ELITEMOBS

Tabla de consulta de jugadores disponible en los scripts de poder de EliteMobs. Proporciona métodos auxiliares para encontrar jugadores en relación con el jefe.

MétodoArgsDevuelveDescripción
current_target()jugador o nilActor del evento si es jugador, o el objetivo actual del mob del jefe si es un jugador
nearby_players(radius)doubletablaArray de tablas de jugador dentro del radio del jefe
all_players_in_world()tablaArray de todas las tablas de jugador en el mundo del jefe

context.entities ELITEMOBS

Tabla de consulta de entidades disponible en los scripts de poder de EliteMobs. Proporciona métodos auxiliares para encontrar entidades en relación con el jefe. Todas las consultas excluyen al propio jefe.

MétodoArgsDevuelveDescripción
get_nearby_entities(radius, filter?)double, string?="living"tablaEntidades dentro del radio. "all"/"entities" devuelve todas las entidades (incluidas las no vivientes); cualquier otro valor devuelve entidades vivientes filtradas por categoría: "player(s)", "elite(s)", "mob(s)", o por defecto = todas las vivientes
get_entities_in_box(center, halfX, halfY, halfZ, filter?)location, double, double, double, string?="living"tablaEntidades vivientes dentro de una caja alineada con los ejes (mismos valores de filtro que arriba; solo modos no all)
get_all_entities(filter?)string?="living"tablaTodas las entidades vivientes en el mundo del jefe (mismos valores de filtro)
get_direct_target_entity()entidad o nilEntidad objetivo directa del evento desencadenante
get_boss_spawn_location()locationUbicación de spawn original del jefe

context.vectors ELITEMOBS

Utilidades matemáticas de vectores disponibles en los scripts de poder de EliteMobs.

MétodoArgsDevuelveDescripción
get_vector_between_locations(from, to, options?)location, location, tablavectorVector desde el origen hasta el destino. Las opciones pueden modificar el resultado
rotate_vector(vector, pitch?, yaw?)vector, double?=0, double?=0vectorRota el vector por pitch y yaw (grados)
normalize_vector(vector)vectorvectorNormaliza a longitud unitaria

context.state GLOBAL

Una tabla Lua simple que persiste durante toda la vida útil de la instancia del script. Úsala para almacenar flags, contadores, IDs de tareas, estados de alternancia y cualquier dato que necesites compartir entre hooks. context.state es la tabla persistente propiedad del script; la mayoría de las demás tablas de context se reconstruyen o se recrean de forma perezosa según sea necesario. FMM cachea context.prop por prop para mejorar el rendimiento, pero sus campos en vivo, como current_location, siguen actualizándose al leerse.

context.state.counter = (context.state.counter or 0) + 1

context.cooldowns GLOBAL

Gestión de cooldowns. Los cooldowns locales son por instancia de script; los cooldowns globales se comparten entre todos los scripts en la misma entidad/propietario. Si no se proporciona una clave, se usa por defecto el nombre del archivo del script.

MétodoArgsDevuelveDescripción
local_ready(key?)string (opcional)boolSi el cooldown local ha expirado
local_remaining(key?)string (opcional)intTicks restantes del cooldown local (0 si está listo)
check_local(key?, duration)string (opcional), intboolSi está listo, inicia el cooldown y devuelve true; en caso contrario false
set_local(duration, key?)long, string (opcional)nilEstablece cooldown local durante duration ticks
global_ready()boolSi el cooldown global ha expirado
set_global(duration)longnilEstablece cooldown global durante duration ticks

En los scripts de poder de EliteMobs, los cooldowns locales se comparten entre todos los poderes en la misma entidad jefe, y los cooldowns globales usan el sistema integrado de cooldowns de poderes del jefe.

Los scripts de NPC de EliteMobs usan el orden de cooldown compartido check_local(key?, duration); consulta Scripts de NPC.


context.scheduler GLOBAL

Planificación de tareas. Todas las tareas se cancelan automáticamente cuando el script se apaga.

Variante Global (Magmacore)

Los scripts de FreeMinecraftModels y los scripts de NPC de EliteMobs usan esta variante compartida. Los nombres al estilo de EliteMobs de más abajo son alias del mismo planificador, por lo que cualquiera de los dos estilos de nomenclatura es válido en las superficies genéricas.

MétodoArgsDevuelveDescripción
run_later(ticks, callback)int, functionintEjecuta el callback tras ticks. Devuelve el ID de tarea
run_repeating(delay, interval, callback)int, int, functionintEjecuta el callback cada interval ticks tras el retraso inicial. Devuelve el ID de tarea
cancel(taskId)intnilCancela una tarea programada

Variante de EliteMobs

MétodoArgsDevuelveDescripción
run_after(ticks, callback)int, functionintEjecuta el callback tras ticks. Devuelve el ID de tarea
run_every(ticks, callback)int, functionintEjecuta el callback cada N ticks. Devuelve el ID de tarea
cancel_task(taskId)intnilCancela una tarea programada

context.log GLOBAL

Utilidades de logging para depurar scripts.

Variante Global (Magmacore / FMM)

MétodoArgsDevuelveDescripción
info(message)stringnilRegistra mensaje informativo
warn(message)stringnilRegistra mensaje de advertencia
error(message)stringnilRegistra mensaje de error/advertencia

Variante de EliteMobs

MétodoArgsDevuelveDescripción
info(message)stringnilRegistra mensaje informativo
warn(message)stringnilRegistra mensaje de advertencia
debug(message)stringnilRegistra mensaje de depuración (aparece como info con prefijo debug)

context.zones GLOBAL

Creación y monitorización de zonas para los scripts de FreeMinecraftModels y otros runtimes de ScriptInstance respaldados por Magmacore. Los poderes de jefes de EliteMobs usan la variante context.zones de EliteMobs de más abajo.

Variante Global (Magmacore)

MétodoArgsDevuelveDescripción
create_sphere(x, y, z, radius)num, num, num, numintCrea zona esférica, devuelve handle
create_cylinder(x, y, z, radius, height)num, num, num, num, numintCrea zona cilíndrica, devuelve handle
create_cuboid(x, y, z, xSize, ySize, zSize)num, num, num, num, num, numintCrea zona cuboide, devuelve handle
watch(handle, on_enter?, on_leave?)int, function?, function?boolHabilita el seguimiento de la zona. Los argumentos de función habilitan on_zone_enter / on_zone_leave; los cuerpos de las funciones no se invocan directamente. Los hooks de zona reciben context.player / context.event.player para el jugador que cruzó el límite
unwatch(handle)intnilDetiene el seguimiento de la zona

Variante de EliteMobs

MétodoArgsDevuelveDescripción
get_entities_in_zone(zone, options?)tabla zone, tablatablaObtiene entidades dentro de la zona. Opciones: filter, mode
get_locations_in_zone(zone, options?)tabla zone, tablatablaObtiene ubicaciones dentro de la zona. Opciones: coverage, mode
zone_contains(zone, location, mode?)tabla zone, location, string?="full"boolSi la ubicación está dentro de la zona ("full" o "border")
watch_zone(zone, callbacks, options?)tabla zone, tabla, tabla?nilVigila la zona para entrada/salida. Callbacks: {on_enter = fn, on_leave = fn}. Las opciones admiten filter y mode

context.event GLOBAL

Tabla de datos del evento para el hook que desencadenó la ejecución actual del script. Presente durante los hooks dirigidos por eventos y los hooks genéricos de entrada/salida de zona de MagmaCore que proporcionan un actor jugador; no presente durante on_game_tick, callbacks programados ni hooks de ciclo de vida sin jugador.

Variante Global (Magmacore)

Campo / MétodoTipoDescripción
is_cancelledboolEstado de cancelación cuando se construyó el contexto; no se actualiza tras cancel() / uncancel()
cancel()methodCancela el evento cuando el evento de Bukkit subyacente es cancelable
uncancel()methodDes-cancela el evento cuando el evento de Bukkit subyacente es cancelable
playertabla entidadJugador involucrado en el evento (si lo hay)

Los hooks de zona genéricos rellenan player pero no están respaldados por un evento de Bukkit cancelable, por lo que cancel() y uncancel() no están presentes ahí.

Para la tabla de eventos de EliteMobs (que proporciona cantidades de daño, causas de daño, etc.), consulta Tabla de Eventos de EliteMobs.


context.script ELITEMOBS

Puente al sistema Elite Script de EliteMobs. Permite que los poderes Lua usen los sistemas de targeting, zona y vector relativo basados en YAML a través de tablas Lua con los mismos nombres de campo que las configuraciones YAML de Elite Script.

Métodos

MétodoArgsDevuelveDescripción
target(spec)tablatarget handleCrea un handle de objetivo desde una tabla de especificación de target de Elite Script
zone(spec)tablazone handleCrea un handle de zona desde una tabla de especificación de zona de Elite Script
relative_vector(spec, location?, zone?)tabla, location, zone handlevector handleCrea un vector relativo desde una especificación de vector de Elite Script
damage(target, amount?, multiplier?)target handle, double?=0, double?=1nilInflige daño a todas las entidades en el target
push(target, vector, additive?)target handle, vector o vector handle, bool?=falsenilEmpuja las entidades objetivo con velocidad
set_facing(target, vector)target handle, vector o vector handlenilEstablece la dirección de mirada de las entidades objetivo
spawn_particles(target, particles)target handle, tabla o stringnilGenera partículas en las ubicaciones del target

Target Handle

Devuelto por context.script:target(spec). La tabla spec usa las mismas claves que las configuraciones YAML de target de Elite Script (por ejemplo, {targetType = "NEARBY_PLAYERS", range = 20}).

MétodoArgsDevuelveDescripción
entities()tablaArray de tablas de entidad en el target
locations()tablaArray de tablas de ubicación en el target
first_entity()entidad o nilPrimera entidad en el target
first_location()location o nilPrimera ubicación en el target

Zone Handle

Devuelto por context.script:zone(spec). La tabla spec usa las mismas claves que las configuraciones YAML de zona de Elite Script (por ejemplo, {shape = "SPHERE", radius = 5, target = {targetType = "SELF"}}).

MétodoArgsDevuelveDescripción
full_target(coverage?)numbertarget handleHandle de target para ubicaciones del interior de la zona
border_target(coverage?)numbertarget handleHandle de target para ubicaciones del borde de la zona
full_locations(coverage?)numbertablaArray de ubicaciones del interior
border_locations(coverage?)numbertablaArray de ubicaciones del borde
full_entities()tablaEntidades dentro de la zona
border_entities()tablaEntidades en el borde de la zona
contains(location, mode?)location, string?="full"boolSi la ubicación está en la zona
watch(callbacks, mode?)tabla, string?="full"intVigila para entrada/salida. Devuelve el ID de tarea

Vector Handle

Devuelto por context.script:relative_vector(spec). La tabla spec usa las mismas claves que las configuraciones YAML de vector relativo de Elite Script.

MétodoArgsDevuelveDescripción
resolve()vectorCalcula el vector para el contexto actual

context.world (EliteMobs) ELITEMOBS

Tabla world específica de jefes para los scripts de poder de EliteMobs. Los poderes de jefes parten de la tabla world genérica de MagmaCore, por lo que los asistentes de coordenadas como get_block_at(...), set_block_at(...) y spawn_particle(...) siguen estando disponibles. Los métodos de más abajo son adiciones de EliteMobs o sobrescrituras específicas de jefes, principalmente formas de tabla de ubicación y asistentes de jefes.

Consultas de Bloques

MétodoArgsDevuelveDescripción
get_block_type_at_location(loc)locationstring o nilNombre del Material
get_highest_block_y_at_location(loc)locationint o nilY del bloque más alto
get_blast_resistance_at_location(loc)locationdoubleValor de resistencia a explosiones
is_air_at_location(loc)locationboolEl bloque es aire
is_passable_at_location(loc)locationboolEl bloque es atravesable
is_passthrough_at_location(loc)locationboolEl bloque no es sólido
is_on_floor_at_location(loc)locationboolAire con bloque sólido debajo
is_standing_on_material(loc, material)location, string (Material)boolEl bloque debajo coincide con el material

Manipulación de Bloques

MétodoArgsDevuelveDescripción
set_block_at_location(loc, material, requireAir?)location, string (Material), bool?=falsenilColoca bloque. Si requireAir es true, solo reemplaza aire
place_temporary_block_at_location(loc, material, ticks?, requireAir?)location, string, int?=0, bool?=falsenilColoca bloque, se elimina automáticamente tras ticks. Si requireAir es true, solo reemplaza aire

Generación

MétodoArgsDevuelveDescripción
spawn_boss_at_location(file, loc?, level?)string, location?=ubic. del jefe, int?=nivel del jefeentidad o nilGenera jefe personalizado
spawn_custom_boss_at_location(file, loc, options?)string, location, tablaentidad o nilGenera jefe con opciones (level, silent, add_as_reinforcement, velocity)
spawn_entity_at_location(type, loc, options?)string (EntityType), location, tablaentidad o nilGenera entidad vanilla con opciones (velocity, duration, effect, on_land, max_ticks)
spawn_falling_block_at_location(loc, material, options?)location, string (Material), tablaentidad o nilGenera bloque cayendo (drop_item, hurt_entities, velocity, on_land)
spawn_reinforcement_at_location(file, loc, level?, velocity?)string, location, int?=0, vectorentidad o nilGenera refuerzo vinculado al jefe
spawn_fireworks_at_location(loc, config)location, tablaentidad o nilGenera fuego artificial
spawn_splash_potion_at_location(loc, config)location, tablaentidad o nilGenera poción arrojadiza

Efectos y Utilidad

MétodoArgsDevuelveDescripción
play_sound_at_location(loc, sound, volume?, pitch?)location, string (clave de sonido de Minecraft, p. ej. "entity.blaze.shoot"), float?=1, float?=1nilReproduce sonido
spawn_particle_at_location(loc, particle, count?)location, string (Particle) o tabla, int?=1nilGenera partículas
strike_lightning_at_location(loc)locationnilLanza un rayo (omite la protección de EM)
run_empowered_lightning_task_at_location(loc)locationnilEfecto de rayo potenciado
generate_fake_explosion(locations, center?)tabla de ubicaciones, locationnilExplosión visual sin daño
spawn_fake_gold_nugget_at_location(loc, velocity, gravity?)location, vector, bool?=falseproyectil falso o nilGenera proyectil visual de pepita de oro
run_fake_gold_nugget_damage(projectiles)tablanilEjecuta comprobación de daño en proyectiles falsos
set_world_time(time) o (loc, time)long, o location + longnilEstablece el tiempo del mundo
set_world_weather(weather, duration?) o (loc, weather, duration?)string (CLEAR, RAIN, PRECIPITATION, THUNDER), int?=6000nilEstablece el clima
run_console_command(command)stringnilEjecuta comando de consola
generate_player_loot(times?)int?=1nilEjecuta esta cantidad de tiradas de botín de jugador para los que infligieron daño
drop_bonus_coins(multiplier?)double?=2nilSuelta monedas extra en el jefe

context.settings (EliteMobs)

MétodoArgsDevuelveDescripción
warning_visual_effects_enabled()boolSi los VFX de advertencia están habilitados en la configuración

Tabla de Eventos de EliteMobs

La tabla context.event se pasa a los hooks de daño y spawn. Los campos varían según el tipo de evento.

Campo / MétodoTipoPresente cuandoDescripción
damage_amountdoubleEventos de dañoCantidad de daño bruto
damage_causestringEventos de dañoNombre de DamageCause
damagertabla entidadEventos de daño por entidadEntidad que infligió el daño
projectiletabla entidadEventos de daño por proyectilProyectil que infligió el daño
spawn_reasonstringEvento de spawnNombre del motivo de spawn
entitytabla entidadEventos de muerte/zonaEntidad relevante
cancel_event()methodLa mayoría de eventosCancela el evento
set_damage_amount(amount)method (double)Eventos de dañoSobrescribe la cantidad de daño
multiply_damage_amount(multiplier)method (double)Eventos de dañoMultiplica el daño actual

context.item FMM

Accedido en los scripts de objetos de FMM. Resuelve el objeto scripteado específico de las ranuras equipadas del jugador mediante etiqueta PDC.

Los métodos de lectura inspeccionan el objeto coincidente actualmente equipado cuando se invocan. Los métodos de escritura encolan su mutación en el hilo principal de Bukkit y devuelven nil.

Propiedades

CampoTipoDescripción
idstringIdentificador del script del objeto

Métodos

MétodoArgsDevuelveDescripción
material()stringNombre del Material
get_amount()intTamaño de la pila
set_amount(n)intnilEncola el establecimiento del tamaño de la pila
consume(n?)int?=1nilEncola el decremento en n, elimina si llega a cero
get_uses()intContador de usos almacenado en PDC
set_uses(n)intnilEncola el establecimiento del contador de usos en PDC
get_durability()tabla o nilDevuelve los campos current y max, o nil si no hay barra de durabilidad
get_durability_percentage()number o nilFracción restante 0.0--1.0, o nil
use_durability(amount, can_break?)int, bool?=falsenilEncola la reducción de la durabilidad en una cantidad fija. Cuando es false, limita a 1 restante
use_durability_percentage(fraction, can_break?)number, bool?=falsenilEncola la reducción de la durabilidad en una fracción del máximo (0.0--1.0)
get_name()string o nilNombre mostrado
set_name(s)stringnilEncola el establecimiento del nombre mostrado. Admite códigos de color
get_lore()tablaArray de cadenas de lore
set_lore(table)tablanilEncola el establecimiento del lore desde un array de cadenas

context.prop FMM

Accedido en los scripts de prop de FMM. Hereda todos los campos de Entidad del armor stand de respaldo.

Propiedades

CampoTipoDescripción
model_idstringNombre del modelo blueprint
current_locationlocationPosición actual del prop

Métodos

MétodoArgsDevuelveDescripción
play_animation(name, blend?, loop?)string, bool?=true, bool?=trueboolReproduce animación con nombre
stop_animation()nilDetiene todas las animaciones actuales
hurt_visual()nilFlash de tinte rojo, sin daño
pickup()nilEncola la eliminación del prop y suelta el objeto de colocación
has_mount_points()boolSi el prop tiene huesos de punto de montura
mount(player)tabla entidadboolEncola la comprobación de montura; true significa que las referencias básicas eran válidas
dismount(player)tabla entidadboolEncola la comprobación de desmontura; true significa que las referencias básicas eran válidas
get_passengers()tablaArray de tablas de entidad para los jugadores montados
spawn_elitemobs_boss(file, x, y, z)string, num, num, numentidad o nilGenera jefe de EliteMobs (requiere EliteMobs)
open_inventory(player, title, rows?)tabla entidad, string, int?=3boolEncola la apertura del inventario de cofre persistente (filas limitadas de 1 a 6). El título admite códigos de color
place_book(player)tabla entidadboolEncola el almacenamiento del libro escrito/escribible sostenido por el jugador en el prop
read_book(player)tabla entidadboolEncola la apertura del libro almacenado para lectura
take_book(player)tabla entidadboolEncola la devolución del libro almacenado al jugador
has_book()boolSi hay un libro almacenado
drop_inventory()boolEncola el soltado de todos los objetos almacenados y limpia el almacenamiento
drop_book()boolEncola el soltado del libro almacenado y limpia el almacenamiento
is_viewing_inventory(player)tabla entidadboolSi el jugador tiene abierto el inventario de este prop
set_persistent_data(key, value)string, stringboolAlmacena una cadena en el PDC del prop
get_persistent_data(key)stringstring o nilRecupera una cadena del PDC del prop

Códigos de Color

Todos los métodos marcados como compatibles con códigos de color usan el ChatColorConverter de Magmacore. Estos formatos se pueden mezclar libremente en cualquier cadena:

Códigos legacy

Usa & seguido de un carácter de color/formato:

CódigoColorCódigoFormato
&0Negro&lNegrita
&1Azul oscuro&mTachado
&2Verde oscuro&nSubrayado
&3Aqua oscuro&oCursiva
&4Rojo oscuro&rReset
&5Púrpura oscuro
&6Oro
&7Gris
&8Gris oscuro
&9Azul
&aVerde
&bAqua
&cRojo
&dPúrpura claro
&eAmarillo
&fBlanco

Colores hex

Color RGB exacto usando hex de 6 dígitos:

&#FF5500          -- prefijo de ampersand
<#FF5500> -- sintaxis de etiqueta

Gradientes

Interpolan suavemente entre dos o más colores a lo largo del texto:

<gradient:#FF0000:#0000FF>Este texto se desvanece de rojo a azul</gradient>
<g:#FF0000:#00FF00:#0000FF>Gradiente de tres colores</g>

La forma corta g funciona idénticamente a gradient. Puedes encadenar tantas paradas de color como quieras.

Arcoíris

Recorre todo el espectro de tonos a plena saturación. Un argumento numérico opcional desplaza el tono inicial (desfase de fase):

<rainbow>Texto arcoíris completo</rainbow>
<r:0.5>Arcoíris con un tono inicial desplazado</r>

Tipos Comunes

location

{ x = number, y = number, z = number, yaw = number, pitch = number, world = string }

vector

{ x = number, y = number, z = number }

tabla entidad

Cualquier tabla con un campo uuid. Las tablas de jugador y entidad del context funcionan directamente:

context.player                              -- tabla entidad válida
context.world:get_nearby_entities(x,y,z,r) -- devuelve un array de tablas de entidad

Siguientes Pasos