SteamWar/BauSystem2.0
Archiviert
12
0

Hotfix: Add Better Inventory item() Function
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful

Signed-off-by: Chaoscaot <chaoscaot@zohomail.eu>
Dieser Commit ist enthalten in:
Chaoscaot 2023-07-26 00:40:52 +02:00
Ursprung 1e2522af12
Commit 9d644782a8
Signiert von: Chaoscaot
GPG-Schlüssel-ID: BDF8FADD7D5EDB7A
2 geänderte Dateien mit 35 neuen und 4 gelöschten Zeilen

Datei anzeigen

@ -87,6 +87,37 @@ public class InventoryLib implements LuaLib {
} }
}); });
table.set("item", new VarArgFunction() {
@Override
public Varargs invoke(Varargs args) {
int slot = args.checkint(1);
Material material = SWItem.getMaterial(args.checkjstring(2));
String name = ChatColor.translateAlternateColorCodes('&', args.checkjstring(3));
LuaFunction handler = args.checkfunction(4);
SWItem item = new SWItem(material, name, clickType -> handler.call(LuaValue.valueOf(clickType.name())));
if (args.narg() >= 5) {
LuaTable lore = args.checktable(5);
List<String> loreList = new ArrayList<>(lore.length());
for (int i = 1; i <= lore.length(); i++) {
loreList.add(ChatColor.translateAlternateColorCodes('&', lore.get(i).checkjstring()));
}
item.setLore(loreList);
}
if (args.narg() >= 6) {
item.setEnchanted(args.checkboolean(6));
}
if (args.narg() >= 7) {
item.getItemStack().setAmount(args.checkint(7));
}
inventory.setItem(slot, item);
return LuaValue.NIL;
}
});
table.set("setCloseHandler", new OneArgFunction() { table.set("setCloseHandler", new OneArgFunction() {
@Override @Override
public LuaValue call(LuaValue arg) { public LuaValue call(LuaValue arg) {

Datei anzeigen

@ -214,10 +214,10 @@ Das `Inventory`-Objekt hat folgende Funktionen:
| Name | Signature | Beschreibung | | Name | Signature | Beschreibung |
|-------------------|-----------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |-------------------|-----------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `setItem` | setItem(Number, String, String, Function\<String>) | Setze ein Item mit dem Typen des ersten Strings an den Slot (Startet bei 0) mit dem Namen des zweiten Strings mit einem Klick-Handler der den Klick-Typen rein gibt (z.B. `LEFT`, `SHIFT_LEFT`, `RIGHT`, `SHIFT_RIGHT`) | | `item` | setItem(Number, String, String, Function\<String>) | Setze ein Item mit dem Typen des ersten Strings an den Slot (Startet bei 0) mit dem Namen des zweiten Strings mit einem Klick-Handler der den Klick-Typen rein gibt (z.B. `LEFT`, `SHIFT_LEFT`, `RIGHT`, `SHIFT_RIGHT`) |
| -"- | setItem(Number, String, String, List<String>, Function\<String>) | Füge eine Lore an das Item hinzu | | -"- | setItem(Number, String, String, Function\<String>, List<String>) | Füge eine Lore an das Item hinzu |
| -"- | setItem(Number, String, String, List<String>, Boolean, Function\<String>) | Gebe an, ob das Item enchanted sein soll | | -"- | setItem(Number, String, String, Function\<String>, List<String>, Boolean) | Gebe an, ob das Item enchanted sein soll |
| -"- | setItem(Number, String, String, List<String>, Boolean, Number, Function\<String>) | Gebe die Anzahl der Items an | | -"- | setItem(Number, String, String, Function\<String>, List<String>, Boolean, Number) | Gebe die Anzahl der Items an |
| `setCloseHandler` | setCloseHandler(Function\<Void>) | Gebe einen Handler an, der beim schließen des Inventares ausgeführt wird | | `setCloseHandler` | setCloseHandler(Function\<Void>) | Gebe einen Handler an, der beim schließen des Inventares ausgeführt wird |
| `open` | open() | Öffne das Inventar | | `open` | open() | Öffne das Inventar |