Script Lua : Enums et valeurs
Cette page renvoie aux Javadocs Spigot pour chaque type d'enum utilisé par les méthodes Lua d'EliteMobs. Utilisez le nom exact de la constante enum (ex. "FLAME", "ZOMBIE", "STONE") comme chaîne dans votre code Lua.
- L'orthographe doit correspondre exactement au nom de la constante enum
- La casse est généralement normalisée en interne, mais respectez l'orthographe Javadoc par sécurité
- Le traitement des valeurs incorrectes dépend de la méthode : certaines enregistrent un avertissement, d'autres renvoient
nilou ne font rien, et les API avec validation peuvent déclencher une erreur Lua
Référence des enums
| Enum | Utilisation | Javadoc |
|---|---|---|
BarColor | Couleur de la barre de boss | BarColor |
BarStyle | Style de la barre de boss | BarStyle |
DamageCause | Filtrage de la cause des dégâts | EntityDamageEvent.DamageCause |
EnderDragon.Phase | Contrôle des phases de l'Ender Dragon | EnderDragon.Phase |
EntityEffect | Effets visuels d'entité | EntityEffect |
EntityType | Apparition d'entités | EntityType |
EquipmentSlot | Emplacements d'équipement d'entité | EquipmentSlot |
FireworkEffect.Type | Forme de feu d'artifice | FireworkEffect.Type |
Material | Blocs et objets | Material |
Particle | Effets de particules | Particle -- voir aussi la liste des particules valides pour les conversions de noms hérités |
PotionEffectType | Effets de potion | PotionEffectType |
Sound | Lecture de sons | Sound |
Chaque utilitaire de son Lua (boss:play_sound_at_self, entity:play_sound_at_entity, world:play_sound_at_location) résout la chaîne en deux étapes : il essaie d'abord le nom d'enum Spigot Sound (mis en majuscules, donc "entity_blaze_shoot" fonctionne), et si cela échoue, il traite la chaîne comme une clé de son avec espace de noms (mise en minuscules, donc "entity.blaze.shoot" et votre propre clé de resource pack "mypack:boss.roar" fonctionnent tous les deux).
Cela signifie que vous n'avez plus à choisir un format — mais une faute de frappe dans l'une ou l'autre forme est silencieusement ignorée, car le chemin de repli ne peut pas distinguer un mauvais nom d'enum d'un son de pack personnalisé simplement non installé.
Valeurs non-Spigot
Ces valeurs sont spécifiques à EliteMobs et ne figurent pas dans les Javadocs Spigot :
Formes de zone
Utilisées par les définitions de zones natives (champ kind) et les spécifications de zones des utilitaires de script (champ shape).
Native (kind) | Utilitaire de script (shape) |
|---|---|
sphere | SPHERE |
dome | DOME |
cylinder | CYLINDER |
cuboid | CUBOID |
cone | CONE |
static_ray | STATIC_RAY |
rotating_ray | ROTATING_RAY |
translating_ray | TRANSLATING_RAY |
Filtres d'entité
Utilisés par les options de requête de context.zones et context.entities. Insensibles à la casse, et chacun possède un alias au pluriel.
| Filtre | Correspond à |
|---|---|
player / players | Joueurs uniquement |
elite / elites | Mobs élites uniquement |
mob / mobs | Entités vivantes non-joueurs (cela inclut les élites) |
living | Toutes les entités vivantes, joueurs compris (par défaut) |
all / entities | Toutes les entités, y compris non vivantes. Reconnu uniquement par context.entities:get_nearby_entities |
Tout ce qui n'est pas l'une de ces chaînes retombe sur le comportement living plutôt que de lever une erreur : une faute de frappe comme "playr" renvoie donc silencieusement toutes les entités vivantes.
context.script:zone({...}) utilise un jeu de filtres différent, en majuscules (PLAYER, ELITE, LIVING), car il exécute le moteur EliteScript.
Valeurs météo
Utilisées par context.world:set_world_weather(weather).
| Valeur | Effet |
|---|---|
CLEAR | Ciel dégagé |
RAIN | Pluie |
THUNDER | Orage |
Types de cible
Utilisés par les spécifications de context.script:target().
| Valeur | Résolu en |
|---|---|
SELF | L'entité boss |
SELF_SPAWN | Le lieu d'apparition du boss |
DIRECT_TARGET | L'entité impliquée dans l'événement en cours |
NEARBY_PLAYERS | Les joueurs dans la portée (range) du boss |
NEARBY_MOBS | Les mobs non-joueurs dans la portée |
NEARBY_ELITES | Les mobs élites dans la portée |
ALL_PLAYERS | Tous les joueurs en ligne |
WORLD_PLAYERS | Tous les joueurs dans le monde du boss |
ZONE_FULL | Entités/emplacements à l'intérieur d'un volume de zone |
ZONE_BORDER | Entités/emplacements sur la bordure d'une zone |
LOCATION | Un emplacement spécifique issu du champ location de la spécification |
LOCATIONS | Plusieurs emplacements spécifiques issus de la liste locations de la spécification |
LANDING_LOCATION | L'endroit où un bloc en chute ou une entité invoquée a atterri |
ACTION_TARGET | Hérite des cibles de l'action EliteScript environnante |
INHERIT_SCRIPT_TARGET | Hérite de la cible de l'EliteScript appelant |
INHERIT_SCRIPT_ZONE_FULL | À l'intérieur de la zone de l'EliteScript appelant |
INHERIT_SCRIPT_ZONE_BORDER | Sur la bordure de la zone de l'EliteScript appelant |
Les quatre derniers ne se résolvent que s'il existe un EliteScript environnant duquel hériter ; depuis Lua, ils ont donc peu d'utilité pratique. Voir Cibles EliteScript pour la sémantique complète — context.script utilise exactement cette implémentation.
