Command Plugin Problem

Discussion in 'Plugin Development' started by MindCode, Jan 18, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    MindCode

    Hello,

    I like to write a plugin wich shows the server rules by the command: "/rules"
    The server loads the plugin:

    2011-01-18 14:06:53 [INFO] rules 1.0 loaded.

    Now i login and type: "/rules" but the server tells me:

    2011-01-18 14:06:58 [INFO] MindCode issued server command: rules
    2011-01-18 14:06:58 [INFO] Unknown console command. Type "help" for help.

    Here the codes:

    rulesPlugin.java:

    Code:
    package org.bukkit.mindcode.rules;
    
    import java.io.File;
    import java.util.HashMap;
    import java.util.logging.Logger;
    
    
    //import org.bukkit.ChatColor;
    
    import org.bukkit.Server;
    //import org.bukkit.plugin.Command;
    
    import org.bukkit.entity.Player;
    import org.bukkit.event.Event;
    import org.bukkit.event.Event.Priority;
    import org.bukkit.plugin.PluginDescriptionFile;
    import org.bukkit.plugin.PluginLoader;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
    
    
    
    public class rulesPlugin extends JavaPlugin
    {
        public int RANGE = 512;
        public String AUTO_ON_GROUP = "";
        public int TOTAL_REFRESHES = 10;
        public boolean DISABLE_TP = false;
        public boolean HIDE_USERS = false;
    
        public HashMap<String, Player> invisible = new HashMap<String, Player>();
    
        private final rulesPlayerListener playerListener = new rulesPlayerListener(this);
        private final Logger log = Logger.getLogger("Minecraft");
    
        public rulesPlugin(PluginLoader pluginLoader, Server instance, PluginDescriptionFile desc, File folder, File plugin, ClassLoader cLoader)
        {
            super(pluginLoader, instance, desc, folder, plugin, cLoader);
        }
    
        public void onDisable()
        {
            log.info(getDescription().getName() + " " + getDescription().getVersion() + " unloaded.");
        }
    
        public void onEnable()
        {
            log.info(getDescription().getName() + " " + getDescription().getVersion() + " loaded.");
            PluginManager pm = getServer().getPluginManager();
            pm.registerEvent(Event.Type.PLAYER_JOIN, playerListener, Priority.Monitor, this);
            pm.registerEvent(Event.Type.PLAYER_QUIT, playerListener, Priority.Monitor, this);
            pm.registerEvent(Event.Type.PLAYER_COMMAND, playerListener, Priority.Monitor, this);
        }
    
      
    
    
        }
    
    
    

    rulesPlayerListener.java:

    Code:
    package org.bukkit.mindcode.rules;
    
    import org.bukkit.ChatColor;
    import org.bukkit.entity.Player;
    import org.bukkit.event.player.PlayerEvent;
    import org.bukkit.event.player.PlayerListener;
    import org.bukkit.plugin.Command;
      
    public class rulesPlayerListener extends PlayerListener
    {
        private final rulesPlugin plugin;
    
        public rulesPlayerListener(rulesPlugin instance)
        {
            plugin = instance;
        }
    
        @Override
        public void onPlayerJoin(PlayerEvent event)
        {
    
            /*
             * if (player.isInGroup(AUTO_ON_GROUP)) { if (plugin.isDebugging(player)) { player.sendMessage("Auto On group !"); } rules(player); }
             */
        }
    
        @Override
        public void onPlayerQuit(PlayerEvent event)
        {
            Player player = event.getPlayer();
            plugin.invisible.remove(player);
        }
    
        public boolean Command(Player player, Command command, String commandLabel, String[] args)
        {
    
            if (command.getName().equalsIgnoreCase("rules"))
            {
     
                    String arg0 = "Test";
                    player.sendMessage(ChatColor.RED + arg0);
                    //player.sendMessage(ChatColor.RED + message.substring(0, message.length() - 2));
                    return true;
    
            }
            return true;
     
        }
    
    }
    
    Where is the Problem?
     
  2. So far as i know, the function for PLAYER_COMMAND is:
    Code:
    public void onPlayerCommand(PlayerChatEvent event)
    
     
  3. Offline

    MindCode

    doenst work
    got the same problem :-(
     
  4. same prob too.
     
  5. Offline

    exec

    You've mixed the two ways you can use commands at the moment.

    Way 1: Hook PLAYER_COMMAND and parse the chat message in
    Code:
    public void onPlayerCommand(PlayerChatEvent e)
    in your Listener.

    Way 2: Define your commands in plugin.yml and parse them in
    Code:
    public boolean onCommand(Player player, Command command, String commandLabel, String[] args)
    in your plugin.
     
  6. Offline

    MindCode

    Yes, it works now!!!
    Great, thank you =)

    Code:
    public void onPlayerCommand(PlayerChatEvent event)
    
         {
    
            if (event.getMessage().equalsIgnoreCase("/rules"))
    
            {
            Player player = event.getPlayer();
                log.info("### Spieler " + player.getName() +" hat die Regeln gelesen!");
                player.sendMessage("This is a test!");
                }
     
        }
     
Thread Status:
Not open for further replies.

Share This Page