SteamWar/BauSystem2.0
Archiviert
12
0
Dieses Repository wurde am 2024-08-05 archiviert. Du kannst Dateien ansehen und es klonen, aber nicht pushen oder Issues/Pull-Requests öffnen.
BauSystem2.0/SCRIPT.md
Chaoscaot 16a6d10472
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful
Script System Lua
Todo:
* /script and global script storage
* Code Cleanup
2023-05-19 19:29:38 +02:00

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!