This commit is contained in:
snowleo 2011-07-20 18:19:26 +02:00
parent 4bb1185bd5
commit 2530a5018f

View File

@ -37,13 +37,13 @@ public class EssentialsPlayerListener extends PlayerListener
private static final Logger LOGGER = Logger.getLogger("Minecraft"); private static final Logger LOGGER = Logger.getLogger("Minecraft");
private final transient Server server; private final transient Server server;
private final transient IEssentials ess; private final transient IEssentials ess;
public EssentialsPlayerListener(final IEssentials parent) public EssentialsPlayerListener(final IEssentials parent)
{ {
this.ess = parent; this.ess = parent;
this.server = parent.getServer(); this.server = parent.getServer();
} }
@Override @Override
public void onPlayerRespawn(final PlayerRespawnEvent event) public void onPlayerRespawn(final PlayerRespawnEvent event)
{ {
@ -55,7 +55,7 @@ public class EssentialsPlayerListener extends PlayerListener
user.setDisplayName(user.getNick()); user.setDisplayName(user.getNick());
} }
} }
@Override @Override
public void onPlayerChat(final PlayerChatEvent event) public void onPlayerChat(final PlayerChatEvent event)
{ {
@ -85,7 +85,7 @@ public class EssentialsPlayerListener extends PlayerListener
user.setDisplayName(user.getNick()); user.setDisplayName(user.getNick());
} }
} }
@Override @Override
public void onPlayerMove(final PlayerMoveEvent event) public void onPlayerMove(final PlayerMoveEvent event)
{ {
@ -94,28 +94,28 @@ public class EssentialsPlayerListener extends PlayerListener
return; return;
} }
final User user = ess.getUser(event.getPlayer()); final User user = ess.getUser(event.getPlayer());
if (user.isAfk()) if (user.isAfk())
{ {
user.setAfk(false); user.setAfk(false);
ess.broadcastMessage(user.getName(), Util.format("userIsNotAway", user.getDisplayName())); ess.broadcastMessage(user.getName(), Util.format("userIsNotAway", user.getDisplayName()));
} }
if (!ess.getSettings().getNetherPortalsEnabled()) if (!ess.getSettings().getNetherPortalsEnabled())
{ {
return; return;
} }
final Block block = event.getPlayer().getWorld().getBlockAt(event.getTo().getBlockX(), event.getTo().getBlockY(), event.getTo().getBlockZ()); final Block block = event.getPlayer().getWorld().getBlockAt(event.getTo().getBlockX(), event.getTo().getBlockY(), event.getTo().getBlockZ());
final List<World> worlds = server.getWorlds(); final List<World> worlds = server.getWorlds();
if (block.getType() == Material.PORTAL && worlds.size() > 1 && user.isAuthorized("essentials.portal")) if (block.getType() == Material.PORTAL && worlds.size() > 1 && user.isAuthorized("essentials.portal"))
{ {
if (user.getJustPortaled()) if (user.getJustPortaled())
{ {
return; return;
} }
World nether = server.getWorld(ess.getSettings().getNetherName()); World nether = server.getWorld(ess.getSettings().getNetherName());
if (nether == null) if (nether == null)
{ {
@ -133,7 +133,7 @@ public class EssentialsPlayerListener extends PlayerListener
} }
} }
final World world = user.getWorld() == nether ? worlds.get(0) : nether; final World world = user.getWorld() == nether ? worlds.get(0) : nether;
double factor; double factor;
if (user.getWorld().getEnvironment() == World.Environment.NETHER && world.getEnvironment() == World.Environment.NORMAL) if (user.getWorld().getEnvironment() == World.Environment.NETHER && world.getEnvironment() == World.Environment.NORMAL)
{ {
@ -147,12 +147,12 @@ public class EssentialsPlayerListener extends PlayerListener
{ {
factor = 1.0; factor = 1.0;
} }
Location loc = event.getTo(); Location loc = event.getTo();
int x = loc.getBlockX(); int x = loc.getBlockX();
int y = loc.getBlockY(); int y = loc.getBlockY();
int z = loc.getBlockZ(); int z = loc.getBlockZ();
if (user.getWorld().getBlockAt(x, y, z - 1).getType() == Material.PORTAL) if (user.getWorld().getBlockAt(x, y, z - 1).getType() == Material.PORTAL)
{ {
z--; z--;
@ -161,11 +161,11 @@ public class EssentialsPlayerListener extends PlayerListener
{ {
x--; x--;
} }
x = (int)(x * factor); x = (int)(x * factor);
z = (int)(z * factor); z = (int)(z * factor);
loc = new Location(world, x + .5, y, z + .5); loc = new Location(world, x + .5, y, z + .5);
Block dest = world.getBlockAt(x, y, z); Block dest = world.getBlockAt(x, y, z);
NetherPortal portal = NetherPortal.findPortal(dest); NetherPortal portal = NetherPortal.findPortal(dest);
if (portal == null) if (portal == null)
@ -184,7 +184,7 @@ public class EssentialsPlayerListener extends PlayerListener
user.sendMessage(Util.i18n("usingPortal")); user.sendMessage(Util.i18n("usingPortal"));
loc = portal.getSpawn(); loc = portal.getSpawn();
} }
event.setFrom(loc); event.setFrom(loc);
event.setTo(loc); event.setTo(loc);
try try
@ -197,14 +197,14 @@ public class EssentialsPlayerListener extends PlayerListener
} }
user.setJustPortaled(true); user.setJustPortaled(true);
user.sendMessage(Util.i18n("teleportingPortal")); user.sendMessage(Util.i18n("teleportingPortal"));
event.setCancelled(true); event.setCancelled(true);
return; return;
} }
user.setJustPortaled(false); user.setJustPortaled(false);
} }
@Override @Override
public void onPlayerQuit(final PlayerQuitEvent event) public void onPlayerQuit(final PlayerQuitEvent event)
{ {
@ -247,7 +247,7 @@ public class EssentialsPlayerListener extends PlayerListener
thread.setPriority(Thread.MIN_PRIORITY); thread.setPriority(Thread.MIN_PRIORITY);
thread.start(); thread.start();
} }
@Override @Override
public void onPlayerJoin(final PlayerJoinEvent event) public void onPlayerJoin(final PlayerJoinEvent event)
{ {
@ -261,7 +261,7 @@ public class EssentialsPlayerListener extends PlayerListener
user.kickPlayer(banReason != null && !banReason.isEmpty() ? banReason : Util.i18n("defaultBanReason")); user.kickPlayer(banReason != null && !banReason.isEmpty() ? banReason : Util.i18n("defaultBanReason"));
return; return;
} }
if (ess.getSettings().changeDisplayName()) if (ess.getSettings().changeDisplayName())
{ {
user.setDisplayName(user.getNick()); user.setDisplayName(user.getNick());
@ -271,7 +271,7 @@ public class EssentialsPlayerListener extends PlayerListener
{ {
user.setSleepingIgnored(true); user.setSleepingIgnored(true);
} }
if (!ess.getSettings().isCommandDisabled("motd") && user.isAuthorized("essentials.motd")) if (!ess.getSettings().isCommandDisabled("motd") && user.isAuthorized("essentials.motd"))
{ {
for (String m : ess.getMotd(user, null)) for (String m : ess.getMotd(user, null))
@ -283,7 +283,7 @@ public class EssentialsPlayerListener extends PlayerListener
user.sendMessage(m); user.sendMessage(m);
} }
} }
if (!ess.getSettings().isCommandDisabled("mail") && user.isAuthorized("essentials.mail")) if (!ess.getSettings().isCommandDisabled("mail") && user.isAuthorized("essentials.mail"))
{ {
final List<String> mail = user.getMails(); final List<String> mail = user.getMails();
@ -297,7 +297,7 @@ public class EssentialsPlayerListener extends PlayerListener
} }
} }
} }
@Override @Override
public void onPlayerLogin(final PlayerLoginEvent event) public void onPlayerLogin(final PlayerLoginEvent event)
{ {
@ -307,24 +307,24 @@ public class EssentialsPlayerListener extends PlayerListener
} }
final User user = ess.getUser(event.getPlayer()); final User user = ess.getUser(event.getPlayer());
user.setNPC(false); user.setNPC(false);
if (user.isBanned()) if (user.isBanned())
{ {
final String banReason = user.getBanReason(); final String banReason = user.getBanReason();
event.disallow(Result.KICK_BANNED, banReason != null && !banReason.isEmpty() ? banReason : Util.i18n("defaultBanReason")); event.disallow(Result.KICK_BANNED, banReason != null && !banReason.isEmpty() ? banReason : Util.i18n("defaultBanReason"));
return; return;
} }
if (server.getOnlinePlayers().length >= server.getMaxPlayers() && !user.isAuthorized("essentials.joinfullserver")) if (server.getOnlinePlayers().length >= server.getMaxPlayers() && !user.isAuthorized("essentials.joinfullserver"))
{ {
event.disallow(Result.KICK_FULL, Util.i18n("serverFull")); event.disallow(Result.KICK_FULL, Util.i18n("serverFull"));
return; return;
} }
user.setLastLogin(System.currentTimeMillis()); user.setLastLogin(System.currentTimeMillis());
updateCompass(user); updateCompass(user);
} }
private void updateCompass(final User user) private void updateCompass(final User user)
{ {
try try
@ -335,7 +335,7 @@ public class EssentialsPlayerListener extends PlayerListener
{ {
} }
} }
@Override @Override
public void onPlayerTeleport(PlayerTeleportEvent event) public void onPlayerTeleport(PlayerTeleportEvent event)
{ {
@ -350,7 +350,7 @@ public class EssentialsPlayerListener extends PlayerListener
} }
updateCompass(user); updateCompass(user);
} }
@Override @Override
public void onPlayerInteract(final PlayerInteractEvent event) public void onPlayerInteract(final PlayerInteractEvent event)
{ {
@ -362,7 +362,7 @@ public class EssentialsPlayerListener extends PlayerListener
{ {
return; return;
} }
if (ess.getSettings().getBedSetsHome() && event.getClickedBlock().getType() == Material.BED_BLOCK) if (ess.getSettings().getBedSetsHome() && event.getClickedBlock().getType() == Material.BED_BLOCK)
{ {
try try
@ -376,7 +376,7 @@ public class EssentialsPlayerListener extends PlayerListener
} }
} }
} }
@Override @Override
public void onPlayerEggThrow(final PlayerEggThrowEvent event) public void onPlayerEggThrow(final PlayerEggThrowEvent event)
{ {
@ -388,7 +388,7 @@ public class EssentialsPlayerListener extends PlayerListener
user.updateInventory(); user.updateInventory();
} }
} }
@Override @Override
public void onPlayerBucketEmpty(final PlayerBucketEmptyEvent event) public void onPlayerBucketEmpty(final PlayerBucketEmptyEvent event)
{ {
@ -405,13 +405,13 @@ public class EssentialsPlayerListener extends PlayerListener
}); });
} }
} }
@Override @Override
public void onPlayerAnimation(final PlayerAnimationEvent event) public void onPlayerAnimation(final PlayerAnimationEvent event)
{ {
usePowertools(event); usePowertools(event);
} }
private void usePowertools(final PlayerAnimationEvent event) private void usePowertools(final PlayerAnimationEvent event)
{ {
if (event.getAnimationType() != PlayerAnimationType.ARM_SWING) if (event.getAnimationType() != PlayerAnimationType.ARM_SWING)
@ -446,7 +446,7 @@ public class EssentialsPlayerListener extends PlayerListener
user.getServer().dispatchCommand(user, command); user.getServer().dispatchCommand(user, command);
} }
} }
@Override @Override
public void onPlayerCommandPreprocess(final PlayerCommandPreprocessEvent event) public void onPlayerCommandPreprocess(final PlayerCommandPreprocessEvent event)
{ {
@ -456,7 +456,7 @@ public class EssentialsPlayerListener extends PlayerListener
} }
final User user = ess.getUser(event.getPlayer()); final User user = ess.getUser(event.getPlayer());
final String cmd = event.getMessage().toLowerCase().split(" ")[0].replace("/", "").toLowerCase(); final String cmd = event.getMessage().toLowerCase().split(" ")[0].replace("/", "").toLowerCase();
final List<String> commands = Arrays.asList("msg", "r", "mail", "m" , "t","emsg","tell","er","reply","ereply","email"); final List<String> commands = Arrays.asList("msg", "r", "mail", "m", "t", "emsg", "tell", "er", "reply", "ereply", "email");
if (commands.contains(cmd)) if (commands.contains(cmd))
{ {
for (Player player : ess.getServer().getOnlinePlayers()) for (Player player : ess.getServer().getOnlinePlayers())