1. 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!

ServerPlugin Command ausführen

Dieses Thema im Forum "Programmierung" wurde erstellt von felunka, 10. Juni 2015.

  1. felunka
    Offline

    felunka

    Registriert seit:
    26. Dezember 2014
    Beiträge:
    57
    Minecraft:
    felunka
    Hi!
    Ich habe folgenden Ansatz:
    Code (Text):
    1.  
    2. package bungeehandler;
    3.  
    4. import org.bukkit.Bukkit;
    5. import org.bukkit.command.Command;
    6. import org.bukkit.command.CommandSender;
    7. import org.bukkit.entity.Player;
    8. import org.bukkit.plugin.java.JavaPlugin;
    9.  
    10. public class bungeehandler extends JavaPlugin{
    11.     public void onEnable(){
    12.         System.out.println("[Bungeehandler] wird gestartet!");
    13.     }
    14.    
    15.     public void onDisable(){
    16.         System.out.println("[Bungeehandler] wird gestoppt!");
    17.     }
    18.    
    19.     public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args){
    20.         if ( sender instanceof Player )
    21.         {
    22.             Player p = (Player) sender;
    23.             if ( cmd.getName().equalsIgnoreCase("play"))
    24.             {
    25.                 if (p.hasPermission("bungeehandler.player"))
    26.                 {
    27.                     if ( args.length == 0)
    28.                     {
    29.                         p.sendMessage("§eBitte gib ein Spiel ein das du Spielen möchtest!");
    30.                     }
    31.                     else
    32.                     {
    33.                         p.dispatchCommand("server " + args[0]);
    34.                     }
    35.                 }
    36.                 return true;
    37.             }
    38.             else
    39.             {
    40.                 return false;
    41.             }
    42.         }
    43.         else
    44.         {
    45.             System.out.println("[Bungeehandler] Dieser Befehl ist nur für Spieler!");
    46.         }
    47.     }
    48.  
    49. }
    50.  
    Wieso ist in Eclipse meine Zeile 32 rot bei "dispatchCommand" mit der Beründung: "The method dispatchCommand(String) is undefined for the type Player"???
     
    #1
  2. Werbung
    Online

    Werbung

  3. SasukeKawaii
    Offline

    SasukeKawaii Ehem. Teammitglied

    Registriert seit:
    5. Januar 2014
    Beiträge:
    966
    1. heißt die Methode performCommand und
    2. kannst du aus Bukkit keine BungeeCordCommands ausführen!
     
    #2
  4. felunka
    Offline

    felunka

    Registriert seit:
    26. Dezember 2014
    Beiträge:
    57
    Minecraft:
    felunka
    warum? ich kann doch auch im chat /server machen :O

    EDIT:
    performCommand geht aber du hast recht es kommt "Diesen Befehl gibt es nicht!"
    gibt es da ne andere möglichkeit?
     
    #3
  5. felunka
    Offline

    felunka

    Registriert seit:
    26. Dezember 2014
    Beiträge:
    57
    Minecraft:
    felunka
    ich hab was gefunden!
    Code (Text):
    1.  
    2. package bungeehandler;
    3.  
    4. import java.io.ByteArrayOutputStream;
    5. import java.io.DataOutputStream;
    6. import java.io.IOException;
    7.  
    8. import org.bukkit.Bukkit;
    9. import org.bukkit.command.Command;
    10. import org.bukkit.command.CommandSender;
    11. import org.bukkit.entity.Player;
    12. import org.bukkit.plugin.java.JavaPlugin;
    13.  
    14. public class bungeehandler extends JavaPlugin{
    15.     public void onEnable(){
    16.         System.out.println("[Bungeehandler] wird gestartet!");
    17.         Bukkit.getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
    18.         System.out.println("[Bungeehandler] Outgoing Plugin Channel Registriert!");
    19.     }
    20.    
    21.     public void onDisable(){
    22.         System.out.println("[Bungeehandler] wird gestoppt!");
    23.     }
    24.    
    25.     public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args){
    26.         if ( sender instanceof Player )
    27.         {
    28.             Player p = (Player) sender;
    29.             if ( cmd.getName().equalsIgnoreCase("play"))
    30.             {
    31.                 if (p.hasPermission("bungeehandler.player"))
    32.                 {
    33.                     if ( args.length == 0)
    34.                     {
    35.                         p.sendMessage("§eBitte gib ein Spiel ein das du Spielen möchtest!");
    36.                     }
    37.                     else
    38.                     {
    39.                         ByteArrayOutputStream b = new ByteArrayOutputStream();
    40.                         DataOutputStream out = new DataOutputStream(b);
    41.                                
    42.                         try {
    43.                             out.writeUTF("Connect");
    44.                             out.writeUTF(args[0]);
    45.                         } catch (IOException e) {
    46.                             p.sendMessage("Während der Teleportierung ist ein Fehler aufgetreten: " + e.getMessage());
    47.                         }
    48.                         p.sendPluginMessage(this, "BungeeCord", b.toByteArray());
    49.                         System.out.println("Spieler: " + p.getName() + " will sich zu: " + args[0] + " teleportieren!");
    50.                     }
    51.                 }
    52.                 return true;
    53.             }
    54.             else
    55.             {
    56.                 return false;
    57.             }
    58.         }
    59.         else
    60.         {
    61.             System.out.println("[Bungeehandler] Dieser Befehl ist nur für Spieler!");
    62.             return false;
    63.         }
    64.     }
    65.  
    66. }
    67.  
     
    #4
  6. SasukeKawaii
    Offline

    SasukeKawaii Ehem. Teammitglied

    Registriert seit:
    5. Januar 2014
    Beiträge:
    966
    Exakt, aber blindlings args[0] in den Stream zu schreiben ist fragwürdig.
     
    #5
  7. felunka
    Offline

    felunka

    Registriert seit:
    26. Dezember 2014
    Beiträge:
    57
    Minecraft:
    felunka
    warum das? meinst du weil sich dann jeder spieler in jede welt teleportieren kann?
     
    #6
  8. Eisphoenix
    Offline

    Eisphoenix

    Registriert seit:
    9. Oktober 2014
    Beiträge:
    81
    Minecraft:
    Eisphoenix
    Dir ist schon bewusst das es Server sind und keine Welten? ^•^
     
    #7
  9. felunka
    Offline

    felunka

    Registriert seit:
    26. Dezember 2014
    Beiträge:
    57
    Minecraft:
    felunka
    ja mein ich doch ^^
     
    #8
  10. felunka
    Offline

    felunka

    Registriert seit:
    26. Dezember 2014
    Beiträge:
    57
    Minecraft:
    felunka
    nein kann man nicht wegen bungeecord
     
    #9