More Features, Language and Fixes
Signed-off-by: Chaoscaot <chaoscaot444@gmail.com>
Dieser Commit ist enthalten in:
Ursprung
cd3915bb89
Commit
4f0bbecc36
@ -216,29 +216,31 @@ 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!");
|
||||
return;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (target.getId() == 0) {
|
||||
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 + "§cDieser Spieler ist bereits auf diese Schematic geaddet");
|
||||
return;
|
||||
player.sendMessage(SchematicSystem.PREFIX + "§c" + target.getUserName() + " ist bereits auf diese Schematic geaddet");
|
||||
continue;
|
||||
}
|
||||
|
||||
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());
|
||||
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("remmember")
|
||||
public void delMember(Player player, SchematicNode node, @Mapper("memberMapper") NodeMember member) {
|
||||
|
@ -32,7 +32,6 @@ public class SchematicCommandHelp {
|
||||
|
||||
public static void printHelpMainPage(Player player) {
|
||||
player.sendMessage("§e§lSchematicSystem §8§lHilfe");
|
||||
player.sendMessage("§7Kategorien§8:");
|
||||
for (HelpPage page : HelpPage.values()) {
|
||||
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",
|
||||
"§8/§7schem §elist §8- §7Zeigt dir deine Schematics an",
|
||||
"§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",
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren