13
0

More Features, Language and Fixes

Signed-off-by: Chaoscaot <chaoscaot444@gmail.com>
Dieser Commit ist enthalten in:
Chaoscaot 2021-12-11 16:35:16 +01:00
Ursprung cd3915bb89
Commit 4f0bbecc36
3 geänderte Dateien mit 35 neuen und 25 gelöschten Zeilen

Datei anzeigen

@ -216,33 +216,40 @@ public class SchematicCommand extends SWCommand {
} }
@Register("addmember") @Register("addmember")
public void addMember(Player player, SchematicNode node, SteamwarUser target) { public void addMember(Player player, SchematicNode node, SteamwarUser... targets) {
SteamwarUser user = getUser(player); SteamwarUser user = getUser(player);
if (node.getOwner() != user.getId()) { if (node.getOwner() != user.getId()) {
player.sendMessage(SchematicSystem.PREFIX + "§cDu kannst nur auf deine eigenen Sachen jemanden hinzufügen."); player.sendMessage(SchematicSystem.PREFIX + "§cDu kannst nur auf deine eigenen Sachen jemanden hinzufügen.");
return; return;
} }
List<SteamwarUser> added = new ArrayList<>();
for (SteamwarUser target: targets) {
if (user.getId() == target.getId()) {
player.sendMessage(SchematicSystem.PREFIX + "§cAlso bitte: Das ist deine eigene Schematic!");
continue;
}
if (user.getId() == target.getId()) { if (target.getId() == 0) {
player.sendMessage(SchematicSystem.PREFIX + "§cAlso bitte: Das ist deine eigene Schematic!"); player.sendMessage(SchematicSystem.PREFIX + "§cFür Public-Anträge bitte bei der Moderation melden");
return; continue;
}
if (NodeMember.getNodeMember(node.getId(), target.getId()) != null) {
player.sendMessage(SchematicSystem.PREFIX + "§c" + target.getUserName() + " ist bereits auf diese Schematic geaddet");
continue;
}
NodeMember.createNodeMember(node.getId(), target.getId());
added.add(target);
Player t = Bukkit.getPlayer(target.getUUID());
if (t != null) {
t.sendMessage(SchematicSystem.PREFIX + "Du hast nun Zugriff auf die Schematic §e" + node.getName() + " §7von §e" + player.getName());
}
} }
if (target.getId() == 0) { if(!added.isEmpty()) {
player.sendMessage(SchematicSystem.PREFIX + "§cFür Public-Anträge bitte bei der Moderation melden"); player.sendMessage(SchematicSystem.PREFIX + (added.size()>1?"Die":"Der") + " Spieler §e" + added.stream().map(SteamwarUser::getUserName).reduce((s, s2) -> s + ", " + s2).get() + " §7" + (added.size()>1?"haben":"hat") + " nun Zugriff auf die Schematic §e" + node.generateBreadcrumbs(user));
return;
}
if (NodeMember.getNodeMember(node.getId(), target.getId()) != null) {
player.sendMessage(SchematicSystem.PREFIX + "§cDieser Spieler ist bereits auf diese Schematic geaddet");
return;
}
NodeMember.createNodeMember(node.getId(), target.getId());
player.sendMessage(SchematicSystem.PREFIX + "Der Spieler §e" + target.getUserName() + " §7hat nun Zugriff auf die Schematic §e" + node.generateBreadcrumbs(user));
Player t = Bukkit.getPlayer(target.getUUID());
if (t != null) {
t.sendMessage(SchematicSystem.PREFIX + "Du hast nun Zugriff auf die Schematic §e" + node.getName() + " §7von §e" + player.getName());
} }
} }

Datei anzeigen

@ -32,7 +32,6 @@ public class SchematicCommandHelp {
public static void printHelpMainPage(Player player) { public static void printHelpMainPage(Player player) {
player.sendMessage("§e§lSchematicSystem §8§lHilfe"); player.sendMessage("§e§lSchematicSystem §8§lHilfe");
player.sendMessage("§7Kategorien§8:");
for (HelpPage page : HelpPage.values()) { for (HelpPage page : HelpPage.values()) {
TextComponent pageComp = new TextComponent(page.mainText); TextComponent pageComp = new TextComponent(page.mainText);
pageComp.setColor(ChatColor.GRAY); pageComp.setColor(ChatColor.GRAY);
@ -51,7 +50,7 @@ public class SchematicCommandHelp {
public enum HelpPage { public enum HelpPage {
ANSICHT("Ansichtbefehle", "Suche oder lade Schematics", new String[]{ ANSICHT("Finden & Laden", "Suche oder lade Schematics", new String[]{
"§8/§7schem §einfo §8[§7Schematic§8] - §7Zeigt dir Informationen zur Schematic", "§8/§7schem §einfo §8[§7Schematic§8] - §7Zeigt dir Informationen zur Schematic",
"§8/§7schem §elist §8- §7Zeigt dir deine Schematics an", "§8/§7schem §elist §8- §7Zeigt dir deine Schematics an",
"§8/§7schem §elist public §8- §7Zeigt alle Public-Schematics", "§8/§7schem §elist public §8- §7Zeigt alle Public-Schematics",
@ -59,7 +58,7 @@ public class SchematicCommandHelp {
"§8/§7schem §eload §8[§7Schematic§8] - §7Lädt eine Schematic", "§8/§7schem §eload §8[§7Schematic§8] - §7Lädt eine Schematic",
"§8/§7schem §edownload §8[§7Schematic§8] - §7Gibt dir einen Downloadlink (1 min gültig)" "§8/§7schem §edownload §8[§7Schematic§8] - §7Gibt dir einen Downloadlink (1 min gültig)"
}), }),
BEARBEITUNG("Bearbeitungsbefehle", "Modifizierung von Schematics und Ordnern", new String[]{ BEARBEITUNG("Speichern & Bearbeiten", "Modifizierung von Schematics und Ordnern", new String[]{
"§8/§7schem §esave §8[§7Schematic§8] - §7Speichert dein Clipboard als Schematic", "§8/§7schem §esave §8[§7Schematic§8] - §7Speichert dein Clipboard als Schematic",
"§8/§7schem §eordner §8[§7Ordner§8] - §7Erstelle einen leeren Ordner", "§8/§7schem §eordner §8[§7Ordner§8] - §7Erstelle einen leeren Ordner",
"§8/§7schem §emove §8[§7Schematic§8] [§7Neuer Pfad§8] - §7Verschiebe eine Schematic", "§8/§7schem §emove §8[§7Schematic§8] [§7Neuer Pfad§8] - §7Verschiebe eine Schematic",
@ -67,7 +66,7 @@ public class SchematicCommandHelp {
"§8/§7schem §echangetype §8[§7Schematic§8] - §7Ändert die Art deiner Schematic", "§8/§7schem §echangetype §8[§7Schematic§8] - §7Ändert die Art deiner Schematic",
"§8/§7schem §edelete §8[§7Schematic§8] - §7Löscht eine Schematic" "§8/§7schem §edelete §8[§7Schematic§8] - §7Löscht eine Schematic"
}), }),
MEMBER("Memberbefehle", "Schematics mit anderen teilen", new String[]{ MEMBER("Besitzrechte", "Schematics mit anderen teilen", new String[]{
"§8/§7schem §eaddmember §8[§7Schematic§8] §8[§7Spieler§8] - §7Fügt einen Spieler zu einer Schematic hinzu", "§8/§7schem §eaddmember §8[§7Schematic§8] §8[§7Spieler§8] - §7Fügt einen Spieler zu einer Schematic hinzu",
"§8/§7schem §edelmember §8[§7Schematic§8] §8[§7Spieler§8] - §7Entfernt einen Spieler von einer Schematic", "§8/§7schem §edelmember §8[§7Schematic§8] §8[§7Spieler§8] - §7Entfernt einen Spieler von einer Schematic",
"§8/§7schem §eclearmember §8[§7Schematic§8] - §7Entfernt alle Spieler von der Schematic", "§8/§7schem §eclearmember §8[§7Schematic§8] - §7Entfernt alle Spieler von der Schematic",

Datei anzeigen

@ -43,9 +43,9 @@ public class SchematicCommandUtils {
private static final int CHUNK_SIZE = 15; private static final int CHUNK_SIZE = 15;
private static final List<Player> PUBLIC_TOGGLED = new ArrayList<>(); private static final List<Player> PUBLIC_TOGGLED = new ArrayList<>();
private static final List<String> FORBIDDEN_NAMES = Collections.unmodifiableList(Arrays.asList("public"));
private SchematicCommandUtils() { private SchematicCommandUtils() {}
}
public static boolean invalidSchemName(Player player, String[] layers) { public static boolean invalidSchemName(Player player, String[] layers) {
for (String layer : layers) { for (String layer : layers) {
@ -64,6 +64,10 @@ public class SchematicCommandUtils {
player.sendMessage(SchematicSystem.PREFIX + "§cDer angegebene Schematicname enthält verbotene Zeichen"); player.sendMessage(SchematicSystem.PREFIX + "§cDer angegebene Schematicname enthält verbotene Zeichen");
return true; return true;
} }
if(FORBIDDEN_NAMES.contains(layer.toLowerCase())) {
player.sendMessage(SchematicSystem.PREFIX + "§cDer Pfad darf nicht \"§l" + layer + "§c\" enthalten");
return true;
}
} }
return false; return false;
} }