Fix the vanish command for good.

This commit is contained in:
md_5 2012-06-11 09:17:19 +10:00
parent 40271f2ddf
commit 8cff4348a6
4 changed files with 22 additions and 17 deletions

View file

@ -269,8 +269,10 @@ public class Essentials extends JavaPlugin implements IEssentials
{
for (Player p : getServer().getOnlinePlayers())
{
if (getUser(p).isVanished())
User user = getUser(p);
if (user.isVanished())
{
user.toggleVanished();
p.sendMessage(_("unvanishedReload"));
}
}

View file

@ -116,7 +116,10 @@ public class EssentialsPlayerListener implements Listener
{
user.setGodModeEnabled(false);
}
ess.getVanishedPlayers().remove(user.getName());
if (user.isVanished())
{
user.toggleVanished();
}
user.setLastLocation();
user.updateActivity(false);
user.dispose();

View file

@ -642,11 +642,22 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
vanished = !vanished;
if (vanished)
{
for (Player p : ess.getServer().getOnlinePlayers())
{
if (!ess.getUser(p).isAuthorized("essentials.vanish.see"))
{
p.hidePlayer(getBase());
}
}
setHidden(true);
ess.getVanishedPlayers().add(getName());
}
else
{
for (Player p : ess.getServer().getOnlinePlayers())
{
p.showPlayer(getBase());
}
setHidden(false);
ess.getVanishedPlayers().remove(getName());
}

View file

@ -16,25 +16,14 @@ public class Commandvanish extends EssentialsCommand
@Override
protected void run(Server server, User user, String commandLabel, String[] args) throws Exception
{
if (user.isVanished())
user.toggleVanished();
if (!user.isVanished())
{
for (Player p : server.getOnlinePlayers())
{
p.showPlayer(user);
}
user.sendMessage(_("vanished"));
user.sendMessage(_("unvanished"));
}
else
{
for (Player p : server.getOnlinePlayers())
{
if (!ess.getUser(p).isAuthorized("essentials.vanish.see"))
{
p.hidePlayer(user);
}
user.sendMessage(_("unvanished"));
}
user.sendMessage(_("vanished"));
}
user.toggleVanished();
}
}