From d606c01bdf4305417b75a80ebf801156e3947da9 Mon Sep 17 00:00:00 2001 From: Chaoscaot Date: Mon, 17 Jul 2023 17:16:18 +0200 Subject: [PATCH] Add Length Method Signed-off-by: Chaoscaot --- .../bausystem/features/script/lua/SteamWarLuaPlugin.java | 7 +++++++ SCRIPT.md | 1 + 2 files changed, 8 insertions(+) diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/script/lua/SteamWarLuaPlugin.java b/BauSystem_Main/src/de/steamwar/bausystem/features/script/lua/SteamWarLuaPlugin.java index f1833bdd..eeb28976 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/features/script/lua/SteamWarLuaPlugin.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/script/lua/SteamWarLuaPlugin.java @@ -30,6 +30,7 @@ import org.luaj.vm2.LuaFunction; import org.luaj.vm2.LuaTable; import org.luaj.vm2.LuaValue; import org.luaj.vm2.Varargs; +import org.luaj.vm2.lib.OneArgFunction; import org.luaj.vm2.lib.ThreeArgFunction; import org.luaj.vm2.lib.TwoArgFunction; import org.luaj.vm2.lib.VarArgFunction; @@ -107,6 +108,12 @@ public class SteamWarLuaPlugin extends TwoArgFunction { return LuaValue.NIL; } }); + env.set("length", new OneArgFunction() { + @Override + public LuaValue call(LuaValue arg) { + return arg.len(); + } + }); env.set("collectgarbage", NIL); env.set("dofile", NIL); diff --git a/SCRIPT.md b/SCRIPT.md index 5b81a845..f5c15e86 100644 --- a/SCRIPT.md +++ b/SCRIPT.md @@ -64,6 +64,7 @@ Ohne eine Kategorie sind folgende Funktionen verfügbar, die nicht allgemein sin | `delayed` | delayed(Number, Function\) | 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. Die Koordinaten sind unter den Namen `x`, `y` und `z` abgespeichert | | `exec` | exec(String...) | Führt den angegebenen Befehl als Spieler aus | +| `length` | length(Any) | Gibt die Länge des Objekts zurück | ### player Das `player`-Modul stellt Funktionen zur Verfügung, die den Spieler betreffen.