Merge branch 'master' into NoSchemSharingBugFix
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful

Dieser Commit ist enthalten in:
zOnlyKroks 2023-07-26 12:13:15 +02:00
Commit 9b10d3d870
2 geänderte Dateien mit 39 neuen und 8 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() {
@Override
public LuaValue call(LuaValue arg) {

Datei anzeigen

@ -212,14 +212,14 @@ Es gibt folgende Funktionen:
Das `Inventory`-Objekt hat folgende Funktionen:
| 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`) |
| -"- | setItem(Number, String, String, List<String>, Function\<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, List<String>, Boolean, Number, Function\<String>) | Gebe die Anzahl der Items an |
| `setCloseHandler` | setCloseHandler(Function\<Void>) | Gebe einen Handler an, der beim schließen des Inventares ausgeführt wird |
| `open` | open() | Öffne das Inventar |
| Name | Signature | Beschreibung |
|-------------------|--------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `item` | item(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(Number, String, String, Function\<String>, List<String>) | Füge eine Lore an das Item hinzu |
| -"- | item(Number, String, String, Function\<String>, List<String>, Boolean) | Gebe an, ob das Item enchanted sein soll |
| -"- | item(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 |
| `open` | open() | Öffne das Inventar |
Siehe auch: [Inventory Beispiel](#inventory-1)