Zum Hauptinhalt springen

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

FeldTypBeschreibung
uuidstringUUID der Entity.
entity_typestringBukkit-Entity-Typ in Kleinbuchstaben.
is_validboolAktueller Gültigkeitswert.
is_deadboolAktueller Todeszustand.
current_locationtable/nilAktuelle Location {x, y, z, yaw, pitch, world}.
worldstring/nilAktueller Weltname.
is_playerboolOb die Entity ein Spieler ist.
is_hostileboolOb die Entity das Bukkit-Interface Monster implementiert.
is_passiveboolOb die Entity das Bukkit-Interface Animals implementiert.

Methoden

MethodeArgumenteRückgabeBeschreibung
teleport(location)tablenilZu einer Location-Tabelle teleportieren.
remove()nilDie Entity entfernen, sofern sie noch gültig ist.
set_silent(enabled)boolnilDen Stumm-Zustand setzen.
set_invulnerable(enabled)boolnilDen Unverwundbarkeitszustand setzen.
set_gravity(enabled)boolnilDen Schwerkraftzustand setzen.
set_glowing(enabled)boolnilDen 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

FeldTypBeschreibung
is_eliteboolOb EliteMobs die Entity derzeit verfolgt.
is_custom_bossboolOb der verfolgte Elite ein Custom Boss ist.
is_significant_bossboolOb es ein Custom Boss mit einem Gesundheitsmultiplikator über 1 ist.
elitetable/nilVerschachtelte aktive EliteMobs-Daten, nur bei einem aufgelösten Elite vorhanden.
elite.levelintMomentaufnahme der Elite-Stufe.
elite.namestring/nilMomentaufnahme des Elite-Anzeigenamens.
elite.healthnumberAktuelle Gesundheit.
elite.max_healthnumberAktuelle maximale Gesundheit.
elite.is_custom_bossboolOb der Elite ein Custom Boss ist.
elite.health_multipliernumberMomentaufnahme des konfigurierten Gesundheitsmultiplikators.
elite.damage_multipliernumberMomentaufnahme des konfigurierten Schadensmultiplikators.

Methoden

MethodeArgumenteRückgabeBeschreibung
elite.remove()nilDen 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

FeldTypBeschreibung
is_modeledboolOb FreeMinecraftModels eine modellierte Entity auflöst.
is_propboolOb die Entity ein von einem Armor Stand getragenes FreeMinecraftModels-Prop ist.
modeltable/nilVerschachtelte Modelldaten, nur bei einer modellierten Entity vorhanden.
model.model_idstring/nilBezeichner des Modell-Blueprints.
model.is_dynamicboolOb die modellierte Entity dynamisch ist.
is_opboolNur für Spieler: Zustand als Serveroperator.

Methoden

MethodeArgumenteRückgabeBeschreibung
model.play_animation(name, blend?=false, loop?=false)string, bool?=false, bool?=falseboolEine Modellanimation abspielen und zurückgeben, ob sie gestartet ist.
model.stop_animations()nilAlle laufenden Modellanimationen stoppen.
model.remove()nilDie modellierte Entity entfernen.
has_permission(node)stringboolNur für Spieler: Berechtigungsprüfung.

Living Entity Table

Die MagmaCore-Living-Entity-Tabelle erbt jede Eigenschaft und Methode der Entity Table.

Eigenschaften

FeldTypBeschreibung
healthnumberAktuelle Gesundheit.
maximum_healthnumberAktuelle maximale Gesundheit.
namestring/nilAktueller Bukkit-Entity-Name.
is_aliveboolAktuelle Umkehrung von Bukkits Todeszustand.

Methoden

MethodeArgumenteRückgabeBeschreibung
damage(amount)numbernilBukkit-Schaden zufügen.
push(x, y, z)number, number, numbernilEinen Vektor zur aktuellen Geschwindigkeit addieren.
set_facing(x, y, z)number, number, numbernilIn eine Richtungsvektor-Richtung blicken.
add_potion_effect(type, duration, amplifier)string (PotionEffectType), int, intnilEinen Trankeffekt hinzufügen, wenn der Typ aufgelöst wird.
remove_potion_effect(type)string (PotionEffectType)nilEinen Trankeffekt entfernen, wenn der Typ aufgelöst wird.
get_scale()numberDas Skalierungsattribut zurückgeben, oder 1.0, wenn nicht verfügbar.
set_scale(value)numbernilDas Skalierungsattribut setzen, sofern der Server es unterstützt.

Player Table

Die MagmaCore-Spielertabelle erbt jede Eigenschaft und Methode der Living Entity Table.

Eigenschaften

FeldTypBeschreibung
game_modestringMomentaufnahme des Bukkit-Spielmodus in Kleinbuchstaben.

Methoden

MethodeArgumenteRückgabeBeschreibung
send_message(text)stringnilText 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?=1nilDas Verringern des Stapels in der Haupthand einreihen.
has_item(material, amount?=1)string (Material), int?=1boolPrüfen, ob das Inventar die angeforderte Menge enthält.
get_target_entity(range?=50)number?=50table/nilPer Raycast die Entity ermitteln, die der Spieler ansieht.
get_eye_location()tableDie Augenposition zurückgeben.
get_look_direction()tableEine Einheitsrichtung {x, y, z} zurückgeben.
send_block_change(x, y, z, material, ticks?=-1)int, int, int, string (Material), int?=-1boolEinen 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, intboolDas Wiederherstellen des echten Blocks für diesen Spieler einreihen.
sleep(x, y, z)number, number, numbernilEine erzwungene Schlafanimation einreihen und den ersetzten Block nach dem Aufwachen wiederherstellen.
wake_up()nilDas Aufwecken des Spielers einreihen, wenn er schläft.
show_boss_bar(text, color?=WHITE, progress, ticks?=-1)string, string (BarColor)?=WHITE, number, int?=-1nilDie aktive durchgehende Bossleiste des Spielers ersetzen und sie nach positiven Ticks optional ausblenden.
hide_boss_bar()nilDie aktive Lua-Bossleiste des Spielers entfernen.
show_action_bar(text, ticks?=-1)string, int?=-1nilEinmal senden, oder alle 40 Ticks wiederholen, bis eine positive Dauer endet.
show_title(title, subtitle?="", fade_in, stay, fade_out)string, string?="", int, int, intnilEinen 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

FeldTypBeschreibung
namestringMomentaufnahme des Weltnamens.

Methoden

MethodeArgumenteRückgabeBeschreibung
get_block_at(x, y, z)int, int, intstringEinen 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)boolDas 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, intintDas 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?=0nilEin 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?=1nilEinen registrierten Sound oder einen kleingeschriebenen Namespace-Schlüssel eines Ressourcenpaket-Sounds abspielen.
strike_lightning(x, y, z)number, number, numbernilEinen Blitz einschlagen lassen.
get_time()intDie Weltzeit in Ticks zurückgeben.
set_time(ticks)intnilDie Weltzeit setzen.
get_nearby_entities(x, y, z, radius)number, number, number, numbertableEntity- oder Living-Entity-Tabellen in der Nähe zurückgeben.
get_nearby_players(x, y, z, radius)number, number, number, numbertableSpielertabellen in der Nähe zurückgeben.
spawn_entity(type, x, y, z)string (EntityType), number, number, numbertable/nilEine 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?=50tableDie 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?=falseboolEinen 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?=1table/nilEin 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?=1nilEin 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)tablenilEinen 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?=1nilEinen 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?=0nilEin Partikel in der Welt der Location-Tabelle spawnen.
get_block_at_location(location)tablestringEinen 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)boolDas 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?=falseboolEinen temporären Block in der Welt der Location-Tabelle platzieren.
get_highest_block_y_at_location(location)tableint/nilDas 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

MethodeArgumenteRückgabeBeschreibung
drop_elitemobs_procedural_loot(player, level, location?)table/string, int, table?boolEin 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?boolDie 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?boolEine 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.

FeldTypBeschreibung
location.xnumberVon em.create_location zurückgegebene X-Koordinate.
location.ynumberVon em.create_location zurückgegebene Y-Koordinate.
location.znumberVon em.create_location zurückgegebene Z-Koordinate.
location.worldstring/nilWeltname, sofern an em.create_location übergeben.
location.yawnumber/nilYaw, sofern an em.create_location übergeben.
location.pitchnumber/nilPitch, sofern an em.create_location übergeben.
vector.xnumberVon em.create_vector zurückgegebene X-Komponente.
vector.ynumberVon em.create_vector zurückgegebene Y-Komponente.
vector.znumberVon em.create_vector zurückgegebene Z-Komponente.
zone.kindstringsphere, dome, cylinder, cuboid, cone, static_ray, rotating_ray oder translating_ray.
zone.radiusnumber/nilRadius von Kugel, Dom, Zylinder oder Kegel.
zone.heightnumber/nilZylinderhöhe.
zone.xnumber/nilX-Größe des Quaders.
zone.ynumber/nilY-Größe des Quaders.
zone.znumber/nilZ-Größe des Quaders.
zone.lengthnumber/nilLänge von Kegel oder Strahl.
zone.thicknessnumber/nilDicke eines statischen Strahls.
zone.point_radiusnumber/nilPunktradius eines rotierenden oder verschiebenden Strahls.
zone.animation_durationnumber/nilAnimationsdauer eines rotierenden oder verschiebenden Strahls.
zone.origintable/nilVon set_center oder set_origin gesetzte Location.
zone.destinationtable/nilVon set_destination gesetzte Location.

Methoden

MethodeArgumenteRückgabeBeschreibung
em.create_location(x, y, z, world?, yaw?, pitch?)number, number, number, string?, number?, number?tableEine Location-Tabelle zurückgeben.
em.create_vector(x, y, z)number, number, numbertableEine Vektortabelle {x, y, z} zurückgeben.
location.add(dx?=0, dy?=0, dz?=0)number?=0, number?=0, number?=0tableAn Ort und Stelle addieren und dieselbe Location-Tabelle zurückgeben.
em.zone.create_sphere_zone(radius)numbertableEine Kugeldefinition mit set_center(location) zurückgeben.
em.zone.create_dome_zone(radius)numbertableEine Domdefinition mit set_center(location) zurückgeben.
em.zone.create_cylinder_zone(radius, height)number, numbertableEine Zylinderdefinition mit set_center(location) zurückgeben.
em.zone.create_cuboid_zone(x, y, z)number, number, numbertableEine Quaderdefinition mit set_center(location) zurückgeben.
em.zone.create_cone_zone(length, radius)number, numbertableEine Kegeldefinition mit set_origin(location) und set_destination(location) zurückgeben.
em.zone.create_static_ray_zone(length, thickness)number, numbertableEine Definition eines statischen Strahls mit Origin- und Destination-Settern zurückgeben.
em.zone.create_rotating_ray_zone(length, point_radius, animation_duration)number, number, numbertableEine Definition eines rotierenden Strahls mit Origin- und Destination-Settern zurückgeben.
em.zone.create_translating_ray_zone(length, point_radius, animation_duration)number, number, numbertableEine Definition eines verschiebenden Strahls mit Origin- und Destination-Settern zurückgeben.
zone.set_center(location)tabletableDen Mittelpunkt als zone.origin setzen und dieselbe Zonentabelle zurückgeben.
zone.set_origin(location)tabletableDen Ursprung setzen und dieselbe Zonentabelle zurückgeben.
zone.set_destination(location)tabletableDas Ziel setzen und dieselbe Zonentabelle zurückgeben.
em.location.is_in_dungeon(location)tableboolRegistrierte Dungeon-Regionen und Besitzer prüfen, die das Kind dungeon melden.
em.location.is_protected(location)tableboolDie integrierten WorldGuard-/GriefPrevention-Adapter und von Plugins registrierte Schutzbesitzer prüfen.
em.location.owned_by(location, namespace)table, stringboolBesitz durch einen Plugin-Namespace prüfen.
em.location.owners(location)tabletableEin Array mit Besitzer-Namespace-Strings zurückgeben.
em.location.kinds_at(location)tabletableEin Array mit Besitzart-Strings zurückgeben.
em.location.has_kind(location, kind)table, stringboolEine 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

MethodeArgumenteRückgabeBeschreibung
info(message)stringnilEine Informationsmeldung mit dem gemeinsamen Lua-Präfix protokollieren.
warn(message)stringnilEine Warnung protokollieren.
error(message)stringnilÜber den gemeinsamen Warnkanal protokollieren.

Methoden für EliteMobs-Boss-Powers

MethodeArgumenteRückgabeBeschreibung
info(message)stringnilEine Informationsmeldung einer Boss-Power protokollieren.
warn(message)stringnilEine Warnung protokollieren.
debug(message)stringnilEine 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.

MethodeArgumenteRückgabeBeschreibung
run_later(ticks, callback)int, functionintNach der Verzögerung einmal ausführen und die Bukkit-Task-ID zurückgeben.
run_repeating(delay, interval, callback)int, int, functionintNach einer anfänglichen Verzögerung wiederholt ausführen und die Task-ID zurückgeben.
cancel(task_id)intnilEinen eigenen Task abbrechen.
run_after(ticks, callback)int, functionintAlias für run_later.
run_every(interval, callback)int, functionintOhne anfängliche Verzögerung wiederholt ausführen und die Task-ID zurückgeben.
cancel_task(task_id)intnilAlias 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.

MethodeArgumenteRückgabeBeschreibung
local_ready(key?)string?boolPrüfen, ob der über den Schlüssel adressierte lokale Cooldown bereit ist.
local_remaining(key?)string?intDie verbleibenden Ticks zurückgeben, oder 0, wenn bereit.
check_local(key, duration)string/nil, intboolWenn bereit, den Cooldown starten und true zurückgeben. Übergib nil für den Standardschlüssel.
set_local(duration, key?)int, string?nilDen lokalen Cooldown setzen oder löschen; eine nicht positive Dauer löscht ihn.
global_ready()boolPrüfen, ob der globale Cooldown des Besitzers bereit ist.
set_global(duration)intnilDen 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.

MethodeArgumenteRückgabeBeschreibung
create_sphere(x, y, z, radius)number, number, number, numberint/nilEine 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, numberint/nilEinen 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, numberint/nilEinen 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/nilDie 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)intnilDie 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 MethodeTypBeschreibung
is_cancelledboolAbbruchzustand, wie er beim Aufbau der Kontexttabelle erfasst wurde; ein Aufruf von cancel() oder uncancel() aktualisiert dieses Feld nicht.
cancel()methodDas aktuelle Event abbrechen. Nur vorhanden, wenn es Bukkits Cancellable implementiert.
uncancel()methodDen Abbruch des aktuellen Events zurücknehmen. Nur vorhanden, wenn es Bukkits Cancellable implementiert.
playertableLiving 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

FeldTypBeschreibung
idstringBezeichner des Skript-Items.

Methoden

MethodeArgumenteRückgabeBeschreibung
material()string/nilDen Material-Namen in Großbuchstaben zurückgeben, oder nil, wenn das Item nicht ausgerüstet ist.
get_amount()intDie Stapelmenge zurückgeben, oder 0, wenn nicht ausgerüstet.
set_amount(amount)intnilDas Setzen der Stapelmenge einreihen.
consume(amount?=1)int?=1nilDas Verringern der Stapelmenge einreihen.
get_uses()intDen persistenten Nutzungszähler zurückgeben, standardmäßig 0.
set_uses(uses)intnilDas 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/nilDie verbleibende Haltbarkeit von 0.0 bis 1.0 zurückgeben, oder nil.
use_durability(amount, can_break?=false)int, bool?=falsenilDas 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?=falsenilDas Anwenden von Haltbarkeitsschaden in Höhe eines Bruchteils der maximalen Haltbarkeit einreihen.
get_name()string/nilDen Anzeigenamen zurückgeben, oder nil, wenn keiner vorhanden ist.
set_name(name)stringnilDas Setzen eines farbverarbeiteten Anzeigenamens einreihen.
get_lore()tableEin Array mit Lore-Strings zurückgeben.
set_lore(lore)tablenilDas 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

FeldTypBeschreibung
model_idstring/nilName des Modell-Blueprints, oder nil, wenn kein Blueprint existiert.
current_locationtable/nilAktuelle Position des Props.

Methoden

MethodeArgumenteRückgabeBeschreibung
play_animation(name, blend?=true, loop?=true)string, bool?=true, bool?=trueboolDie genannte Animation abspielen.
stop_animation()nilAlle laufenden Animationen stoppen.
hurt_visual()nilDen roten Trefferblitz ohne Schaden abspielen.
pickup()nilDauerhaftes Entfernen einreihen und ein Platzierungs-Item fallen lassen.
has_mount_points()boolPrüfen, ob das Prop Mount-Point-Bones hat.
mount(player)tableboolDas Aufsitzen eines aufgelösten Spielers auf dem ersten freien Sitz einreihen.
dismount(player)tableboolDas Absteigen eines aufgelösten Spielers von diesem Prop einreihen.
get_passengers()tableEntity-Tabellen der aufgesessenen Spieler zurückgeben.
spawn_elitemobs_boss(file, x, y, z)string, number, number, numbertable/nilEinen EliteMobs-Custom-Boss spawnen, wenn EliteMobs aktiviert ist.
open_inventory(player, title, rows?=3)table, string, int?=3boolDas Öffnen eines persistenten Lagers einreihen, mit auf 1 bis 6 begrenzten Reihen.
place_book(player)tableboolDas Ablegen eines gehaltenen beschriebenen oder beschreibbaren Buchs einreihen, wenn das Prop keines hat.
read_book(player)tableboolDas Öffnen eines abgelegten beschriebenen Buchs einreihen.
take_book(player)tableboolDas Zurückgeben des abgelegten Buchs an den Spieler einreihen.
has_book()boolPrüfen, ob das Prop ein Buch aufbewahrt.
drop_inventory()boolDas Leeren des persistenten Lagers und das Fallenlassen seiner Items einreihen.
drop_book()boolDas Leeren und Fallenlassen des abgelegten Buchs einreihen.
is_viewing_inventory(player)tableboolPrüfen, ob der Spieler das verfolgte Inventar dieses Props ansieht.
set_persistent_data(key, value)string, stringboolEinen String unter dem prop-bezogenen fmm_lua_-Schlüssel speichern.
get_persistent_data(key)stringstring/nilDen gespeicherten String zurückgeben, oder nil.

context.npc

EliteMobs-NPC-Skripte erben die gemeinsamen MagmaCore-Kontexte und ergänzen diese NPC-spezifische Tabelle.

Eigenschaften

FeldTypBeschreibung
namestringKonfigurierter NPC-Anzeigename.
filenamestringDateiname der NPC-Konfiguration.
uuidstringLaufzeit-UUID des NPCs.
activation_radiusnumberKonfigurierter Aktivierungsradius.
current_locationtableMomentaufnahme der Position, nur vorhanden, solange die zugrunde liegende lebende Entity existiert.
entity_typestringBukkit-Entity-Typ in Großbuchstaben, nur vorhanden, solange die zugrunde liegende lebende Entity existiert.

Methoden

MethodeArgumenteRückgabeBeschreibung
is_valid()boolPrüfen, ob der NPC gültig ist.
get_location()tableDie aktuelle NPC-Position zurückgeben, ersatzweise seine Spawn-Position. Die Tabelle enthält außerdem einen direction-Vektor.
get_eye_location()tableDie aktuelle Augenposition zurückgeben, ersatzweise die Spawn-Position. Die Tabelle enthält außerdem einen direction-Vektor.
get_activation_radius()numberDen aktuell konfigurierten Aktivierungsradius zurückgeben.
get_nearby_players(radius)numbertableSpielertabellen in der Nähe zurückgeben.
face_direction_or_location(target)tablenilIn eine Vektorrichtung blicken oder zu einer Location schauen.
say_greeting(player?)table/string?nilDie 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?nilKonfigurierten Dialog mit derselben Spielerauflösung senden.
say_farewell(player?)table/string?nilDie konfigurierte Verabschiedung mit derselben Spielerauflösung senden.
play_model_animation(name)stringnilEine 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

FeldTypBeschreibung
namestringMomentaufnahme des Entity-Namens.
uuidstringUUID der Entity.
entity_typestringMomentaufnahme des Bukkit-Entity-Typs in Großbuchstaben.
is_playerboolImmer false.
is_eliteboolImmer false.
is_mountboolFalse, sofern ein Boss eine zurückgegebene Mount-Tabelle nicht als true markiert.
current_locationtableMomentaufnahme der Position.

Methoden

MethodeArgumenteRückgabeBeschreibung
is_valid()boolDie aktuelle Gültigkeit prüfen.
get_location()tableDie aktuelle Position zurückgeben.
get_velocity()tableDie aktuelle Geschwindigkeit zurückgeben.
is_on_ground()boolDen aktuellen Bodenkontakt prüfen.
teleport_to_location(location)tablenilTeleportieren, wenn die Location aufgelöst wird.
set_velocity_vector(vector)tablenilDie Geschwindigkeit setzen, wenn der Vektor aufgelöst wird.
set_direction_vector(vector)tablenilEine Feuerball-Richtung setzen, sofern anwendbar.
set_yield(amount)numbernilDie Feuerball-Sprengkraft setzen, sofern anwendbar.
set_gravity(enabled)boolnilDie Schwerkraft setzen.
detonate()nilZünden, wenn die Entity ein Feuerwerk ist.
remove()nilDie Entity entfernen.
unregister(reason?=OTHER)string?=OTHERnilMit 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()boolPrüfen, ob die Entity ein Fahrzeug reitet.
has_vehicle()boolPrüfen, ob ein Fahrzeug existiert.
get_vehicle()table/nilDie aktuelle Fahrzeugreferenz zurückgeben.
set_vehicle(vehicle)tableboolDiese Entity das aufgelöste Fahrzeug reiten lassen.
leave_vehicle()boolDas aktuelle Fahrzeug verlassen.
has_passengers()boolPrüfen, ob Passagiere existieren.
get_passenger_count()intDie Passagieranzahl zurückgeben.
get_passengers()tablePassagierreferenzen zurückgeben.
add_passenger(passenger)tableboolDen aufgelösten Passagier hinzufügen.
remove_passenger(passenger)tableboolDen aufgelösten Passagier entfernen.
eject_passengers()boolJeden 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

FeldTypBeschreibung
namestringMomentaufnahme des Entity-Namens.
uuidstringUUID der Entity.
entity_typestringMomentaufnahme des Bukkit-Entity-Typs in Großbuchstaben.
is_playerboolOb die Entity ein Spieler ist.
is_monsterboolOb die Entity das Bukkit-Interface Monster implementiert.
is_eliteboolOb EliteMobs die Entity verfolgt.
is_mountboolOb der verfolgte Custom Boss ein Reittier ist.
is_validboolMomentaufnahme der Gültigkeit.
healthnumberMomentaufnahme der Gesundheit.
maximum_healthnumberMomentaufnahme der maximalen Gesundheit.
current_locationtableMomentaufnahme der Position.

Methoden

MethodeArgumenteRückgabeBeschreibung
is_alive()boolAktuelle Gültigkeit und Todeszustand prüfen.
is_ai_enabled()boolDen aktuellen KI-Zustand zurückgeben.
is_frozen()boolDie Frozen-Einstellung des EliteMobs-Custom-Bosses zurückgeben, oder false.
get_location()tableDie aktuelle Position zurückgeben.
get_eye_location()tableDie aktuelle Augenposition zurückgeben.
get_height()numberDie Bukkit-Entity-Höhe zurückgeben.
get_health()numberDie aktuelle Gesundheit zurückgeben.
get_maximum_health()numberDie aktuelle maximale Gesundheit zurückgeben.
get_velocity()tableDie aktuelle Geschwindigkeit zurückgeben.
deal_damage(amount)numbernilGenerischen Bukkit-Schaden zufügen.
deal_custom_damage(amount)numbernilEliteMobs-Custom-Schaden vom Boss der Power zufügen.
deal_damage_from_boss(amount)numbernilBukkit-Schaden zufügen, der dem Boss der Power zugerechnet wird.
restore_health(amount)numbernilÜ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?=1nilEinen 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?=1nilAlias, der an der Entity abspielt. Das zweite Argument darf stattdessen {volume, pitch} sein.
spawn_particle_at_self(particle, count?=1)string (Particle)/table, int?=1nilEinen 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?=0nilEin Partikel an einer Location spawnen.
teleport_to_location(location)tablenilTeleportieren, wenn die Location aufgelöst wird.
set_velocity_vector(vector)tablenilDie Geschwindigkeit setzen, wenn der Vektor aufgelöst wird.
set_gravity(enabled)boolnilDie Schwerkraft setzen.
is_on_ground()boolDen aktuellen Bodenkontakt prüfen.
apply_push_vector(vector, additive?=false, delay?=1)table, bool?=false, int?=1nilNach einer Verzögerung Geschwindigkeit anwenden, optional additiv zur aktuellen Geschwindigkeit.
set_custom_name(name)stringnilEinen farbverarbeiteten benutzerdefinierten Namen setzen.
reset_custom_name()nilDen EliteMobs-Namen wiederherstellen, wenn verfolgt, andernfalls den Bukkit-Namen.
set_custom_name_visible(visible)boolnilDie Sichtbarkeit des benutzerdefinierten Namens setzen.
set_ai_enabled(enabled, duration?=0)bool, int?=0nilDie KI setzen und nach positiven Ticks in den entgegengesetzten Zustand wechseln.
set_awareness_enabled(enabled, duration?=0)bool, int?=0nilDie Wahrnehmung des Mobs setzen und nach positiven Ticks in den entgegengesetzten Zustand wechseln.
face_direction_or_location(target)tablenilZu einem Vektor oder einer Location in derselben Welt blicken.
play_model_animation(name)stringnilEine Custom-Model-Animation abspielen, sofern verfügbar.
set_scale(scale, duration?=0)number, int?=0nilDie Skalierung setzen und sie nach positiven Ticks auf 1.0 zurücksetzen.
set_invulnerable(enabled, duration?=0)bool, int?=0nilUnverwundbarkeit mit dem EliteMobs-Dauerhelfer setzen.
remove_elite()nilEinen verfolgten Elite über die EliteMobs-Entfernungspipeline entfernen.
is_healing()boolDen Heilungszustand des verfolgten Elites prüfen.
set_healing(enabled)boolnilDen Heilungszustand des verfolgten Elites setzen.
navigate_to_location(location, speed?=1, force?=false, timeout?=0)table, number?=1, bool?=false, int?=0nilEinen verfolgten Custom Boss navigieren lassen.
add_tag(tag, duration?=0)string, int?=0nilEin Tag hinzufügen und es nach positiven Ticks entfernen.
remove_tag(tag)stringnilEin Tag entfernen.
has_tag(tag)stringboolEin 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?=0nilVon 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?boolDie Bounding Box der Entity gegen die angeforderte Box prüfen.
is_inside_vehicle()boolPrüfen, ob die Entity ein Fahrzeug reitet.
has_vehicle()boolPrüfen, ob ein Fahrzeug existiert.
get_vehicle()table/nilDie aktuelle Fahrzeugreferenz zurückgeben.
set_vehicle(vehicle)tableboolDiese Entity das aufgelöste Fahrzeug reiten lassen.
leave_vehicle()boolDas aktuelle Fahrzeug verlassen.
has_passengers()boolPrüfen, ob Passagiere existieren.
get_passenger_count()intDie Passagieranzahl zurückgeben.
get_passengers()tablePassagierreferenzen zurückgeben.
add_passenger(passenger)tableboolDen aufgelösten Passagier hinzufügen.
remove_passenger(passenger)tableboolDen aufgelösten Passagier entfernen.
eject_passengers()boolJeden Passagier abwerfen.
apply_potion_effect(type, duration, amplifier?=0)string (PotionEffectType), int, int?=0nilEinen Trankeffekt anwenden.
set_equipment(slot, material, options?)string (EquipmentSlot), string (Material), table?nilAusrüstung setzen; die Optionen unterstützen unbreakable sowie enchantments-Einträge mit type und level.
set_fire_ticks(ticks)intnilFeuer-Ticks setzen.
add_visual_freeze_ticks(ticks?=1)int?=1nilFrost-Ticks hinzufügen.
place_temporary_block(material, ticks?=0, require_air?=false)string (Material), int?=0, bool?=falsenilEinen 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

FeldTypBeschreibung
game_modestringMomentaufnahme des Bukkit-Spielmodus in Großbuchstaben.

Methoden

MethodeArgumenteRückgabeBeschreibung
send_message(text)stringnilFarbverarbeiteten Chattext senden.
show_action_bar(text)stringnilEine farbverarbeitete Action Bar senden.
show_title(title, subtitle?="", fade_in?=10, stay?=40, fade_out?=10)string, string?="", int?=10, int?=40, int?=10nilEinen farbverarbeiteten Titel anzeigen.
show_boss_bar(title, color?=WHITE, style?=SOLID, duration?=40)string, string (BarColor)?=WHITE, string (BarStyle)?=SOLID, int?=40nilEine Bossleiste anzeigen und sie nach positiven Ticks entfernen.
run_command(command)stringnilEinen 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

FeldTypBeschreibung
namestringMomentaufnahme des Elite-Anzeigenamens oder des Skriptdateinamens.
uuidstringUUID des Elites.
healthnumberMomentaufnahme der Elite-Gesundheit.
maximum_healthnumberMomentaufnahme der maximalen Elite-Gesundheit.
current_locationtableMomentaufnahme der Elite-Position.
levelintMomentaufnahme der Elite-Stufe.
damager_countintMomentaufnahme der Anzahl der Schadensverursacher.
is_in_combatboolMomentaufnahme des Kampfzustands.
existsboolMomentaufnahme der Existenz des Elites.

Methoden

MethodeArgumenteRückgabeBeschreibung
is_alive()boolDie lebende Entity und den EliteMobs-Existenzzustand prüfen.
get_health()numberDie aktuelle Elite-Gesundheit zurückgeben.
get_maximum_health()numberDie aktuelle maximale Elite-Gesundheit zurückgeben.
get_location()tableDie aktuelle Elite-Position zurückgeben.
restore_health(amount)numbernilÜber die EliteMobs-Entity heilen.
add_tag(tag, duration?=0)string, int?=0nilEin Elite-Tag hinzufügen und es nach positiven Ticks entfernen.
remove_tag(tag)stringnilEin Elite-Tag entfernen.
has_tag(tag)stringboolEin Elite-Tag prüfen.
reset_custom_name()nilDen Elite-Anzeigenamen wiederherstellen.
play_sound_at_self(sound, volume_or_options?=1, pitch?=1)string (Sound), number/table?=1, number?=1nilEinen 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?=1nilAlias, 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?=1nilEin Partikel an der Elite-Position spawnen.
play_model_animation(name)stringnilDie Modellanimation des Custom Bosses abspielen, sofern verfügbar.
navigate_to_location(location, speed?=1, force?=false, timeout?=0)table, number?=1, bool?=false, int?=0nilEinen Custom Boss navigieren lassen.
get_damager_count()intDie aktuelle Anzahl der Schadensverursacher zurückgeben.
despawn()nilDen Elite mit dem Grund OTHER entfernen.
get_ender_dragon_phase()string/nilDen Namen der EnderDragon.Phase zurückgeben, oder nil.
set_ender_dragon_phase(phase)string (EnderDragon.Phase)nilEine gültige Enderdrachen-Phase setzen.
has_mount()boolPrüfen, ob der Boss ein aktives Reittier-Fahrzeug hat.
get_mount()table/nilDie mit is_mount = true markierte Reittier-Referenz zurückgeben.
set_mount(mount)tableboolDen Boss die aufgelöste Entity reiten lassen.
clear_mount()boolDas aktuelle Fahrzeug verlassen.
dismount()boolAlias für clear_mount().
start_tracking_fireball_system(speed?=0.5)number?=0.5nilDas Verhalten verfolgender Feuerbälle für einen Monster-Boss starten.
handle_spirit_walk_damage(cause)string (DamageCause)nilDie Schadensbehandlung von Spirit Walk ausführen.
shield_wall_is_active()boolDen Zustand der Schildwand prüfen.
initialize_shield_wall(charges?=1)int?=1nilDie Schildwand initialisieren.
shield_wall_absorb_damage(player, damage)table, numberboolVersuchen, Spielerschaden zu absorbieren.
deactivate_shield_wall()nilDie Schildwand deaktivieren.
start_zombie_necronomicon(target, file)table, stringnilDie Zombie-Necronomicon-Behandlung für ein lebendes Ziel starten.
send_message(text, range?=20)string, number?=20nilFarbverarbeiteten Text an Spieler in Reichweite senden.
get_nearby_players(range)numbertableEliteMobs Power Player Tables in der Nähe zurückgeben.
get_target_player()table/nilDas aktuelle Mob-Ziel zurückgeben, wenn es ein Spieler ist.
get_nearby_players_in_zone(zone)tabletableSpieler 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?=1nilDas 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?=1nilDen Zonenrand abtasten und Partikel spawnen.
get_particles_from_self_toward_zone(zone, particle, speed?=0.1)table, string (Particle), number?=0.1tableGerichtete Partikelspezifikationen vom Boss in Richtung abgetasteter Zonenpunkte erzeugen.
get_particles_toward_self(zone, particle, speed)table, string (Particle), numbertableGerichtete Partikelspezifikationen in Richtung des Bosses erzeugen; der aktive Builder liest die Geschwindigkeit derzeit aus dem zuletzt übergebenen Argument.
spawn_particles_with_vector(particles)tablenilEin Array gerichteter Partikelspezifikationen spawnen.
summon_reinforcement(file, zone_or_location?, level?=0)string, table?, int?=0table/nilEine 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/nilEin 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

MethodeArgumenteRückgabeBeschreibung
current_target()table/nilDen Event-Akteur zurückgeben, wenn er ein Spieler ist, andernfalls das aktuelle Mob-Ziel des Bosses, wenn es ein Spieler ist.
nearby_players(radius)numbertableSpielertabellen innerhalb des Radius um den Boss zurückgeben.
all_players_in_world()tableAlle 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.

MethodeArgumenteRückgabeBeschreibung
get_nearby_entities(radius, filter?="living")number, string?tableEntities 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?tableLebende Entities innerhalb der achsenparallelen Box zurückgeben.
get_all_entities(filter?="living")string?tablePassende lebende Entities in der Welt des Bosses zurückgeben.
get_direct_target_entity()table/nilDas direkte Ziel zurückgeben, das der aktuelle Hook liefert.
get_boss_spawn_location()tableDie ursprüngliche Spawn-Position des Bosses zurückgeben.

context.vectors: EliteMobs-Boss-Powers

MethodeArgumenteRückgabeBeschreibung
get_vector_between_locations(source, destination, options?)table, table, table?tableDen 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?=0tableDen um Pitch und Yaw (in Grad) rotierten Vektor zurückgeben.
normalize_vector(vector)tabletableEinen 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.

MethodeArgumenteRückgabeBeschreibung
get_entities_in_zone(zone, options?)table, table?tablePassende lebende Entities zurückgeben. Die Optionen unterstützen filter und mode = "full" oder "border".
get_locations_in_zone(zone, options?)table, table?tableAbgetastete Locations zurückgeben. Die Optionen unterstützen coverage und mode = "full" oder "border".
zone_contains(zone, location, mode?="full")table, table, string?boolPrüfen, ob die Location in der vollen Form oder am Rand liegt.
watch_zone(zone, callbacks, options?)table, table, table?nilMit {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

MethodeArgumenteRückgabeBeschreibung
target(spec)tableTarget HandleEin Target Handle erzeugen.
zone(spec)tableZone HandleEin Zone Handle erzeugen.
relative_vector(spec, location?, zone?)table, table?, Zone Handle?Vector HandleEin Relativvektor-Handle erzeugen, dessen Aktions-Location standardmäßig der Boss ist.
damage(target, amount?=0, multiplier?=1)Target Handle, number?=0, number?=1nilJeder aufgelösten Ziel-Entity Schaden zufügen.
push(target, vector, additive?=false)Target Handle, table/Vector Handle, bool?=falsenilGeschwindigkeit auf aufgelöste Ziel-Entities anwenden.
set_facing(target, vector)Target Handle, table/Vector HandlenilAufgelöste Ziel-Entities entlang des Vektors ausrichten.
spawn_particles(target, particles)Target Handle, table/stringnilDie Partikelspezifikation an den aufgelösten Ziel-Locations spawnen.

Methoden des Target Handles

MethodeArgumenteRückgabeBeschreibung
entities()tableEntity-Tabellen auflösen und zurückgeben.
locations()tableLocation-Tabellen auflösen und zurückgeben.
first_entity()table/nilDie erste aufgelöste Entity zurückgeben.
first_location()table/nilDie erste aufgelöste Location zurückgeben.

Methoden des Zone Handles

MethodeArgumenteRückgabeBeschreibung
full_target(coverage?)number?Target HandleEin Target Handle für das Innere der Form erzeugen.
border_target(coverage?)number?Target HandleEin Target Handle für den Rand erzeugen.
full_locations(coverage?)number?tableAbgetastete Locations im Inneren auflösen.
border_locations(coverage?)number?tableAbgetastete Locations am Rand auflösen.
full_entities()tableEntities innerhalb der Form auflösen.
border_entities()tableEntities am Rand auflösen.
contains(location, mode?="full")table, string?boolZugehörigkeit zur vollen Form oder zum Rand prüfen.
watch(callbacks, mode?="full")table, string?intEine eigene {on_enter, on_leave}-Überwachung starten und ihre Task-ID zurückgeben.

Methoden des Relativvektor-Handles

MethodeArgumenteRückgabeBeschreibung
resolve()tableDen 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

FeldTypBeschreibung
damage_amountnumber/nilMomentaufnahme der Schadenshöhe eines Schadensereignisses.
damage_causestring/nilName der DamageCause, sofern das Schadensereignis eine bereitstellt.
damagertable/nilReferenz auf den Schadensverursacher bei Schaden durch eine Entity.
projectiletable/nilProjektilreferenz, wenn der Schadensverursacher ein Projektil ist.
spawn_reasonstring/nilSpawn-Grund des Elites.
entitytable/nilEntity eines Todes- oder Zonenereignisses.

Methoden

MethodeArgumenteRückgabeBeschreibung
cancel_event()nilEin EliteDamageEvent oder ein anderes abbrechbares Event abbrechen.
set_damage_amount(amount)numbernilDen Schaden eines EliteDamageEvent ersetzen.
multiply_damage_amount(multiplier)numbernilDen 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

MethodeArgumenteRückgabeBeschreibung
play_sound_at_location(location, sound, volume?=1, pitch?=1)table, string (Sound), number?=1, number?=1nilÜ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?=1nilÜberschreibung, die eine EliteMobs-Partikel-Spezifikationstabelle akzeptiert.
set_block_at_location(location, material, require_air?=false)table, string (Material), bool?=falsenilÜ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?=falsenilÜberschreibung, die die temporäre EliteMobs-Blockplatzierung verwendet.
get_block_type_at_location(location)tablestring/nilEinen Material-Namen in Großbuchstaben zurückgeben, oder nil bei einer ungültigen Location.
get_highest_block_y_at_location(location)tableint/nilÜberschreibung, die das höchste Block-Y zurückgibt, oder nil.
get_blast_resistance_at_location(location)tablenumberDie Explosionsresistenz des Blocks zurückgeben, standardmäßig 0 bei einer ungültigen Location.
is_air_at_location(location)tableboolPrüfen, ob der Zielblock Luft ist.
is_passable_at_location(location)tableboolDie Bukkit-Passierbarkeit prüfen.
is_passthrough_at_location(location)tableboolPrüfen, ob das Material nicht fest ist.
is_on_floor_at_location(location)tableboolAuf ein nicht festes Ziel mit einem festen Block darunter prüfen.
is_standing_on_material(location, material)table, string (Material)boolDen Block darunter prüfen.
strike_lightning_at_location(location)tablenilÜberschreibung, die vor dem Einschlag die EliteMobs-Blitzumgehung aktiviert.
run_empowered_lightning_task_at_location(location)tablenilDie Unterstützung für verstärkte Enderdrachen-Blitze ausführen.
set_world_time(time) / set_world_time(location, time)int/table, int?nilDie 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?=6000nilCLEAR, PRECIPITATION, RAIN oder THUNDER setzen.
run_console_command(command)stringnilEinen Befehl als Konsole ausführen.
spawn_boss_at_location(file, location?, level?)string, table?, int?table/nilEinen 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/nilEinen 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/nilEine 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/nilEinen 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/nilEine an den Boss gebundene Verstärkung beschwören.
spawn_fireworks_at_location(location, options)table, tabletable/nilEin 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, tabletable/nilEinen Wurftrank spawnen; effects-Einträge akzeptieren PotionEffectType type, duration, amplifier und overwrite, dazu velocity auf oberster Ebene.
generate_fake_explosion(locations, source?)table, table?nilEine EliteMobs-Fake-Explosion für ein Array von Blocklocations erzeugen.
spawn_fake_gold_nugget_at_location(location, velocity, gravity?=false)table, table, bool?=falsetable/nilEin Fake-Goldklumpen-Projektil spawnen.
run_fake_gold_nugget_damage(projectiles)tablenilDen Schadensdurchlauf für Fake-Projektile ausführen.
generate_player_loot(times?=1)int?=1nilSpielerloot für berechtigte Schadensverursacher erzeugen.
drop_bonus_coins(multiplier?=2)number?=2nilBonusmü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

MethodeArgumenteRückgabeBeschreibung
get_location()tableDie Position des Fake-Projektils zurückgeben.
set_gravity(enabled)boolnilDie Schwerkraft des Fake-Projektils setzen.
remove()nilDas Fake-Projektil entfernen.
is_removed()boolPrüfen, ob es entfernt wurde.

context.settings

EliteMobs-Boss-Powers erhalten diese Einstellungstabelle vom selben Welt-Tabellen-Builder.

Methoden

MethodeArgumenteRückgabeBeschreibung
warning_visual_effects_enabled()boolDie aktuelle Einstellung für visuelle Warneffekte zurückgeben.