13
0

Integrate replay and color options #115

Zusammengeführt
Lixfel hat 4 Commits von replayColor nach master 2022-03-16 16:37:54 +01:00 zusammengeführt
5 geänderte Dateien mit 68 neuen und 15 gelöschten Zeilen

Datei anzeigen

@ -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 -> {

Datei anzeigen

@ -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");
Review

Warum kann man es nur aus machen, warum nicht wieder an?

Warum kann man es nur aus machen, warum nicht wieder an?
Review

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.

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.
}
@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")

Datei anzeigen

@ -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[]{

Datei anzeigen

@ -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) {
Veraltet
Review

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();
}
}

Datei anzeigen

@ -25,6 +25,7 @@
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgs>-Xlint</compilerArgs>
Review

Wofür genau?

Wofür genau?
Review

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>