From fc155f653d0f5532ce5919e532057fd4a032d30d Mon Sep 17 00:00:00 2001 From: Lixfel Date: Tue, 15 Mar 2022 08:59:22 +0100 Subject: [PATCH] Integrate replay and color options Signed-off-by: Lixfel --- .../commands/SchematicCommand.java | 7 +++- .../commands/SchematicCommandUtils.java | 38 ++++++++++++------- pom.xml | 1 + 3 files changed, 32 insertions(+), 14 deletions(-) diff --git a/SchematicSystem_Core/src/de/steamwar/schematicsystem/commands/SchematicCommand.java b/SchematicSystem_Core/src/de/steamwar/schematicsystem/commands/SchematicCommand.java index 1260878..50df954 100644 --- a/SchematicSystem_Core/src/de/steamwar/schematicsystem/commands/SchematicCommand.java +++ b/SchematicSystem_Core/src/de/steamwar/schematicsystem/commands/SchematicCommand.java @@ -30,7 +30,6 @@ import de.steamwar.schematicsystem.SchematicSystem; import de.steamwar.sql.*; import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.chat.ClickEvent; -import net.md_5.bungee.api.chat.ComponentBuilder; import net.md_5.bungee.api.chat.HoverEvent; import net.md_5.bungee.api.chat.TextComponent; import org.bukkit.Bukkit; @@ -362,6 +361,12 @@ public class SchematicCommand extends SWCommand { SchematicCommandUtils.download(player, node); } + @Register("lockreplay") + public void lockreplay(Player player, SchematicNode node) { + node.setAllowReplay(false); + player.sendMessage(SchematicSystem.PREFIX + "Replays von Kämpfen mit " + node.getName() + " können ab sofort nicht mehr betrachtet werden"); + } + @Register("dir") @Register("ordner") @Register("mkdir") diff --git a/SchematicSystem_Core/src/de/steamwar/schematicsystem/commands/SchematicCommandUtils.java b/SchematicSystem_Core/src/de/steamwar/schematicsystem/commands/SchematicCommandUtils.java index 8f35220..fd580c9 100644 --- a/SchematicSystem_Core/src/de/steamwar/schematicsystem/commands/SchematicCommandUtils.java +++ b/SchematicSystem_Core/src/de/steamwar/schematicsystem/commands/SchematicCommandUtils.java @@ -407,23 +407,35 @@ public class SchematicCommandUtils { } if (extend == null) { - SWInventory inv = new SWInventory(player, 9, "Schematic ausfahren"); - inv.setItem(0, SWItem.getDye(10), (byte) 10, "§eSchematic ausfahren", click -> { - new PrepareSchemPacket(SteamwarUser.get(player.getUniqueId()), node, type).send(player); - player.sendMessage(SchematicSystem.PREFIX + "§aDer Vorbereitungsserver wird gestartet"); - player.closeInventory(); - }); - inv.setItem(8, SWItem.getDye(7), (byte) 7, "§eDirekt einsenden", click -> { - node.setSchemtype(type.checkType()); - player.sendMessage(SchematicSystem.PREFIX + "§aDie Schematic wird zeitnah überprüft"); - player.closeInventory(); - }); - inv.setCallback(-999, click -> player.closeInventory()); - inv.open(); + submitSchemGUI(player, node, type); } else if (extend == SchematicCommand.Extend.AUSFAHREN) { new PrepareSchemPacket(SteamwarUser.get(player.getUniqueId()), node, type).send(player); player.sendMessage(SchematicSystem.PREFIX + "§aDer Vorbereitungsserver wird gestartet"); } } } + + private static void submitSchemGUI(Player player, SchematicNode node, SchematicType type) { + SWInventory inv = new SWInventory(player, 9, "Schematic ausfahren"); + inv.setItem(0, SWItem.getMaterial("SIGN"), node.allowReplay() ? "§cReplay sperren" : "§aReplay erlauben", click -> { + node.setAllowReplay(!node.allowReplay()); + submitSchemGUI(player, node, type); + }); + inv.setItem(1, SWItem.getMaterial("PINK_WOOL"), node.replaceColor() ? "§cPink nicht zu Teamfarbe ersetzen" : "§aPink zu Teamfarbe ersetzen", click -> { + node.setReplaceColor(!node.replaceColor()); + submitSchemGUI(player, node, type); + }); + inv.setItem(7, SWItem.getDye(7), (byte) 7, "§eDirekt einsenden", click -> { + node.setSchemtype(type.checkType()); + player.sendMessage(SchematicSystem.PREFIX + "§aDie Schematic wird zeitnah überprüft"); + player.closeInventory(); + }); + inv.setItem(8, SWItem.getDye(10), (byte) 10, "§eSchematic ausfahren", click -> { + new PrepareSchemPacket(SteamwarUser.get(player.getUniqueId()), node, type).send(player); + player.sendMessage(SchematicSystem.PREFIX + "§aDer Vorbereitungsserver wird gestartet"); + player.closeInventory(); + }); + inv.setCallback(-999, click -> player.closeInventory()); + inv.open(); + } } diff --git a/pom.xml b/pom.xml index cc39eaa..d1b542e 100644 --- a/pom.xml +++ b/pom.xml @@ -25,6 +25,7 @@ 1.8 1.8 + -Xlint