13
0

Schemnodes Schematic System #93

Zusammengeführt
Lixfel hat 30 Commits von nodes nach master 2021-12-27 16:30:26 +01:00 zusammengeführt
3 geänderte Dateien mit 35 neuen und 25 gelöschten Zeilen
Nur Änderungen aus Commit 4f0bbecc36 werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -216,29 +216,31 @@ 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()) { if (user.getId() == target.getId()) {
player.sendMessage(SchematicSystem.PREFIX + "§cAlso bitte: Das ist deine eigene Schematic!"); player.sendMessage(SchematicSystem.PREFIX + "§cAlso bitte: Das ist deine eigene Schematic!");
return; continue;
} }
if (target.getId() == 0) { if (target.getId() == 0) {
player.sendMessage(SchematicSystem.PREFIX + "§cFür Public-Anträge bitte bei der Moderation melden"); player.sendMessage(SchematicSystem.PREFIX + "§cFür Public-Anträge bitte bei der Moderation melden");
return; continue;
} }
if (NodeMember.getNodeMember(node.getId(), target.getId()) != null) { if (NodeMember.getNodeMember(node.getId(), target.getId()) != null) {
player.sendMessage(SchematicSystem.PREFIX + "§cDieser Spieler ist bereits auf diese Schematic geaddet"); player.sendMessage(SchematicSystem.PREFIX + "§c" + target.getUserName() + " ist bereits auf diese Schematic geaddet");
return; continue;
} }
NodeMember.createNodeMember(node.getId(), target.getId()); 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)); added.add(target);
Player t = Bukkit.getPlayer(target.getUUID()); Player t = Bukkit.getPlayer(target.getUUID());
if (t != null) { if (t != null) {
@ -246,6 +248,11 @@ public class SchematicCommand extends SWCommand {
} }
} }
if(!added.isEmpty()) {
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));
}
}
@Register("delmember") @Register("delmember")
@Register("remmember") @Register("remmember")
public void delMember(Player player, SchematicNode node, @Mapper("memberMapper") NodeMember member) { public void delMember(Player player, SchematicNode node, @Mapper("memberMapper") NodeMember member) {

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