Make Essentials Update use new Listener system, and fix a few general mistakes, including that of the config

This commit is contained in:
md_5 2012-02-15 19:34:46 +11:00
parent ad05516fd5
commit 0252d756f6
5 changed files with 20 additions and 35 deletions

View file

@ -40,7 +40,7 @@ change-displayname: true
# The value of change-displayname (above) has to be true. # The value of change-displayname (above) has to be true.
# If you don't set this, it will default to true if essentials chat is installed. # If you don't set this, it will default to true if essentials chat is installed.
# Don't forget to remove the # infront of the line # Don't forget to remove the # infront of the line
# add-prefix-suffix: false #add-prefix-suffix: false
# The delay, in seconds, required between /home, /tp, etc. # The delay, in seconds, required between /home, /tp, etc.
teleport-cooldown: 0 teleport-cooldown: 0

View file

@ -7,8 +7,6 @@ import java.util.Map;
import java.util.concurrent.ConcurrentSkipListMap; import java.util.concurrent.ConcurrentSkipListMap;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.bukkit.event.Event.Priority;
import org.bukkit.event.Event.Type;
import org.bukkit.event.player.PlayerChatEvent; import org.bukkit.event.player.PlayerChatEvent;
import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;

View file

@ -5,6 +5,6 @@ main: com.earth2me.essentials.chat.EssentialsChat
version: TeamCity version: TeamCity
website: http://tiny.cc/EssentialsCommands website: http://tiny.cc/EssentialsCommands
description: Provides chat control features for Essentials. Requires Permissions. description: Provides chat control features for Essentials. Requires Permissions.
authors: [Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo, ceulemans, Xeology, KHobbits, Okamosy] authors: [Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo, ceulemans, Xeology, KHobbits, md_5, Okamosy]
depend: [Essentials] depend: [Essentials]
#softdepend: [Factions] #softdepend: [Factions]

View file

@ -7,16 +7,15 @@ import java.util.Map;
import org.bukkit.Server; import org.bukkit.Server;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.Event.Priority; import org.bukkit.event.EventHandler;
import org.bukkit.event.Event.Type; import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerChatEvent; import org.bukkit.event.player.PlayerChatEvent;
import org.bukkit.event.player.PlayerListener;
import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.plugin.Plugin; import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.PluginManager;
public class EssentialsHelp extends PlayerListener public class EssentialsHelp implements Listener
{ {
private transient Player chatUser; private transient Player chatUser;
private final transient Server server; private final transient Server server;
@ -39,8 +38,7 @@ public class EssentialsHelp extends PlayerListener
public void registerEvents() public void registerEvents()
{ {
final PluginManager pluginManager = server.getPluginManager(); final PluginManager pluginManager = server.getPluginManager();
pluginManager.registerEvent(Type.PLAYER_QUIT, this, Priority.Low, plugin); pluginManager.registerEvents(this, plugin);
pluginManager.registerEvent(Type.PLAYER_CHAT, this, Priority.Low, plugin);
} }
public void onCommand(final CommandSender sender) public void onCommand(final CommandSender sender)
@ -155,18 +153,17 @@ public class EssentialsHelp extends PlayerListener
ircBot = new IrcBot(player, "Ess_" + player.getName(), UsernameUtil.createUsername(player)); ircBot = new IrcBot(player, "Ess_" + player.getName(), UsernameUtil.createUsername(player));
} }
@Override @EventHandler
public void onPlayerChat(final PlayerChatEvent event) public void onPlayerChat(final PlayerChatEvent event)
{ {
if (event.getPlayer() == chatUser) if (event.getPlayer() == chatUser)
{ {
final boolean success = sendChatMessage(event.getPlayer(), event.getMessage()); final boolean success = sendChatMessage(event.getPlayer(), event.getMessage());
event.setCancelled(success); event.setCancelled(success);
return;
} }
} }
@Override @EventHandler
public void onPlayerQuit(final PlayerQuitEvent event) public void onPlayerQuit(final PlayerQuitEvent event)
{ {
closeConnection(); closeConnection();

View file

@ -7,18 +7,16 @@ import java.util.logging.Level;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.CustomEventListener; import org.bukkit.event.EventHandler;
import org.bukkit.event.Event; import org.bukkit.event.EventPriority;
import org.bukkit.event.Event.Priority; import org.bukkit.event.Listener;
import org.bukkit.event.Event.Type;
import org.bukkit.event.player.PlayerChatEvent; import org.bukkit.event.player.PlayerChatEvent;
import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerListener;
import org.bukkit.plugin.Plugin; import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.PluginManager;
public class UpdateProcess extends PlayerListener public class UpdateProcess implements Listener
{ {
private transient Player currentPlayer; private transient Player currentPlayer;
private final transient Plugin plugin; private final transient Plugin plugin;
@ -35,20 +33,6 @@ public class UpdateProcess extends PlayerListener
public void registerEvents() public void registerEvents()
{ {
final PluginManager pluginManager = plugin.getServer().getPluginManager(); final PluginManager pluginManager = plugin.getServer().getPluginManager();
pluginManager.registerEvent(Type.PLAYER_QUIT, this, Priority.Low, plugin);
pluginManager.registerEvent(Type.PLAYER_CHAT, this, Priority.Lowest, plugin);
pluginManager.registerEvent(Type.PLAYER_JOIN, this, Priority.Normal, plugin);
pluginManager.registerEvent(Type.CUSTOM_EVENT, new CustomEventListener()
{
@Override
public void onCustomEvent(final Event event)
{
if (event instanceof InstallationFinishedEvent)
{
UpdateProcess.this.currentPlayer = null;
}
}
}, Priority.Normal, plugin);
} }
public boolean selfUpdate() public boolean selfUpdate()
@ -110,7 +94,13 @@ public class UpdateProcess extends PlayerListener
return false; return false;
} }
@Override @EventHandler
public void onInstallationFinished(final InstallationFinishedEvent event)
{
UpdateProcess.this.currentPlayer = null;
}
@EventHandler(priority = EventPriority.LOWEST)
public void onPlayerChat(final PlayerChatEvent event) public void onPlayerChat(final PlayerChatEvent event)
{ {
if (event.getPlayer() == currentPlayer) if (event.getPlayer() == currentPlayer)
@ -130,7 +120,7 @@ public class UpdateProcess extends PlayerListener
} }
} }
@Override @EventHandler
public void onPlayerJoin(final PlayerJoinEvent event) public void onPlayerJoin(final PlayerJoinEvent event)
{ {
final Player player = event.getPlayer(); final Player player = event.getPlayer();