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