Updating codes and changing codes

Discussion in 'Plugin Development' started by Pinoyskii, Oct 18, 2012.

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

    Pinoyskii

    Can anyone please tell or help me change these codes to the new codes and is it right?

    package me.Pinoyskii.MCStrike;

    import java.awt.Event;
    import java.util.ArrayList;
    import java.util.logging.Logger;

    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;

    public class MCStrike extends JavaPlugin
    {

    private static final Logger log - Logger.getlogger("Minecraft");
    private final MCStrikeListener Entitylistener - new MCStrikeListener(this);
    public final ArrayList<Player> MCStrikeUsers - new ArrayList<Player>();

    @Override
    public void onEnable()
    {
    log.info("[MCStrike] Has Been Enabled!");
    PluginManager pm - getserver().getPluginManager();
    pm.registerEvent(Event.Type.EntityDamageByEntity, EntityListener, Event.Priority.Normal, this);
    }

    @Override
    public void onDisable()
    {
    log.info("[MCStrike] has been disabled!");
    }

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
    {
    if(commandLabel.equalsIgnoreCase("MCStrike"))
    toggleMCStrike(sender);

    return true;

    }

    private void toggleMCStrike (CommandSender sender)
    {
    if( !enabled((Player) sender) )
    {
    MCStrikeUsers.add((Player) sender);
    ((Player) sender).sendMessage(ChatColor.RED + "MCStrike has been enabled!");
    }

    else
    {
    MCStrikeUsers.remove((Player) sender);
    ((Player) sender).sendmessage + blue
    }
    }

    public boolean enabled(Player player)
    {
    return MCStrikeUsers.contains(player);
    }
    }
     
  2. Offline

    Scizzr

    The new event system is like this:
    Code:
    public class Players implements Listener {
        MyPlugin plugin;
       
        public Players(MyPlugin plugin) {
            this.plugin = plugin;
        }
     
        @EventHandler(priority = EventPriority.NORMAL)
        public void onPlayerInteract(final PlayerInteractEvent e) {
            Player p = e.getPlayer();
            //etc
        }
    }
    
    The big things to note are 1)the EventPriority has been moved from the PluginManager listener registration call to an annotation, 2)your listener must implement org.bukkit.event.Listener, and 3)you can optionally add an IgnoreCancelled annotation like so:
    Code:
    @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
    

    And to register a listener from your main class, it's:
    Code:
    public class MyPlugin extends JavaPlugin {
        PluginManager pm;
        public Players listenerPlayers;
     
        public void onEnable() {
            pm = getServer().getPluginManager();
            listenerPlayers = new Players(this); pm.registerEvents(listenerPlayers, this);
        } 
    }
    
    The big thing to note is that you now have a different listener registration call.


    If you need any more help, you can always download the Bukkit JavaDocs. :)
     
    Pinoyskii likes this.
  3. Offline

    Pinoyskii

    Thanks!
     
Thread Status:
Not open for further replies.

Share This Page