• 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!

Spigot [Abgebrochen] Replace Default Messages

D

deleted209242

Guest
Sehr geehrte Foren User,

ich wollte mal fragen, da es bei mir nicht richtig funktioniert wie ich die folgenden Nachrichten über ein Plugin ändern kann:
  • Kick Message
  • Reload Message
  • Unknown command Message
für die Kick Message habe ich schon einen Code geschrieben, welcher aber nicht funktioniert:
java:
@EventHandler
public void onKick(PlayerKickEvent e) {
    Player p = e.getPlayer();
    e.setLeaveMessage("§a" + e.getPlayer().getName() + " §ewurde von §a" + p.getName() + " §egehörig in den Hintern getreten, weil: " + e.getReason());
}

Kann mir da jemand weiter helfen?

mfg Sullaysur
 
Zuletzt bearbeitet von einem Moderator:

BlackHole

Workaholic
Registriert
1 Juli 2012
Beiträge
752
Diamanten
0
Minecraft
BlackHole
Das PlayerKickEvent hat die Methoden setReason() und setLeaveMessage() für diesen Zweck.
/reload sollte man wirklich nie verwenden.
Für "Unknown command" ist mir keine Einstellmöglichkeit bei Spigot oder Paper bekannt.
 

maxi (* >ω<)=3

Minecrafter
Registriert
12 September 2018
Beiträge
17
Alter
29
Diamanten
300
Minecraft
2210
Für die Unknown Command Nachricht, gibt es in der spigot.yml Datei ein Value, tauft sich "unknown-command:"...
Simpler als gedacht, oder? Jedoch kommt ein eigenes Plugin Frage, wenn man in der Nachricht den falschen Befehl anzeigen will. Machen ja auch einige Server.. da steht ja dann "Der Befehl /hanswurst ist uns nicht bekannt.". :b

Greetings,
Maxi
 

BloodSKreaper

Vorarbeiter
Registriert
12 Oktober 2014
Beiträge
249
Diamanten
316
Minecraft
BloodSKreaper
Unknown command Message
Das hier funktioniert bei mir einwandfrei:
Java:
//Unknown Command-Message
      @EventHandler (priority = EventPriority.LOWEST)
      public void onHelpsEvent(PlayerCommandPreprocessEvent event)
      {
        if (!(event.isCancelled()))
        {
          Player player = event.getPlayer();
          String msg = event.getMessage().split(" ")[0];
          HelpTopic topic = Bukkit.getServer().getHelpMap().getHelpTopic(msg);
          if (topic == null)
          {
            event.setCancelled(true);
            player.sendMessage("§fDer Befehl §e[" + msg + "] §fexistiert nicht.");
          }
        }
        else{
            event.setCancelled(true);
        }
      }

Die Reload Message muss meines Erachtens nach nicht geändert werden, da /reload nicht für den Produktiv-Betrieb gedacht ist.

Freundliche Grüße
BloodSKreaper

PS: Bezüglich des Kick-Events würde ich zunächst einmal prüfen, ob der Listener registriert ist.
 
D

deleted209242

Guest
PS: Bezüglich des Kick-Events würde ich zunächst einmal prüfen, ob der Listener registriert ist.
Vielen Dank erstmal für deine Antwort, dass mit dem Unknown Command funktioniert einwandfrei.

Zudem habe ich nochmal geprüft ob das Kick event im Listener Regestriert ist, und ja das ist es, dennoch wird es nicht ausgeführt.
Hier nochmal der Code und die Einbindung in der Main:
Code:
//Events
PluginManager pm = Bukkit.getPluginManager();
pm.registerEvents(new PlayerEvents(), this);

Code:
@EventHandler
public void onKick(PlayerKickEvent e) {
    Player p = e.getPlayer();
    e.setLeaveMessage("§a" + e.getPlayer().getName() + " §ewurde von §a" + p.getName() + " §egehörig in den Hintern getreten, weil: " + e.getReason());
}
 
Oben