Lua-API-Referenz
Diese Referenz beschreibt die Lua-Tabellen von MagmaCore, FreeMinecraftModels und EliteMobs. Gemeinsame Tabellen und Boss-Power-Tabellen können bei gleichnamigen Methoden unterschiedliche Verträge haben; beachte den jeweiligen Abschnitt.
Die meisten Tabellenmethoden akzeptieren sowohl table.method(...) als auch table:method(...). Globale Funktionen em.create_*, em.zone.create_* und em.location.* erfordern Punktsyntax, ebenso die unten gekennzeichneten Schadenssetter von Boss-Events. Gemeinsame Live-Felder werden bei Bedarf aufgelöst: Lies sie erneut, um aktuelle Werte zu erhalten, und weise ihnen nichts zu, da dies die Abfrage verdeckt. Eine bereits in einer Lua-Variablen gespeicherte Location oder andere Momentaufnahme aktualisiert sich nicht selbst.
Als farbverarbeitend beschriebene Methoden verwenden die gemeinsame Farbcode-Syntax, etwa für Chat, Titel, Leisten, eigene Namen und Prop-Inventartitel.
Entity-Tabelle
Die MagmaCore-Entity-Tabelle ist die Basis für generische Entity-Werte; die Tabellen für lebende Entities, Spieler und FreeMinecraftModels-Props erben von ihr.
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
uuid | string | UUID der Entity. |
entity_type | string | Bukkit-Entity-Typ in Kleinbuchstaben. |
is_valid | bool | Aktueller Gültigkeitswert. |
is_dead | bool | Aktueller Todeszustand. |
current_location | table/nil | Aktuelle Location {x, y, z, yaw, pitch, world}. |
world | string/nil | Aktueller Weltname. |
is_player | bool | Ob die Entity ein Spieler ist. |
is_hostile | bool | Ob die Entity das Bukkit-Interface Monster implementiert. |
is_passive | bool | Ob die Entity das Bukkit-Interface Animals implementiert. |
is_on_ground | bool | Aktueller Bodenkontakt. |
is_flying | bool | Aktueller Flugzustand eines Spielers; false für andere Entity-Typen. |
in_block | bool | Nur für Pfeile: aktueller Zustand, ob der Pfeil in einem Block steckt. |
attachment_location | table/nil | Nur für Pfeile: Mittelpunkt des Blocks, der die aktuelle Position des feststeckenden Pfeils enthält; nil, wenn er nicht feststeckt. |
attachment_block | table/nil | Mittelpunkt des tatsächlich getroffenen Blocks bei einem Pfeil, der zu einer aktiven Verzauberungsaktion gehört. Gibt nil zurück, wenn kein gültiger erfasster Treffer vorliegt oder nachdem sich der Pfeil wegbewegt, die Welt gewechselt hat oder seine Aktion endet. Kennzeichnet den getroffenen Block; ein kollisionssicheres Bewegungsziel liefert es nicht. |
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
teleport(location) | table | nil | Zu einer Location-Tabelle teleportieren. |
remove() | — | nil | Die Entity entfernen, sofern sie noch gültig ist. |
set_silent(enabled) | bool | nil | Den Stumm-Zustand setzen. |
set_invulnerable(enabled) | bool | nil | Den Unverwundbarkeitszustand setzen. |
set_gravity(enabled) | bool | nil | Den Schwerkraftzustand setzen. |
set_glowing(enabled) | bool | nil | Den Leucht-Zustand setzen. |
set_velocity(x, y, z) | number, number, number | nil | Die Geschwindigkeit ersetzen; Komponenten müssen endlich sein. |
set_fall_distance(distance) | number | nil | Eine endliche, nicht negative Fallstrecke setzen. |
set_shooter(uuid) | string | bool | Nur für Projektile: eine aufgelöste Entity zuweisen, die Bukkits ProjectileSource implementiert. |
set_direction(x, y, z) | number, number, number | nil | Nur für Feuerbälle: eine endliche Flugrichtung ungleich null setzen. |
set_pickup(status) | string | nil | Nur für Pfeile: ALLOWED, DISALLOWED oder CREATIVE_ONLY. |
can_receive_hostile_effect(actor_uuid) | string | bool | Prüfen, ob das Ziel einen feindlichen Effekt vom angemeldeten Spieler erhalten darf. Anbieter können eigene Kampfbeschränkungen anwenden. |
has_clear_movement_path(location) | table | bool | Einen Zug innerhalb derselben Welt vorab auf Kollisionen, Weltgrenzen und geladene Chunks prüfen. Bei Nichtspieler-Entities werden zusätzlich geschützte Regionen abgewiesen. Bewegt die Entity nicht. |
movement_path_status(location) | table | string | clear, blocked, protected oder unavailable zurückgeben; protected gilt für Nichtspieler-Entities. Die Kollisionsprüfung prüft vorsorglich den gesamten von der Bounding Box der Entity überstrichenen Bereich. |
Ein freier Spielerpfad erlaubt weder den Zutritt noch den Kampf. Die tatsächliche Bewegung unterliegt weiterhin den Bewegungs-Listenern, einschließlich regionaler Zutrittsbeschränkungen. Reiner Bauschutz verhindert keine Spielerbewegung.
Gemeinsame Location-Argumente benötigen x, y und z. Bei fehlender oder unbekannter Welt wird die Welt der Entity verwendet; em.location.* nutzt den unten beschriebenen anderen Konverter. Die Prüfungen für feindliche Effekte und Bewegungspfade sind optionale Vorabprüfungen und werden nicht automatisch von direkten Entity-Methoden ausgeführt. Ein feindlicher Effekt setzt einen gültigen, lebenden, angemeldeten Spieler als Akteur sowie ein gültiges, lebendes Nichtspielerziel derselben Welt voraus, das weder Armor Stand, unverwundbar, als NPC markiert noch gezähmt ist. EliteMobs ergänzt seine Kampfberechtigung. Ungültige UUIDs und unbekannte Pickup-Enum-Werte können Fehler auslösen.
Entity-Tabelle: EliteMobs-Erweiterung
Der aktive EliteMobs-Enricher fügt MagmaCore-Entity-Tabellen diese Werte hinzu; elite existiert nur, wenn is_elite beim Aufbau aufgelöst wurde. Flags und verschachtelte Metadaten sind Momentaufnahmen; nur die unten als aktuell bezeichneten Gesundheitsfelder werden erneut abgefragt. Der externe EliteMobs-Adapter von FreeMinecraftModels ergänzt keine elite_player-Tabelle.
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
is_elite | bool | Momentaufnahme, ob EliteMobs die Entity verfolgt. |
is_custom_boss | bool | Ob der verfolgte Elite ein Custom Boss ist. |
is_significant_boss | bool | Ob es ein Custom Boss mit einem Gesundheitsmultiplikator über 1 ist. |
elite | table/nil | Verschachtelte EliteMobs-Daten, nur bei einem beim Aufbau aufgelösten Elite vorhanden. |
elite.level | int | Momentaufnahme der Elite-Stufe. |
elite.name | string/nil | Momentaufnahme des Elite-Anzeigenamens. |
elite.health | number | Aktuelle Gesundheit. |
elite.max_health | number | Aktuelle maximale Gesundheit. |
elite.is_custom_boss | bool | Ob der Elite ein Custom Boss ist. |
elite.health_multiplier | number | Momentaufnahme des konfigurierten Gesundheitsmultiplikators. |
elite.damage_multiplier | number | Momentaufnahme des konfigurierten Schadensmultiplikators. |
elite_player | table/nil | Tabelle nur für Spieler; wird bei Bedarf aufgelöst, wenn EliteMobs-Spielerdaten vorhanden sind. |
elite_player.tier | number | Aus Fertigkeits-XP berechnete Kampfstufe des Spielers, ohne Verzauberungsabfragen zu aktualisieren. |
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
elite.remove() | — | nil | Den Elite über die EliteMobs-Entfernungspipeline entfernen. |
Entity-Tabelle: FreeMinecraftModels-Erweiterung
Der aktive FreeMinecraftModels-Enricher fügt diese Werte hinzu; model existiert nur, wenn is_modeled wahr ist, und Spieler-spezifische Werte erscheinen nur auf Spielertabellen. Flags, Modellmetadaten und Operatorstatus sind Momentaufnahmen beim Tabellenaufbau; Methoden arbeiten mit den referenzierten Live-Objekten. In EliteMobs-Skripten fügt der optionale FreeMinecraftModels-Adapter von EliteMobs is_modeled, is_prop und model hinzu, aber nicht is_op oder has_permission.
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
is_modeled | bool | Ob FreeMinecraftModels eine modellierte Entity auflöst. |
is_prop | bool | Ob die Entity ein von einem Armor Stand getragenes FreeMinecraftModels-Prop ist. |
model | table/nil | Verschachtelte Modelldaten, nur bei einer modellierten Entity vorhanden. |
model.model_id | string/nil | Bezeichner des Modell-Blueprints. |
model.is_dynamic | bool | Ob die modellierte Entity dynamisch ist. |
is_op | bool | Nur für Spieler: Zustand als Serveroperator. |
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
model.play_animation(name, blend?=false, loop?=false) | string, bool?=false, bool?=false | bool | Zurückgeben, ob die Wiedergabe angenommen wurde, einschließlich eingereihter oder unterdrückter Angriffsanfragen; ein endgültiger Todeszustand lehnt die Wiedergabe ab. |
model.stop_animations() | — | nil | Eingereihte Wiedergabe löschen und, falls verfügbar, zur Idle-Animation zurückkehren; ein endgültiger Todeszustand bleibt unverändert. |
model.remove() | — | nil | Die modellierte Entity entfernen. |
has_permission(node) | string | bool | Nur für Spieler: Berechtigungsprüfung. |
Tabelle für lebende Entities
Die MagmaCore-Tabelle für lebende Entities erbt alle Eigenschaften und Methoden der Entity-Tabelle.
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
health | number | Aktuelle Gesundheit. |
maximum_health | number | Aktuelle maximale Gesundheit. |
name | string/nil | Aktueller Bukkit-Entity-Name. |
is_alive | bool | Aktuelle Umkehrung von Bukkits Todeszustand. |
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
damage(amount) | number | nil | Bukkit-Schaden zufügen. |
push(x, y, z) | number, number, number | nil | Sofort einen Vektor zur aktuellen Geschwindigkeit addieren. |
set_facing(x, y, z) | number, number, number | nil | Durch Teleportieren mit geänderter Blickrichtung entlang des Vektors ausrichten. |
add_potion_effect(type, duration, amplifier) | string (PotionEffectType), int, int | nil | Einen Trankeffekt hinzufügen, wenn der Typ aufgelöst wird. |
remove_potion_effect(type) | string (PotionEffectType) | nil | Einen Trankeffekt entfernen, wenn der Typ aufgelöst wird. |
get_scale() | — | number | Den effektiven Wert des Skalierungsattributs einschließlich Modifikatoren zurückgeben, oder 1.0, wenn nicht verfügbar. |
set_scale(value) | number | nil | Den Basiswert des Skalierungsattributs setzen, sofern der Server es unterstützt. |
set_ai(enabled) | bool | nil | Die KI einer lebenden Entity aktivieren oder deaktivieren. |
set_owner(player_uuid) | string | bool | Eine zähmbare Entity für einen angemeldeten Spieler zähmen; setzt außerdem die Wut von Wölfen zurück. False bei nicht unterstützten Entities oder nicht verfügbaren Spielern. |
has_potion_effect(type) | string | bool | Einen Bukkit-Trankeffektnamen prüfen; false, wenn der Name nicht aufgelöst wird. |
Spielertabelle
Die MagmaCore-Spielertabelle erbt alle Eigenschaften und Methoden der Tabelle für lebende Entities.
FreeMinecraftModels ergänzt außerdem is_holding_elitemobs_item(filename). Übergib den vollständigen EliteMobs-Item-Dateinamen einschließlich .yml, etwa shroomwhispers_shears.yml. Die Methode prüft das EliteMobs-Tag des Items in der Haupthand, nicht dessen Anzeigenamen. Eine leere Hand, ein anderes Item oder eine nicht verfügbare EliteMobs-Integration liefert false.
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
game_mode | string | Momentaufnahme des Bukkit-Spielmodus in Kleinbuchstaben. |
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
send_message(text) | string | nil | Text senden, der vom Farbparser von MagmaCore verarbeitet wird. |
chat(text) | string | nil | Den Spieler über Bukkit chatten lassen, einschließlich der Ausführung von Befehlen mit führendem Schrägstrich als dieser Spieler. Der Text durchläuft den Farbparser. |
get_held_item() | — | table/nil | Eine Momentaufnahme {type, amount, display_name} des Items in der Haupthand zurückgeben, oder nil bei leerer Hand. type ist großgeschrieben; ein fehlender Anzeigename fällt auf den Materialnamen zurück. |
consume_held_item(amount?=1) | int?=1 | nil | Das Verringern des Stapels einplanen, der sich bei Ausführung des Tasks in der Haupthand befindet; liefert kein Zahlungsergebnis und hält das geprüfte Item nicht fest. Übergib einen positiven Wert: Negative Mengen werden nicht abgewiesen und können den Stapel vergrößern. |
has_item(material, amount?=1) | string (Material), int?=1 | bool | Prüfen, ob das Inventar die angeforderte Menge enthält. |
get_target_entity(range?=50) | number?=50 | table/nil | Ab Augenhöhe gemeinsam Blöcke und Entities prüfen; Flüssigkeiten, passierbare Blöcke und den Spieler selbst ignorieren, mit Entity-Strahlradius 0.5. |
get_eye_location() | — | table | Die Augenposition zurückgeben. |
get_look_direction() | — | table | Eine Einheitsrichtung {x, y, z} zurückgeben. |
send_block_change(x, y, z, material, ticks?=-1) | int, int, int, string (Material), int?=-1 | bool | Einen nur clientseitigen Block und optionales Zurücksetzen nach positiven Ticks einreihen. True bedeutet angenommen; ungültige oder nicht platzierbare Materialien geben false zurück. |
reset_block(x, y, z) | int, int, int | bool | Das Wiederherstellen des echten Blocks für diesen Spieler einreihen. |
sleep(x, y, z) | number, number, number | nil | Ein echtes WHITE_BED und einen erzwungenen Schlafversuch einreihen; nach dem Aufwachen oder Trennen der Verbindung die ursprünglichen BlockData wiederherstellen. Erste Bereinigungsprüfung nach 20 Ticks, danach alle 10 Ticks. Inhalte von Block-Entities werden nicht gesichert. |
wake_up() | — | nil | Das Aufwecken des Spielers einreihen, wenn er schläft. |
show_boss_bar(text, color?=WHITE, progress, ticks?=-1) | string, string (BarColor)?=WHITE, number, int?=-1 | nil | Die aktive durchgehende Bossleiste ersetzen und nach positiven Ticks optional ausblenden. Fortschritt wird auf 0..1 begrenzt, ungültige Farben fallen auf WHITE zurück. Fortschritt bleibt das dritte Argument; verwende nil für die Standardfarbe. |
hide_boss_bar() | — | nil | Die aktive Lua-Bossleiste des Spielers entfernen. |
show_action_bar(text, ticks?=-1) | string, int?=-1 | nil | Einmal senden, oder alle 40 Ticks wiederholen, bis eine positive Dauer endet. |
show_title(title, subtitle?="", fade_in, stay, fade_out) | string, string?="", int, int, int | nil | Einen Titel mit farbverarbeitetem Titel- und Untertiteltext anzeigen. |
Gemeinsame Leisten gehören dem Spieler innerhalb der eingebetteten MagmaCore-Kopie des Host-Plugins. Sie sind nicht pro Skript getrennt: Ein neues show_boss_bar ersetzt die aktuelle Leiste des Spielers, und ein neues show_action_bar bricht die aktuelle wiederholte Action-Bar ab. Ein Ablauftimer entfernt nur die Leiste oder Action-Bar, die ihn gestartet hat; ein älterer Ablauf entfernt also keine neuere mehr. Diese UI-Timer und eingereihten Blockänderungen gehören nicht zu context.scheduler. Blockänderungen und Zurücksetzungen lesen die Spielerwelt erst bei Ausführung ihrer Aufgaben; verlasse dich nach einem Weltwechsel nicht darauf, dass der vorgesehene Block wiederhergestellt wird. Die Schlafbereinigung prüft erstmals nach 20 Ticks, danach alle 10 Ticks.
Welt-Tabelle
Die MagmaCore-Welt-Tabelle wird als context.world bereitgestellt und hält die beim Aufbau erfasste Welt fest; EliteMobs-Boss-Powers erben sie und wenden die weiter unten dokumentierten Überschreibungen an. Gemeinsame Umgebungsabfragen verwenden achsenparallele Quader mit radius als halber Ausdehnung, keine Kugeln. Ergebnisarrays beginnen bei 1 und schließen weder den Besitzer noch bestimmte Spielmodi automatisch aus.
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
name | string | Momentaufnahme des Weltnamens. |
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
get_block_at(x, y, z) | int, int, int | string | Einen Material-Namen in Kleinbuchstaben zurückgeben, oder air, ohne einen nicht geladenen Chunk zu laden. |
set_block_at(x, y, z, material) | int, int, int, string (Material) | bool | Das Platzieren eines Blocks einreihen; ungültige Materialien geben false zurück und nicht geladene Chunks werden von der eingereihten Aufgabe übersprungen. |
get_highest_block_y(x, z) | int, int | int | Das höchste Block-Y zurückgeben. |
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 | Ein Partikel spawnen; ungültige Namen bewirken nichts. |
play_sound(sound, x, y, z, volume?=1, pitch?=1) | string (Sound), number, number, number, number?=1, number?=1 | nil | Einen registrierten Sound oder einen kleingeschriebenen Namespace-Schlüssel eines Ressourcenpaket-Sounds abspielen. |
strike_lightning(x, y, z) | number, number, number | nil | Einen Blitz einschlagen lassen. |
get_time() | — | int | Die Weltzeit in Ticks zurückgeben. |
set_time(ticks) | int | nil | Die Weltzeit setzen. |
get_nearby_entities(x, y, z, radius) | number, number, number, number | table | Entity- oder Living-Entity-Tabellen in der Nähe zurückgeben. |
get_nearby_players(x, y, z, radius) | number, number, number, number | table | Spielertabellen in der Nähe zurückgeben. |
spawn_entity(type, x, y, z) | string (EntityType), number, number, number | table/nil | Eine Vanilla-Entity spawnen; unbekannte Enum-Namen geben nil zurück, gültige, aber nicht spawnbare Typen können Fehler auslösen. |
raycast(from_x, from_y, from_z, dir_x, dir_y, dir_z, max_distance?=50, fluid_mode?=NEVER, blocks_only?=false, loaded_only?=false) | sechs Zahlen, number?, string?, bool?, bool? | table/nil | hit_entity, hit_location und hit_block zurückgeben; Flüssigkeitsmodi sind NEVER, SOURCE_ONLY, ALWAYS. Mit loaded_only werden nicht geladene Chunks im umschließenden Rechteck des Strahls abgelehnt und nil zurückgegeben. |
place_temporary_block(x, y, z, material, ticks?=0, require_air?=false) | int, int, int, string (Material), int?=0, bool?=false | bool | Einen temporären Block platzieren; ungültige Materialien oder nicht geladene Chunks geben false zurück. |
drop_item(x, y, z, material, amount?=1) | number, number, number, string (Material), int?=1 | table/nil | Ein Item auf natürliche Weise fallen lassen und seine Entity Table zurückgeben; ungültige Materialien geben nil zurück. |
spawn_firework(x, y, z, colors, type?=BALL, power?=1) | number, number, number, table, string (FireworkEffect.Type)?=BALL, int?=1 | nil | Ein Feuerwerk einreihen, das die Namen der Bukkit-Color-Konstanten verwendet und auf Weiß zurückfällt, wenn keine aufgelöst wird. |
strike_lightning_at_location(location) | table | nil | Einen Blitz in der Welt der Location-Tabelle einschlagen lassen. |
play_sound_at_location(location, sound, volume?=1, pitch?=1) | table, string (Sound), number?=1, number?=1 | nil | Einen registrierten Sound oder einen kleingeschriebenen Namespace-Schlüssel eines Ressourcenpaket-Sounds abspielen. |
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 | Ein Partikel über die erfasste Welt spawnen; übergib eine Location derselben Welt. |
get_block_at_location(location) | table | string | Einen Materialnamen in Kleinbuchstaben zurückgeben, oder air bei einer ungültigen Location oder einem nicht geladenen Chunk. |
set_block_at_location(location, material) | table, string (Material) | bool | Das Platzieren eines Blocks in der Welt der Location-Tabelle einreihen. |
place_temporary_block_at_location(location, material, ticks?=0, require_air?=false) | table, string (Material), int?=0, bool?=false | bool | Einen temporären Block in der Welt der Location-Tabelle platzieren. |
get_highest_block_y_at_location(location) | table | int/nil | Das höchste Block-Y zurückgeben, oder nil bei einer ungültigen Location. |
terrain_impact_at_location(location, options?) | table, table? | table/nil | Einen vorübergehenden visuellen Geländeeinschlag anzeigen; Optionen: radius=4.5 (0.5–6), intensity=1 (0–1), duration_ticks=35 (1–200), view_range=48 (1–96), seed; liefert ein Handle oder nil. |
terrain_impact(x, y, z, options?) | number, number, number, table? | table/nil | Denselben visuellen Einschlag an Koordinaten dieser Welt anzeigen. |
impact.is_active() | — | bool | Prüfen, ob das Handle des Geländeeinschlags aktiv ist; impact.id ist seine String-Kennung. |
impact.remove() | — | bool | Einen aktiven Einschlag entfernen; false, wenn er bereits inaktiv ist oder das Entfernen fehlschlägt. |
get_entity(uuid) | string | table/nil | Eine gültige Entity im Register der geladenen Entities dieser Welt auflösen. Verwende einen gültigen UUID-String. |
block_is_passable(x, y, z) | int, int, int | bool/nil | Die Passierbarkeit des Blocks zurückgeben, oder nil bei nicht geladenen Chunks oder Koordinaten außerhalb der Höhengrenzen. |
location_is_protected(location) | table | bool | Registrierte Schutzanbieter abfragen; bei fehlender Welt diese Welt verwenden. |
spawn_dust(location, count, red, green, blue) | table, int, int, int, int | nil | DUST mit fester Größe und RGB-Komponenten von 0 bis 255 erzeugen, Streuung 0.1 pro Achse; überspringt nicht geladene Chunks. Verwende eine Location in dieser Welt. |
raycast liefert bei keinem Treffer eine leere Tabelle, nicht nil. hit_block enthält x, y, z und den kleingeschriebenen Materialnamen. Die kombinierte Abfrage nutzt einen Entity-Strahlradius von 0.5 ohne Entity-Filter. Die Prüfung loaded_only umfasst vorsorglich das ganze umschließende Chunk-Rechteck; ungültige Flüssigkeitsmodi lösen Fehler aus.
Gemeinsame Partikelmethoden lösen großgeschriebene Bukkit-Namen auf, akzeptieren aber keine Partikeldaten. Partikel, die solche Daten benötigen, können Fehler auslösen; verwende für RGB-Staub spawn_dust. Abfragen des höchsten Blocks und das Spawnen von Entities verhindern kein Laden von Chunks. Blockänderungen führen keine Schutzprüfung durch. True bei Blockmethoden bedeutet Einreihung oder erfolgreiche Vorabprüfung, nicht bewiesene Platzierung; insbesondere kann require_air die Änderung weiterhin verhindern.
Temporäre Blöcke mit positiver Dauer sichern die ursprünglichen BlockData und stellen sie wieder her, wenn der Timer endet, wenn der Chunk oder die Welt entladen wird oder wenn das Plugin herunterfährt. Die Wiederherstellung erfolgt nur, solange an der Stelle noch der temporäre Block steht; eine spätere Bearbeitung wird also nicht überschrieben. Eine erneute Platzierung auf einem Block, der noch einen temporären Block enthält, startet dessen Timer neu und behält das zuerst gesicherte Original. Blöcke mit Block-Entities wie Truhen und Schilder, nicht geladene Chunks und Blöcke, die bereits ein anderer Besitzer temporärer Blöcke hält, werden übersprungen. Das Abbauen eines temporären Blocks lässt nichts fallen und beendet die Verwaltung ohne Wiederherstellung; auch das Platzieren eines Blocks an dieser Stelle beendet die Verwaltung. Nicht positive Dauern platzieren den Block dauerhaft und ohne Verwaltung. Dies ist keine skriptbezogene Rücknahme von Änderungen.
Gemeinsame EliteMobs-Weltergänzungen
Der EliteMobs-Enricher ergänzt diese Methoden auf seiner gemeinsamen Welt-Tabelle. Sie erfordern einen geladenen Ziel-Chunk. Boss-Powers erben sie ebenfalls, überschreiben aber die unten beschriebene Boss-Spawn-Signatur.
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
lightning_effect_at_location(location) | table | nil | Einen rein visuellen, schadenslosen Blitz mit EliteMobs-Blitzschutz-Bypass erzeugen. |
spawn_npc_at_location(file, location) | string, table | table/nil | Einen konfigurierten NPC spawnen und ein Handle mit remove() zurückgeben, oder nil. |
spawn_boss_at_location(file, location, level) | string, table, int | table/nil | Einen Custom Boss als gemeinsame Living Entity Table zurückgeben, oder nil. Alle drei Argumente sind erforderlich. |
context.world: FreeMinecraftModels-Ergänzungen
FreeMinecraftModels registriert diese Methoden auf seiner eigenen MagmaCore-Welt-Tabelle. Sie erscheinen daher in FreeMinecraftModels-Prop-Skripten auf context.world. Jede Methode liefert false, wenn EliteMobs nicht aktiviert ist oder der Spieler nicht aufgelöst wird. Die Loot-Helfer verwenden die Spielerposition, wenn ihr Location-Argument fehlt oder unbrauchbar ist.
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
start_elitemobs_transport(player, route_id) | player, string | bool | Eine gespeicherte EliteMobs-Transportroute für einen Spieler derselben Welt starten; false, wenn Spieler oder Integration nicht verfügbar sind. |
drop_elitemobs_procedural_loot(player, level, location?) | table/string, int, table? | bool | Ein prozedurales EliteMobs-Item erzeugen; false bei deaktivierten prozeduralen Drops. Bei aktivierter direkter Inventarlieferung wird es eingefügt und Überlauf am Spieler abgelegt, statt immer an der angeforderten Location. |
drop_elitemobs_random_loot(player, level, location?) | table/string, int, table? | bool | Die EliteMobs-Loot-Tabellen für den Spieler auf der angegebenen Stufe auswürfeln. |
drop_elitemobs_custom_loot(player, file, level, location?) | table/string, string, int, table? | bool | Eine bestimmte EliteMobs-Custom-Item-Datei für den Spieler fallen lassen; gibt false zurück, wenn die Datei nicht aufgelöst wird. |
Das Argument player akzeptiert eine Spielertabelle, einen UUID-String oder einen exakten Spielernamen. Das Argument location akzeptiert eine Location-Tabelle oder eine Entity-Tabelle, die current_location mitführt.
em-Hilfstabelle
MagmaCore stellt diese Tabelle global bereit, bevor irgendein Skript-Hook läuft. Konstruktoren erstellen nur Daten: Sie registrieren keine Zone, laden keine Welt und validieren nicht sämtliche Werte. Konstruktoren und em.location.* benötigen Punktsyntax. Methoden zurückgegebener Locations und Zonen akzeptieren Punkt oder Doppelpunkt, ändern die Tabelle und geben dieselbe Tabelle zurück; Zonen-Setter halten die übergebene Location-Referenz fest.
Eigenschaften
Die Helfer-Konstruktoren geben die untenstehenden kompakten Datentabellen zurück.
| Feld | Typ | Beschreibung |
|---|---|---|
location.x | number | Von em.create_location zurückgegebene X-Koordinate. |
location.y | number | Von em.create_location zurückgegebene Y-Koordinate. |
location.z | number | Von em.create_location zurückgegebene Z-Koordinate. |
location.world | string/nil | Weltname, sofern an em.create_location übergeben. |
location.yaw | number/nil | Yaw, sofern an em.create_location übergeben. |
location.pitch | number/nil | Pitch, sofern an em.create_location übergeben. |
vector.x | number | Von em.create_vector zurückgegebene X-Komponente. |
vector.y | number | Von em.create_vector zurückgegebene Y-Komponente. |
vector.z | number | Von em.create_vector zurückgegebene Z-Komponente. |
zone.kind | string | sphere, dome, cylinder, cuboid, cone, static_ray, rotating_ray oder translating_ray. |
zone.radius | number/nil | Radius von Kugel, Dom, Zylinder oder Kegel. |
zone.height | number/nil | Zylinderhöhe. |
zone.x | number/nil | X-Größe des Quaders. |
zone.y | number/nil | Y-Größe des Quaders. |
zone.z | number/nil | Z-Größe des Quaders. |
zone.length | number/nil | Länge von Kegel oder Strahl. |
zone.thickness | number/nil | Dicke eines statischen Strahls. |
zone.point_radius | number/nil | Punktradius eines rotierenden oder verschiebenden Strahls. |
zone.animation_duration | number/nil | Animationsdauer eines rotierenden oder verschiebenden Strahls. |
zone.origin | table/nil | Von set_center oder set_origin gesetzte Location. |
zone.destination | table/nil | Von set_destination gesetzte Location. |
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
em.create_location(x, y, z, world?, yaw?, pitch?) | number, number, number, string?, number?, number? | table | Eine Location-Tabelle zurückgeben. |
em.create_vector(x, y, z) | number, number, number | table | Eine Vektortabelle {x, y, z} zurückgeben. |
location.add(dx?=0, dy?=0, dz?=0) | number?=0, number?=0, number?=0 | table | An Ort und Stelle addieren und dieselbe Location-Tabelle zurückgeben. |
em.zone.create_sphere_zone(radius) | number | table | Eine Kugeldefinition mit set_center(location) zurückgeben. |
em.zone.create_dome_zone(radius) | number | table | Eine Domdefinition mit set_center(location) zurückgeben. |
em.zone.create_cylinder_zone(radius, height) | number, number | table | Eine Zylinderdefinition mit set_center(location) zurückgeben. |
em.zone.create_cuboid_zone(x, y, z) | number, number, number | table | Eine Quaderdefinition mit set_center(location) zurückgeben. |
em.zone.create_cone_zone(length, radius) | number, number | table | Eine Kegeldefinition mit set_origin(location) und set_destination(location) zurückgeben. |
em.zone.create_static_ray_zone(length, thickness) | number, number | table | Eine Definition eines statischen Strahls mit Origin- und Destination-Settern zurückgeben. |
em.zone.create_rotating_ray_zone(length, point_radius, animation_duration) | number, number, number | table | Eine Definition eines rotierenden Strahls mit Origin- und Destination-Settern zurückgeben. |
em.zone.create_translating_ray_zone(length, point_radius, animation_duration) | number, number, number | table | Eine Definition eines verschiebenden Strahls mit Origin- und Destination-Settern zurückgeben. |
zone.set_center(location) | table | table | Den Mittelpunkt als zone.origin setzen und dieselbe Zonentabelle zurückgeben. |
zone.set_origin(location) | table | table | Den Ursprung setzen und dieselbe Zonentabelle zurückgeben. |
zone.set_destination(location) | table | table | Das Ziel setzen und dieselbe Zonentabelle zurückgeben. |
em.location.is_in_dungeon(location) | table | bool | Registrierte Dungeon-Regionen und Besitzer prüfen, die das Kind dungeon melden. |
em.location.is_protected(location) | table | bool | Die integrierten WorldGuard-/GriefPrevention-Adapter und von Plugins registrierte Schutzbesitzer prüfen. |
em.location.owned_by(location, namespace) | table, string | bool | Besitz durch einen Plugin-Namespace prüfen. |
em.location.owners(location) | table | table | Ein Array mit Besitzer-Namespace-Strings zurückgeben. |
em.location.kinds_at(location) | table | table | Ein Array mit Besitzart-Strings zurückgeben. |
em.location.has_kind(location, kind) | table, string | bool | Eine Besitzart prüfen. |
em.location.* benötigt eine geladene Welt als Namen oder {name = ...}; es gibt keinen Rückfall auf die Besitzerwelt. Ohne auflösbare Welt liefern die Prüfungen false beziehungsweise leere Arrays, fehlende Koordinaten werden null. Besitzer-Namespaces unterscheiden Groß- und Kleinschreibung, Besitzarten nicht. Besitz allein bedeutet weder Dungeon noch Schutz. Die Abfragen decken registrierte Anbieter ab, nicht automatisch jedes Plugin. Fehler eines abgefragten Regionsadapters gelten als geschützt. Die Reihenfolge der Ergebnisarrays ist nicht festgelegt.
Kontext eines Mind-Programms
Native Mind-Callbacks verwenden diesen Kontext anstelle des üblichen Power-/NPC-Kontexts. Verhaltensprogramme aus Dateien werden auch aus plugins/EliteMobs/behaviors/ geladen; siehe Boss-Verhaltenskonfiguration. EliteMobs-Integrationen registrieren ai.program- und ai.module-Definitionen über EliteMindService. Das Ablegen dieser Definitionen im gewöhnlichen Verzeichnis powers registriert kein Mind-Programm.
| Feld | Typ | Beschreibung |
|---|---|---|
tick, generation | number | Aktueller Spieltick und Laufzeitgeneration. |
entity | table | Gemeinsame Living Entity Table des Akteurs. |
memory, perception, actuator, actions | table | Die folgenden Dienste gelten für den jeweiligen Callback. |
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
memory.get(key) | string | value/nil | Einen deklarierten Speicherschlüssel lesen. |
memory.set(key, value, ttl_ticks?) | string, value, int? | nil | Einen deklarierten Speicherwert mit seinem konfigurierten Typ setzen, optional mit Ablaufzeit. |
memory.forget(key) | string | nil | Einen deklarierten Speicherwert entfernen. |
memory.contains(key) | string | bool | Prüfen, ob ein deklarierter Speicherwert vorhanden ist. |
perception.current_target() | — | table/nil | Das aktuelle Ziel als gemeinsame Living Entity Table zurückgeben. |
perception.nearest_player(radius) | number | table/nil | Den nächsten Spieler in Reichweite zurückgeben. |
perception.can_see(entity_or_uuid) | table/string | bool | Die Sichtlinie zu einer lebenden Entity prüfen. |
perception.navigation() | — | table | destination_active, navigation_in_progress, consecutive_stuck_ticks, optional destination sowie optional last_progress mit tick und position zurückgeben. |
actuator.move_to(location, speed?=1) | table, number?=1 | bool | Navigation zu einer Position in derselben Welt mit endlicher, positiver Geschwindigkeit anfordern; false, wenn die Wegfindung nicht gestartet wurde. |
actuator.stop_moving() | — | nil | Die Navigation stoppen. |
actuator.look_at(location) | table | nil | Zu einer Position schauen. |
actuator.jump() | — | nil | Einen Sprung anfordern. |
actuator.set_target(entity_or_uuid) | table/string | bool | Ein lebendes Ziel setzen; false, wenn es nicht aufgelöst werden kann. |
actuator.clear_target() | — | nil | Das Ziel löschen. |
actuator.attack(entity_or_uuid) | table/string | bool | Einen Angriff anfordern; false, wenn das Ziel nicht aufgelöst werden kann. |
actuator.stop_all() | — | nil | Die Bewegung, das Ziel und den Angriff stoppen, die von den gehaltenen Steuerungen dieses Verhaltens abgedeckt werden. |
actions.request(identifier, payload?) | string, table? | string | Eine semantische Aktion anfordern und ihr Ergebnis in Kleinbuchstaben zurückgeben. Die Nutzdaten unterstützen skalare Werte, Entity-UUID-Tabellen und Positionstabellen mit world/x/y/z. |
Diensttabellen werden je Callback beim ersten Zugriff aufgebaut und innerhalb dieses Callbacks wiederverwendet. Speicherschlüssel müssen deklariert sein; nicht deklarierte Schlüssel lösen Fehler aus. Ein erfolgreiches actuator.set_target oder actuator.attack bedeutet, dass ein lebendes Ziel aufgelöst und die Anfrage weitergeleitet wurde, nicht dass Navigation oder Angriff abgeschlossen sind. Aktionsnutzdaten unterstützen die beschriebenen skalaren oder Entity-/Positionswerte, keine beliebig verschachtelten Lua-Tabellen. Aktionskennungen müssen kleingeschriebene Schlüssel mit Namespace und höchstens 128 Zeichen sein; Nutzdaten enthalten höchstens 16 Einträge mit kleingeschriebenen Schlüsseln von höchstens 64 Zeichen, und String-Werte sind auf 256 Zeichen begrenzt. Jede Aktuator-Methode außer stop_all sowie actions.request löst einen Fehler aus, wenn das aufrufende Verhalten die passende Steuerung nicht hält. Sensoren können Aktuator und Aktionen überhaupt nicht verwenden. In Lua geschriebene Verhaltensprogramme sind unter Verhaltensprogramme beschrieben.
ai-Global
MagmaCore installiert dieses Global in jeder Lua-Umgebung. Die Konstruktoren markieren nur die Tabelle, die sie erhalten; EliteMobs kompiliert die markierten Tabellen aus Dateien von Verhaltensprogrammen.
| Feld | Typ | Beschreibung |
|---|---|---|
ai.controls.move, look, jump, target, attack, use_item, action | string | Steuerungsnamen für das Array controls eines Verhaltens; für use_item gibt es keine Lua-Aktuator-Methode. |
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
ai.program(definition) | table | table | Eine Programmdefinition mit id, revision und optional modules, memories, sensors, behaviors, budget und runaway markieren. |
ai.module(definition) | table | table | Eine Moduldefinition mit id, revision und optional dependencies, memories, sensors und behaviors markieren. |
ai.sensor(definition) | table | table | Einen Sensor mit id, interval?=1 und sense(c) markieren. |
ai.behavior(definition) | table | table | Ein Verhalten mit id, priority?=0, controls, can_start, can_continue, start, tick und stop(c, reason) markieren. |
context.mind_action: EliteMobs-Power-Hook
Während on_mind_action(context) verfügbar. Der Hook gibt "accepted", "deferred" oder "rejected" zurück. Zugewiesene Powers werden in ihrer Zuweisungsreihenfolge besucht, bis eine die Aktion annimmt.
| Feld | Typ | Beschreibung |
|---|---|---|
key | string | Semantische Aktionskennung mit Namespace. |
payload | table | Veränderbare Lua-Kopie der unveränderlichen Java-Aktionsanfrage; Entity-UUIDs sind Strings, Positionen Tabellen. Änderungen ändern nicht die ursprüngliche Anfrage. |
game_tick, generation | number | Aktionstick und Laufzeitgeneration. |
context.state
Jede MagmaCore-Skriptinstanz erhält eine einfache Lua-Tabelle, die für die Lebensdauer dieser Instanz bestehen bleibt. Verwende sie für Zähler, Flags, Task-IDs und Werte, die zwischen Hooks geteilt werden.
context.state.counter = (context.state.counter or 0) + 1
context.log
Methoden für MagmaCore, FreeMinecraftModels und EliteMobs-NPCs
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
info(message) | string | nil | Eine Informationsmeldung mit dem gemeinsamen Lua-Präfix protokollieren. |
warn(message) | string | nil | Eine Warnung protokollieren. |
error(message) | string | nil | Über den gemeinsamen Warnkanal protokollieren. |
Methoden für EliteMobs-Boss-Powers
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
info(message) | string | nil | Eine Informationsmeldung einer Boss-Power protokollieren. |
warn(message) | string | nil | Eine Warnung protokollieren. |
debug(message) | string | nil | Eine Informationsmeldung mit dem Debug-Präfix der Lua-Power protokollieren. |
context.scheduler
Geplante Tasks gehören zur Skriptinstanz und werden abgebrochen, wenn diese heruntergefahren wird. Beide untenstehenden Namensfamilien stehen auf den gemeinsamen MagmaCore-Oberflächen und bei EliteMobs-Boss-Powers zur Verfügung.
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
run_later(ticks, callback) | int, function | int | Nach der Verzögerung einmal ausführen und die Bukkit-Task-ID zurückgeben. |
run_repeating(delay, interval, callback) | int, int, function | int | Nach einer anfänglichen Verzögerung wiederholt ausführen und die Task-ID zurückgeben. |
cancel(task_id) | int | nil | Einen eigenen Task abbrechen. |
run_after(ticks, callback) | int, function | int | Alias für run_later. |
run_every(interval, callback) | int, function | int | Ohne anfängliche Verzögerung wiederholt ausführen und die Task-ID zurückgeben. |
cancel_task(task_id) | int | nil | Alias für cancel. |
Callbacks erhalten einen neuen Kontext, normalerweise ohne Event oder Spieler. Erfasse benötigte Werte oder UUIDs, statt einen alten Kontext mit verzögert aufgelösten Feldern aufzubewahren. Fällige einmalige Tasks warten während einer Pause; wiederholte Tasks überspringen pausierte Ticks ohne Nachholen. Callback-Fehler schließen die Skriptinstanz. Das Abbrechen eigener Tasks nimmt keine beliebigen Welt-/Entity-Änderungen oder separat geplanten UI-Timer zurück.
context.cooldowns
Der lokale Speicher gehört zum ScriptableEntity-Adapter: FreeMinecraftModels erstellt einen Adapter je Prop-Skript, EliteMobs dagegen einen NPC-Adapter für alle angehängten Skripte. Benannte lokale Schlüssel können daher zwischen Skripten desselben NPC kollidieren. Globale Werte werden innerhalb desselben Props oder NPC geteilt. Ohne lokalen Schlüssel gilt __lua: gefolgt vom Skriptdateinamen; benannte Schlüssel werden exakt verwendet. Boss-Powers teilen den lokalen Speicher des Bosses und seinen integrierten globalen Power-Cooldown.
Gemeinsame lokale/globale Cooldowns und lokale Boss-Cooldowns messen echte verstrichene Zeit mit 50 ms pro angefordertem Tick, auch während Pausen oder niedriger TPS. Globale Boss-Cooldowns zählen dagegen Server-Ticks und behalten den späteren Ablauf: Ein kürzeres set_global verkürzt nie einen aktiven globalen Cooldown, und eine nicht positive Dauer bewirkt nichts. Lokale Prüfungen prüfen nicht automatisch den globalen Cooldown.
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
local_ready(key?) | string? | bool | Prüfen, ob der über den Schlüssel adressierte lokale Cooldown bereit ist. |
local_remaining(key?) | string? | int | Die verbleibenden Ticks zurückgeben, oder 0, wenn bereit. |
check_local(key, duration) | string/nil, int | bool | Wenn bereit, den Cooldown starten und true zurückgeben. Übergib nil für den Standardschlüssel. |
set_local(duration, key?) | int, string? | nil | Den lokalen Cooldown setzen oder löschen; eine nicht positive Dauer löscht ihn. |
global_ready() | — | bool | Prüfen, ob der globale Cooldown des Besitzers bereit ist. |
set_global(duration) | int | nil | Den globalen Cooldown in Ticks setzen. Auf den gemeinsamen MagmaCore-Oberflächen löscht ihn eine nicht positive Dauer. |
context.zones: gemeinsame MagmaCore-Oberfläche
FreeMinecraftModels-Skripte, EliteMobs-NPC-Skripte und andere Standard-MagmaCore-Consumer erhalten ganzzahlige Zonen-Handles in der Welt des aktuellen Skriptbesitzers.
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
create_sphere(x, y, z, radius) | number, number, number, number | int/nil | Eine Kugel registrieren und ihr Handle zurückgeben, oder nil, wenn der Besitzer keine Welt hat. |
create_cylinder(x, y, z, radius, height) | number, number, number, number, number | int/nil | Einen Zylinder registrieren und sein Handle zurückgeben, oder nil, wenn der Besitzer keine Welt hat. |
create_cuboid(x, y, z, x_size, y_size, z_size) | number, number, number, number, number, number | int/nil | Einen Quader registrieren und sein Handle zurückgeben, oder nil, wenn der Besitzer keine Welt hat. |
watch(handle, on_enter?, on_leave?) | int, function?, function? | bool/nil | Die Grenzverfolgung für ein bekanntes Handle aktivieren. Das Vorhandensein einer Funktion aktiviert den zugehörigen Hook on_zone_enter bzw. on_zone_leave; der übergebene Funktionsrumpf wird nicht direkt aufgerufen. |
unwatch(handle) | int | nil | Die Verfolgung stoppen und das Handle entfernen. |
Generische Zonenüberwachungen prüfen Spielerpositionspunkte. In diesem Pfad sind Quadergrößen halbe Ausdehnungen (Z gleich null wird durch X ungleich null ersetzt); daraus ergibt sich nicht dasselbe Volumen wie bei EliteMobs-Abfragen über Entity-Überlappung oder abgetastete Positionen. Zonen behalten ihre Erstellungskoordinaten und Welt, während jeder Tick die Spieler der aktuellen Besitzerwelt prüft. Generische Zonen-Hooks stellen den die Grenze überschreitenden Spieler über context.player und context.event.player bereit.
Die Mitgliedschaftsverfolgung beginnt sofort bei der Erstellung, bevor watch Hook-Dispatcher installiert. Ein später installierter Watcher meldet bereits erfasste Spieler innerhalb der Zone nicht als neue Eintritte. Ein beim zweiten watch-Aufruf ausgelassener Callback entfernt keinen bestehenden Dispatcher. Trennen der Verbindung und unwatch garantieren keinen Austritts-Hook. Zonen werden vor on_game_tick geprüft.
context.event: gemeinsame MagmaCore-Oberfläche
Diese Tabelle existiert, solange ein gemeinsamer Hook ein aktuelles Bukkit-Event oder einen Akteur hat. In geplanten Callbacks und in Hooks ohne einen dieser beiden Werte fehlt sie.
| Feld oder Methode | Typ | Beschreibung |
|---|---|---|
is_cancelled | bool | Abbruchzustand beim ersten Auflösen der Event-Untertabelle; ein Aufruf von cancel() oder uncancel() aktualisiert dieses Feld nicht. |
cancel() | method | Das aktuelle Event abbrechen. Nur vorhanden, wenn es Bukkits Cancellable implementiert. |
uncancel() | method | Den Abbruch des aktuellen Events zurücknehmen. Nur vorhanden, wenn es Bukkits Cancellable implementiert. |
player | table | Living Entity Table für den aktuellen Akteur, sofern einer verfügbar ist. |
Generische Zonen-Hooks liefern einen Akteur, aber kein abbrechbares Bukkit-Event, daher stellen sie is_cancelled = false und player ohne cancel() oder uncancel() bereit.
context.item
Verzauberungs-Aktionsskripte stellen diese Tabelle bereit, wenn ihre erfasste Quelle einen Inventarplatz und ein Item besitzt. Sie adressiert genau diesen Platz und vergleicht Material und Metadaten des aktuellen Items mit der Momentaufnahme; Schaden und Stapelmenge bleiben dabei unberücksichtigt. Sie durchsucht weder das Spielerinventar noch verfolgt sie eine eindeutige Item-Identität: Ein gleichwertiger Ersatz am erfassten Platz passt ebenfalls. Bei verbrauchter Munition kann sie nil sein. Dies ist unabhängig von der eingestellten FreeMinecraftModels-Laufzeit für ausgerüstete Items.
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
get_durability() | — | table/nil | Verbleibende Haltbarkeit {current, max}; nil bei nicht verfügbaren Items oder Items ohne Haltbarkeit. |
get_durability_percentage() | — | number/nil | Verbleibende Haltbarkeit geteilt durch das Materialmaximum; normalerweise 0..1, bei extern überhöhtem Metadatenschaden auch außerhalb dieses Bereichs. |
use_durability(amount, can_break?=false) | int, bool? | bool | Schaden ändern; negative Werte reparieren. Standardmäßig bleibt mindestens eine Haltbarkeitseinheit erhalten; can_break=true kann den Stapel verbrauchen. |
use_durability_percentage(fraction, can_break?=false) | number, bool? | bool | ceil(max_durability * fraction) Schaden mit denselben Regeln zum Zerbrechen anwenden. |
consume(amount) | positive int | bool | Nur dann vom erfassten Stapel verbrauchen, wenn genügend Items übrig sind. |
Haltbarkeit verwendet das Materialmaximum, keine eigene Max-Damage-Komponente. Diese direkten Änderungen berücksichtigen weder Vanilla-Verschleiß, Unbreaking, Unzerbrechlichkeit noch Spieler-Item-Schadensereignisse. Prozentuale Änderungen benötigen endliche Werte und ein Ergebnis im Integer-Bereich; negative Anteile reparieren. Zerbrechen verbraucht den gesamten erfassten Stapel. Den Aktionslebenszyklus und den vollständigen Kontext findest du unter eigene Verzauberungen.
context.prop
FreeMinecraftModels-Prop-Skripte erhalten diese Tabelle, die die MagmaCore-Entity-Tabelle erbt, sofern eine zugrunde liegende Entity existiert.
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
model_id | string/nil | Name des Modell-Blueprints, oder nil, wenn kein Blueprint existiert. |
current_location | table/nil | Aktuelle Position des Props. |
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
play_animation(name, blend?=true, loop?=true) | string, bool?=true, bool?=true | bool | Die genannte Animation abspielen. |
stop_animation() | — | nil | Eingereihte Wiedergabe löschen und, falls verfügbar, zur Idle-Animation zurückkehren; der endgültige Todeszustand bleibt unverändert. |
hurt_visual() | — | nil | Den roten Trefferblitz ohne Schaden abspielen. |
pickup() | — | nil | Dauerhaftes Entfernen einreihen und ein Platzierungs-Item fallen lassen. |
has_mount_points() | — | bool | Prüfen, ob das Prop Mount-Point-Bones hat. |
mount(player) | table | bool | Das Aufsitzen eines aufgelösten Spielers auf dem ersten freien Sitz einreihen. |
dismount(player) | table | bool | Das Absteigen eines aufgelösten Spielers von diesem Prop einreihen. |
get_passengers() | — | table | Entity-Tabellen der aufgesessenen Spieler zurückgeben. |
spawn_elitemobs_boss(file, x, y, z) | string, number, number, number | table/nil | Einen EliteMobs-Custom-Boss spawnen, wenn EliteMobs aktiviert ist. |
open_inventory(player, title, rows?=3) | table, string, int?=3 | bool | Das Öffnen eines persistenten Lagers einreihen, mit auf 1 bis 6 begrenzten Reihen. |
place_book(player) | table | bool | Das Ablegen eines gehaltenen beschriebenen oder beschreibbaren Buchs einreihen, wenn das Prop keines hat. |
read_book(player) | table | bool | Das Öffnen eines abgelegten beschriebenen Buchs einreihen. |
take_book(player) | table | bool | Das Zurückgeben des abgelegten Buchs an den Spieler einreihen. |
has_book() | — | bool | Prüfen, ob das Prop ein Buch aufbewahrt. |
drop_inventory() | — | bool | Das Leeren des persistenten Lagers und das Fallenlassen seiner Items einreihen. |
drop_book() | — | bool | Das Leeren und Fallenlassen des abgelegten Buchs einreihen. |
is_viewing_inventory(player) | table | bool | Prüfen, ob der Spieler das verfolgte Inventar dieses Props ansieht. |
set_persistent_data(key, value) | string, string | bool | Einen String unter dem prop-bezogenen fmm_lua_-Schlüssel speichern. |
get_persistent_data(key) | string | string/nil | Den gespeicherten String zurückgeben, oder nil. |
Bei eingereihten Prop-Operationen bedeutet true, dass die anfänglichen Spieler-/Entity-Prüfungen bestanden wurden, nicht dass ein Sitz frei war, ein Buch gespeichert oder ein GUI geöffnet wurde. take_book entfernt die gespeicherten Daten vor dem Einfügen und legt Inventarüberlauf nicht ab. Alle Betrachter eines Props teilen sich ein einziges Live-Inventar, das gespeichert wird, wenn der letzte Betrachter es schließt; solange es geöffnet ist, verwenden spätere Aufrufe seinen Titel und seine Größe weiter. Gespeicherte Inhalte, die größer sind als die angeforderten Zeilen, öffnen sich in ihrer gespeicherten Größe, sodass keine Slots verloren gehen. Prop-Daten liegen auf dem zugrunde liegenden Armor Stand; ein neu erzeugtes Platzierungs-Item garantiert keinen Erhalt dieser Daten beim Aufheben.
In on_projectile_hit erhalten Prop-Skripte außerdem context.projectile, eine gemeinsame Entity Table für das Projektil. Der Hook wird nicht ausgelöst, wenn ein anderes Plugin den Treffer bereits abgebrochen hat. context.event umschließt das abbrechbare Treffer-Event von FreeMinecraftModels, und context.event.player ist der Schütze, sofern er eine lebende Entity ist, auch bei Mobs; context.player ist nur gesetzt, wenn ein Spieler das Projektil abgefeuert hat.
context.npc
EliteMobs-NPC-Skripte erben die gemeinsamen MagmaCore-Kontexte und ergänzen diese NPC-spezifische Tabelle.
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
name | string | Konfigurierter NPC-Anzeigename. |
filename | string | Dateiname der NPC-Konfiguration. |
uuid | string | Laufzeit-UUID des NPCs. |
activation_radius | number | Konfigurierter Aktivierungsradius. |
current_location | table | Momentaufnahme der Position, nur vorhanden, solange die zugrunde liegende lebende Entity existiert. |
entity_type | string | Bukkit-Entity-Typ in Großbuchstaben, nur vorhanden, solange die zugrunde liegende lebende Entity existiert. |
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
is_valid() | — | bool | Prüfen, ob der NPC gültig ist. |
remove() | — | nil | Den NPC über seinen zuständigen Lebenszyklus entfernen. |
get_location() | — | table | Die aktuelle NPC-Position zurückgeben, ersatzweise seine Spawn-Position. Die Tabelle enthält außerdem einen direction-Vektor. |
get_eye_location() | — | table | Die aktuelle Augenposition zurückgeben, ersatzweise die Spawn-Position. Die Tabelle enthält außerdem einen direction-Vektor. |
get_activation_radius() | — | number | Den aktuell konfigurierten Aktivierungsradius zurückgeben. |
get_nearby_players(radius) | number | table | Spielertabellen derselben Welt innerhalb eines 3D-Radius um die Füße des NPC zurückgeben, ohne Spielmodusfilter. |
face_direction_or_location(target) | table | nil | Zu einem Vektor oder einer Location derselben Welt schauen; während aktiver Patrouillenbewegung ignoriert. |
say_greeting(player?) | table/string? | nil | Die konfigurierte Begrüßung senden, standardmäßig an den auslösenden Spieler, sofern verfügbar. Eine Spielertabelle, UUID oder ein Name werden akzeptiert. |
say_dialog(player?) | table/string? | nil | Konfigurierten Dialog mit derselben Spielerauflösung senden. |
say_farewell(player?) | table/string? | nil | Die konfigurierte Verabschiedung mit derselben Spielerauflösung senden. |
play_model_animation(name) | string | nil | Eine Modellanimation abspielen, wenn ein Custom Model existiert. |
patrol_pause() | — | bool | Die konfigurierte Patrouille pausieren. |
patrol_resume() | — | bool | Die Patrouille nach Skript-Halt oder temporärem Lauf fortsetzen. |
walk_to(x, y, z) | number, number, number | bool | Zu einem Versatz vom festgelegten Ursprung laufen und anschließend die Patrouille fortsetzen. |
hold(x, y, z) | number, number, number | bool | Zu einem Versatz vom festgelegten Ursprung laufen und dort bleiben. |
teleport(x, y, z) | number, number, number | bool | Zu einem Versatz vom festgelegten Ursprung teleportieren, an dem Entities getickt werden. |
Location-Tabelle für EliteMobs-Powers
Tabellen von EliteMobs-Boss-Powers geben diese Positionsform aus get_location(), get_eye_location(), current_location und anderen Positionsergebnissen zurück. Eine fehlende Position liefert eine leere Tabelle.
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
x, y, z | number | Koordinaten. |
yaw, pitch | number | Rotation. |
world | string/nil | Weltname, sofern die Position eine Welt hat. |
direction | table | Einheitsvektor {x, y, z} der Blickrichtung. |
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
add(dx?=0, dy?=0, dz?=0) | number?=0, number?=0, number?=0 | table | Die Werte direkt zu den Koordinaten addieren und dieselbe Tabelle zurückgeben; direction wird nicht aktualisiert. |
Entity-Referenztabelle für EliteMobs-Powers
EliteMobs-Boss-Power-Methoden geben diese leichtgewichtige Tabelle für nicht lebende Entities wie Projektile, Feuerwerke und fallende Blöcke zurück.
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
name | string | Momentaufnahme des Entity-Namens. |
uuid | string | UUID der Entity. |
entity_type | string | Momentaufnahme des Bukkit-Entity-Typs in Großbuchstaben. |
is_player | bool | Immer false. |
is_elite | bool | Immer false. |
is_mount | bool | False, sofern ein Boss eine zurückgegebene Mount-Tabelle nicht als true markiert. |
current_location | table | Momentaufnahme der Position. |
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
is_valid() | — | bool | Die aktuelle Gültigkeit prüfen. |
get_location() | — | table | Die aktuelle Position zurückgeben. |
get_velocity() | — | table | Die aktuelle Geschwindigkeit zurückgeben. |
is_on_ground() | — | bool | Den aktuellen Bodenkontakt prüfen. |
teleport_to_location(location) | table | nil | Teleportieren, wenn die Location aufgelöst wird. |
set_velocity_vector(vector) | table | nil | Die Geschwindigkeit setzen, wenn der Vektor aufgelöst wird. |
set_direction_vector(vector) | table | nil | Eine Feuerball-Richtung setzen, sofern anwendbar. |
set_yield(amount) | number | nil | Die Feuerball-Sprengkraft setzen, sofern anwendbar. |
set_gravity(enabled) | bool | nil | Die Schwerkraft setzen. |
detonate() | — | nil | Zünden, wenn die Entity ein Feuerwerk ist. |
remove() | — | nil | Die Entity entfernen. |
unregister(reason?=OTHER) | string?=OTHER | nil | Mit 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 oder ARENA_RESET abmelden. |
is_inside_vehicle() | — | bool | Prüfen, ob die Entity ein Fahrzeug reitet. |
has_vehicle() | — | bool | Prüfen, ob ein Fahrzeug existiert. |
get_vehicle() | — | table/nil | Die aktuelle Fahrzeugreferenz zurückgeben. |
set_vehicle(vehicle) | table | bool | Diese Entity das aufgelöste Fahrzeug reiten lassen. |
leave_vehicle() | — | bool | Das aktuelle Fahrzeug verlassen. |
has_passengers() | — | bool | Prüfen, ob Passagiere existieren. |
get_passenger_count() | — | int | Die Passagieranzahl zurückgeben. |
get_passengers() | — | table | Passagierreferenzen zurückgeben. |
add_passenger(passenger) | table | bool | Den aufgelösten Passagier hinzufügen. |
remove_passenger(passenger) | table | bool | Den aufgelösten Passagier entfernen. |
eject_passengers() | — | bool | Jeden Passagier abwerfen. |
Tabelle für lebende Entities in EliteMobs-Powers
Lebende Entities in EliteMobs-Boss-Powers nutzen diese separate Tabelle; die Boss- und Spielertabellen der EliteMobs-Powers erben von ihr.
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
name | string | Momentaufnahme des Entity-Namens. |
uuid | string | UUID der Entity. |
entity_type | string | Momentaufnahme des Bukkit-Entity-Typs in Großbuchstaben. |
is_player | bool | Ob die Entity ein Spieler ist. |
is_monster | bool | Ob die Entity das Bukkit-Interface Monster implementiert. |
is_elite | bool | Ob EliteMobs die Entity verfolgt. |
is_mount | bool | Ob der verfolgte Custom Boss ein Reittier ist. |
is_valid | bool | Momentaufnahme der Gültigkeit. |
health | number | Momentaufnahme der Gesundheit. |
maximum_health | number | Momentaufnahme der maximalen Gesundheit. |
current_location | table | Momentaufnahme der Position. |
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
is_alive() | — | bool | Aktuelle Gültigkeit und Todeszustand prüfen. |
is_ai_enabled() | — | bool | Den aktuellen KI-Zustand zurückgeben. |
is_frozen() | — | bool | Die Frozen-Einstellung des EliteMobs-Custom-Bosses zurückgeben, oder false. |
get_location() | — | table | Die aktuelle Position zurückgeben. |
get_eye_location() | — | table | Die aktuelle Augenposition zurückgeben. |
get_height() | — | number | Die Bukkit-Entity-Höhe zurückgeben. |
get_health() | — | number | Die aktuelle Gesundheit zurückgeben. |
get_maximum_health() | — | number | Die aktuelle maximale Gesundheit zurückgeben. |
get_velocity() | — | table | Die aktuelle Geschwindigkeit zurückgeben. |
deal_damage(amount) | number | nil | Generischen Bukkit-Schaden zufügen. |
deal_custom_damage(amount) | number | nil | Rohen Custom-Schaden vom Boss für ein lebendes Ziel einreichen; überspringt den Boss selbst, unverwundbare oder tote Ziele sowie Spieler außerhalb von Survival/Adventure. Instanzregeln und Schadensereignis-Abbruch gelten weiterhin. |
deal_damage_from_boss(amount) | number | nil | Bukkit-Schaden zufügen, der dem Boss der Power zugerechnet wird. |
restore_health(amount) | number | nil | Über EliteMobs heilen, wenn verfolgt, andernfalls die Bukkit-Gesundheit auf das Maximum begrenzen. |
play_sound_at_entity(sound, volume_or_options?=1, pitch?=1) | string (Sound), number/table?=1, number?=1 | nil | Einen registrierten oder benutzerdefinierten Namespace-Sound an der Entity abspielen. Das zweite Argument darf stattdessen {volume, pitch} sein. |
play_sound_at_self(sound, volume_or_options?=1, pitch?=1) | string (Sound), number/table?=1, number?=1 | nil | Alias, der an der Entity abspielt. Das zweite Argument darf stattdessen {volume, pitch} sein. |
spawn_particle_at_self(particle, count?=1) | string (Particle)/table, int?=1 | nil | Einen Partikel-String oder eine Partikel-Spezifikationstabelle an der Entity spawnen. |
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 | Ein Partikel an einer Location spawnen. |
teleport_to_location(location) | table | nil | Teleportieren, wenn die Location aufgelöst wird. |
set_velocity_vector(vector) | table | nil | Die Geschwindigkeit setzen, wenn der Vektor aufgelöst wird. |
set_gravity(enabled) | bool | nil | Die Schwerkraft setzen. |
is_on_ground() | — | bool | Den aktuellen Bodenkontakt prüfen. |
apply_push_vector(vector, additive?=false, delay?=1) | table, bool?=false, int?=1 | nil | Nach einer Verzögerung Geschwindigkeit anwenden, optional additiv zur aktuellen Geschwindigkeit. |
set_custom_name(name) | string | nil | Einen farbverarbeiteten benutzerdefinierten Namen setzen. |
reset_custom_name() | — | nil | Den EliteMobs-Namen wiederherstellen, wenn verfolgt, andernfalls den Bukkit-Namen. |
set_custom_name_visible(visible) | bool | nil | Die Sichtbarkeit des benutzerdefinierten Namens setzen. |
set_ai_enabled(enabled, duration?=0) | bool, int?=0 | nil | Die KI als eigene Änderung setzen; positive Ticks stellen den ersetzten Wert wieder her. true beendet eine aktive KI-Änderung dieser Power, falls vorhanden, statt einen neuen Wert anzuwenden. |
set_awareness_enabled(enabled, duration?=0) | bool, int?=0 | nil | Die Wahrnehmung des Mobs als eigene Änderung setzen; positive Ticks stellen den ersetzten Wert wieder her. true beendet eine aktive Wahrnehmungsänderung dieser Power, falls vorhanden, statt einen neuen Wert anzuwenden. |
face_direction_or_location(target) | table | nil | Zu einem Vektor oder einer Location in derselben Welt blicken. |
play_model_animation(name) | string | nil | Eine Custom-Model-Animation abspielen, sofern verfügbar. |
set_scale(scale, duration?=0) | number, int?=0 | nil | Die Basisskalierung als eigene Änderung setzen; positive Ticks stellen den ersetzten Wert wieder her. |
set_invulnerable(enabled, duration?=0) | bool, int?=0 | nil | Unverwundbarkeit als eigene Änderung setzen; positive Ticks stellen den ersetzten Wert wieder her. |
remove_elite() | — | nil | Einen verfolgten Elite über die EliteMobs-Entfernungspipeline entfernen. |
is_healing() | — | bool | Den Heilungszustand des verfolgten Elites prüfen. |
set_healing(enabled) | bool | nil | true markiert einen verfolgten Elite als heilend, sofern er es noch nicht ist; false entfernt nur eine Heilung, die diese Power gesetzt hat. Beim Beenden der Power wird eine Heilung entfernt, die ihr noch gehört. |
navigate_to_location(location, speed?=1, force?=false, timeout?=0) | table, number?=1, bool?=false, int?=0 | nil | Einen verfolgten Custom Boss navigieren lassen. |
add_tag(tag, duration?=0) | string, int?=0 | nil | Ein Tag hinzufügen und es nach positiven Ticks entfernen. |
remove_tag(tag) | string | nil | Ein Tag entfernen. |
has_tag(tag) | string | bool | Ein Entity-, Elite- oder Spieler-Tag prüfen. |
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 | Geschwindigkeit sofort durch den normalisierten Vektor von der Quelle weg mal Kraft plus Offsets entlang der Weltachsen ersetzen. Die Quelle muss in derselben Welt liegen. |
overlaps_box_at_location(center, half_x?=0.5, half_y?=half_x, half_z?=half_x) | table, number?=0.5, number?, number? | bool | Die Bounding Box der Entity gegen die angeforderte Box prüfen. |
is_inside_vehicle() | — | bool | Prüfen, ob die Entity ein Fahrzeug reitet. |
has_vehicle() | — | bool | Prüfen, ob ein Fahrzeug existiert. |
get_vehicle() | — | table/nil | Die aktuelle Fahrzeugreferenz zurückgeben. |
set_vehicle(vehicle) | table | bool | Diese Entity das aufgelöste Fahrzeug reiten lassen. |
leave_vehicle() | — | bool | Das aktuelle Fahrzeug verlassen. |
has_passengers() | — | bool | Prüfen, ob Passagiere existieren. |
get_passenger_count() | — | int | Die Passagieranzahl zurückgeben. |
get_passengers() | — | table | Passagierreferenzen zurückgeben. |
add_passenger(passenger) | table | bool | Den aufgelösten Passagier hinzufügen. |
remove_passenger(passenger) | table | bool | Den aufgelösten Passagier entfernen. |
eject_passengers() | — | bool | Jeden Passagier abwerfen. |
apply_potion_effect(type, duration, amplifier?=0) | string (PotionEffectType), int, int?=0 | nil | Einen großgeschriebenen Bukkit-Tranknamen auflösen und bei erlaubter Instanzregel anwenden. Verstärker beginnen bei null. |
set_equipment(slot, material, options?) | string (EquipmentSlot), string (Material), table? | nil | Ausrüstung setzen; die Optionen unterstützen unbreakable sowie enchantments-Einträge mit type und level. |
damage_equipment(slot, amount) | string, int | int | 1–64 Haltbarkeitsschaden für HAND, OFF_HAND, HEAD, CHEST, LEGS oder FEET anfordern; gibt den tatsächlich angewandten Schaden zurück. Beachtet abgebrochene Spieler-Item-Schadensereignisse und unzerstörbare Items; kann das Item zerstören. |
set_fire_ticks(ticks) | int | nil | Feuer-Ticks setzen, wenn die Instanzregeln es erlauben. |
add_visual_freeze_ticks(ticks?=1) | int?=1 | nil | Minecraft-Frost-Ticks hinzufügen, wenn die Instanzregeln es erlauben; kann Erfrierungsschaden verursachen und sperrt weder KI noch Bewegung. |
place_temporary_block(material, ticks?=0, require_air?=false) | string (Material), int?=0, bool?=false | nil | Einen temporären Block an der Entity platzieren. |
Änderungen an KI, Wahrnehmung, Skalierung und Unverwundbarkeit gehören der aufrufenden Power. Jede speichert den Wert, den sie ersetzt hat. Eine positive Dauer stellt diesen Wert nach den angegebenen Ticks wieder her; eine Dauer von 0 behält die Änderung bei, bis die Power beendet wird, was den Wert ebenfalls wiederherstellt. Ändern mehrere Powers dieselbe Eigenschaft, stellt das Ende einer Änderung die jüngste verbleibende Änderung wieder her oder, wenn keine mehr übrig ist, den ursprünglichen Wert. Ändert zwischenzeitlich ein anderes Plugin oder ein Befehl die Eigenschaft, bleibt dessen Wert erhalten, und nichts wird wiederhergestellt. Das Pausieren einer Power beendet diese Änderungen nicht. Verzögertes apply_push_vector und Timer zur Tag-Entfernung laufen weiterhin unabhängig vom skripteigenen Scheduler. reset_custom_name stellt bei verfolgten Elites deren Namen wieder her; bei gewöhnlichen Bukkit-Entities verwendet es den aktuellen Namen, keinen gespeicherten ursprünglichen Namen.
Spielertabelle für EliteMobs-Powers
Spielerwerte in EliteMobs-Boss-Powers erben alle Eigenschaften und Methoden der Tabelle für lebende Entities in EliteMobs-Powers.
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
game_mode | string | Momentaufnahme des Bukkit-Spielmodus in Großbuchstaben. |
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
send_message(text) | string | nil | Farbverarbeiteten Chattext senden. |
show_action_bar(text) | string | nil | Eine farbverarbeitete Action Bar senden. |
show_title(title, subtitle?="", fade_in?=10, stay?=40, fade_out?=10) | string, string?="", int?=10, int?=40, int?=10 | nil | Einen farbverarbeiteten Titel anzeigen. |
show_boss_bar(title, color?=WHITE, style?=SOLID, duration?=40) | string, string (BarColor)?=WHITE, string (BarStyle)?=SOLID, int?=40 | nil | Eine Bossleiste anzeigen und sie nach positiven Ticks entfernen. |
run_command(command) | string | nil | Einen Befehl als der Spieler ausführen. |
context.boss
EliteMobs-Boss-Powers erhalten diese Tabelle. Sie erbt alle Eigenschaften und Methoden der Tabelle für lebende Entities in EliteMobs-Powers und überschreibt die hier aufgeführten Zeilen mit dem Verhalten für Elites.
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
name | string | Momentaufnahme des Elite-Anzeigenamens oder des Skriptdateinamens. |
uuid | string | UUID des Elites. |
health | number | Momentaufnahme der Elite-Gesundheit. |
maximum_health | number | Momentaufnahme der maximalen Elite-Gesundheit. |
current_location | table | Momentaufnahme der Elite-Position. |
level | int | Momentaufnahme der Elite-Stufe. |
damager_count | int | Momentaufnahme der Anzahl der Schadensverursacher. |
is_in_combat | bool | Momentaufnahme des Kampfzustands. |
exists | bool | Momentaufnahme der Existenz des Elites. |
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
is_alive() | — | bool | Die lebende Entity und den EliteMobs-Existenzzustand prüfen. |
get_health() | — | number | Die aktuelle Elite-Gesundheit zurückgeben. |
get_maximum_health() | — | number | Die aktuelle maximale Elite-Gesundheit zurückgeben. |
get_location() | — | table | Die aktuelle Elite-Position zurückgeben. |
restore_health(amount) | number | nil | Über die EliteMobs-Entity heilen. |
add_tag(tag, duration?=0) | string, int?=0 | nil | Ein Elite-Tag hinzufügen und es nach positiven Ticks entfernen. |
remove_tag(tag) | string | nil | Ein Elite-Tag entfernen. |
has_tag(tag) | string | bool | Ein Elite-Tag prüfen. |
reset_custom_name() | — | nil | Den Elite-Anzeigenamen wiederherstellen. |
play_sound_at_self(sound, volume_or_options?=1, pitch?=1) | string (Sound), number/table?=1, number?=1 | nil | Einen registrierten oder benutzerdefinierten Namespace-Sound an der Elite-Position abspielen. Das zweite Argument darf stattdessen {volume, pitch} sein. |
play_sound_at_entity(sound, volume_or_options?=1, pitch?=1) | string (Sound), number/table?=1, number?=1 | nil | Alias, der an der Elite-Position abspielt. Das zweite Argument darf stattdessen {volume, pitch} sein. |
spawn_particle_at_self(particle, count?=1) | string (Particle)/table, int?=1 | nil | Ein Partikel an der Elite-Position spawnen. |
play_model_animation(name) | string | nil | Die Modellanimation des Custom Bosses abspielen, sofern verfügbar. |
navigate_to_location(location, speed?=1, force?=false, timeout?=0) | table, number?=1, bool?=false, int?=0 | nil | Einen Custom Boss navigieren lassen. |
get_damager_count() | — | int | Die aktuelle Anzahl der Schadensverursacher zurückgeben. |
despawn() | — | nil | Den Elite mit dem Grund OTHER entfernen. |
remove() | — | nil | Alias für despawn(). |
patrol_pause() | — | bool | Die konfigurierte Patrouille pausieren. |
patrol_resume() | — | bool | Die Patrouille nach Skript-Halt oder temporärem Lauf fortsetzen. |
walk_to(x, y, z) | number, number, number | bool | Zu einem Versatz vom festgelegten Ursprung laufen und anschließend die Patrouille fortsetzen. |
hold(x, y, z) | number, number, number | bool | Zu einem Versatz vom festgelegten Ursprung laufen und dort bleiben. |
teleport(x, y, z) | number, number, number | bool | Zu einem Versatz vom festgelegten Ursprung teleportieren, an dem Entities getickt werden. |
get_ender_dragon_phase() | — | string/nil | Den Namen der EnderDragon.Phase zurückgeben, oder nil. |
set_ender_dragon_phase(phase) | string (EnderDragon.Phase) | nil | Eine gültige Enderdrachen-Phase setzen. |
has_mount() | — | bool | Prüfen, ob der Boss ein aktives Reittier-Fahrzeug hat. |
get_mount() | — | table/nil | Die mit is_mount = true markierte Reittier-Referenz zurückgeben. |
set_mount(mount) | table | bool | Den Boss die aufgelöste Entity reiten lassen. |
clear_mount() | — | bool | Das aktuelle Fahrzeug verlassen. |
dismount() | — | bool | Alias für clear_mount(). |
start_tracking_fireball_system(speed?=0.5) | number?=0.5 | nil | Bei einem Monster-Boss ab dem nächsten Tick und danach alle 160 Ticks verfolgende Feuerbälle auf Survival-/Adventure-Spieler im Umkreis von 20 Blöcken auf jeder Achse abfeuern, solange er ein Ziel hat. Die Aufgabe gehört der Power: Pausieren pausiert sie, Zielverlust oder Beenden stoppt sie. Die Geschwindigkeit muss endlich und positiv sein. |
handle_spirit_walk_damage(cause) | string (DamageCause) | nil | Die Schadensbehandlung von Spirit Walk ausführen. |
shield_wall_is_active() | — | bool | Den Zustand der Schildwand prüfen. |
initialize_shield_wall(openingDirection?=1) | int?=1 | nil | Initialisiert Richtungspuffer in Höhe des Bosslevels. Öffnung: 1 Norden, 2 Osten, 3 Süden, 4 Westen; andere Ganzzahlen schützen alle Seiten. Eine aktive Wand bleibt unverändert. |
shield_wall_absorb_damage(player, damage) | table, number | bool | Zieht Schaden vom Puffer auf der Angreiferseite ab, wenn dieser vorher positiv war. Bei true muss das Skript das Schadensereignis selbst abbrechen; kein automatischer Abbruch. |
deactivate_shield_wall() | — | nil | Stoppt die unabhängige Wandaufgabe und entfernt Zustand und Darstellung. Das Schließen von Lua allein deaktiviert sie nicht. |
start_zombie_necronomicon(target, chant) | table, string | nil | Startet den unabhängigen Controller für ein lebendes Ziel. Der String ist Anzeigetext, kein Dateiname; beschwört die festen Necronomicon-Zombie-/Skelettdateien mit dem Level des Zaubernden. |
send_message(text, range?=20) | string, number?=20 | nil | Farbverarbeiteten Text an Spieler in Reichweite senden. |
get_nearby_players(range) | number | table | EliteMobs Power Player Tables in der Nähe zurückgeben. |
get_nearby_elites(radius) | number | table | Höchstens 32 lebende, erfasste Elites derselben Welt zurückgeben, ohne den Boss; nach Entfernung und bei Gleichstand nach UUID sortiert. Radius: größer als 0, höchstens 64. |
get_target_player() | — | table/nil | Das aktuelle Mob-Ziel zurückgeben, wenn es ein Spieler ist. |
get_nearby_players_in_zone(zone) | table | table | Spieler zurückgeben, die von der Zone erfasst werden. |
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 | Das Zoneninnere abtasten und Partikel spawnen. |
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 | Den Zonenrand abtasten und Partikel spawnen. |
get_particles_from_self_toward_zone(zone, particle, speed?=0.1) | table, string (Particle), number?=0.1 | table | Gerichtete Partikelspezifikationen vom Boss in Richtung abgetasteter Zonenpunkte erzeugen. |
get_particles_toward_self(zone, particle, speed) | table, string (Particle), number | table | Gerichtete Partikelspezifikationen in Richtung des Bosses erzeugen; der aktive Builder liest die Geschwindigkeit derzeit aus dem zuletzt übergebenen Argument. |
spawn_particles_with_vector(particles) | table | nil | Ein Array gerichteter Partikelspezifikationen spawnen. |
summon_reinforcement(file, zone_or_location?, duration?=0) | string, table?, int?=0 | table/nil | Eine Verstärkung an einem abgetasteten Zonenpunkt, einer Location oder beim Boss beschwören; eine positive Dauer entfernt sie nach entsprechend vielen Ticks. |
summon_projectile(type, origin, destination, speed?=1, options?) | string (EntityType), table, table, number?=1, table? | table/nil | Ein Projektil spawnen; die Optionen unterstützen custom_damage, detonation_power, yield, incendiary, gravity, glowing, invulnerable, persistent, duration, EntityEffect effect, spawn_at_origin, direction_only, track, on_land und max_ticks. |
context.players: EliteMobs-Boss-Powers
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
current_target() | — | table/nil | Den Event-Akteur zurückgeben, wenn er ein Spieler ist, andernfalls das aktuelle Mob-Ziel des Bosses, wenn es ein Spieler ist. |
nearby_players(radius) | number | table | Spielertabellen innerhalb des Radius um den Boss zurückgeben. |
all_players_in_world() | — | table | Alle Spielertabellen in der aktuellen Welt des Bosses zurückgeben. |
context.entities: EliteMobs-Boss-Powers
Die Sammlungsabfragen schließen den Boss selbst aus. Filter für lebende Entities akzeptieren player/players, elite/elites, mob/mobs oder jeden anderen Wert für alle lebenden Entities. Sie filtern weder auf Survival/Adventure noch auf Mitgliedschaft in einer Dungeon-Instanz. Die direkte Zielabfrage liefert unabhängig davon das vom Hook übergebene Ziel.
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
get_nearby_entities(radius, filter?="living") | number, string? | table | Filter für lebende Entities verwenden einen 3D-Radius um die Fußposition. all oder entities verwendet stattdessen Bukkits achsenparallele Quaderabfrage einschließlich nicht lebender Entities. |
get_entities_in_box(center, half_x, half_y, half_z, filter?="living") | table, number, number, number, string? | table | Lebende Entities zurückgeben, deren Fußpositionen im Quader einschließlich seiner Grenze liegen. |
get_all_entities(filter?="living") | string? | table | Passende lebende Entities in der Welt des Bosses zurückgeben. |
get_direct_target_entity() | — | table/nil | Das direkte Ziel zurückgeben, das der aktuelle Hook liefert. |
get_boss_spawn_location() | — | table | Die ursprüngliche Spawn-Position des Bosses zurückgeben. |
context.vectors: EliteMobs-Boss-Powers
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
get_vector_between_locations(source, destination, options?) | table, table, table? | table | Den Vektor zwischen Locations derselben Welt zurückgeben, oder {x=0,y=0,z=0} bei ungültiger oder weltübergreifender Eingabe. Die Optionen unterstützen normalize, multiplier und den Vektor offset. |
rotate_vector(vector, pitch?=0, yaw?=0) | table, number?=0, number?=0 | table | Den um Pitch und Yaw (in Grad) rotierten Vektor zurückgeben. |
normalize_vector(vector) | table | table | Einen Einheitsvektor zurückgeben; ein Nullvektor bleibt null. |
context.zones: EliteMobs-Boss-Powers
EliteMobs-Boss-Powers ersetzen die gemeinsame Zonenoberfläche mit Ganzzahl-Handles durch Abfragen auf Elite-Script-Zonendefinitionen.
Entity-Mitgliedschaft, Punktenthaltung und abgetastete Partikelpositionen sind getrennte Formoperationen und können an Grenzen abweichen. coverage ändert abgetastete Positionen, nicht die Entity-Auswahl. watch_zone hält eine Form fest und ruft jeden Callback mit einer Entity-Tabelle auf, nicht mit einem Kontext. Die Prüfung beginnt nach einem Tick und meldet bereits enthaltene Entities als Eintritte. Das Stoppen einer Überwachung erzeugt keine Austritts-Callbacks.
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
get_entities_in_zone(zone, options?) | table, table? | table | Passende lebende Entities zurückgeben. Die Optionen unterstützen filter und mode = "full" oder "border". |
get_locations_in_zone(zone, options?) | table, table? | table | Abgetastete Locations zurückgeben. Die Optionen unterstützen coverage und mode = "full" oder "border". |
zone_contains(zone, location, mode?="full") | table, table, string? | bool | Prüfen, ob die Location in der vollen Form oder am Rand liegt. |
watch_zone(zone, callbacks, options?) | table, table, table? | nil | Mit {on_enter, on_leave}-Callbacks überwachen. Die Optionen unterstützen filter und mode; die eigene Überwachung endet mit dem Skript. |
context.script: EliteMobs-Boss-Powers
Diese Brücke akzeptiert dieselben Tabellenschlüssel wie die YAML-Konfiguration von Elite-Script-Targets, -Zonen und -Relativvektoren.
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
target(spec) | table | Target Handle | Ein Target Handle erzeugen. |
zone(spec) | table | Zone Handle | Ein Zone Handle erzeugen. |
relative_vector(spec, location?, zone?) | table, table?, Zone Handle? | Vector Handle | Ein Relativvektor-Handle erzeugen, dessen Aktions-Location standardmäßig der Boss ist. |
damage(target, amount?=0, multiplier?=1) | Target Handle, number?=0, number?=1 | nil | Dem Boss zugeschriebenen Bukkit-Schaden einreichen. Spielertreffer durchlaufen die EliteMobs-Kampfskalierung mit Multiplikator; Nichtspielertreffer wenden ihn nicht an. |
push(target, vector, additive?=false) | Target Handle, table/Vector Handle, bool?=false | nil | Nach einem skripteigenen Tick Geschwindigkeit für die erfassten Ziele ersetzen oder addieren. Ein aufgelöster Vektor gilt für alle Ziele; fehlende oder nicht endliche Vektoren werden null. |
set_facing(target, vector) | Target Handle, table/Vector Handle | nil | Aufgelöste Ziel-Entities entlang des Vektors ausrichten. |
spawn_particles(target, particles) | Target Handle, table/string | nil | Die Partikelspezifikation an den aufgelösten Ziel-Locations spawnen. |
Diese Aufrufe führen nicht automatisch eine Elite-Script-Aktionsliste, Bedingungen, Cooldowns, Warnverzögerungen oder Wiederholungen aus. Target-Handles halten ihren ursprünglichen Event-/Direktzielkontext fest; verwende eventabhängige Handles nicht über unabhängige Hooks hinweg. first_entity() liefert das erste Resolver-Ergebnis, nicht zwingend die nächste Entity.
Methoden des Target-Handles
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
entities() | — | table | Entity-Tabellen auflösen und zurückgeben. |
locations() | — | table | Location-Tabellen auflösen und zurückgeben. |
first_entity() | — | table/nil | Die erste aufgelöste Entity zurückgeben. |
first_location() | — | table/nil | Die erste aufgelöste Location zurückgeben. |
Methoden des Zonen-Handles
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
full_target(coverage?) | number? | Target Handle | Ein Target Handle für das Innere der Form erzeugen. |
border_target(coverage?) | number? | Target Handle | Ein Target Handle für den Rand erzeugen. |
full_locations(coverage?) | number? | table | Abgetastete Locations im Inneren auflösen. |
border_locations(coverage?) | number? | table | Abgetastete Locations am Rand auflösen. |
full_entities() | — | table | Entities innerhalb der Form auflösen. |
border_entities() | — | table | Entities am Rand auflösen. |
contains(location, mode?="full") | table, string? | bool | Zugehörigkeit zur vollen Form oder zum Rand prüfen. |
watch(callbacks, mode?="full") | table, string? | int | Eine eigene {on_enter, on_leave}-Überwachung starten und ihre Task-ID zurückgeben. |
Methoden des Relativvektor-Handles
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
resolve() | — | table | Den Vektor für den aktuellen Kontext auflösen. |
Event-Tabelle für EliteMobs-Powers
Event-Werte in EliteMobs-Boss-Powers stellen Felder und Methoden je nach Event-Typ bedingt bereit.
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
damage_amount | number/nil | Momentaufnahme der Schadenshöhe eines Schadensereignisses. |
damage_cause | string/nil | Name der DamageCause, sofern das Schadensereignis eine bereitstellt. |
damager | table/nil | Rohe Referenz auf die schadensverursachende Entity; bei einem Projektiltreffer ist dies das Projektil, nicht dessen Schütze. |
projectile | table/nil | Projektilreferenz, wenn der Schadensverursacher ein Projektil ist. |
spawn_reason | string/nil | Spawn-Grund des Elites. |
entity | table/nil | Je nach Hook die beschädigte Verstärkung oder die Entity eines Todes- oder Zonenereignisses. |
is_damage_transfer | bool/nil | Nur bei Spielerschaden an Elites: ob dieser Hook einen ausdrücklich übertragenen Treffer verarbeitet. |
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
cancel_event() | — | nil | Ein EliteDamageEvent oder ein anderes abbrechbares Event abbrechen. |
set_damage_amount(amount) | number | nil | Den Schaden eines EliteDamageEvent ersetzen; mit context.event.set_damage_amount(...) aufrufen, Punkt erforderlich. |
multiply_damage_amount(multiplier) | number | nil | Den Schaden eines EliteDamageEvent multiplizieren; mit context.event.multiply_damage_amount(...) aufrufen, Punkt erforderlich. |
get_damage_amount() | — | number | Den aktuellen Schadensbetrag des EliteDamageEvent nach Änderungen zurückgeben. |
transfer_damage(target, amount) | Entity-Referenz, number | bool | Nur bei Spielerschaden an Elites: endlichen, nicht negativen Schaden für einen anderen lebenden Elite einreichen, der nach den Instanzregeln zulässig ist. Null, abgebrochene Eingaben, verschachtelte Übertragungen und das ursprüngliche Ziel liefern false; ein Empfänger ohne Elite-Status ist ein Fehler. True bedeutet eingereicht, nicht garantierten Schaden. Der ursprüngliche Schaden wird weder verringert noch abgebrochen. |
context.world: EliteMobs-Ergänzungen und -Überschreibungen
EliteMobs-Boss-Powers erben die gemeinsame Welt-Tabelle einschließlich der EliteMobs-Helfer für visuelle Blitze und NPC-Spawns und ergänzen oder überschreiben die untenstehenden Methoden. Geerbte Koordinatenmethoden behalten ihr gemeinsames Verhalten. Boss-spezifische Location-Methoden verwenden den Boss-Konverter: Fehlende oder nicht als Tabelle übergebene Locations fallen auf den Boss zurück, fehlende Koordinaten werden null, und eine ausdrücklich benannte Welt muss auflösbar sein.
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
play_sound_at_location(location, sound, volume?=1, pitch?=1) | table, string (Sound), number?=1, number?=1 | nil | Überschreibung, die über die EliteMobs-Unterstützung registrierte oder benutzerdefinierte Namespace-Sounds akzeptiert. |
spawn_particle_at_location(location, particle, count?=1) | table, string (Particle)/table, int?=1 | nil | Überschreibung, die eine EliteMobs-Partikel-Spezifikationstabelle akzeptiert. |
set_block_at_location(location, material, require_air?=false) | table, string (Material), bool?=false | nil | Überschreibung, die den Block über die Verwaltung temporärer Blöcke dauerhaft platziert, ohne Timer und ohne Verwaltung. |
place_temporary_block_at_location(location, material, ticks?=0, require_air?=false) | table, string (Material), int?=0, bool?=false | nil | Überschreibung, die die temporäre EliteMobs-Blockplatzierung verwendet. |
get_block_type_at_location(location) | table | string/nil | Einen Material-Namen in Großbuchstaben zurückgeben, oder nil bei einer ungültigen Location. |
get_highest_block_y_at_location(location) | table | int/nil | Überschreibung, die das höchste Block-Y zurückgibt, oder nil. |
get_blast_resistance_at_location(location) | table | number | Die Explosionsresistenz des Blocks zurückgeben, standardmäßig 0 bei einer ungültigen Location. |
is_air_at_location(location) | table | bool | Prüfen, ob der Zielblock Luft ist. |
is_passable_at_location(location) | table | bool | Die Bukkit-Passierbarkeit prüfen. |
is_passthrough_at_location(location) | table | bool | Prüfen, ob das Material nicht fest ist. |
is_on_floor_at_location(location) | table | bool | Auf ein nicht festes Ziel mit einem festen Block darunter prüfen. |
is_standing_on_material(location, material) | table, string (Material) | bool | Den Block darunter prüfen. |
strike_lightning_at_location(location) | table | nil | Überschreibung, die vor dem Einschlag die EliteMobs-Blitzumgehung aktiviert. |
run_empowered_lightning_task_at_location(location) | table | nil | Erzeugt unabhängig 60 Warnungsdurchläufe, danach einen echten Blitz und einen abwärts gerichteten Feuerball mit Explosionsstärke 5. Verursacht Schaden; Lua-Pause oder Schließen beendet die Aufgabe nicht. |
set_world_time(time) / set_world_time(location, time) | int/table, int? | nil | Die Zeit der Boss-Welt oder der Welt der übergebenen Location setzen. |
set_world_weather(weather, duration?=6000) / set_world_weather(location, weather, duration?=6000) | string/table, string/int?, int?=6000 | nil | CLEAR, PRECIPITATION, RAIN oder THUNDER setzen. |
run_console_command(command) | string | nil | Einen Befehl als Konsole ausführen. |
spawn_boss_at_location(file, location?, level?) | string, table?, int? | table/nil | Einen Custom Boss an der übergebenen oder aktuellen Location und mit der übergebenen oder aktuellen Stufe spawnen. |
spawn_custom_boss_at_location(file, location, options?) | string, table, table? | table/nil | Einen Custom Boss spawnen; die Optionen unterstützen silent, level, add_as_reinforcement und velocity. |
spawn_entity_at_location(type, location, options?) | string (EntityType), table, table? | table/nil | Eine Vanilla-Entity spawnen; die Optionen unterstützen velocity, duration, EntityEffect effect, on_land und max_ticks. |
spawn_falling_block_at_location(location, material, options?) | table, string (Material), table? | table/nil | Einen fallenden Block spawnen; die Optionen unterstützen drop_item, hurt_entities, velocity und on_land. |
spawn_reinforcement_at_location(file, location, duration?=0, velocity?) | string, table, int?=0, table? | table/nil | Eine an den Boss gebundene Verstärkung beschwören; eine positive Dauer entfernt sie nach entsprechend vielen Ticks. |
spawn_fireworks_at_location(location, options) | table, table | table/nil | Ein Feuerwerk spawnen; die Optionen unterstützen effects, type, flicker, trail, colors, fade_colors, power, velocity und shot_at_angle, wobei type FireworkEffect.Type-Namen verwendet. |
spawn_splash_potion_at_location(location, options) | table, table | table/nil | Einen Wurftrank spawnen; effects-Einträge akzeptieren PotionEffectType type, duration, amplifier und overwrite, dazu velocity auf oberster Ebene. |
generate_fake_explosion(locations, source?) | table, table? | nil | Entfernt echte Blöcke und erzeugt schädliche fallende Trümmer, wenn Explosionsregeneration aktiv ist. Wiederherstellung beginnt nach 1200 Ticks; Lua-Schließen macht sie nicht rückgängig. Positionen müssen in der Bosswelt liegen. |
spawn_fake_gold_nugget_at_location(location, velocity, gravity?=false) | table, table, bool?=false | table/nil | Ein Fake-Goldklumpen-Projektil spawnen. |
run_fake_gold_nugget_damage(projectiles) | table | nil | Den Schadensdurchlauf für Fake-Projektile ausführen. |
generate_player_loot(times?=1) | int?=1 | nil | Spielerloot für berechtigte Schadensverursacher erzeugen. |
drop_bonus_coins(multiplier?=2) | number?=2 | nil | Bonusmünzen für berechtigte Schadensverursacher fallen lassen. |
Tabelle für EliteMobs-Fake-Projektile
spawn_fake_gold_nugget_at_location gibt diese Tabelle zurück, wenn das Spawnen erfolgreich ist.
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
get_location() | — | table | Die Position des Fake-Projektils zurückgeben. |
set_gravity(enabled) | bool | nil | Die Schwerkraft des Fake-Projektils setzen. |
remove() | — | nil | Das Fake-Projektil entfernen. |
is_removed() | — | bool | Prüfen, ob es entfernt wurde. |
context.settings
EliteMobs-Boss-Powers erhalten diese Einstellungstabelle vom selben Welt-Tabellen-Builder.
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
warning_visual_effects_enabled() | — | bool | Die aktuelle Einstellung für visuelle Warneffekte zurückgeben. |