• 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 /version meldung ändern bzw in eigenem Command ausgeben

Sullaysur

Redstoneengineer
Osterei Experte
Mitglied seit
22 Januar 2019
Beiträge
48
Hallo Foren User,

ich wollte gerne eine eigene meldung für den /version Command ausgeben lassen, zudem aber in einem anderen Command die normale /version nachricht ausgeben lassen, bitte nicht fragen warum, ist halt so.

Dafür müsste ich aber wissen wie ich das ganze anstelle, also wie kann ich bei /version einen anderen Text ausgeben und wie kann ich bei z.B. /normalversion die eigentliche nachricht ausgen? bzw. wie bekomme ich die?

mfg Sullaysur
 

SilberRegen

Workaholic
Mitglied seit
23 März 2012
Beiträge
890
Alter
28
Minecraft
SilberRegen
Abhängig davon ob du nur ein Alias möchtest, oder das ganze auch an Permissions/andere Bedingungen verknüpft sein soll, gibt es verschiedene Ansätze zu deinem Problem.
Möchtest du dazu tatsächlich etwas programmieren oder suchst du eher nach einer fertigen Lösung?
 

Sullaysur

Redstoneengineer
Osterei Experte
Mitglied seit
22 Januar 2019
Beiträge
48
Ich würde das ganze gerne selber in mein Plugin einbauen und nicht irgend ein fertigesd teil aus dem Internet runterladen.

Ich habe schon etwas gegoogelt, wobei ich nur folgendes gefunden habe: Bukkit.getversion(); oder Bukkit.getbukkitversion(); funktioniert aber beides nicht, zudem habe ich schon folgende klasse für den Command angelegt:
Code:
public class Version implements CommandExecutor{
   
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if ((sender instanceof ConsoleCommandSender)) {
            sender.sendMessage(Main.noconsole);
            return true;
        }
        Player p = (Player) sender;
        if(cmd.getName().equalsIgnoreCase("version")) {
            if(p.hasPermission("Server.version")) {
                /gebe den original Text von /version aus!
            } else {
                p.sendMessage(Main.prefix + "§6ServerVersion: §fDer Server benutzt die Version 1.13.2!");
            }
        } else if(cmd.getName().equalsIgnoreCase("ver")) {
            if(p.hasPermission("Server.version")) {
                //gebe den original Text von /version aus!
            } else {
                p.sendMessage(Main.prefix + "§6ServerVersion: §fDer Server benutzt die Version 1.13.2!");
            }
        } else {
            p.sendMessage(Main.prefix + " §4Bitte benutzte §3/help §4für Hilfe!");
        }
        return false;
    }

}
Zudem ist mir auch schon aufgefallen, dass ich die permission abfrage auch nur einmal machen brauche, ist aber noch nicht geändert.

Das einzigste was mir noch fehlt steht als kommentar an der stelle, zudem kommt immer bei /version der originale Text, auch wenn man keine Permissions hat.
Selbes problem habe ich bei /plugin, wie kann ich das verhindern?
Weil bei /pl & /ver funktioniert es ja auch.
 

Sullaysur

Redstoneengineer
Osterei Experte
Mitglied seit
22 Januar 2019
Beiträge
48
Das Hilft mir leider nicht komplett weiter, es lößt mein bestehendes Problem ja nicht, da ich die ausgabe des /versions command dann nicht darstellen kann, worum es mir ja grundsätzlich geht.

Bei den Plugins funktioniert das ja folgendermaßen: sender.sendMessage("§6Plugins " + GetPlugins.getPluginList());

Code:
public class GetPlugins {
    
    public static String getPluginList() {
        StringBuilder pluginList = new StringBuilder();
        Plugin[] plugins = Bukkit.getPluginManager().getPlugins();

        for (Plugin plugin : plugins) {
            if (pluginList.length() > 0) {
                pluginList.append(ChatColor.WHITE);
                pluginList.append(", ");
            }

            pluginList.append(plugin.isEnabled() ? ChatColor.GREEN : ChatColor.RED);
            pluginList.append(plugin.getDescription().getName());
        }

        return "[" + plugins.length + "]:\n" + pluginList.toString();
    }

}
Aber wie mache ich das bei der Version?
 

DerFrZocker

Schafhirte
Osterei Experte
Mitglied seit
10 Dezember 2017
Beiträge
112
Alter
19
Minecraft
DerFrZocker
"/version" ist nichts anderes als ein allias von "icanhasbukkit", das heißt, lösche aus der commands.yml den allias "version" damit dein Command benutzt wird. Danach Zeige dem Spieler je nach Berechtigung deine Versions ausgabe oder Lasse den Spieler den Command "icanhasbukkit" ausführen um die Default Nachricht zu sehen.
 

Sullaysur

Redstoneengineer
Osterei Experte
Mitglied seit
22 Januar 2019
Beiträge
48
Das habe ich jetzt in meiner commands.yml stehen, funktioniert dennoch nicht
Code:
# This is the commands configuration file for Bukkit.
# For documentation on how to make use of this file, check out the Bukkit Wiki at
# https://www.spigotmc.org/go/commands-yml
#
# If you need help on this file, feel free to join us on irc or leave a message
# on the forums asking for advice.
#
# IRC: #spigot @ irc.spi.gt
#    (If this means nothing to you, just go to https://www.spigotmc.org/go/irc )
# Forums: https://www.spigotmc.org/
# Bug tracker: https://www.spigotmc.org/go/bugs

command-block-overrides: []
ignore-vanilla-permissions: false
aliases:
    icanhasbukkit:
    - "version $1-"
Habe ich da einen Fehler drin oder was muss ich dann noch weiteres machen?
 
Zuletzt bearbeitet:

CapuzDE

Redstoneengineer
Osterei Experte
Mitglied seit
16 Juni 2018
Beiträge
39
Minecraft
CapuzDE
Mach es doch einfach mit nem PlayerCommandPreprocessEvent.

Java:
    @EventHandler
    public void onUseCMD(PlayerCommandPreprocessEvent e) {
                
        if(e.getMessage().equals("/pl") || e.getMessage().equals("/plugins")) {
            e.setCancelled(true);
            e.getPlayer().sendMessage(Main.prefix + "§7Dieser Befehl ist uns nicht bekannt.");
        }
 
Allgemein
Hilfe Benutzer
  • maybeto maybeto:
    und manchmal ist es auch besser, wenn man nicht alles lesen kann... :eek:
    +2
  • Dean Dean:
    Im nicht Darkmode gehen aber die Augen von denen kaputt, weil es zu hell ist
  • Matthias Matthias:
    mh ja, ich sitze nicht im dunkeln keller
  • ❤️可愛いちゃん️❤️ ❤️可愛いちゃん️❤️:
    fordere dark mode freundlichen avatar von matthias
  • ❤️可愛いちゃん️❤️ ❤️可愛いちゃん️❤️:
    das weiß im hintergrund blendet mich
  • maybeto maybeto:
    seit ich meine Fenster geputzt habe, ist es besser geworden.....
  • Dean Dean:
    im Darkmode kann ich ja die Avatare invertieren, sollte dann reichen
  • HardSoul HardSoul:
    Ein Herz für Kellerkinder! Manchmal hat man nunmal nicht die Wahl des Fensters!
  • Stern☆ Stern☆:
    Morgen :)
  • Dean Dean:
    Moin
  • Matthias Matthias:
    Guten Morgen
  • HardSoul HardSoul:
    Morgen :)
  • LottaXL LottaXL:
    Moin, moin =)
  • ❤️可愛いちゃん️❤️ ❤️可愛いちゃん️❤️:
    Uh, der eine Kollege ist aber hartnäckig.
  • SirYwell SirYwell:
    welcher wo?
  • ❤️可愛いちゃん️❤️ ❤️可愛いちゃん️❤️:
    Der, der schon den 3. Thread erstellt hat um sein GS zu mergen oder so.
  • HardSoul HardSoul:
    Ach Misses Inaktiv xD
  • ❤️可愛いちゃん️❤️ ❤️可愛いちゃん️❤️:
    Hatte ihm ja gesagt, dass ich mich um sein Problem kümmere, aber scheinbar wurde der Thread schon gelöscht.
  • HardSoul HardSoul:
    Du wärst auf deren Server gegangen und hättest da mal richtig was los getreten, damit unsere User immer glücklich und zufrieden sind oder?
  • SirYwell SirYwell:
    uff
  • ❤️可愛いちゃん️❤️ ❤️可愛いちゃん️❤️:
    Ich hätte gar nichts gemacht und er wäre im Chat des Server ausgerastet und hätte somit auch seine Hilfe bekommen
  • HardSoul HardSoul:
    Ok, das klingt nach einem verflucht guten Plan
  • Dean Dean:
    Moin
  • Matthias Matthias:
    Guten Morgen
  • Stern☆ Stern☆:
    Morgen :)
    Stern☆ Stern☆: Morgen :)
    Oben