SteamWar/BauSystem2.0
Archiviert
12
0

ScriptEvents #45

Zusammengeführt
YoyoNow hat 11 Commits von ScriptEvents nach master 2021-09-22 08:02:40 +02:00 zusammengeführt
3 geänderte Dateien mit 23 neuen und 6 gelöschten Zeilen
Nur Änderungen aus Commit ef1bdbbcf6 werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -173,6 +173,13 @@ public class CustomScriptListener implements Listener {
List<SWListInv.SWListEntry<CustomScript.MenuScript>> menuCommands = new ArrayList<>();
playerMap.getOrDefault(p, new ArrayList<>()).stream().filter(CustomScript.MenuScript.class::isInstance).map(CustomScript.MenuScript.class::cast).forEach(menuItem -> {
SWItem swItem = menuItem.toItem();
ItemStack itemStack = swItem.getItemStack();
if (menuItem instanceof CustomScript.MenuEvent) {
itemStack.setType(Material.REPEATING_COMMAND_BLOCK);
} else {
itemStack.setType(Material.COMMAND_BLOCK);
}
swItem.setItemStack(itemStack);
swItem.setLore(Arrays.asList("§7Klicke zum rausnehmen", "§7Middle Klicke zum kopieren"));
menuCommands.add(new SWListInv.SWListEntry<>(swItem, menuItem));
@ -291,9 +298,7 @@ public class CustomScriptListener implements Listener {
<T extends Event> EventType(Class<T> eventType, Function<T, Map<String, Value>> eventValues) {
this.eventType = eventType;
this.eventValues = event -> {
return eventValues.apply((T) event);
};
this.eventValues = event -> eventValues.apply((T) event);
}
}
@ -309,14 +314,16 @@ public class CustomScriptListener implements Listener {
if (variables == null) {
variables = new HashMap<>();
}
if (e instanceof Cancellable) {
variables.put("cancel", new Value.BooleanValue(false));
}
customEvent.execute(e, p, variables);
if (e instanceof Cancellable && variables.containsKey("cancel")) {
if (variables.containsKey("cancel")) {
Value value = variables.get("cancel");
if (value.asBoolean()) {
((Cancellable) e).setCancelled(true);
}
}
return;
}
}
}

Datei anzeigen

@ -114,11 +114,15 @@ public class ScriptCommand extends SWCommand {
}), null));
swItems.add(new SWListInv.SWListEntry<>(new SWItem(Material.IRON_BOOTS, "§7Constant §esneak", Arrays.asList("§etrue§7 wenn der Spieler gerade sneakt."), false, clickType -> {
}), null));
swItems.add(new SWListInv.SWListEntry<>(new SWItem(Material.DIAMOND_BOOTS, "§7Constant §esprinting", Arrays.asList("§etrue§7 wenn der Spieler gerade rennt."), false, clickType -> {
}), null));
swItems.add(new SWListInv.SWListEntry<>(new SWItem(Material.ARROW, "§7Constant §eslot", Arrays.asList("§e0-8§7 für den ausgewählten slot.", "§eÜberschreibbar"), false, clickType -> {
}), null));
swItems.add(new SWListInv.SWListEntry<>(new SWItem(Material.GRASS_BLOCK, "§7Constant §eslotmaterial", Arrays.asList("§eMaterial§7 des Items im Slot"), false, clickType -> {
}), null));
for (int i = 0; i < 4 + 2 * 9; i++) {
swItems.add(new SWListInv.SWListEntry<>(new SWItem(Material.IRON_BLOCK, "§7Constant §eoffhandmaterial", Arrays.asList("§eMaterial§7 des Items in oder Off Hand"), false, clickType -> {
}), null));
for (int i = 0; i < 2 + 2 * 9; i++) {
swItems.add(new SWListInv.SWListEntry<>(new SWItem(Material.GRAY_STAINED_GLASS_PANE, "§7", new ArrayList<>(), false, clickType -> {
}), null));
}

Datei anzeigen

@ -195,6 +195,9 @@ public class Constants {
CONSTANTS.put("sneaking", player -> {
return new ConstantBooleanValue(player::isSneaking);
});
CONSTANTS.put("sprinting", player -> {
return new ConstantBooleanValue(player::isSprinting);
});
CONSTANTS.put("slot", player -> {
return new ConstantLongValue(() -> (long) player.getInventory().getHeldItemSlot(), slot -> {
if (slot > 8) {
@ -209,6 +212,9 @@ public class Constants {
CONSTANTS.put("slotmaterial", player -> {
return new ConstantStringValue(() -> player.getInventory().getItemInMainHand().getType().name());
});
CONSTANTS.put("offhandmaterial", player -> {
return new ConstantStringValue(() -> player.getInventory().getItemInOffHand().getType().name());
});
}
public Set<String> allVariables() {