[MC]Prefix aus Config laden klappt nicht

08/19/2017 22:24 kleinkiiko#1
Hallo,
ich versuche mich grade an einer Config datei und ich glaube so weit klappt auch alles nur wenn ich dann ein Befehl eingebe wo ich über der Config eine Prefix festgelegt habe kommt beim Befehl nichts im Chat. Man sieht zwar das dort eigentlich Buchstaben wären aber man sieht halts nichts .Da ich mich noch nicht so gut damit auskenne finde ich grade den Fehler nicht.

Screen vom Chat: [Only registered and activated users can see links. Click Here To Register...]

In der Main wird die Config erstellt und die default sachen eingetragen und dann in der Aufnahme Klasse will ich die Prefix benutzen. Hier mal mein Code:
Main:
[Only registered and activated users can see links. Click Here To Register...]

Aufnahme:
[Only registered and activated users can see links. Click Here To Register...]

Und wie mache ich es am besten das man & anstatt von § in der Config benutzen kann ( Für farbige Texte )
08/21/2017 02:33 kleinkiiko#2
Push :D
08/21/2017 18:18 Serraniel#3
Pushen ist unnötig, erst recht wenn nichtmals neue Beiträge seitdem in der Subsection waren!


Kenne mich jetzt nicht mit der Bukket API von Minecraft aus, aber du solltest aus der anderen Klasse eigentlich über
PHP Code:
Main.getInstance().Prefix 
auf den Prefix zugreifen können.

Was mir spontan an deinem Code aufgefallen ist:
  • Du hast einen getter für instance implementiert, machst aber instance direkt public? Wozu?
  • Bei deiner Aufnahme Klasse im onCommand kannst du bei deinen Checks ob man die Permissions hat if else verwenden, liest sich einfach besser. Auch, und das ist jetzt konzeptionell da ich nicht weiß was mit der Rückgabe von onCommand passiert, denke ich, dass im Fehlerfall (fehlende Permissions) ein false als Rückgabe besser geeignet wäre, da der eigentliche Command ja nicht ausgeführt wurde. Aber da weiß ich wie gesagt nicht, wie der Rückgabewert später ausgewertet wird.
  • Codeformatierung!!!


Bekommst du denn irgendwelche Exceptions? Funktionieren die anderen Ausgaben?
08/22/2017 15:26 iMostLiked#4
Das hier in der Aufnahme-Class deklarieren:

Code:
public Main plugin;
Damit den String abrufen:

Code:
plugin.reloadConfig();
plugin.getConfig().getString("plugin.NoPermission");
08/27/2017 00:24 ComputerBaer#5
Das Problem ist, dass dein Wert in der Config "plugin.noPermission" heißt, du aber versuchst "plugin.NoPermission" zu laden.

Zu dem von Serraniel kann ich noch hinzufügen:
Code:
// Hier solltest du vielleicht lieber den Logger verwenden getLogger().info("hallo"); und nicht eine Chatnachricht an die Konsole schicken.
        ConsoleCommandSender console = server.getConsoleSender();
        console.sendMessage("");
        console.sendMessage(ChatColor.BLUE + "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-");
        console.sendMessage(ChatColor.DARK_GREEN + "[kYouTube] Erfolgreich geladen!");
        console.sendMessage(ChatColor.DARK_GREEN + "[kYouTube] Version: 1.0");
        console.sendMessage(ChatColor.BLUE + "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-");

// Hier wäre sender.sendMessage besser, weil der sender nicht automatisch die Konsole ist wenn es kein Spieler ist
        if(!(sender instanceof Player))
        {
            System.out.println("[Fehler] Dieses Commando ist nur für Spieler.");  
            return true;
        }