Plugin Enable Message ändern.

Dieses Thema im Forum "Programmierung" wurde erstellt von Masterfran99, 30. März 2014.

  1. Masterfran99
    Offline

    Masterfran99 Gesperrt

    Registriert seit:
    13. Oktober 2012
    Beiträge:
    100
    Hallo,

    Ich hab gesehen trotz das ich folgendes im geschrieben habe nochmal Extra 2 Messages in der Konsole stehen was ich sinnlos finde:

    Code (Text):
    1.     @Override
    2.     public void onEnable() {
    3.         System.out.println("[DiscoverZone] Plugin aktiviert!");
    4. }
    Eigendlich sollte dann nur das stehen:

    [DiscoverZone] Plugin aktiviert!

    jedoch steht folgendes da:

    [DiscoverZone] Loading DiscoverZone v1.2.0
    [DiscoverZone] Enabling DiscoverZone v.1.2.0
    [DiscoveZone] Plugin aktiviert!


    Wie kann ich nun die oberen 2 Nachrichten weglassen damit weniger in der Konsole steht?

    Danke

    PS: Da wäre noch folgende Nachricht die nervt weil die sinnlos ist: Server permissions file permissions.yml is empty, ignoring it
     
    #1
  2. Mrcookie008
    Offline

    Mrcookie008

    Registriert seit:
    15. Dezember 2011
    Beiträge:
    380
    Ort:
    /home
    Minecraft:
    xCookieZz oder Mrcookie008 (Beides Premium)
    Bukkit gibt von sich aus auch eine Message aus, welche du bestimmt irgentwie deaktivieren kannst (craftbukkit umschreiben z.B) aber da ja nur du diese Message siehst, also als Serverowner, ist das Relativ unnötig wie ich finde.
    Das mit der permissions.yml einfach ignorieren, das kommt daher weil deine permissions.yml Datei leer ist (Theoretisch wenn du ja was rein schreibst, müsste die Nachricht weggehen^^ :p)
    Falls du denkst der Server braucht länger zu starten wegen diesen Messages oder Laggt kann ich dir sagen, dass das nicht wirklich stimmt :)
    LG.
     
    #2
  3. Masterfran99
    Offline

    Masterfran99 Gesperrt

    Registriert seit:
    13. Oktober 2012
    Beiträge:
    100
    Also:

    Man kann ja bei Listener immer event.setCancelled(true);
    Vorher machen damit alles was normaler Weise vorher passiert ist gecancelled wird.

    Also müsste es auch so Ähnlich im onEnable() oder onDisable() Teil gehen oder?

    Bei der Permissions.yml wenn ich da z.b. Permission reinschreibe kommt eine Fehlermeldung nach einen Reload.

    Edit:

    Du hattest ja ein Video gemacht wie man die Reload Message ändert.
    Erstmal danke weil alles sollte stylischer sein.
    Kann man das auch für die Konsole benutzen? z.B. ConsoleCommandPreprocessEvent was es leider nicht gibt?
     
    #3
  4. Pappi
    Offline

    Pappi Gesperrt

    Registriert seit:
    28. Oktober 2012
    Beiträge:
    141
    Ort:
    H.a.S/NRW/Germany
    Minecraft:
    Pappi / PapaHarni

    Schreib das am anfang des onEnable() rein , dann ist die Nachricht weg ;-)

     
    #4
  5. Masterfran99
    Offline

    Masterfran99 Gesperrt

    Registriert seit:
    13. Oktober 2012
    Beiträge:
    100
    Dann kommt ein Fehler D:
     
    #5
  6. games6471
    Online

    games6471

    Du könntest einen Filter auf deinem Logger setzten, der diese Nachricht filtert. Dieser müsste nur innerhalb des Konstruktors gesetzt werden, da die onEnable und sogar die onLoad Methoden erst nach der Nachricht aufgerufen werden.
     
    #6
  7. Masterfran99
    Offline

    Masterfran99 Gesperrt

    Registriert seit:
    13. Oktober 2012
    Beiträge:
    100
    Das bedeutet?
    Kleiner Ansatz bitte:
     
    #7
  8. games6471
    Online

    games6471

    Angewandt:

    [​IMG]

    Dies ist nur ein Beispiel und sollte nicht einfach so verwendet werden.
    HauptKlasse:

    Code (Text):
    1. package com.github.games647.testplugin;
    2.  
    3. import java.util.logging.Level;
    4.  
    5. import org.bukkit.plugin.PluginDescriptionFile;
    6. import org.bukkit.plugin.java.JavaPlugin;
    7.  
    8. public class TestPlugin extends JavaPlugin {
    9.  
    10.     public TestPlugin() {
    11.         final PluginDescriptionFile description = getDescription();
    12.         getLogger().setFilter(new MessageFilter(description.getFullName()));
    13.     }
    14.  
    15.     @Override
    16.     public void onEnable() {
    17.         final PluginDescriptionFile description = getDescription();
    18.         getLogger().log(Level.INFO, "Aktiviere {0}", description.getFullName());
    19.     }
    20.  
    21.     @Override
    22.     public void onLoad() {
    23.         final PluginDescriptionFile description = getDescription();
    24.         getLogger().log(Level.INFO, "Lade {0}", description.getFullName());
    25.     }
    26. }
    27.  
    Filter:

    Code (Text):
    1. package com.github.games647.testplugin;
    2.  
    3. import java.util.logging.Filter;
    4. import java.util.logging.LogRecord;
    5.  
    6. public class MessageFilter implements Filter {
    7.  
    8.     private final String pluginName;
    9.  
    10.     public MessageFilter(String pluginName) {
    11.         this.pluginName = pluginName;
    12.     }
    13.  
    14.     @Override
    15.     public boolean isLoggable(LogRecord record) {
    16.         final String message = record.getMessage();
    17.         return !message.contains("Loading " + pluginName)
    18.                 && !message.contains("Enabling " + pluginName);
    19.     }
    20. }
    21.  
     

    Anhänge:

    #8
  9. Masterfran99
    Offline

    Masterfran99 Gesperrt

    Registriert seit:
    13. Oktober 2012
    Beiträge:
    100
    Wenn ich fragen darf warum darf man das nicht einfach so anwenden?
     
    #9
  10. games6471
    Online

    games6471

    Du solltest den Code verstehen und nicht einfach Copy-Paste in dein Plugin einfügen. Zudem ist dies Codeabschnitt nicht für alle Pluginmessages konzipiert. Es fehlt beispielsweise der Filter für die Disable-Nachricht. (Aus Abschicht)
     
    #10