ServerPlugin Bukkit Standart Befehle entfernen und LoginEvent?

Dieses Thema im Forum "Programmierung" wurde erstellt von Masterfran99, 4. April 2014.

  1. Masterfran99
    Offline

    Masterfran99 Gesperrt

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

    Ich würde gerne wissen ob man die Befehle von Bukkit entfernen kann?

    Und in der Konsole steht ja wenn ein Spieler beitretet Player logging in with id plaplapla wie kann ich das ausblenden?
    Mit PlayerLoginEvent denke ich jedoch e.setcannselt geht nicht jedoch gibt es dort soetwas:

    Code (Text):
    1. e.disallow(result, message);
    2.         e.setKickMessage(message);
    Was ist ein result?
    Wäre nett wenn mir einer hilft.
    Danke:D
     
    #1
  2. DASPOT
    Offline

    DASPOT Moderator

    Registriert seit:
    1. November 2011
    Beiträge:
    1.445
    Ort:
    minecraftnews.de
    Minecraft:
    DASPOOT
    Also wirklich entfernen kannst du die Befehle nicht, soweit ich weiß. Allerdings gibt es dafür glaub ich überall permissions, die man Usern ggf. nehmen kann. Auch kann man dir Befehle Evtl. mit einem Plugin "überschreiben"
     
    #2
  3. Masterfran99
    Offline

    Masterfran99 Gesperrt

    Registriert seit:
    13. Oktober 2012
    Beiträge:
    100
    ok danke da wäre noch etwas:

    Es ist ja möglich die Nachrichten der Spieler wenn z.B. ich Hi schreibe das diese Nachricht nicht in der Konsole angezeigt wird nur Ingame.
    Nur wenn man am Anfang e.setCanncelt(true) macht dann steht nicht mehr der Spielername im Chat z.B. <Name>: Hi sondern nur Hi

    Wie genau macht man das?
     
    #3
  4. ReolatHD
    Offline

    ReolatHD

    Registriert seit:
    22. März 2014
    Beiträge:
    51
    Hi master,
    100% "entfernen" kannst du sie nicht. Aber du kannst sie über schreiben! Das heißt du machst einfach dass wen z.b jemand /gamemode 1 eingibt, das da die Standart fehlernachricht kommt.
    LG
    Reolat
     
    #4
  5. [Dev] iTzSasukeHDxLP
    Offline

    [Dev] iTzSasukeHDxLP Ehem. Teammitglied

    Registriert seit:
    5. Januar 2014
    Beiträge:
    938
    Man kann den Command in einer gewissen Weise überschreiben:

    Code (Text):
    1. public class CommandOverride implements Listener{
    2.     @SuppressWarnings("unused")
    3.     private String message;
    4.  
    5.  
    6.     public CommandOverride(String msg)
    7.     {
    8.         this.message = msg;
    9.     }
    10.  
    11.  
    12.     @EventHandler(priority=EventPriority.HIGHEST)
    13.     public void onCommandPreProcess(PlayerCommandPreprocessEvent e)
    14.     {
    15.         if (e.getMessage().startsWith("/pl") || e.getMessage().startsWith("pl") ||  e.getMessage().startsWith("/?") || e.getMessage().startsWith("?") || e.getMessage().contains("plugins") || e.getMessage().contains("pl"))
    16.         {
    17.             if (!e.getPlayer().hasPermission("Bukkit.commands"))
    18.             {
    19.                             Player p = e.getPlayer();
    20.                             p.sendMessage("Unknown command. Please.....)
    21.                 e.setCancelled(true);
    22.             }
    23.         }
    24.     }
    25.    
    26.    
    27. }

    Das würde den PluginBefehl vollständig weghauen.
     
    #5
  6. Masterfran99
    Offline

    Masterfran99 Gesperrt

    Registriert seit:
    13. Oktober 2012
    Beiträge:
    100
    ja danke nun zu meinen anderen Fragen oben weil das bräuchte ich wirklich.
     
    #6