registerEvent problem

Discussion in 'Plugin Development' started by jdjack, Jan 1, 2012.

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

    jdjack

    Hi Guys, I'm a 13 year old kid and I'm trying to learn Java to program plugins for minecraft. I want to make a mod that when i put a certain title on a sign; it will change the text to what i want. Unforntunatley i have got one error. Could some one please help me on what to do. The problem is the " pm.registerEvent... ".
    It says

    "The method registerEvent(Event.Type, Listener, Event.Priority, Plugin) in the type PluginManager is not applicable for the arguments (Event.Type, shlistener, Event.Priority, shmain)"

    It says i should change it to this:

    registerEvent(Type, Listener, EventExecutor, Priority, Plugin).

    Please help. Here is my code for the main file.


    Code:
    package signhire;
    
    import java.util.logging.Logger;
    
    import org.bukkit.event.Event;
    import org.bukkit.event.Event.Priority;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class shmain extends JavaPlugin {
        Logger log = Logger.getLogger("Minecraft");
        private final shlistener plistener = new shlistener();
    
        @Override
        public void onDisable() {
            log.info("[SIGNHIRE]: hsa been disabled");
    
        }
    
        @Override
        public void onEnable() {
            PluginManager pm = getServer().getPluginManager();
            pm.registerEvent(Event.Type.SIGN_CHANGE, plistener, Priority.Normal, this);
            log.info("[SIGNHIRE]: hsa been enabled");
    
        }
    
    }
    
    Tis is the code for my listener.

    Code:
    package signhire;
    
    import org.bukkit.entity.Player;
    import org.bukkit.event.block.SignChangeEvent;
    import org.bukkit.event.player.PlayerListener;
    
    public class shlistener extends PlayerListener {
    
        public void onSignChange (SignChangeEvent event){
            Player p = event.getPlayer();
            if (event.getLine(1).equalsIgnoreCase("Room 1") || event.getLine(1).equalsIgnoreCase("Room 2")
                    ||event.getLine(1).equalsIgnoreCase("Room 3")||event.getLine(1).equalsIgnoreCase("Room 4")
                    ||event.getLine(1).equalsIgnoreCase("Room 5")||event.getLine(1).equalsIgnoreCase("Room 6")
                    ||event.getLine(1).equalsIgnoreCase("Room 7")){
    
                event.setLine(2, "&4"+p.getDisplayName());
                event.setLine(4, "Rented");
    
            }
        }
    
    }
    
    Thanks everyone
     
  2. Offline

    wwsean08

    you want a BlockListener not a PlayerListener
     
  3. Offline

    jdjack

    Thank-you so much
     
Thread Status:
Not open for further replies.

Share This Page