Référence de l'API Lua
Cette référence est générée à partir des constructeurs de tables Lua, des enrichisseurs et des résolveurs de contexte d'exécution actuellement en service dans MagmaCore, FreeMinecraftModels et EliteMobs.
Entity Table
La table d'entité MagmaCore sert de base aux valeurs génériques d'entité ; les tables Living Entity, Player et Prop FreeMinecraftModels en héritent.
Propriétés
| Champ | Type | Description |
|---|---|---|
uuid | string | UUID de l'entité. |
entity_type | string | Type d'entité Bukkit en minuscules. |
is_valid | bool | Validité en direct. |
is_dead | bool | État de mort en direct. |
current_location | table/nil | Position en direct {x, y, z, yaw, pitch, world}. |
world | string/nil | Nom du monde en direct. |
is_player | bool | Indique si l'entité est un joueur. |
is_hostile | bool | Indique si l'entité implémente Monster de Bukkit. |
is_passive | bool | Indique si l'entité implémente Animals de Bukkit. |
Méthodes
| Méthode | Args | Retour | Description |
|---|---|---|---|
teleport(location) | table | nil | Téléporte vers une table de position. |
remove() | — | nil | Supprime l'entité si elle est encore valide. |
set_silent(enabled) | bool | nil | Définit l'état silencieux. |
set_invulnerable(enabled) | bool | nil | Définit l'état d'invulnérabilité. |
set_gravity(enabled) | bool | nil | Définit l'état de gravité. |
set_glowing(enabled) | bool | nil | Définit l'état de luminescence. |
Entity Table : enrichissement EliteMobs
L'enrichisseur EliteMobs actif ajoute ces valeurs aux tables d'entité MagmaCore ; elite n'existe que lorsque is_elite vaut true.
Propriétés
| Champ | Type | Description |
|---|---|---|
is_elite | bool | Indique si EliteMobs suit actuellement l'entité. |
is_custom_boss | bool | Indique si l'élite suivie est un boss personnalisé. |
is_significant_boss | bool | Indique s'il s'agit d'un boss personnalisé dont le multiplicateur de vie dépasse 1. |
elite | table/nil | Données EliteMobs imbriquées en direct, présentes uniquement pour une élite résolue. |
elite.level | int | Instantané du niveau de l'élite. |
elite.name | string/nil | Instantané du nom d'affichage de l'élite. |
elite.health | number | Vie en direct. |
elite.max_health | number | Vie maximale en direct. |
elite.is_custom_boss | bool | Indique si l'élite est un boss personnalisé. |
elite.health_multiplier | number | Instantané du multiplicateur de vie configuré. |
elite.damage_multiplier | number | Instantané du multiplicateur de dégâts configuré. |
Méthodes
| Méthode | Args | Retour | Description |
|---|---|---|---|
elite.remove() | — | nil | Supprime l'élite via le pipeline de suppression d'EliteMobs. |
Entity Table : enrichissement FreeMinecraftModels
L'enrichisseur FreeMinecraftModels actif ajoute ces valeurs ; model n'existe que lorsque is_modeled vaut true, et les valeurs réservées aux joueurs n'apparaissent que sur les tables de joueur.
Propriétés
| Champ | Type | Description |
|---|---|---|
is_modeled | bool | Indique si FreeMinecraftModels résout une entité modélisée. |
is_prop | bool | Indique si l'entité est un prop FreeMinecraftModels porté par un armor stand. |
model | table/nil | Données de modèle imbriquées, présentes uniquement pour une entité modélisée. |
model.model_id | string/nil | Identifiant du blueprint de modèle. |
model.is_dynamic | bool | Indique si l'entité modélisée est dynamique. |
is_op | bool | État d'opérateur du serveur, réservé aux joueurs. |
Méthodes
| Méthode | Args | Retour | Description |
|---|---|---|---|
model.play_animation(name, blend?=false, loop?=false) | string, bool?=false, bool?=false | bool | Joue une animation de modèle et renvoie si elle a démarré. |
model.stop_animations() | — | nil | Arrête toutes les animations de modèle en cours. |
model.remove() | — | nil | Supprime l'entité modélisée. |
has_permission(node) | string | bool | Vérification de permission réservée aux joueurs. |
Living Entity Table
La table d'entité vivante MagmaCore hérite de toutes les propriétés et méthodes de l'Entity Table.
Propriétés
| Champ | Type | Description |
|---|---|---|
health | number | Vie en direct. |
maximum_health | number | Vie maximale en direct. |
name | string/nil | Nom d'entité Bukkit en direct. |
is_alive | bool | Inverse en direct de l'état de mort de Bukkit. |
Méthodes
| Méthode | Args | Retour | Description |
|---|---|---|---|
damage(amount) | number | nil | Inflige des dégâts Bukkit. |
push(x, y, z) | number, number, number | nil | Ajoute un vecteur à la vélocité actuelle. |
set_facing(x, y, z) | number, number, number | nil | Oriente l'entité vers un vecteur de direction. |
add_potion_effect(type, duration, amplifier) | string (PotionEffectType), int, int | nil | Ajoute un effet de potion lorsque le type est résolu. |
remove_potion_effect(type) | string (PotionEffectType) | nil | Retire un effet de potion lorsque le type est résolu. |
get_scale() | — | number | Renvoie l'attribut d'échelle, ou 1.0 lorsqu'il est indisponible. |
set_scale(value) | number | nil | Définit l'attribut d'échelle lorsque le serveur le prend en charge. |
Player Table
La table de joueur MagmaCore hérite de toutes les propriétés et méthodes de la Living Entity Table.
Propriétés
| Champ | Type | Description |
|---|---|---|
game_mode | string | Instantané du mode de jeu Bukkit en minuscules. |
Méthodes
| Méthode | Args | Retour | Description |
|---|---|---|---|
send_message(text) | string | nil | Envoie un texte traité par l'analyseur de couleurs de MagmaCore. Prend en charge les codes couleur. |
get_held_item() | — | table/nil | Renvoie {type, amount, display_name} pour l'item en main principale, ou nil pour une main vide. |
consume_held_item(amount?=1) | int?=1 | nil | Met en file la réduction de la pile en main principale. |
has_item(material, amount?=1) | string (Material), int?=1 | bool | Teste si l'inventaire contient la quantité demandée. |
get_target_entity(range?=50) | number?=50 | table/nil | Lance un rayon vers l'entité que le joueur regarde. |
get_eye_location() | — | table | Renvoie la position des yeux. |
get_look_direction() | — | table | Renvoie une direction unitaire {x, y, z}. |
send_block_change(x, y, z, material, ticks?=-1) | int, int, int, string (Material), int?=-1 | bool | Envoie un bloc côté client uniquement et le réinitialise éventuellement après un nombre de ticks positif ; les matériaux invalides ou non-blocs renvoient false. |
reset_block(x, y, z) | int, int, int | bool | Met en file la restauration du bloc réel pour ce joueur. |
sleep(x, y, z) | number, number, number | nil | Met en file une animation de sommeil forcée et restaure le bloc remplacé au réveil. |
wake_up() | — | nil | Met en file le réveil du joueur lorsqu'il dort. |
show_boss_bar(text, color?=WHITE, progress, ticks?=-1) | string, string (BarColor)?=WHITE, number, int?=-1 | nil | Remplace la barre de boss pleine active du joueur et la masque éventuellement après un nombre de ticks positif. Prend en charge les codes couleur. |
hide_boss_bar() | — | nil | Retire la barre de boss Lua active du joueur. |
show_action_bar(text, ticks?=-1) | string, int?=-1 | nil | Envoie une fois, ou répète toutes les 40 ticks jusqu'à la fin d'une durée positive. Prend en charge les codes couleur. |
show_title(title, subtitle?="", fade_in, stay, fade_out) | string, string?="", int, int, int | nil | Affiche un titre dont le titre et le sous-titre sont traités pour la couleur. Prend en charge les codes couleur. |
World Table
La table de monde MagmaCore est exposée sous context.world ; les pouvoirs de boss EliteMobs en héritent et appliquent les redéfinitions documentées plus bas.
Propriétés
| Champ | Type | Description |
|---|---|---|
name | string | Instantané du nom du monde. |
Méthodes
| Méthode | Args | Retour | Description |
|---|---|---|---|
get_block_at(x, y, z) | int, int, int | string | Renvoie un nom de Material en minuscules, ou air sans charger un chunk déchargé. |
set_block_at(x, y, z, material) | int, int, int, string (Material) | bool | Met en file le placement du bloc ; les matériaux invalides renvoient false et les chunks déchargés sont ignorés par la tâche mise en file. |
get_highest_block_y(x, z) | int, int | int | Renvoie le Y du bloc le plus haut. |
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 | Fait apparaître une particule ; les noms invalides n'ont aucun effet. |
play_sound(sound, x, y, z, volume?=1, pitch?=1) | string (Sound), number, number, number, number?=1, number?=1 | nil | Joue un son enregistré ou une clé de son de resource pack en minuscules avec espace de noms. |
strike_lightning(x, y, z) | number, number, number | nil | Fait tomber la foudre. |
get_time() | — | int | Renvoie l'heure du monde en ticks. |
set_time(ticks) | int | nil | Définit l'heure du monde. |
get_nearby_entities(x, y, z, radius) | number, number, number, number | table | Renvoie les tables Entity ou Living Entity proches. |
get_nearby_players(x, y, z, radius) | number, number, number, number | table | Renvoie les tables Player proches. |
spawn_entity(type, x, y, z) | string (EntityType), number, number, number | table/nil | Fait apparaître une entité vanilla ; les types invalides renvoient 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 | Renvoie les valeurs hit_entity, hit_location et hit_block. |
place_temporary_block(x, y, z, material, ticks?=0, require_air?=false) | int, int, int, string (Material), int?=0, bool?=false | bool | Place un bloc temporaire ; les matériaux invalides ou les chunks déchargés renvoient false. |
drop_item(x, y, z, material, amount?=1) | number, number, number, string (Material), int?=1 | table/nil | Fait tomber un item naturellement et renvoie son Entity Table ; les matériaux invalides renvoient nil. |
spawn_firework(x, y, z, colors, type?=BALL, power?=1) | number, number, number, table, string (FireworkEffect.Type)?=BALL, int?=1 | nil | Met en file un feu d'artifice utilisant des noms de constantes Color de Bukkit, avec repli sur le blanc si aucune n'est résolue. |
strike_lightning_at_location(location) | table | nil | Fait tomber la foudre dans le monde de la table de position. |
play_sound_at_location(location, sound, volume?=1, pitch?=1) | table, string (Sound), number?=1, number?=1 | nil | Joue un son enregistré ou une clé de son de resource pack en minuscules avec espace de noms. |
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 | Fait apparaître une particule dans le monde de la table de position. |
get_block_at_location(location) | table | string | Renvoie un nom de matériau en minuscules, ou air pour une position invalide ou un chunk déchargé. |
set_block_at_location(location, material) | table, string (Material) | bool | Met en file le placement du bloc dans le monde de la table de position. |
place_temporary_block_at_location(location, material, ticks?=0, require_air?=false) | table, string (Material), int?=0, bool?=false | bool | Place un bloc temporaire dans le monde de la table de position. |
get_highest_block_y_at_location(location) | table | int/nil | Renvoie le Y du bloc le plus haut, ou nil pour une position invalide. |
context.world : ajouts FreeMinecraftModels
FreeMinecraftModels enregistre ces méthodes sur sa propre table de monde MagmaCore : elles apparaissent donc sur context.world dans les scripts d'item et de prop FreeMinecraftModels. Chaque méthode renvoie false lorsque EliteMobs n'est pas activé ou que le joueur n'est pas résolu, et se rabat sur la position du joueur lorsque l'argument de position est absent ou inutilisable.
Méthodes
| Méthode | Args | Retour | Description |
|---|---|---|---|
drop_elitemobs_procedural_loot(player, level, location?) | table/string, int, table? | bool | Fait tomber un item EliteMobs généré de façon procédurale pour le joueur ; renvoie false lorsque les butins d'items procéduraux sont désactivés. |
drop_elitemobs_random_loot(player, level, location?) | table/string, int, table? | bool | Tire les tables de butin EliteMobs pour le joueur au niveau indiqué. |
drop_elitemobs_custom_loot(player, file, level, location?) | table/string, string, int, table? | bool | Fait tomber un fichier d'item personnalisé EliteMobs précis pour le joueur ; renvoie false lorsque le fichier n'est pas résolu. |
L'argument player accepte une table de joueur, une chaîne UUID ou un nom de joueur exact. L'argument location accepte une table de position ou une table d'entité portant current_location.
Table d'aide em
MagmaCore expose cette table globalement avant l'exécution de tout hook de script.
Propriétés
Les constructeurs d'aide renvoient les tables de données compactes ci-dessous.
| Champ | Type | Description |
|---|---|---|
location.x | number | Coordonnée X renvoyée par em.create_location. |
location.y | number | Coordonnée Y renvoyée par em.create_location. |
location.z | number | Coordonnée Z renvoyée par em.create_location. |
location.world | string/nil | Nom du monde lorsqu'il est fourni à em.create_location. |
location.yaw | number/nil | Yaw lorsqu'il est fourni à em.create_location. |
location.pitch | number/nil | Pitch lorsqu'il est fourni à em.create_location. |
vector.x | number | Composante X renvoyée par em.create_vector. |
vector.y | number | Composante Y renvoyée par em.create_vector. |
vector.z | number | Composante Z renvoyée par em.create_vector. |
zone.kind | string | sphere, dome, cylinder, cuboid, cone, static_ray, rotating_ray ou translating_ray. |
zone.radius | number/nil | Rayon de la sphère, du dôme, du cylindre ou du cône. |
zone.height | number/nil | Hauteur du cylindre. |
zone.x | number/nil | Taille X du cuboïde. |
zone.y | number/nil | Taille Y du cuboïde. |
zone.z | number/nil | Taille Z du cuboïde. |
zone.length | number/nil | Longueur du cône ou du rayon. |
zone.thickness | number/nil | Épaisseur du rayon statique. |
zone.point_radius | number/nil | Rayon de point du rayon rotatif ou translatif. |
zone.animation_duration | number/nil | Durée d'animation du rayon rotatif ou translatif. |
zone.origin | table/nil | Position définie par set_center ou set_origin. |
zone.destination | table/nil | Position définie par set_destination. |
Méthodes
| Méthode | Args | Retour | Description |
|---|---|---|---|
em.create_location(x, y, z, world?, yaw?, pitch?) | number, number, number, string?, number?, number? | table | Renvoie une table de position. |
em.create_vector(x, y, z) | number, number, number | table | Renvoie une table de vecteur {x, y, z}. |
location.add(dx?=0, dy?=0, dz?=0) | number?=0, number?=0, number?=0 | table | Ajoute sur place et renvoie la même table de position. |
em.zone.create_sphere_zone(radius) | number | table | Renvoie une définition de sphère dotée de set_center(location). |
em.zone.create_dome_zone(radius) | number | table | Renvoie une définition de dôme dotée de set_center(location). |
em.zone.create_cylinder_zone(radius, height) | number, number | table | Renvoie une définition de cylindre dotée de set_center(location). |
em.zone.create_cuboid_zone(x, y, z) | number, number, number | table | Renvoie une définition de cuboïde dotée de set_center(location). |
em.zone.create_cone_zone(length, radius) | number, number | table | Renvoie une définition de cône dotée de set_origin(location) et set_destination(location). |
em.zone.create_static_ray_zone(length, thickness) | number, number | table | Renvoie une définition de rayon statique dotée des setters d'origine et de destination. |
em.zone.create_rotating_ray_zone(length, point_radius, animation_duration) | number, number, number | table | Renvoie une définition de rayon rotatif dotée des setters d'origine et de destination. |
em.zone.create_translating_ray_zone(length, point_radius, animation_duration) | number, number, number | table | Renvoie une définition de rayon translatif dotée des setters d'origine et de destination. |
zone.set_center(location) | table | table | Définit le centre comme zone.origin et renvoie la même table de zone. |
zone.set_origin(location) | table | table | Définit l'origine et renvoie la même table de zone. |
zone.set_destination(location) | table | table | Définit la destination et renvoie la même table de zone. |
em.location.is_in_dungeon(location) | table | bool | Teste les régions de donjon enregistrées et les propriétaires signalant le type dungeon. |
em.location.is_protected(location) | table | bool | Teste les adaptateurs WorldGuard/GriefPrevention intégrés et les propriétaires de protection enregistrés par les plugins. |
em.location.owned_by(location, namespace) | table, string | bool | Teste la propriété par un espace de noms de plugin. |
em.location.owners(location) | table | table | Renvoie un tableau de chaînes d'espaces de noms propriétaires. |
em.location.kinds_at(location) | table | table | Renvoie un tableau de chaînes de types de propriété. |
em.location.has_kind(location, kind) | table, string | bool | Teste un type de propriété. |
context.state
Chaque instance de script MagmaCore reçoit une table Lua simple qui persiste pendant toute la durée de vie de cette instance. Utilisez-la pour les compteurs, les drapeaux, les identifiants de tâche et les valeurs partagées entre hooks.
context.state.counter = (context.state.counter or 0) + 1
context.log
Méthodes MagmaCore, FreeMinecraftModels et PNJ EliteMobs
| Méthode | Args | Retour | Description |
|---|---|---|---|
info(message) | string | nil | Journalise un message d'information avec le préfixe Lua partagé. |
warn(message) | string | nil | Journalise un avertissement. |
error(message) | string | nil | Journalise via le canal d'avertissement partagé. |
Méthodes des pouvoirs de boss EliteMobs
| Méthode | Args | Retour | Description |
|---|---|---|---|
info(message) | string | nil | Journalise un message d'information de pouvoir de boss. |
warn(message) | string | nil | Journalise un avertissement. |
debug(message) | string | nil | Journalise un message d'information avec le préfixe de débogage des pouvoirs Lua. |
context.scheduler
Les tâches planifiées appartiennent à l'instance de script et sont annulées à son arrêt. Les deux familles de noms ci-dessous sont disponibles sur les surfaces MagmaCore partagées et sur les pouvoirs de boss EliteMobs.
| Méthode | Args | Retour | Description |
|---|---|---|---|
run_later(ticks, callback) | int, function | int | Exécute une fois après le délai et renvoie l'identifiant de tâche Bukkit. |
run_repeating(delay, interval, callback) | int, int, function | int | Exécute de façon répétée après un délai initial et renvoie l'identifiant de tâche. |
cancel(task_id) | int | nil | Annule une tâche possédée. |
run_after(ticks, callback) | int, function | int | Alias de run_later. |
run_every(interval, callback) | int, function | int | Exécute de façon répétée sans délai initial et renvoie l'identifiant de tâche. |
cancel_task(task_id) | int | nil | Alias de cancel. |
context.cooldowns
Les temps de recharge locaux sont indexés pour un propriétaire de script et une définition ; les temps de recharge globaux sont partagés par le même propriétaire. Omettre une clé locale utilise __lua: suivi du nom de fichier du script. Les pouvoirs de boss EliteMobs exposent les mêmes noms de méthodes, mais les valeurs locales utilisent le magasin de temps de recharge partagé du boss et les valeurs globales utilisent son temps de recharge de pouvoir intégré.
| Méthode | Args | Retour | Description |
|---|---|---|---|
local_ready(key?) | string? | bool | Teste si le temps de recharge local indexé est prêt. |
local_remaining(key?) | string? | int | Renvoie les ticks restants, ou 0 lorsqu'il est prêt. |
check_local(key, duration) | string/nil, int | bool | S'il est prêt, démarre le temps de recharge et renvoie true. Passez nil pour la clé par défaut. |
set_local(duration, key?) | int, string? | nil | Définit ou efface le temps de recharge local ; une durée non positive l'efface. |
global_ready() | — | bool | Teste si le temps de recharge global du propriétaire est prêt. |
set_global(duration) | int | nil | Définit le temps de recharge global en ticks. Sur les surfaces MagmaCore partagées, une durée non positive l'efface. |
context.zones : surface MagmaCore partagée
Les scripts FreeMinecraftModels, les scripts de PNJ EliteMobs et les autres consommateurs MagmaCore par défaut reçoivent des handles de zone entiers dans le monde du propriétaire de script actuel.
| Méthode | Args | Retour | Description |
|---|---|---|---|
create_sphere(x, y, z, radius) | number, number, number, number | int/nil | Enregistre une sphère et renvoie son handle, ou nil lorsque le propriétaire n'a pas de monde. |
create_cylinder(x, y, z, radius, height) | number, number, number, number, number | int/nil | Enregistre un cylindre et renvoie son handle, ou nil lorsque le propriétaire n'a pas de monde. |
create_cuboid(x, y, z, x_size, y_size, z_size) | number, number, number, number, number, number | int/nil | Enregistre un cuboïde et renvoie son handle, ou nil lorsque le propriétaire n'a pas de monde. |
watch(handle, on_enter?, on_leave?) | int, function?, function? | bool/nil | Active le suivi des franchissements pour un handle connu. La présence d'une fonction active le hook on_zone_enter ou on_zone_leave correspondant ; le corps de la fonction fournie n'est pas appelé directement. |
unwatch(handle) | int | nil | Arrête le suivi et supprime le handle. |
Les hooks de zone génériques exposent le joueur qui franchit la limite via context.player et context.event.player.
context.event : surface MagmaCore partagée
Cette table existe tant qu'un hook partagé dispose d'un événement Bukkit courant ou d'un acteur. Elle est absente des callbacks planifiés et des hooks dépourvus de l'une et l'autre valeur.
| Champ ou méthode | Type | Description |
|---|---|---|
is_cancelled | bool | État d'annulation capturé au moment de la construction de la table de contexte ; appeler cancel() ou uncancel() ne rafraîchit pas ce champ. |
cancel() | méthode | Annule l'événement courant. Présente uniquement lorsqu'il implémente Cancellable de Bukkit. |
uncancel() | méthode | Désannule l'événement courant. Présente uniquement lorsqu'il implémente Cancellable de Bukkit. |
player | table | Living Entity Table de l'acteur courant lorsqu'il y en a un. |
Les hooks de zone génériques fournissent un acteur mais aucun événement Bukkit annulable : ils exposent donc is_cancelled = false et player sans cancel() ni uncancel().
context.item
Les scripts d'item FreeMinecraftModels reçoivent cette table pour l'item scripté équipé correspondant.
Propriétés
| Champ | Type | Description |
|---|---|---|
id | string | Identifiant de l'item scripté. |
Méthodes
| Méthode | Args | Retour | Description |
|---|---|---|---|
material() | — | string/nil | Renvoie le nom de Material en majuscules, ou nil lorsque l'item n'est pas équipé. |
get_amount() | — | int | Renvoie la taille de la pile, ou 0 lorsqu'il n'est pas équipé. |
set_amount(amount) | int | nil | Met en file la définition de la taille de la pile. |
consume(amount?=1) | int?=1 | nil | Met en file la réduction de la taille de la pile. |
get_uses() | — | int | Renvoie le compteur d'utilisations persistant, 0 par défaut. |
set_uses(uses) | int | nil | Met en file la définition du compteur d'utilisations persistant. |
get_durability() | — | table/nil | Renvoie {current, max}, ou nil lorsque l'item n'a pas de barre de durabilité. |
get_durability_percentage() | — | number/nil | Renvoie la durabilité restante de 0.0 à 1.0, ou nil. |
use_durability(amount, can_break?=false) | int, bool?=false | nil | Met en file l'application de dégâts de durabilité fixes, plafonnés à une unité restante sauf si la casse est autorisée. |
use_durability_percentage(fraction, can_break?=false) | number, bool?=false | nil | Met en file l'application de dégâts de durabilité égaux à une fraction de la durabilité maximale. |
get_name() | — | string/nil | Renvoie le nom d'affichage, ou nil s'il est absent. |
set_name(name) | string | nil | Met en file la définition d'un nom d'affichage traité pour la couleur. Prend en charge les codes couleur. |
get_lore() | — | table | Renvoie un tableau de chaînes de description. |
set_lore(lore) | table | nil | Met en file la définition de chaînes de description traitées pour la couleur. Prend en charge les codes couleur. |
context.prop
Les scripts de prop FreeMinecraftModels reçoivent cette table, qui hérite de l'Entity Table MagmaCore lorsqu'une entité porteuse existe.
Propriétés
| Champ | Type | Description |
|---|---|---|
model_id | string/nil | Nom du blueprint de modèle, ou nil lorsqu'aucun blueprint n'existe. |
current_location | table/nil | Position du prop en direct. |
Méthodes
| Méthode | Args | Retour | Description |
|---|---|---|---|
play_animation(name, blend?=true, loop?=true) | string, bool?=true, bool?=true | bool | Joue l'animation nommée. |
stop_animation() | — | nil | Arrête toutes les animations en cours. |
hurt_visual() | — | nil | Joue l'effet visuel rouge de blessure sans infliger de dégâts. |
pickup() | — | nil | Met en file la suppression définitive et fait tomber un item de placement. |
has_mount_points() | — | bool | Teste si le prop possède des os de points de monture. |
mount(player) | table | bool | Met en file l'installation d'un joueur résolu sur le premier siège disponible. |
dismount(player) | table | bool | Met en file la descente d'un joueur résolu de ce prop. |
get_passengers() | — | table | Renvoie les Entity Tables des joueurs installés. |
spawn_elitemobs_boss(file, x, y, z) | string, number, number, number | table/nil | Fait apparaître un boss personnalisé EliteMobs lorsque EliteMobs est activé. |
open_inventory(player, title, rows?=3) | table, string, int?=3 | bool | Met en file l'ouverture du stockage persistant, le nombre de lignes étant plafonné entre 1 et 6. Le titre prend en charge les codes couleur. |
place_book(player) | table | bool | Met en file le rangement d'un livre écrit ou vierge tenu en main lorsque le prop n'en contient aucun. |
read_book(player) | table | bool | Met en file l'ouverture d'un livre écrit rangé. |
take_book(player) | table | bool | Met en file la restitution du livre rangé au joueur. |
has_book() | — | bool | Teste si le prop contient un livre. |
drop_inventory() | — | bool | Met en file le vidage du stockage persistant et fait tomber son contenu. |
drop_book() | — | bool | Met en file le vidage et la chute du livre rangé. |
is_viewing_inventory(player) | table | bool | Teste si le joueur consulte l'inventaire suivi de ce prop. |
set_persistent_data(key, value) | string, string | bool | Stocke une chaîne sous la clé fmm_lua_ propre au prop. |
get_persistent_data(key) | string | string/nil | Renvoie la chaîne stockée, ou nil. |
context.npc
Les scripts de PNJ EliteMobs héritent des contextes MagmaCore partagés et ajoutent cette table spécifique aux PNJ.
Propriétés
| Champ | Type | Description |
|---|---|---|
name | string | Nom d'affichage configuré du PNJ. |
filename | string | Nom du fichier de configuration du PNJ. |
uuid | string | UUID du PNJ à l'exécution. |
activation_radius | number | Rayon d'activation configuré. |
current_location | table | Instantané de la position, présent uniquement tant que l'entité vivante porteuse existe. |
entity_type | string | Type d'entité Bukkit en majuscules, présent uniquement tant que l'entité vivante porteuse existe. |
Méthodes
| Méthode | Args | Retour | Description |
|---|---|---|---|
is_valid() | — | bool | Teste si le PNJ est valide. |
get_location() | — | table | Renvoie la position actuelle du PNJ, avec repli sur sa position d'apparition. La table inclut également un vecteur direction. |
get_eye_location() | — | table | Renvoie la position actuelle des yeux, avec repli sur la position d'apparition. La table inclut également un vecteur direction. |
get_activation_radius() | — | number | Renvoie le rayon d'activation configuré actuel. |
get_nearby_players(radius) | number | table | Renvoie les Player Tables proches. |
face_direction_or_location(target) | table | nil | Oriente le PNJ selon un vecteur de direction ou vers une position. |
say_greeting(player?) | table/string? | nil | Envoie le message d'accueil configuré, par défaut au joueur déclencheur lorsqu'il est disponible. Une table de joueur, un UUID ou un nom sont acceptés. |
say_dialog(player?) | table/string? | nil | Envoie le dialogue configuré avec la même résolution de joueur. |
say_farewell(player?) | table/string? | nil | Envoie le message d'adieu configuré avec la même résolution de joueur. |
play_model_animation(name) | string | nil | Joue une animation de modèle lorsqu'un modèle personnalisé existe. |
Table de référence d'entité des pouvoirs EliteMobs
Les méthodes de pouvoir de boss EliteMobs renvoient cette table allégée pour les entités non vivantes telles que les projectiles, les feux d'artifice et les blocs qui tombent.
Propriétés
| Champ | Type | Description |
|---|---|---|
name | string | Instantané du nom de l'entité. |
uuid | string | UUID de l'entité. |
entity_type | string | Instantané du type d'entité Bukkit en majuscules. |
is_player | bool | Toujours false. |
is_elite | bool | Toujours false. |
is_mount | bool | False sauf si un boss marque une table de monture renvoyée comme true. |
current_location | table | Instantané de la position. |
Méthodes
| Méthode | Args | Retour | Description |
|---|---|---|---|
is_valid() | — | bool | Teste la validité en direct. |
get_location() | — | table | Renvoie la position en direct. |
get_velocity() | — | table | Renvoie la vélocité en direct. |
is_on_ground() | — | bool | Teste l'état au sol en direct. |
teleport_to_location(location) | table | nil | Téléporte lorsque la position est résolue. |
set_velocity_vector(vector) | table | nil | Définit la vélocité lorsque le vecteur est résolu. |
set_direction_vector(vector) | table | nil | Définit la direction d'une boule de feu le cas échéant. |
set_yield(amount) | number | nil | Définit la puissance d'une boule de feu le cas échéant. |
set_gravity(enabled) | bool | nil | Définit la gravité. |
detonate() | — | nil | Fait détoner l'entité lorsqu'il s'agit d'un feu d'artifice. |
remove() | — | nil | Supprime l'entité. |
unregister(reason?=OTHER) | string?=OTHER | nil | Désenregistre avec DEATH, PHASE_BOSS_RESET, PHASE_BOSS_PHASE_END, CHUNK_UNLOAD, WORLD_UNLOAD, SHUTDOWN, EFFECT_TIMEOUT, BOSS_TIMEOUT, NPC_TIMEOUT, OTHER, UNSPECIFIED_WATCHDOG_REMOVAL, REMOVE_COMMAND, KILL_COMMAND, REINFORCEMENT_CULL, ENTITY_REPLACEMENT ou ARENA_RESET. |
is_inside_vehicle() | — | bool | Teste si l'entité est montée sur un véhicule. |
has_vehicle() | — | bool | Teste si un véhicule existe. |
get_vehicle() | — | table/nil | Renvoie la référence du véhicule actuel. |
set_vehicle(vehicle) | table | bool | Fait monter cette entité sur le véhicule résolu. |
leave_vehicle() | — | bool | Quitte le véhicule actuel. |
has_passengers() | — | bool | Teste s'il existe des passagers. |
get_passenger_count() | — | int | Renvoie le nombre de passagers. |
get_passengers() | — | table | Renvoie les références des passagers. |
add_passenger(passenger) | table | bool | Ajoute le passager résolu. |
remove_passenger(passenger) | table | bool | Retire le passager résolu. |
eject_passengers() | — | bool | Éjecte tous les passagers. |
Table d'entité vivante des pouvoirs EliteMobs
Les valeurs vivantes des pouvoirs de boss EliteMobs utilisent cette table distincte ; les tables Boss et Player des pouvoirs EliteMobs en héritent.
Propriétés
| Champ | Type | Description |
|---|---|---|
name | string | Instantané du nom de l'entité. |
uuid | string | UUID de l'entité. |
entity_type | string | Instantané du type d'entité Bukkit en majuscules. |
is_player | bool | Indique si l'entité est un joueur. |
is_monster | bool | Indique si l'entité implémente Monster de Bukkit. |
is_elite | bool | Indique si EliteMobs suit l'entité. |
is_mount | bool | Indique si le boss personnalisé suivi est une monture. |
is_valid | bool | Instantané de la validité. |
health | number | Instantané de la vie. |
maximum_health | number | Instantané de la vie maximale. |
current_location | table | Instantané de la position. |
Méthodes
| Méthode | Args | Retour | Description |
|---|---|---|---|
is_alive() | — | bool | Teste la validité en direct et l'état de mort. |
is_ai_enabled() | — | bool | Renvoie l'état d'IA en direct. |
is_frozen() | — | bool | Renvoie le paramètre de gel du boss personnalisé EliteMobs, ou false. |
get_location() | — | table | Renvoie la position en direct. |
get_eye_location() | — | table | Renvoie la position des yeux en direct. |
get_height() | — | number | Renvoie la hauteur de l'entité Bukkit. |
get_health() | — | number | Renvoie la vie en direct. |
get_maximum_health() | — | number | Renvoie la vie maximale en direct. |
get_velocity() | — | table | Renvoie la vélocité en direct. |
deal_damage(amount) | number | nil | Inflige des dégâts Bukkit génériques. |
deal_custom_damage(amount) | number | nil | Inflige des dégâts personnalisés EliteMobs provenant du boss du pouvoir. |
deal_damage_from_boss(amount) | number | nil | Inflige des dégâts Bukkit attribués au boss du pouvoir. |
restore_health(amount) | number | nil | Soigne via EliteMobs lorsque l'entité est suivie, sinon plafonne la vie Bukkit au maximum. |
play_sound_at_entity(sound, volume_or_options?=1, pitch?=1) | string (Sound), number/table?=1, number?=1 | nil | Joue un son enregistré ou personnalisé avec espace de noms au niveau de l'entité. Le deuxième argument peut aussi être {volume, pitch}. |
play_sound_at_self(sound, volume_or_options?=1, pitch?=1) | string (Sound), number/table?=1, number?=1 | nil | Alias qui joue le son au niveau de l'entité. Le deuxième argument peut aussi être {volume, pitch}. |
spawn_particle_at_self(particle, count?=1) | string (Particle)/table, int?=1 | nil | Fait apparaître une particule (chaîne ou table de spécification) au niveau de l'entité. |
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 | Fait apparaître une particule à une position. |
teleport_to_location(location) | table | nil | Téléporte lorsque la position est résolue. |
set_velocity_vector(vector) | table | nil | Définit la vélocité lorsque le vecteur est résolu. |
set_gravity(enabled) | bool | nil | Définit la gravité. |
is_on_ground() | — | bool | Teste l'état au sol en direct. |
apply_push_vector(vector, additive?=false, delay?=1) | table, bool?=false, int?=1 | nil | Applique une vélocité après un délai, en l'ajoutant éventuellement à la vélocité actuelle. |
set_custom_name(name) | string | nil | Définit un nom personnalisé traité pour la couleur. Prend en charge les codes couleur. |
reset_custom_name() | — | nil | Restaure le nom EliteMobs lorsque l'entité est suivie, sinon le nom Bukkit. |
set_custom_name_visible(visible) | bool | nil | Définit la visibilité du nom personnalisé. |
set_ai_enabled(enabled, duration?=0) | bool, int?=0 | nil | Définit l'IA et bascule vers l'état opposé après un nombre de ticks positif. |
set_awareness_enabled(enabled, duration?=0) | bool, int?=0 | nil | Définit la vigilance du mob et bascule vers l'état opposé après un nombre de ticks positif. |
face_direction_or_location(target) | table | nil | Oriente vers un vecteur ou une position dans le même monde. |
play_model_animation(name) | string | nil | Joue une animation de modèle personnalisé lorsqu'elle est disponible. |
set_scale(scale, duration?=0) | number, int?=0 | nil | Définit l'échelle et la remet à 1.0 après un nombre de ticks positif. |
set_invulnerable(enabled, duration?=0) | bool, int?=0 | nil | Définit l'invulnérabilité via l'assistant de durée d'EliteMobs. |
remove_elite() | — | nil | Supprime une élite suivie via le pipeline de suppression d'EliteMobs. |
is_healing() | — | bool | Teste l'état de soin de l'élite suivie. |
set_healing(enabled) | bool | nil | Définit l'état de soin de l'élite suivie. |
navigate_to_location(location, speed?=1, force?=false, timeout?=0) | table, number?=1, bool?=false, int?=0 | nil | Fait naviguer un boss personnalisé suivi. |
add_tag(tag, duration?=0) | string, int?=0 | nil | Ajoute un tag et le retire après un nombre de ticks positif. |
remove_tag(tag) | string | nil | Retire un tag. |
has_tag(tag) | string | bool | Teste un tag d'entité, d'élite ou de joueur. |
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 | Repousse à l'opposé d'une position source, plus des décalages facultatifs. |
overlaps_box_at_location(center, half_x?=0.5, half_y?=half_x, half_z?=half_x) | table, number?=0.5, number?, number? | bool | Teste la boîte englobante de l'entité contre la boîte demandée. |
is_inside_vehicle() | — | bool | Teste si l'entité est montée sur un véhicule. |
has_vehicle() | — | bool | Teste si un véhicule existe. |
get_vehicle() | — | table/nil | Renvoie la référence du véhicule actuel. |
set_vehicle(vehicle) | table | bool | Fait monter cette entité sur le véhicule résolu. |
leave_vehicle() | — | bool | Quitte le véhicule actuel. |
has_passengers() | — | bool | Teste s'il existe des passagers. |
get_passenger_count() | — | int | Renvoie le nombre de passagers. |
get_passengers() | — | table | Renvoie les références des passagers. |
add_passenger(passenger) | table | bool | Ajoute le passager résolu. |
remove_passenger(passenger) | table | bool | Retire le passager résolu. |
eject_passengers() | — | bool | Éjecte tous les passagers. |
apply_potion_effect(type, duration, amplifier?=0) | string (PotionEffectType), int, int?=0 | nil | Applique un effet de potion. |
set_equipment(slot, material, options?) | string (EquipmentSlot), string (Material), table? | nil | Définit l'équipement ; les options prennent en charge unbreakable et des entrées enchantments avec type et level. |
set_fire_ticks(ticks) | int | nil | Définit les ticks de feu. |
add_visual_freeze_ticks(ticks?=1) | int?=1 | nil | Ajoute des ticks de gel. |
place_temporary_block(material, ticks?=0, require_air?=false) | string (Material), int?=0, bool?=false | nil | Place un bloc temporaire au niveau de l'entité. |
Table de joueur des pouvoirs EliteMobs
Les valeurs de joueur des pouvoirs de boss EliteMobs héritent de toutes les propriétés et méthodes de la table d'entité vivante des pouvoirs EliteMobs.
Propriétés
| Champ | Type | Description |
|---|---|---|
game_mode | string | Instantané du mode de jeu Bukkit en majuscules. |
Méthodes
| Méthode | Args | Retour | Description |
|---|---|---|---|
send_message(text) | string | nil | Envoie un texte de chat traité pour la couleur. Prend en charge les codes couleur. |
show_action_bar(text) | string | nil | Envoie une action bar traitée pour la couleur. Prend en charge les codes couleur. |
show_title(title, subtitle?="", fade_in?=10, stay?=40, fade_out?=10) | string, string?="", int?=10, int?=40, int?=10 | nil | Affiche un titre traité pour la couleur. Prend en charge les codes couleur. |
show_boss_bar(title, color?=WHITE, style?=SOLID, duration?=40) | string, string (BarColor)?=WHITE, string (BarStyle)?=SOLID, int?=40 | nil | Affiche une barre de boss et la retire après un nombre de ticks positif. Prend en charge les codes couleur. |
run_command(command) | string | nil | Exécute une commande en tant que joueur. |
context.boss
Les pouvoirs de boss EliteMobs reçoivent cette table, qui hérite de toutes les propriétés et méthodes de la table d'entité vivante des pouvoirs EliteMobs et redéfinit les lignes listées ici avec une sémantique de niveau élite.
Propriétés
| Champ | Type | Description |
|---|---|---|
name | string | Instantané du nom d'affichage de l'élite ou du nom de fichier du script. |
uuid | string | UUID de l'élite. |
health | number | Instantané de la vie de l'élite. |
maximum_health | number | Instantané de la vie maximale de l'élite. |
current_location | table | Instantané de la position de l'élite. |
level | int | Instantané du niveau de l'élite. |
damager_count | int | Instantané du nombre d'assaillants. |
is_in_combat | bool | Instantané de l'état de combat. |
exists | bool | Instantané de l'existence de l'élite. |
Méthodes
| Méthode | Args | Retour | Description |
|---|---|---|---|
is_alive() | — | bool | Teste l'état de l'entité vivante et l'existence côté EliteMobs. |
get_health() | — | number | Renvoie la vie de l'élite en direct. |
get_maximum_health() | — | number | Renvoie la vie maximale de l'élite en direct. |
get_location() | — | table | Renvoie la position de l'élite en direct. |
restore_health(amount) | number | nil | Soigne via l'entité EliteMobs. |
add_tag(tag, duration?=0) | string, int?=0 | nil | Ajoute un tag d'élite et le retire après un nombre de ticks positif. |
remove_tag(tag) | string | nil | Retire un tag d'élite. |
has_tag(tag) | string | bool | Teste un tag d'élite. |
reset_custom_name() | — | nil | Restaure le nom d'affichage de l'élite. |
play_sound_at_self(sound, volume_or_options?=1, pitch?=1) | string (Sound), number/table?=1, number?=1 | nil | Joue un son enregistré ou personnalisé avec espace de noms à la position de l'élite. Le deuxième argument peut aussi être {volume, pitch}. |
play_sound_at_entity(sound, volume_or_options?=1, pitch?=1) | string (Sound), number/table?=1, number?=1 | nil | Alias qui joue le son à la position de l'élite. Le deuxième argument peut aussi être {volume, pitch}. |
spawn_particle_at_self(particle, count?=1) | string (Particle)/table, int?=1 | nil | Fait apparaître une particule à la position de l'élite. |
play_model_animation(name) | string | nil | Joue l'animation du modèle du boss personnalisé lorsqu'elle est disponible. |
navigate_to_location(location, speed?=1, force?=false, timeout?=0) | table, number?=1, bool?=false, int?=0 | nil | Fait naviguer un boss personnalisé. |
get_damager_count() | — | int | Renvoie le nombre d'assaillants en direct. |
despawn() | — | nil | Supprime l'élite avec la raison OTHER. |
get_ender_dragon_phase() | — | string/nil | Renvoie le nom de EnderDragon.Phase, ou nil. |
set_ender_dragon_phase(phase) | string (EnderDragon.Phase) | nil | Définit une phase d'ender dragon valide. |
has_mount() | — | bool | Teste si le boss dispose d'un véhicule de monture actif. |
get_mount() | — | table/nil | Renvoie la référence de monture marquée is_mount = true. |
set_mount(mount) | table | bool | Fait monter le boss sur l'entité résolue. |
clear_mount() | — | bool | Quitte le véhicule actuel. |
dismount() | — | bool | Alias de clear_mount(). |
start_tracking_fireball_system(speed?=0.5) | number?=0.5 | nil | Démarre le comportement de boule de feu à tête chercheuse pour un boss de type monstre. |
handle_spirit_walk_damage(cause) | string (DamageCause) | nil | Exécute la gestion des dégâts de Spirit Walk. |
shield_wall_is_active() | — | bool | Teste l'état du mur de boucliers. |
initialize_shield_wall(charges?=1) | int?=1 | nil | Initialise le mur de boucliers. |
shield_wall_absorb_damage(player, damage) | table, number | bool | Tente d'absorber les dégâts d'un joueur. |
deactivate_shield_wall() | — | nil | Désactive le mur de boucliers. |
start_zombie_necronomicon(target, file) | table, string | nil | Démarre la gestion du Zombie Necronomicon pour une cible vivante. |
send_message(text, range?=20) | string, number?=20 | nil | Envoie un texte traité pour la couleur aux joueurs à portée. Prend en charge les codes couleur. |
get_nearby_players(range) | number | table | Renvoie les tables de joueur des pouvoirs EliteMobs à proximité. |
get_target_player() | — | table/nil | Renvoie la cible actuelle du mob lorsqu'il s'agit d'un joueur. |
get_nearby_players_in_zone(zone) | table | table | Renvoie les joueurs contenus dans la zone. |
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 | Échantillonne l'intérieur de la zone et y fait apparaître des particules. |
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 | Échantillonne le bord de la zone et y fait apparaître des particules. |
get_particles_from_self_toward_zone(zone, particle, speed?=0.1) | table, string (Particle), number?=0.1 | table | Construit des spécifications de particules directionnelles allant du boss vers des points échantillonnés de la zone. |
get_particles_toward_self(zone, particle, speed) | table, string (Particle), number | table | Construit des spécifications de particules directionnelles vers le boss ; le constructeur actuel lit la vitesse dans le dernier argument fourni. |
spawn_particles_with_vector(particles) | table | nil | Fait apparaître un tableau de spécifications de particules directionnelles. |
summon_reinforcement(file, zone_or_location?, level?=0) | string, table?, int?=0 | table/nil | Invoque un renfort à un point échantillonné de la zone, à une position, ou sur le boss. |
summon_projectile(type, origin, destination, speed?=1, options?) | string (EntityType), table, table, number?=1, table? | table/nil | Fait apparaître un projectile ; les options prennent en charge custom_damage, detonation_power, yield, incendiary, gravity, glowing, invulnerable, persistent, duration, l'effect EntityEffect, spawn_at_origin, direction_only, track, on_land et max_ticks. |
context.players : pouvoirs de boss EliteMobs
| Méthode | Args | Retour | Description |
|---|---|---|---|
current_target() | — | table/nil | Renvoie l'acteur de l'événement lorsqu'il s'agit d'un joueur, sinon la cible actuelle du mob du boss lorsqu'il s'agit d'un joueur. |
nearby_players(radius) | number | table | Renvoie les Player Tables situées dans le rayon autour du boss. |
all_players_in_world() | — | table | Renvoie toutes les Player Tables du monde actuel du boss. |
context.entities : pouvoirs de boss EliteMobs
Ces requêtes excluent le boss lui-même. Les filtres d'entités vivantes acceptent player/players, elite/elites, mob/mobs, ou toute autre valeur pour l'ensemble des entités vivantes.
| Méthode | Args | Retour | Description |
|---|---|---|---|
get_nearby_entities(radius, filter?="living") | number, string? | table | Renvoie les entités situées dans le rayon. all ou entities inclut les entités non vivantes ; les autres filtres renvoient des tables vivantes. |
get_entities_in_box(center, half_x, half_y, half_z, filter?="living") | table, number, number, number, string? | table | Renvoie les entités vivantes situées dans la boîte alignée sur les axes. |
get_all_entities(filter?="living") | string? | table | Renvoie les entités vivantes correspondantes dans le monde du boss. |
get_direct_target_entity() | — | table/nil | Renvoie la cible directe fournie par le hook courant. |
get_boss_spawn_location() | — | table | Renvoie la position d'apparition d'origine du boss. |
context.vectors : pouvoirs de boss EliteMobs
| Méthode | Args | Retour | Description |
|---|---|---|---|
get_vector_between_locations(source, destination, options?) | table, table, table? | table | Renvoie le vecteur entre deux positions du même monde, ou {x=0,y=0,z=0} pour une entrée invalide ou inter-mondes. Les options prennent en charge normalize, multiplier et un offset vectoriel. |
rotate_vector(vector, pitch?=0, yaw?=0) | table, number?=0, number?=0 | table | Renvoie le vecteur pivoté selon le pitch et le yaw, en degrés. |
normalize_vector(vector) | table | table | Renvoie un vecteur unitaire ; un vecteur nul reste nul. |
context.zones : pouvoirs de boss EliteMobs
Les pouvoirs de boss EliteMobs remplacent la surface de zone partagée à handles entiers par des requêtes sur les définitions de zone Elite Script.
| Méthode | Args | Retour | Description |
|---|---|---|---|
get_entities_in_zone(zone, options?) | table, table? | table | Renvoie les entités vivantes correspondantes. Les options prennent en charge filter et mode = "full" ou "border". |
get_locations_in_zone(zone, options?) | table, table? | table | Renvoie des positions échantillonnées. Les options prennent en charge coverage et mode = "full" ou "border". |
zone_contains(zone, location, mode?="full") | table, table, string? | bool | Teste si la position se trouve dans la forme complète ou sur le bord. |
watch_zone(zone, callbacks, options?) | table, table, table? | nil | Surveille avec des callbacks {on_enter, on_leave}. Les options prennent en charge filter et mode ; la surveillance possédée s'arrête avec le script. |
context.script : pouvoirs de boss EliteMobs
Ce pont accepte les mêmes clés de table que la configuration YAML Elite Script des cibles, des zones et des vecteurs relatifs.
Méthodes
| Méthode | Args | Retour | Description |
|---|---|---|---|
target(spec) | table | handle de cible | Crée un handle de cible. |
zone(spec) | table | handle de zone | Crée un handle de zone. |
relative_vector(spec, location?, zone?) | table, table?, handle de zone? | handle de vecteur | Crée un handle de vecteur relatif, dont la position d'action est par défaut celle du boss. |
damage(target, amount?=0, multiplier?=1) | handle de cible, number?=0, number?=1 | nil | Inflige des dégâts à chaque entité cible résolue. |
push(target, vector, additive?=false) | handle de cible, table/handle de vecteur, bool?=false | nil | Applique une vélocité aux entités cibles résolues. |
set_facing(target, vector) | handle de cible, table/handle de vecteur | nil | Oriente les entités cibles résolues le long du vecteur. |
spawn_particles(target, particles) | handle de cible, table/string | nil | Fait apparaître la spécification de particules aux positions cibles résolues. |
Méthodes du handle de cible
| Méthode | Args | Retour | Description |
|---|---|---|---|
entities() | — | table | Résout et renvoie des Entity Tables. |
locations() | — | table | Résout et renvoie des tables de position. |
first_entity() | — | table/nil | Renvoie la première entité résolue. |
first_location() | — | table/nil | Renvoie la première position résolue. |
Méthodes du handle de zone
| Méthode | Args | Retour | Description |
|---|---|---|---|
full_target(coverage?) | number? | handle de cible | Crée un handle de cible pour l'intérieur de la forme. |
border_target(coverage?) | number? | handle de cible | Crée un handle de cible pour le bord. |
full_locations(coverage?) | number? | table | Résout les positions échantillonnées à l'intérieur. |
border_locations(coverage?) | number? | table | Résout les positions échantillonnées sur le bord. |
full_entities() | — | table | Résout les entités situées à l'intérieur de la forme. |
border_entities() | — | table | Résout les entités situées sur le bord. |
contains(location, mode?="full") | table, string? | bool | Teste l'appartenance à la forme complète ou au bord. |
watch(callbacks, mode?="full") | table, string? | int | Démarre une surveillance possédée {on_enter, on_leave} et renvoie son identifiant de tâche. |
Méthodes du handle de vecteur relatif
| Méthode | Args | Retour | Description |
|---|---|---|---|
resolve() | — | table | Résout le vecteur pour le contexte courant. |
Table d'événement des pouvoirs EliteMobs
Les valeurs d'événement des pouvoirs de boss EliteMobs exposent des champs et des méthodes de façon conditionnelle selon le type d'événement.
Propriétés
| Champ | Type | Description |
|---|---|---|
damage_amount | number/nil | Instantané du montant d'un événement de dégâts. |
damage_cause | string/nil | Nom de DamageCause lorsque l'événement de dégâts en expose un. |
damager | table/nil | Référence de l'assaillant d'un événement de dégâts par entité. |
projectile | table/nil | Référence du projectile lorsque l'assaillant est un projectile. |
spawn_reason | string/nil | Raison d'apparition de l'élite. |
entity | table/nil | Entité de l'événement de mort ou de zone. |
Méthodes
| Méthode | Args | Retour | Description |
|---|---|---|---|
cancel_event() | — | nil | Annule un EliteDamageEvent ou un autre événement annulable. |
set_damage_amount(amount) | number | nil | Remplace les dégâts d'un EliteDamageEvent. |
multiply_damage_amount(multiplier) | number | nil | Multiplie les dégâts d'un EliteDamageEvent. |
context.world : ajouts et redéfinitions EliteMobs
Les pouvoirs de boss EliteMobs héritent de toutes les lignes de la World Table MagmaCore et ajoutent ou redéfinissent les méthodes ci-dessous.
Méthodes
| Méthode | Args | Retour | Description |
|---|---|---|---|
play_sound_at_location(location, sound, volume?=1, pitch?=1) | table, string (Sound), number?=1, number?=1 | nil | Redéfinition qui accepte les sons enregistrés ou personnalisés avec espace de noms via la prise en charge d'EliteMobs. |
spawn_particle_at_location(location, particle, count?=1) | table, string (Particle)/table, int?=1 | nil | Redéfinition qui accepte une table de spécification de particules EliteMobs. |
set_block_at_location(location, material, require_air?=false) | table, string (Material), bool?=false | nil | Redéfinition qui utilise le placement de bloc temporaire d'EliteMobs, sans expiration. |
place_temporary_block_at_location(location, material, ticks?=0, require_air?=false) | table, string (Material), int?=0, bool?=false | nil | Redéfinition qui utilise le placement de bloc temporaire d'EliteMobs. |
get_block_type_at_location(location) | table | string/nil | Renvoie un nom de Material en majuscules, ou nil pour une position invalide. |
get_highest_block_y_at_location(location) | table | int/nil | Redéfinition qui renvoie le Y du bloc le plus haut, ou nil. |
get_blast_resistance_at_location(location) | table | number | Renvoie la résistance aux explosions du bloc, 0 par défaut pour une position invalide. |
is_air_at_location(location) | table | bool | Teste si le bloc visé est de l'air. |
is_passable_at_location(location) | table | bool | Teste la traversabilité au sens de Bukkit. |
is_passthrough_at_location(location) | table | bool | Teste si le matériau n'est pas solide. |
is_on_floor_at_location(location) | table | bool | Teste la présence d'une cible non solide avec un bloc solide en dessous. |
is_standing_on_material(location, material) | table, string (Material) | bool | Teste le bloc situé en dessous. |
strike_lightning_at_location(location) | table | nil | Redéfinition qui active le contournement de foudre d'EliteMobs avant de frapper. |
run_empowered_lightning_task_at_location(location) | table | nil | Exécute la prise en charge de la foudre renforcée de l'Ender Dragon. |
set_world_time(time) / set_world_time(location, time) | int/table, int? | nil | Définit l'heure du monde du boss ou celle du monde de la position fournie. |
set_world_weather(weather, duration?=6000) / set_world_weather(location, weather, duration?=6000) | string/table, string/int?, int?=6000 | nil | Définit CLEAR, PRECIPITATION, RAIN ou THUNDER. |
run_console_command(command) | string | nil | Exécute une commande en tant que console. |
spawn_boss_at_location(file, location?, level?) | string, table?, int? | table/nil | Fait apparaître un boss personnalisé à la position fournie ou actuelle et au niveau fourni ou actuel. |
spawn_custom_boss_at_location(file, location, options?) | string, table, table? | table/nil | Fait apparaître un boss personnalisé ; les options prennent en charge silent, level, add_as_reinforcement et velocity. |
spawn_entity_at_location(type, location, options?) | string (EntityType), table, table? | table/nil | Fait apparaître une entité vanilla ; les options prennent en charge velocity, duration, l'effect EntityEffect, on_land et max_ticks. |
spawn_falling_block_at_location(location, material, options?) | table, string (Material), table? | table/nil | Fait apparaître un bloc qui tombe ; les options prennent en charge drop_item, hurt_entities, velocity et on_land. |
spawn_reinforcement_at_location(file, location, level?=0, velocity?) | string, table, int?=0, table? | table/nil | Invoque un renfort lié au boss. |
spawn_fireworks_at_location(location, options) | table, table | table/nil | Fait apparaître un feu d'artifice ; les options prennent en charge effects, type, flicker, trail, colors, fade_colors, power, velocity et shot_at_angle, avec des noms FireworkEffect.Type pour type. |
spawn_splash_potion_at_location(location, options) | table, table | table/nil | Fait apparaître une potion projetable ; les entrées effects acceptent un type PotionEffectType, duration, amplifier et overwrite, plus un velocity de premier niveau. |
generate_fake_explosion(locations, source?) | table, table? | nil | Génère une fausse explosion EliteMobs pour un tableau de positions de blocs. |
spawn_fake_gold_nugget_at_location(location, velocity, gravity?=false) | table, table, bool?=false | table/nil | Fait apparaître un faux projectile de pépite d'or. |
run_fake_gold_nugget_damage(projectiles) | table | nil | Exécute la passe de dégâts des faux projectiles. |
generate_player_loot(times?=1) | int?=1 | nil | Génère le butin des joueurs pour les assaillants éligibles. |
drop_bonus_coins(multiplier?=2) | number?=2 | nil | Fait tomber des pièces bonus pour les assaillants éligibles. |
Table de faux projectile EliteMobs
spawn_fake_gold_nugget_at_location renvoie cette table lorsque l'apparition réussit.
Méthodes
| Méthode | Args | Retour | Description |
|---|---|---|---|
get_location() | — | table | Renvoie la position du faux projectile. |
set_gravity(enabled) | bool | nil | Définit la gravité du faux projectile. |
remove() | — | nil | Supprime le faux projectile. |
is_removed() | — | bool | Teste s'il a été supprimé. |
context.settings
Les pouvoirs de boss EliteMobs reçoivent cette table de paramètres du même constructeur de table de monde.
Méthodes
| Méthode | Args | Retour | Description |
|---|---|---|---|
warning_visual_effects_enabled() | — | bool | Renvoie le paramètre actuel des effets visuels d'avertissement. |