Integrate replay and color options #115
@ -85,7 +85,7 @@ public class GUI {
|
||||
}
|
||||
Material mat = SWItem.getMaterial(node.getItem());
|
||||
|
||||
inv.setItem(5, mat, "§e" + mat.name(), Arrays.asList("§7Zum Ändern", "§7anklicken"), false, click -> {
|
||||
inv.setItem(node.isDir()?7:5, mat, "§e" + mat.name(), Arrays.asList("§7Zum Ändern", "§7anklicken"), false, click -> {
|
||||
changeItem(player, node, back);
|
||||
});
|
||||
if(!node.isDir()) {
|
||||
@ -96,6 +96,25 @@ public class GUI {
|
||||
player.closeInventory();
|
||||
SchematicCommandUtils.download(player, node);
|
||||
});
|
||||
if(node.getSchemtype().fightType()) {
|
||||
inv.setItem(14, SWItem.getMaterial(node.replaceColor() ? "PINK_WOOL" : "LIGHT_GRAY_WOOL"), "Farbersetzung", Arrays.asList("§7Aktuell: " + (node.replaceColor()?"§aAn":"§cAus"), "§7Zum Ändern", "§7anklicken"), false, clickType -> {
|
||||
node.setReplaceColor(!node.replaceColor());
|
||||
info(player, node, back);
|
||||
});
|
||||
inv.setItem(13, SWItem.getMaterial(node.allowReplay() ? "EYE_OF_ENDER" : "ENDER_PEAR"), "Replay Wiedergabe", Arrays.asList("§7Aktuell: " + (node.replaceColor()?"§aAn":"§4Aus"), "§7Zum §lAusschaulten", "§7anklicken"), false, clickType -> {
|
||||
if(node.allowReplay()) {
|
||||
SWInventory confInv = new SWInventory(player, 9, "Wiedergabe der Schematic Dauerhaft sperren");
|
||||
confInv.setItem(0, SWItem.getDye(1), (byte) 1, "§aAbbrechen", type -> {
|
||||
info(player, node, back);
|
||||
});
|
||||
confInv.setItem(8, SWItem.getDye(10), (byte) 10, "§cBestätigen", type -> {
|
||||
node.setAllowReplay(false);
|
||||
info(player, node, back);
|
||||
});
|
||||
confInv.open();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
SWItem skull = SWItem.getPlayerSkull("MHF_STEVE");
|
||||
skull.setCallback(click -> {
|
||||
|
@ -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,19 @@ 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("replacecolor")
|
||||
public void replacecolor(Player player, SchematicNode node) {
|
||||
boolean state = !node.replaceColor();
|
||||
node.setReplaceColor(state);
|
||||
player.sendMessage(SchematicSystem.PREFIX + "In Kämpfen " + node.getName() + " werden pinke Blöcke " + (state ? "" : "nicht ") + "ersetzt");
|
||||
}
|
||||
|
||||
@Register("dir")
|
||||
@Register("ordner")
|
||||
@Register("mkdir")
|
||||
|
@ -62,6 +62,8 @@ public class SchematicCommandHelp {
|
||||
"§8/§7schem §emove §8[§7Schematic§8] [§7Neuer Pfad§8] - §7Verschiebe eine Schematic",
|
||||
"§8/§7schem §erename §8[§7Schematic§8] [§7Neuer Name§8] - §7Gib der Schematic einen neuen Namen",
|
||||
"§8/§7schem §echangetype §8[§7Schematic§8] - §7Ändert die Art deiner Schematic",
|
||||
"§8/§7schem §elockreplay §8[§7Schematic§8] - §7Sperrt Replays mit der Schematic",
|
||||
"§8/§7schem §ereplacecolor §8[§7Schematic§8] - §7Ändert Farbersetzung in der Arena",
|
||||
"§8/§7schem §edelete §8[§7Schematic§8] - §7Löscht eine Schematic"
|
||||
}),
|
||||
MEMBER("Besitzrechte", "Schematics mit anderen teilen", new String[]{
|
||||
|
@ -195,6 +195,12 @@ public class SchematicCommandUtils {
|
||||
if (node.getRank() > 0) {
|
||||
player.sendMessage("§7Rang: §e" + node.getRank());
|
||||
}
|
||||
|
||||
if (node.getSchemtype().fightType()) {
|
||||
player.sendMessage("§7Farbersetzung: §e" + (node.replaceColor() ? "ja" : "nein"));
|
||||
player.sendMessage("§7Replaywiedergabe: §e" + (node.allowReplay() ? "gestattet" : "untersagt"));
|
||||
}
|
||||
|
||||
player.sendMessage("§7Format: §e" + (node.getSchemFormat() ? ".schem" : ".schematic"));
|
||||
List<CheckedSchematic> checkedSchematics = CheckedSchematic.getLastDeclined(player.getUniqueId());
|
||||
for (CheckedSchematic checkedSchematic : checkedSchematics) {
|
||||
@ -407,23 +413,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) {
|
||||
YoyoNow
hat
Ich würde hier ein Wechsel zwischen Grauer Wolle (aus) und Pinker Wolle (an) machen. Ich würde hier ein Wechsel zwischen Grauer Wolle (aus) und Pinker Wolle (an) machen.
|
||||
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(node.replaceColor() ? "PINK_WOOL" : "LIGHT_GRAY_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();
|
||||
}
|
||||
}
|
||||
|
2
pom.xml
2
pom.xml
@ -25,6 +25,7 @@
|
||||
<configuration>
|
||||
<source>1.8</source>
|
||||
<target>1.8</target>
|
||||
<compilerArgs>-Xlint</compilerArgs>
|
||||
YoyoNow
hat
Wofür genau? Wofür genau?
Lixfel
hat
Deprecated-Warnungen (aus dem SpigotCore) etc. Deprecated-Warnungen (aus dem SpigotCore) etc.
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
@ -49,6 +50,7 @@
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>1.18.22</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
In neuem Issue referenzieren
Einen Benutzer sperren
Warum kann man es nur aus machen, warum nicht wieder an?
Da alle bisherigen Schems Replay zulassen. Replaysperre gilt ja für ALLE. Wenn wir das wieder anschalten ermöglichen, befürchte ich, dass Spieler, um nur selbst das Replay ansehen zu können, das Replay sperren, und wenn sie selbst ansehen wollen das kurz temporär entsperren. Daher nur als One-Way Operation.