Merge branch 'master' of github.com:essentials/Essentials into essmaster

This commit is contained in:
KHobbits 2011-09-29 22:52:10 +01:00
commit 4a52cd7c98
2 changed files with 488 additions and 489 deletions

View File

@ -1,486 +1,486 @@
package com.earth2me.essentials; package com.earth2me.essentials;
import java.util.Arrays; import java.util.Arrays;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.Server; import org.bukkit.Server;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.block.Action; import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerAnimationEvent; import org.bukkit.event.player.PlayerAnimationEvent;
import org.bukkit.event.player.PlayerAnimationType; import org.bukkit.event.player.PlayerAnimationType;
import org.bukkit.event.player.PlayerBucketEmptyEvent; import org.bukkit.event.player.PlayerBucketEmptyEvent;
import org.bukkit.event.player.PlayerChatEvent; import org.bukkit.event.player.PlayerChatEvent;
import org.bukkit.event.player.PlayerCommandPreprocessEvent; import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import org.bukkit.event.player.PlayerEggThrowEvent; import org.bukkit.event.player.PlayerEggThrowEvent;
import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerListener; import org.bukkit.event.player.PlayerListener;
import org.bukkit.event.player.PlayerLoginEvent; import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.event.player.PlayerLoginEvent.Result; import org.bukkit.event.player.PlayerLoginEvent.Result;
import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.event.player.PlayerRespawnEvent; import org.bukkit.event.player.PlayerRespawnEvent;
import org.bukkit.event.player.PlayerTeleportEvent; import org.bukkit.event.player.PlayerTeleportEvent;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
public class EssentialsPlayerListener extends PlayerListener 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)
{ {
final User user = ess.getUser(event.getPlayer()); final User user = ess.getUser(event.getPlayer());
user.setDisplayName(user.getNick()); user.setDisplayName(user.getNick());
updateCompass(user); updateCompass(user);
if (ess.getSettings().changeDisplayName()) if (ess.getSettings().changeDisplayName())
{ {
user.setDisplayName(user.getNick()); user.setDisplayName(user.getNick());
} }
} }
@Override @Override
public void onPlayerChat(final PlayerChatEvent event) public void onPlayerChat(final PlayerChatEvent event)
{ {
final User user = ess.getUser(event.getPlayer()); final User user = ess.getUser(event.getPlayer());
if (user.isMuted()) if (user.isMuted())
{ {
event.setCancelled(true); event.setCancelled(true);
user.sendMessage(Util.i18n("playerMuted")); user.sendMessage(Util.i18n("playerMuted"));
LOGGER.info(Util.format("mutedUserSpeaks", user.getName())); LOGGER.info(Util.format("mutedUserSpeaks", user.getName()));
} }
final Iterator<Player> it = event.getRecipients().iterator(); final Iterator<Player> it = event.getRecipients().iterator();
while (it.hasNext()) while (it.hasNext())
{ {
final User u = ess.getUser(it.next()); final User u = ess.getUser(it.next());
if (u.isIgnoredPlayer(user.getName())) if (u.isIgnoredPlayer(user.getName()))
{ {
it.remove(); it.remove();
} }
} }
user.updateActivity(true); user.updateActivity(true);
if (ess.getSettings().changeDisplayName()) if (ess.getSettings().changeDisplayName())
{ {
user.setDisplayName(user.getNick()); user.setDisplayName(user.getNick());
} }
} }
@Override @Override
public void onPlayerMove(final PlayerMoveEvent event) public void onPlayerMove(final PlayerMoveEvent event)
{ {
if (event.isCancelled()) if (event.isCancelled())
{ {
return; return;
} }
final User user = ess.getUser(event.getPlayer()); final User user = ess.getUser(event.getPlayer());
if (user.isAfk() && ess.getSettings().getFreezeAfkPlayers()) if (user.isAfk() && ess.getSettings().getFreezeAfkPlayers())
{ {
final Location from = event.getFrom(); final Location from = event.getFrom();
final Location to = event.getTo().clone(); final Location to = event.getTo().clone();
to.setX(from.getX()); to.setX(from.getX());
to.setY(from.getBlock().getTypeId() == 0 ? from.getY() - 1 : from.getY()); to.setY(from.getBlock().getTypeId() == 0 ? from.getY() - 1 : from.getY());
to.setZ(from.getZ()); to.setZ(from.getZ());
event.setTo(to); event.setTo(to);
return; return;
} }
Location afk = user.getAfkPosition(); Location afk = user.getAfkPosition();
if (afk == null || !event.getTo().getWorld().equals(afk.getWorld()) || afk.distanceSquared(event.getTo()) > 9) if (afk == null || !event.getTo().getWorld().equals(afk.getWorld()) || afk.distanceSquared(event.getTo()) > 9)
{ {
user.updateActivity(true); user.updateActivity(true);
} }
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)
{ {
for (World world : worlds) for (World world : worlds)
{ {
if (world.getEnvironment() == World.Environment.NETHER) if (world.getEnvironment() == World.Environment.NETHER)
{ {
nether = world; nether = world;
break; break;
} }
} }
if (nether == null) if (nether == null)
{ {
return; return;
} }
} }
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)
{ {
factor = ess.getSettings().getNetherRatio(); factor = ess.getSettings().getNetherRatio();
} }
else if (user.getWorld().getEnvironment() == World.Environment.NORMAL && world.getEnvironment() == World.Environment.NETHER) else if (user.getWorld().getEnvironment() == World.Environment.NORMAL && world.getEnvironment() == World.Environment.NETHER)
{ {
factor = 1.0 / ess.getSettings().getNetherRatio(); factor = 1.0 / ess.getSettings().getNetherRatio();
} }
else else
{ {
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--;
} }
if (user.getWorld().getBlockAt(x - 1, y, z).getType() == Material.PORTAL) if (user.getWorld().getBlockAt(x - 1, y, z).getType() == Material.PORTAL)
{ {
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)
{ {
if (world.getEnvironment() == World.Environment.NETHER || ess.getSettings().getGenerateExitPortals()) if (world.getEnvironment() == World.Environment.NETHER || ess.getSettings().getGenerateExitPortals())
{ {
portal = NetherPortal.createPortal(dest); portal = NetherPortal.createPortal(dest);
LOGGER.info(Util.format("userCreatedPortal", event.getPlayer().getName())); LOGGER.info(Util.format("userCreatedPortal", event.getPlayer().getName()));
user.sendMessage(Util.i18n("generatingPortal")); user.sendMessage(Util.i18n("generatingPortal"));
loc = portal.getSpawn(); loc = portal.getSpawn();
} }
} }
else else
{ {
LOGGER.info(Util.format("userUsedPortal", event.getPlayer().getName())); LOGGER.info(Util.format("userUsedPortal", event.getPlayer().getName()));
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
{ {
user.getTeleport().now(loc, new Trade("portal", ess)); user.getTeleport().now(loc, new Trade("portal", ess));
} }
catch (Exception ex) catch (Exception ex)
{ {
user.sendMessage(ex.getMessage()); user.sendMessage(ex.getMessage());
} }
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)
{ {
final User user = ess.getUser(event.getPlayer()); final User user = ess.getUser(event.getPlayer());
if (ess.getSettings().removeGodOnDisconnect() && user.isGodModeEnabled()) if (ess.getSettings().removeGodOnDisconnect() && user.isGodModeEnabled())
{ {
user.toggleGodModeEnabled(); user.toggleGodModeEnabled();
} }
if (user.getSavedInventory() != null) if (user.getSavedInventory() != null)
{ {
user.getInventory().setContents(user.getSavedInventory()); user.getInventory().setContents(user.getSavedInventory());
user.setSavedInventory(null); user.setSavedInventory(null);
} }
user.updateActivity(false); user.updateActivity(false);
user.dispose(); user.dispose();
if (!ess.getSettings().getReclaimSetting()) if (!ess.getSettings().getReclaimSetting())
{ {
return; return;
} }
final Thread thread = new Thread(new Runnable() final Thread thread = new Thread(new Runnable()
{ {
public void run() public void run()
{ {
try try
{ {
Thread.sleep(1000); Thread.sleep(1000);
Runtime rt = Runtime.getRuntime(); Runtime rt = Runtime.getRuntime();
double mem = rt.freeMemory(); double mem = rt.freeMemory();
rt.runFinalization(); rt.runFinalization();
rt.gc(); rt.gc();
mem = rt.freeMemory() - mem; mem = rt.freeMemory() - mem;
mem /= 1024 * 1024; mem /= 1024 * 1024;
LOGGER.log(Level.INFO, Util.format("freedMemory", mem)); LOGGER.log(Level.INFO, Util.format("freedMemory", mem));
} }
catch (InterruptedException ex) catch (InterruptedException ex)
{ {
return; return;
} }
} }
}); });
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)
{ {
ess.getBackup().onPlayerJoin(); ess.getBackup().onPlayerJoin();
final User user = ess.getUser(event.getPlayer()); final User user = ess.getUser(event.getPlayer());
if (ess.getSettings().changeDisplayName()) if (ess.getSettings().changeDisplayName())
{ {
user.setDisplayName(user.getNick()); user.setDisplayName(user.getNick());
} }
user.updateActivity(false); user.updateActivity(false);
if (user.isAuthorized("essentials.sleepingignored")) if (user.isAuthorized("essentials.sleepingignored"))
{ {
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))
{ {
if (m == null) if (m == null)
{ {
continue; continue;
} }
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();
if (mail.isEmpty()) if (mail.isEmpty())
{ {
user.sendMessage(Util.i18n("noNewMail")); user.sendMessage(Util.i18n("noNewMail"));
} }
else else
{ {
user.sendMessage(Util.format("youHaveNewMail", mail.size())); user.sendMessage(Util.format("youHaveNewMail", mail.size()));
} }
} }
} }
@Override @Override
public void onPlayerLogin(final PlayerLoginEvent event) public void onPlayerLogin(final PlayerLoginEvent event)
{ {
if (event.getResult() != Result.ALLOWED && event.getResult() != Result.KICK_FULL && event.getResult() != Result.KICK_BANNED) if (event.getResult() != Result.ALLOWED && event.getResult() != Result.KICK_FULL && event.getResult() != Result.KICK_BANNED)
{ {
LOGGER.log(Level.INFO, "Disconnecting user " + event.getPlayer().toString() + " due to " + event.getResult().toString()); LOGGER.log(Level.INFO, "Disconnecting user " + event.getPlayer().toString() + " due to " + event.getResult().toString());
return; return;
} }
User user = ess.getUser(event.getPlayer()); User user = ess.getUser(event.getPlayer());
user.setNPC(false); user.setNPC(false);
final long currentTime = System.currentTimeMillis(); final long currentTime = System.currentTimeMillis();
boolean banExpired = user.checkBanTimeout(currentTime); boolean banExpired = user.checkBanTimeout(currentTime);
user.checkMuteTimeout(currentTime); user.checkMuteTimeout(currentTime);
user.checkJailTimeout(currentTime); user.checkJailTimeout(currentTime);
if (banExpired == false && (user.isBanned() || event.getResult() == Result.KICK_BANNED)) if (banExpired == false && (user.isBanned() || event.getResult() == Result.KICK_BANNED))
{ {
final String banReason = user.getBanReason(); final String banReason = user.getBanReason();
event.disallow(Result.KICK_BANNED, banReason != null && !banReason.isEmpty() && !banReason.equalsIgnoreCase("ban") ? banReason : Util.i18n("defaultBanReason")); event.disallow(Result.KICK_BANNED, banReason != null && !banReason.isEmpty() && !banReason.equalsIgnoreCase("ban") ? 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;
} }
event.allow(); event.allow();
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
{ {
user.setCompassTarget(user.getHome(user.getLocation())); user.setCompassTarget(user.getHome(user.getLocation()));
} }
catch (Exception ex) catch (Exception ex)
{ {
} }
} }
@Override @Override
public void onPlayerTeleport(PlayerTeleportEvent event) public void onPlayerTeleport(PlayerTeleportEvent event)
{ {
if (event.isCancelled()) if (event.isCancelled())
{ {
return; return;
} }
final User user = ess.getUser(event.getPlayer()); final User user = ess.getUser(event.getPlayer());
if (ess.getSettings().changeDisplayName()) if (ess.getSettings().changeDisplayName())
{ {
user.setDisplayName(user.getNick()); user.setDisplayName(user.getNick());
} }
updateCompass(user); updateCompass(user);
} }
@Override @Override
public void onPlayerInteract(final PlayerInteractEvent event) public void onPlayerInteract(final PlayerInteractEvent event)
{ {
if (event.isCancelled()) if (event.isCancelled())
{ {
return; return;
} }
if (event.getAction() != Action.RIGHT_CLICK_BLOCK) if (event.getAction() != Action.RIGHT_CLICK_BLOCK)
{ {
return; return;
} }
if (ess.getSettings().getBedSetsHome() && event.getClickedBlock().getType() == Material.BED_BLOCK) if (ess.getSettings().getBedSetsHome() && event.getClickedBlock().getType() == Material.BED_BLOCK)
{ {
try try
{ {
final User user = ess.getUser(event.getPlayer()); final User user = ess.getUser(event.getPlayer());
user.setHome(); user.setHome();
user.sendMessage(Util.i18n("homeSetToBed")); user.sendMessage(Util.i18n("homeSetToBed"));
} }
catch (Throwable ex) catch (Throwable ex)
{ {
} }
} }
} }
@Override @Override
public void onPlayerEggThrow(final PlayerEggThrowEvent event) public void onPlayerEggThrow(final PlayerEggThrowEvent event)
{ {
final User user = ess.getUser(event.getPlayer()); final User user = ess.getUser(event.getPlayer());
final ItemStack is = new ItemStack(Material.EGG, 1); final ItemStack is = new ItemStack(Material.EGG, 1);
if (user.hasUnlimited(is)) if (user.hasUnlimited(is))
{ {
user.getInventory().addItem(is); user.getInventory().addItem(is);
user.updateInventory(); user.updateInventory();
} }
} }
@Override @Override
public void onPlayerBucketEmpty(final PlayerBucketEmptyEvent event) public void onPlayerBucketEmpty(final PlayerBucketEmptyEvent event)
{ {
final User user = ess.getUser(event.getPlayer()); final User user = ess.getUser(event.getPlayer());
if (user.hasUnlimited(new ItemStack(event.getBucket()))) if (user.hasUnlimited(new ItemStack(event.getBucket())))
{ {
event.getItemStack().setType(event.getBucket()); event.getItemStack().setType(event.getBucket());
ess.scheduleSyncDelayedTask(new Runnable() ess.scheduleSyncDelayedTask(new Runnable()
{ {
public void run() public void run()
{ {
user.updateInventory(); user.updateInventory();
} }
}); });
} }
} }
@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)
{ {
return; return;
} }
final User user = ess.getUser(event.getPlayer()); final User user = ess.getUser(event.getPlayer());
final ItemStack is = user.getItemInHand(); final ItemStack is = user.getItemInHand();
if (is == null || is.getType() == Material.AIR || !user.arePowerToolsEnabled()) if (is == null || is.getType() == Material.AIR || !user.arePowerToolsEnabled())
{ {
return; return;
} }
final List<String> commandList = user.getPowertool(is); final List<String> commandList = user.getPowertool(is);
if (commandList == null || commandList.isEmpty()) if (commandList == null || commandList.isEmpty())
{ {
return; return;
} }
// We need to loop through each command and execute // We need to loop through each command and execute
for (String command : commandList) for (String command : commandList)
{ {
if (command.matches(".*\\{player\\}.*")) if (command.matches(".*\\{player\\}.*"))
{ {
//user.sendMessage("Click a player to use this command"); //user.sendMessage("Click a player to use this command");
continue; continue;
} }
else if (command.startsWith("c:")) else if (command.startsWith("c:"))
{ {
for (Player p : server.getOnlinePlayers()) for (Player p : server.getOnlinePlayers())
{ {
p.sendMessage(user.getDisplayName() + ":" + command.substring(2)); p.sendMessage(user.getDisplayName() + ":" + command.substring(2));
} }
} }
else else
{ {
user.getServer().dispatchCommand(event.getPlayer(), command); user.getServer().dispatchCommand(event.getPlayer(), command);
} }
} }
} }
@Override @Override
public void onPlayerCommandPreprocess(final PlayerCommandPreprocessEvent event) public void onPlayerCommandPreprocess(final PlayerCommandPreprocessEvent event)
{ {
if (event.isCancelled()) if (event.isCancelled())
{ {
return; return;
} }
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())
{ {
User spyer = ess.getUser(player); User spyer = ess.getUser(player);
if (spyer.isSocialSpyEnabled() && !user.equals(spyer)) if (spyer.isSocialSpyEnabled() && !user.equals(spyer))
{ {
player.sendMessage(user.getDisplayName() + " : " + event.getMessage()); player.sendMessage(user.getDisplayName() + " : " + event.getMessage());
} }
} }
} }
if (!cmd.equalsIgnoreCase("afk")) if (!cmd.equalsIgnoreCase("afk"))
{ {
user.updateActivity(true); user.updateActivity(true);
} }
} }
} }

View File

@ -26,11 +26,10 @@ public enum Mob
SPIDER("Spider", Enemies.ENEMY, CreatureType.SPIDER), SPIDER("Spider", Enemies.ENEMY, CreatureType.SPIDER),
SQUID("Squid", Enemies.FRIENDLY, CreatureType.SQUID), SQUID("Squid", Enemies.FRIENDLY, CreatureType.SQUID),
ZOMBIE("Zombie", Enemies.ENEMY, CreatureType.ZOMBIE), ZOMBIE("Zombie", Enemies.ENEMY, CreatureType.ZOMBIE),
MONSTER("Monster", Enemies.ENEMY, CreatureType.MONSTER),
WOLF("Wolf", Enemies.NEUTRAL, CreatureType.WOLF), WOLF("Wolf", Enemies.NEUTRAL, CreatureType.WOLF),
CAVESPIDER("CaveSpider", Enemies.ENEMY, CreatureType.CAVE_SPIDER), CAVESPIDER("CaveSpider", Enemies.ENEMY, CreatureType.CAVE_SPIDER),
ENDERMAN("Enderman", Enemies.ENEMY, CreatureType.ENDERMAN), ENDERMAN("Enderman", Enemies.ENEMY, "", CreatureType.ENDERMAN),
SILVERFISH("Silverfish", Enemies.ENEMY, CreatureType.SILVERFISH); SILVERFISH("Silverfish", Enemies.ENEMY, "", CreatureType.SILVERFISH);
public static final Logger logger = Logger.getLogger("Minecraft"); public static final Logger logger = Logger.getLogger("Minecraft");