summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormd_5 <md_5@bigpond.com>2012-06-11 09:17:19 +1000
committermd_5 <md_5@bigpond.com>2012-06-11 09:18:06 +1000
commit8cff4348a638c18207527f4d6c007480320a5541 (patch)
treec4ecf7118ccc703fd1fa8fdf4155f1646df4646d
parent40271f2ddf959ef41e96be03b494f760255d743e (diff)
downloadEssentials-8cff4348a638c18207527f4d6c007480320a5541.tar
Essentials-8cff4348a638c18207527f4d6c007480320a5541.tar.gz
Essentials-8cff4348a638c18207527f4d6c007480320a5541.tar.lz
Essentials-8cff4348a638c18207527f4d6c007480320a5541.tar.xz
Essentials-8cff4348a638c18207527f4d6c007480320a5541.zip
Fix the vanish command for good.
-rw-r--r--Essentials/src/com/earth2me/essentials/Essentials.java4
-rw-r--r--Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java5
-rw-r--r--Essentials/src/com/earth2me/essentials/User.java11
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandvanish.java19
4 files changed, 22 insertions, 17 deletions
diff --git a/Essentials/src/com/earth2me/essentials/Essentials.java b/Essentials/src/com/earth2me/essentials/Essentials.java
index 5b6236c30..6f97a23d7 100644
--- a/Essentials/src/com/earth2me/essentials/Essentials.java
+++ b/Essentials/src/com/earth2me/essentials/Essentials.java
@@ -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"));
}
}
diff --git a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java
index 0672f087a..8a0347cb8 100644
--- a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java
+++ b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java
@@ -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();
diff --git a/Essentials/src/com/earth2me/essentials/User.java b/Essentials/src/com/earth2me/essentials/User.java
index b752458ba..06cf375a1 100644
--- a/Essentials/src/com/earth2me/essentials/User.java
+++ b/Essentials/src/com/earth2me/essentials/User.java
@@ -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());
}
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandvanish.java b/Essentials/src/com/earth2me/essentials/commands/Commandvanish.java
index b1e033b46..2dd0f4ebd 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandvanish.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandvanish.java
@@ -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();
}
}