Lua-API-Referenz
Diese Referenz wird aus den aktiven Lua-Tabellen-Buildern, Enrichern und Laufzeit-Kontext-Resolvern von MagmaCore, FreeMinecraftModels und EliteMobs erzeugt.
Entity Table
Die MagmaCore-Entity-Tabelle ist die Basis für generische Entity-Werte; die Tabellen Living Entity, Player und FreeMinecraftModels-Prop 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. |
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. |
Entity Table: EliteMobs-Anreicherung
Der aktive EliteMobs-Enricher fügt MagmaCore-Entity-Tabellen diese Werte hinzu; elite existiert nur, wenn is_elite wahr ist.
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
is_elite | bool | Ob EliteMobs die Entity derzeit 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 aktive EliteMobs-Daten, nur bei einem 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. |
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
elite.remove() | — | nil | Den Elite über die EliteMobs-Entfernungspipeline entfernen. |
Entity Table: FreeMinecraftModels-Anreicherung
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.
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 | Eine Modellanimation abspielen und zurückgeben, ob sie gestartet ist. |
model.stop_animations() | — | nil | Alle laufenden Modellanimationen stoppen. |
model.remove() | — | nil | Die modellierte Entity entfernen. |
has_permission(node) | string | bool | Nur für Spieler: Berechtigungsprüfung. |
Living Entity Table
Die MagmaCore-Living-Entity-Tabelle erbt jede Eigenschaft und Methode der Entity Table.
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 | Einen Vektor zur aktuellen Geschwindigkeit addieren. |
set_facing(x, y, z) | number, number, number | nil | In eine Richtungsvektor-Richtung blicken. |
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 | Das Skalierungsattribut zurückgeben, oder 1.0, wenn nicht verfügbar. |
set_scale(value) | number | nil | Das Skalierungsattribut setzen, sofern der Server es unterstützt. |
Player Table
Die MagmaCore-Spielertabelle erbt jede Eigenschaft und Methode der Living Entity Table.
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. |
get_held_item() | — | table/nil | {type, amount, display_name} für das Item in der Haupthand zurückgeben, oder nil bei leerer Hand. |
consume_held_item(amount?=1) | int?=1 | nil | Das Verringern des Stapels in der Haupthand einreihen. |
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 | Per Raycast die Entity ermitteln, die der Spieler ansieht. |
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 senden und ihn nach positiven Ticks optional zurücksetzen; 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 | Eine erzwungene Schlafanimation einreihen und den ersetzten Block nach dem Aufwachen wiederherstellen. |
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 des Spielers ersetzen und sie nach positiven Ticks optional ausblenden. |
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. |
World Table
Die MagmaCore-Welt-Tabelle wird als context.world bereitgestellt; EliteMobs-Boss-Powers erben sie und wenden die weiter unten dokumentierten Überschreibungen an.
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; ungültige Typen geben nil zurück. |
raycast(from_x, from_y, from_z, dir_x, dir_y, dir_z, max_distance?=50) | number, number, number, number, number, number, number?=50 | table | Die Werte hit_entity, hit_location und hit_block zurückgeben. |
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 in der Welt der Location-Tabelle spawnen. |
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. |
context.world: FreeMinecraftModels-Ergänzungen
FreeMinecraftModels registriert diese auf seiner eigenen MagmaCore-Welt-Tabelle, daher erscheinen sie in FreeMinecraftModels-Item- und -Prop-Skripten auf context.world. Jede Methode gibt false zurück, wenn EliteMobs nicht aktiviert ist oder der Spieler nicht aufgelöst wird, und fällt auf die Position des Spielers zurück, wenn das Location-Argument fehlt oder unbrauchbar ist.
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
drop_elitemobs_procedural_loot(player, level, location?) | table/string, int, table? | bool | Ein prozedural generiertes EliteMobs-Item für den Spieler fallen lassen; gibt false zurück, wenn prozedurale Item-Drops deaktiviert sind. |
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-Helfer-Tabelle
MagmaCore stellt diese Tabelle global bereit, bevor irgendein Skript-Hook läuft.
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. |
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. |
context.cooldowns
Lokale Cooldowns sind einem Skriptbesitzer und einer Definition zugeordnet; globale Cooldowns werden von demselben Besitzer geteilt. Wird ein lokaler Schlüssel weggelassen, wird __lua: gefolgt vom Skriptdateinamen verwendet. EliteMobs-Boss-Powers stellen dieselben Methodennamen bereit, aber lokale Werte nutzen den gemeinsamen Cooldown-Speicher des Bosses und globale Werte seinen integrierten Power-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-Hooks stellen den überschreitenden Spieler über context.player und context.event.player bereit.
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, wie er beim Aufbau der Kontexttabelle erfasst wurde; 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
FreeMinecraftModels-Item-Skripte erhalten diese Tabelle für das passende ausgerüstete Skript-Item.
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
id | string | Bezeichner des Skript-Items. |
Methoden
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
material() | — | string/nil | Den Material-Namen in Großbuchstaben zurückgeben, oder nil, wenn das Item nicht ausgerüstet ist. |
get_amount() | — | int | Die Stapelmenge zurückgeben, oder 0, wenn nicht ausgerüstet. |
set_amount(amount) | int | nil | Das Setzen der Stapelmenge einreihen. |
consume(amount?=1) | int?=1 | nil | Das Verringern der Stapelmenge einreihen. |
get_uses() | — | int | Den persistenten Nutzungszähler zurückgeben, standardmäßig 0. |
set_uses(uses) | int | nil | Das Setzen des persistenten Nutzungszählers einreihen. |
get_durability() | — | table/nil | {current, max} zurückgeben, oder nil, wenn das Item keine Haltbarkeitsleiste hat. |
get_durability_percentage() | — | number/nil | Die verbleibende Haltbarkeit von 0.0 bis 1.0 zurückgeben, oder nil. |
use_durability(amount, can_break?=false) | int, bool?=false | nil | Das Anwenden von pauschalem Haltbarkeitsschaden einreihen und auf eine verbleibende Einheit begrenzen, sofern Zerbrechen nicht erlaubt ist. |
use_durability_percentage(fraction, can_break?=false) | number, bool?=false | nil | Das Anwenden von Haltbarkeitsschaden in Höhe eines Bruchteils der maximalen Haltbarkeit einreihen. |
get_name() | — | string/nil | Den Anzeigenamen zurückgeben, oder nil, wenn keiner vorhanden ist. |
set_name(name) | string | nil | Das Setzen eines farbverarbeiteten Anzeigenamens einreihen. |
get_lore() | — | table | Ein Array mit Lore-Strings zurückgeben. |
set_lore(lore) | table | nil | Das Setzen farbverarbeiteter Lore-Strings einreihen. |
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 | Alle laufenden Animationen stoppen. |
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. |
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. |
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 in der Nähe zurückgeben. |
face_direction_or_location(target) | table | nil | In eine Vektorrichtung blicken oder zu einer Location schauen. |
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. |
EliteMobs Power Entity Reference Table
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. |
EliteMobs Power Living Entity Table
Lebende Werte in EliteMobs-Boss-Powers nutzen diese separate Tabelle; die Boss- und die EliteMobs Power Player Table 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 | EliteMobs-Custom-Schaden vom Boss der Power zufügen. |
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 setzen und nach positiven Ticks in den entgegengesetzten Zustand wechseln. |
set_awareness_enabled(enabled, duration?=0) | bool, int?=0 | nil | Die Wahrnehmung des Mobs setzen und nach positiven Ticks in den entgegengesetzten Zustand wechseln. |
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 Skalierung setzen und sie nach positiven Ticks auf 1.0 zurücksetzen. |
set_invulnerable(enabled, duration?=0) | bool, int?=0 | nil | Unverwundbarkeit mit dem EliteMobs-Dauerhelfer setzen. |
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 | Den Heilungszustand des verfolgten Elites setzen. |
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 | Von einer Quell-Location plus optionalen Offsets wegstoßen. |
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 Trankeffekt anwenden. |
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. |
set_fire_ticks(ticks) | int | nil | Feuer-Ticks setzen. |
add_visual_freeze_ticks(ticks?=1) | int?=1 | nil | Frost-Ticks hinzufügen. |
place_temporary_block(material, ticks?=0, require_air?=false) | string (Material), int?=0, bool?=false | nil | Einen temporären Block an der Entity platzieren. |
EliteMobs Power Player Table
Spielerwerte in EliteMobs-Boss-Powers erben jede Eigenschaft und Methode der EliteMobs Power Living Entity Table.
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, die jede Eigenschaft und Methode der EliteMobs Power Living Entity Table erbt und die hier aufgeführten Zeilen mit Elite-Semantik überschreibt.
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. |
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 | Das Verhalten verfolgender Feuerbälle für einen Monster-Boss starten. |
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(charges?=1) | int?=1 | nil | Die Schildwand initialisieren. |
shield_wall_absorb_damage(player, damage) | table, number | bool | Versuchen, Spielerschaden zu absorbieren. |
deactivate_shield_wall() | — | nil | Die Schildwand deaktivieren. |
start_zombie_necronomicon(target, file) | table, string | nil | Die Zombie-Necronomicon-Behandlung für ein lebendes Ziel starten. |
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_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?, level?=0) | string, table?, int?=0 | table/nil | Eine Verstärkung an einem abgetasteten Zonenpunkt, einer Location oder beim Boss beschwören. |
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
Diese Abfragen 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.
| Methode | Argumente | Rückgabe | Beschreibung |
|---|---|---|---|
get_nearby_entities(radius, filter?="living") | number, string? | table | Entities innerhalb des Radius zurückgeben. all oder entities schließt nicht lebende Entities ein; andere Filter geben Tabellen lebender Entities zurück. |
get_entities_in_box(center, half_x, half_y, half_z, filter?="living") | table, number, number, number, string? | table | Lebende Entities innerhalb der achsenparallelen Box zurückgeben. |
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.
| 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 | Jeder aufgelösten Ziel-Entity Schaden zufügen. |
push(target, vector, additive?=false) | Target Handle, table/Vector Handle, bool?=false | nil | Geschwindigkeit auf aufgelöste Ziel-Entities anwenden. |
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. |
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 Zone 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. |
EliteMobs Power Event Table
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 | Referenz auf den Schadensverursacher bei Schaden durch eine Entity. |
projectile | table/nil | Projektilreferenz, wenn der Schadensverursacher ein Projektil ist. |
spawn_reason | string/nil | Spawn-Grund des Elites. |
entity | table/nil | Entity eines Todes- oder Zonenereignisses. |
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. |
multiply_damage_amount(multiplier) | number | nil | Den Schaden eines EliteDamageEvent multiplizieren. |
context.world: EliteMobs-Ergänzungen und -Überschreibungen
EliteMobs-Boss-Powers erben jede Zeile der MagmaCore-Welt-Tabelle und ergänzen oder überschreiben die untenstehenden Methoden.
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 die temporäre EliteMobs-Blockplatzierung ohne Ablauf verwendet. |
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 | Die Unterstützung für verstärkte Enderdrachen-Blitze ausführen. |
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, level?=0, velocity?) | string, table, int?=0, table? | table/nil | Eine an den Boss gebundene Verstärkung beschwören. |
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 | Eine EliteMobs-Fake-Explosion für ein Array von Blocklocations erzeugen. |
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. |
EliteMobs Fake Projectile Table
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. |