Discord

  • Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Bungeecord Erledigt Command Syntax - ich finde meinen Fehler nicht

dmmk218

Redstoneengineer
Mitglied seit
28 Juni 2018
Beiträge
42
Alter
21
Hallo zusammen,

ich habe ein kleines Plugin geschrieben jedoch bekomme ich bei einem Command keinerlei Rückmeldung sowie keine Fehlermeldung in der Konsole.

Hier ist mein CommandExecutor

Java:
public class AuthenticateCommand extends Command {

    public HashMap<ProxiedPlayer, Integer> playerAttempCount = new HashMap<>();

    public AuthenticateCommand(String name) {
        super(name);
    }

    @Override
    public void execute(CommandSender sender, String[] args) {

        if (sender instanceof ProxiedPlayer) {

            ProxiedPlayer p = (ProxiedPlayer)sender;

            if (p.hasPermission("network.bAuth.auth")) {

                if (args.length == 0) {

                    if (p.hasPermission("network.bAuth.admin")) {
                        p.sendMessage(TextComponent.fromLegacyText(Data.data.help1));
                    }
                    p.sendMessage(TextComponent.fromLegacyText(Data.data.help2));
                    p.sendMessage(TextComponent.fromLegacyText(Data.data.help3));

                }

                else if (args.length == 1) {

                    if (args[0].equalsIgnoreCase("reload")) {

                        if (p.hasPermission("network.bAuth.admin")) {

                            try {
                                Data.data.load();
                                Data.data.reload();
                                p.sendMessage(TextComponent.fromLegacyText(Data.data.reloadSucces));
                            } catch (IOException e) {
                                p.sendMessage(TextComponent.fromLegacyText(Data.data.reloadError));
                                e.printStackTrace();
                            }

                        }

                        else {

                            p.sendMessage(TextComponent.fromLegacyText(Data.data.noPerm));

                        }

                    }

                    else if (args[0].equalsIgnoreCase("register")) {

                        if (p.hasPermission("network.bAuth.register")) {

                            try {

                                if (MySQL.mySQL.isRegistered(p)) {

                                    p.sendMessage(TextComponent.fromLegacyText(Data.data.alreadyRegistered));

                                } else {

                                    String authCode = GoogleAuthAPI.googleAuthAPI.createGoogleKey();
                                    String serialize = AESSerializer.aesSerializer.serializeGoogleKey(authCode);

                                    p.sendMessage(TextComponent.fromLegacyText(Data.data.codeMessage.replace("%code%", authCode)));
                                    p.sendMessage(TextComponent.fromLegacyText(Data.data.codeMessage2));
                                    p.sendMessage(TextComponent.fromLegacyText(Data.data.codeMessage3));

                                    MySQL.mySQL.createPlayer(p, serialize);

                                }

                            } catch (Exception e) {

                                p.sendMessage(TextComponent.fromLegacyText(Data.data.generalError));
                                e.printStackTrace();

                            }

                        } else {

                            p.sendMessage(TextComponent.fromLegacyText(Data.data.noPerm));

                        }

                    }

                    else {

                        if (p.hasPermission("network.bAuth.admin")) {
                            p.sendMessage(TextComponent.fromLegacyText(Data.data.help1));
                        }
                        p.sendMessage(TextComponent.fromLegacyText(Data.data.help2));
                        p.sendMessage(TextComponent.fromLegacyText(Data.data.help3));

                    }

                }

                else if (args.length == 2) {

                    if (args[0].equalsIgnoreCase("login")) {

                        if (p.hasPermission("network.bAuth.login")) {

                            if (args[1].matches("[0-9]+")) {

                                if (args[1].length() == 6) {

                                try {

                                    if (Blocker.blocker.isAuthenticated.get(p) != null) {
                                        if (Blocker.blocker.isAuthenticated.get(p) == true)
                                            p.sendMessage(TextComponent.fromLegacyText(Data.data.alreadyLoggedIn));
                                        return;

                                    }

                                    if (!MySQL.mySQL.isRegistered(p)) {

                                        p.sendMessage(TextComponent.fromLegacyText(Data.data.needRegister));
                                        return;

                                    }

                                    int code = Integer.parseInt(args[1]);
                                    String secretKey = null;
                                    String key = null;
                                    try {
                                        secretKey = MySQL.mySQL.getPlayer(p);
                                    } catch (Exception e) {
                                        p.sendMessage(TextComponent.fromLegacyText(Data.data.generalError));
                                        e.printStackTrace();
                                    }
                                    try {
                                        key = AESSerializer.aesSerializer.deserializeGoogleKey(secretKey);
                                    } catch (Exception e) {
                                        p.sendMessage(TextComponent.fromLegacyText(Data.data.generalError));
                                        e.printStackTrace();
                                    }

                                    if (!GoogleAuthAPI.googleAuthAPI.check(key, code)) {

                                        p.sendMessage(TextComponent.fromLegacyText(Data.data.wrongCode));

                                        if (!playerAttempCount.containsKey(p)) playerAttempCount.put(p, 1);
                                        else playerAttempCount.replace(p, playerAttempCount.get(p) + 1);

                                        if (playerAttempCount.get(p) >= Data.data.maxAttemps) {

                                            for (String s : Data.data.safetyCommands) {
                                                if (s.toLowerCase().startsWith("%log%")) {
                                                    System.out.println(s.replace("%log%", "").replaceAll("%player%", p.getName())
                                                            .replaceAll("%attemps%", String.valueOf(playerAttempCount.get(p)).replaceAll("%ip%", p.getAddress().toString())));
                                                } else {
                                                    ProxyServer.getInstance().getPluginManager().dispatchCommand(ProxyServer.getInstance().getConsole(), s.replaceAll("%player%", p.getName()));
                                                }
                                            }

                                        }

                                    } else {

                                        p.sendMessage(TextComponent.fromLegacyText(Data.data.success));
                                        if (Blocker.isAuthenticated.containsKey(p))
                                            Blocker.isAuthenticated.replace(p, true);
                                        else Blocker.isAuthenticated.put(p, true);
                                        try {
                                            MySQL.mySQL.updatePlayer(p, code);
                                        } catch (Exception e) {
                                            e.printStackTrace();
                                        }

                                    }

                                } catch (Exception e) {
                                    p.sendMessage(TextComponent.fromLegacyText(Data.data.generalError));
                                    e.printStackTrace();
                                }

                                } else {

                                    p.sendMessage(TextComponent.fromLegacyText(Data.data.wrongCode));

                                }

                            } else {

                                p.sendMessage(TextComponent.fromLegacyText(Data.data.wrongCode));

                            }

                        } else {

                            p.sendMessage(TextComponent.fromLegacyText(Data.data.noPerm));

                        }

                    }

                    else {

                        if (p.hasPermission("network.bAuth.admin")) {
                            p.sendMessage(TextComponent.fromLegacyText(Data.data.help1));
                        }
                        p.sendMessage(TextComponent.fromLegacyText(Data.data.help2));
                        p.sendMessage(TextComponent.fromLegacyText(Data.data.help3));

                    }

                }

                else if (args.length >= 3) {

                    if (p.hasPermission("network.bAuth.admin")) {
                        p.sendMessage(TextComponent.fromLegacyText(Data.data.help1));
                    }
                    p.sendMessage(TextComponent.fromLegacyText(Data.data.help2));
                    p.sendMessage(TextComponent.fromLegacyText(Data.data.help3));

                }

            } else {

                p.sendMessage(TextComponent.fromLegacyText(Data.data.noPerm));

            }

        } else {

            sender.sendMessage(TextComponent.fromLegacyText(ChatColor.DARK_RED + "The Console don't need to auth!"));

        }

    }
}
Und hier mein ChatEvent um Commands und Nachrichten zu blocken

Java:
@EventHandler(priority = EventPriority.HIGHEST)
    public void onChat(ChatEvent e) {

        ProxiedPlayer p = (ProxiedPlayer) e.getSender();

        if (p.hasPermission("network.bauth.verify")) {

            if (isAuthenticated.get(p) != null) {

                if (isAuthenticated.get(p) == false) {

                    if (e.getMessage().toLowerCase().startsWith("/bauth")) {

                        e.setCancelled(false);

                    } else if (e.getMessage().toLowerCase().startsWith("/auth")) {

                        e.setCancelled(false);

                    } else if (e.getMessage().toLowerCase().startsWith("/bungeeauth")) {

                        e.setCancelled(false);

                    } else {

                        e.setCancelled(true);
                        p.sendMessage(TextComponent.fromLegacyText(Data.data.needLogin));

                    }

                }

            }

        }

    }

Soweit funktioniert alles bis auf den markierten Login Part aus dem Command.


Vielen dank und Entschuldigung für meine eventuelle Blindheit im voraus


LG dmmk218
 

BloodSKreaper

Miner
Osterei Experte
Mitglied seit
12 Oktober 2014
Beiträge
193
Minecraft
BloodSKreaper
Guten Tag,

hast du schon versucht mit Debugging-Messages herauszufinden, bis wohin dein Code ausgeführt wird? Wenn nicht, dann würde ich dies versuchen. Generell würde ich an deiner Stelle mehr mit Unterprogrammen arbeiten, damit der Code nicht so schnell unübersichtlich wird.

Freundliche Grüße
BloodSKreaper
 

dmmk218

Redstoneengineer
Mitglied seit
28 Juni 2018
Beiträge
42
Alter
21
Guten Tag,

hast du schon versucht mit Debugging-Messages herauszufinden, bis wohin dein Code ausgeführt wird? Wenn nicht, dann würde ich dies versuchen. Generell würde ich an deiner Stelle mehr mit Unterprogrammen arbeiten, damit der Code nicht so schnell unübersichtlich wird.

Freundliche Grüße
BloodSKreaper

Klar werde ich mal versuchen klar könnte man hier und da noch kürzen (kam mir jetzt nicht so riesig vor hab noch alte 30 Zoll Apple Cinema Displays xD, und ich find es ist in IntelliJ sowieso alles sehr übersichtlich) wobei ich schon viel gekürzt habe :D
Aber ja ich werd mal ein paar debug messages einbinden und mich nochmal melden
 

dmmk218

Redstoneengineer
Mitglied seit
28 Juni 2018
Beiträge
42
Alter
21
Uff ganz dummer Fehler das ich den übersehen habe / konnte o_O

Falsch:
if (Blocker.blocker.isAuthenticated.get(p) != null) {
                                        if (Blocker.blocker.isAuthenticated.get(p) == true)
                                            p.sendMessage(TextComponent.fromLegacyText(Data.data.alreadyLoggedIn));
                                        return;

                                    }
Richtig:
if (Blocker.isAuthenticated.get(p) != null) {
                                        if (Blocker.isAuthenticated.get(p) == true) {
                                            p.sendMessage(TextComponent.fromLegacyText(Data.data.alreadyLoggedIn));
                                            return;
                                        }

                                    }
LG dmmk218 :p
 
Oben