Schemnodes Schematic System #93
@ -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());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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",
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren