Schemnodes Schematic System #93
@ -216,33 +216,40 @@ public class SchematicCommand extends SWCommand {
|
||||
}
|
||||
|
||||
@Register("addmember")
|
||||
public void addMember(Player player, SchematicNode node, SteamwarUser target) {
|
||||
public void addMember(Player player, SchematicNode node, SteamwarUser... targets) {
|
||||
SteamwarUser user = getUser(player);
|
||||
if (node.getOwner() != user.getId()) {
|
||||
player.sendMessage(SchematicSystem.PREFIX + "§cDu kannst nur auf deine eigenen Sachen jemanden hinzufügen.");
|
||||
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()) {
|
||||
player.sendMessage(SchematicSystem.PREFIX + "§cAlso bitte: Das ist deine eigene Schematic!");
|
||||
return;
|
||||
if (target.getId() == 0) {
|
||||
player.sendMessage(SchematicSystem.PREFIX + "§cFür Public-Anträge bitte bei der Moderation melden");
|
||||
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) {
|
||||
player.sendMessage(SchematicSystem.PREFIX + "§cFür Public-Anträge bitte bei der Moderation melden");
|
||||
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());
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,6 @@ public class SchematicCommandHelp {
|
||||
|
||||
public static void printHelpMainPage(Player player) {
|
||||
player.sendMessage("§e§lSchematicSystem §8§lHilfe");
|
||||
Chaoscaot markierte diese Unterhaltung als gelöst
Veraltet
|
||||
player.sendMessage("§7Kategorien§8:");
|
||||
for (HelpPage page : HelpPage.values()) {
|
||||
Chaoscaot markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
§7Kategorien§8: §7Kategorien§8:
|
||||
TextComponent pageComp = new TextComponent(page.mainText);
|
||||
pageComp.setColor(ChatColor.GRAY);
|
||||
@ -51,7 +50,7 @@ public class SchematicCommandHelp {
|
||||
|
||||
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",
|
||||
Chaoscaot markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Suche oder lade Schematics (dein Hilfetext ist irgendwie schlicht falsch) Suche oder lade Schematics (dein Hilfetext ist irgendwie schlicht falsch)
|
||||
"§8/§7schem §elist §8- §7Zeigt dir deine Schematics an",
|
||||
Chaoscaot markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
schem eigentlich immer noch in §7, erst der Subcommand in §e. schem eigentlich immer noch in §7, erst der Subcommand in §e.
|
||||
"§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 §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 §eordner §8[§7Ordner§8] - §7Erstelle einen leeren Ordner",
|
||||
"§8/§7schem §emove §8[§7Schematic§8] [§7Neuer Pfad§8] - §7Verschiebe eine Schematic",
|
||||
Chaoscaot markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
↓leer ↓leer
|
||||
@ -67,7 +66,7 @@ public class SchematicCommandHelp {
|
||||
"§8/§7schem §echangetype §8[§7Schematic§8] - §7Ändert die Art deiner 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 §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",
|
||||
|
@ -43,9 +43,9 @@ public class SchematicCommandUtils {
|
||||
|
||||
private static final int CHUNK_SIZE = 15;
|
||||
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) {
|
||||
for (String layer : layers) {
|
||||
@ -64,6 +64,10 @@ public class SchematicCommandUtils {
|
||||
player.sendMessage(SchematicSystem.PREFIX + "§cDer angegebene Schematicname enthält verbotene Zeichen");
|
||||
return true;
|
||||
}
|
||||
if(FORBIDDEN_NAMES.contains(layer.toLowerCase())) {
|
||||
player.sendMessage(SchematicSystem.PREFIX + "§cDer Pfad darf nicht \"§l" + layer + "§c\" enthalten");
|
||||
return true;
|
||||
Chaoscaot markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
:( :(
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren
Hässlicher gehts ja wohl kaum.
§e§lSchematicSystem §8§lHilfe
Oder einfach gar kein Header?