diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/script/lua/libs/RegionLib.java b/BauSystem_Main/src/de/steamwar/bausystem/features/script/lua/libs/RegionLib.java index 98a8a70d..240ec061 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/features/script/lua/libs/RegionLib.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/script/lua/libs/RegionLib.java @@ -84,6 +84,9 @@ public class RegionLib implements LuaLib { return create(Region.getREGION_MAP().get(arg.checkjstring()), player); } }); + + table.set("list", getter(() -> LuaValue.listOf(Region.getREGION_MAP().values().stream().map(region -> create(region, player)).toArray(LuaValue[]::new)))); + return table; } } diff --git a/SCRIPT.md b/SCRIPT.md index 7743dbf7..46c45830 100644 --- a/SCRIPT.md +++ b/SCRIPT.md @@ -131,6 +131,7 @@ Es gibt folgende Funktionen: | `protect` | protect(): Boolean | Gibt den Protect-Modus der Region zurück | | `loader` | loader(): String | Gibt den Status des Loaders des Spielers zurück, die Werte sind: `OFF`, `SETUP`, `RUNNING`, `PAUSE`, `END` | | `get` | get(String): Region | Gibt die Region mit dem Namen zurück. Die Region ist gleich aufgebaut wie das Regions-Modul | +| `list` | list(): Region[] | Gibt alle Region zurück. Die Region ist gleich aufgebaut wie das Regions-Modul | Es gibt folgende weitere Module: diff --git a/sw.def.lua b/sw.def.lua index 55e417f7..abf96dc7 100644 --- a/sw.def.lua +++ b/sw.def.lua @@ -186,6 +186,9 @@ function trace.time() return nil end ---@return iregion function region.get(name) return nil end +---@return iregion[] +function region.list() return nil end + ---@class Position ---@field x number ---@field y number