Todo: * /script and global script storage * Code Cleanup
9.0 KiB
SteamWar.de - Script System
Einleitung
Das Script System auf SteamWar.de basiert auf Lua. Der Code wird einfach in ein Minecraft Buch geschrieben und kann mit einem Links-Klick ausgeführt werden.
Basis-Apis
Es werden folgende Standard-Apis zur Verfügung gestellt:
SteamWar.de-Api
In den Scripten gibt es dazu noch folgende globale Variablen:
global
Die global
-Api stellt Funktionen zur Verfügung, QOL sind.
Es gibt folgende Funktionen:
Name | Signature | Beschreibung |
---|---|---|
print |
print(String...) | @see message(String...) |
input |
input(String, Function<String>) | Fragt den User nach einer Eingabe mit der Nachricht und called die zugehörige Funktion nach dieser |
timeout |
timeout(Number, Function<Void>) | Wartet die angegebene Anzahl an Ticks und führt danach die zugehörige Funktion aus |
pos |
pos(Number, Number, Number) | Erstellt aus drei Zahlen eine Position-Table |
exec |
exec(String...) | Führt den angegebenen Befehl als Spieler aus |
player
Die player
-Api stellt Funktionen zur Verfügung, die den Spieler betreffen.
Es gibt folgende Funktionen:
Name | Signature | Beschreibung |
---|---|---|
name |
name(): String | Gibt den displayName des Spielers zurück |
message |
message(String...) | Sendet den Text in den Chat des Spielers |
actionbar |
actionbar(String...) | Sendet den Text in die ActionBar des Spielers |
x |
x(Number), x(): Number | Setzt oder gibt die X-Koordinate des Spielers |
y |
y(Number), y(): Number | Setzt oder gibt die Y-Koordinate des Spielers |
z |
z(Number), z(): Number | Setzt oder gibt die Z-Koordinate des Spielers |
yaw |
yaw(Number), yaw(): Number | Setzt oder gibt den Yaw des Spielers |
pitch |
pitch(Number), pitch(): Number | Setzt oder gibt den Pitch des Spielers |
sneaking |
sneaking(): Boolean | Wahr, wenn der Spieler am Sneaken ist |
sprinting |
sprinting(): Boolean | Wahr, wenn der Spieler am Sprinten ist |
slot |
slot(Number), slot(): Number | Setzt oder gibt den Slot des gehaltenden Items des Spielers |
item |
item(): String | Gibt den Item Type der Main-Hand zurück |
offHandItem |
offHandItem(): String | Gibt den Item Type der Off-Hand zurück |
region
Die region
-Api stellt Funktion zur Verfügung, die die Region des Spielers betreffen.
Es gibt folgende Funktionen:
Name | Signature | Beschreibung |
---|---|---|
name |
name(): String | Gibt den Namen der Region zurück |
type |
type(): String | Gibt den Namen des Typen der Region zurück |
Es gibt folgende Variablen:
Name | Beschreibung |
---|---|
tnt |
tnt |
tnt
server
SteamWar.de-Global-Api
Mit /script
kann man Script-Bücher global abspeichern. Diese haben dann zugrif auf die global
-Api.
Die global
-Api stellt Funktionen zur Verfügung um auf Events, Commands und Hotkeys mit einem Script zu reagieren.
Es gibt folgende Funktionen:
Name | Signature | Beschreibung |
---|---|---|
event |
event(EventType, Function(Any)) | Registriere einen Event Handler |
command |
cmd(String, Function(Any)) | Registriere einen Command |
Es gibt folgende Variablen:
Name | Beschreibung |
---|---|
type |
Siehe: Event Type |
Event Type
Es gibt folgende Event-Typen:
Name | Wenn | Parameter |
---|---|---|
FF |
Beim Doppelten Drücken der Swap-Hands taste | NIL |
PlaceBlock |
Beim Platzieren von Blöcken | BlockEvent |
BreakBlock |
Beim Zerstören von Blöcken | BlockEvent |
RightClick |
Beim Rechts klicken | InteractEvent |
LeftClick |
Beim Links Klicken | InteractEvent |
TNTSpawn |
Wenn ein TNT in der aktuellen Region spawnt | NIL |
TNTExplode |
Wenn ein TNT in der aktuellen Region explodiert | Position |
TNTExplodeInBuild |
Wenn ein TNT in der aktuellen Bau Region explodiert | Position |
SelfJoin |
Wenn man selbst den Server betritt | NIL |
SelfLeave |
Wenn man den Server verlässt | NIL |
DropItem |
Wenn man ein item Droppt | (type: Material) |
EntityDeath |
Wenn ein Entity Stirbt | (type: Entity Type) |
BlockEvent
Das übergebene Objekt an den Handler hat folgende Variablen:
Name | Beschreibung |
---|---|
x |
Die X-Koordinate des Blocks |
y |
Die Y-Koordinate des Blocks |
z |
Die Z-Koordinate des Blocks |
type |
Das Material des Blocks |
InteractEvent
Das übergebene Objekt an den Handler hat folgende Variablen:
Name | Beschreibung |
---|---|
action |
Die Action die ausgeführt wurde, Mögliche Werte: RIGHT_CLICK_BLOCK , RIGHT_CLICK_AIR , LEFT_CLICK_BLOCK , LEFT_CLICK_AIR |
hand |
Die Hand die zum ausführen genutzt wird, Mögliche Werte: HAND , OFF_HAND |
block |
Der Typ des Items mit dem geklickt wurde |
hasBlock |
Wahr, wenn auf einen Block geklickt wurde |
Wenn hasBlock
wahr ist, gibt es folgende Variablen:
Name | Beschreibung |
---|---|
blockX |
Die X-Koordinate des Blocks |
blockY |
Die Y-Koordinate des Blocks |
blockZ |
Die Z-Koordinate des Blocks |
blockFace |
Die Seite des Blocks die geklickt wurde |
Position
Die Position ist ein Objekt mit folgenden Variablen:
Name | Beschreibung |
---|---|
x |
Die X-Koordinate |
y |
Die Y-Koordinate |
z |
Die Z-Koordinate |
Beispiele
Hello, World!
Ein einfaches Hello, World!-Script.
Code
print("Hello, World!")
Ausgabe
Hello, World!