New perm: essentials.vanish.effect - People with this effect will get the potion effect applied while vanished.

This commit is contained in:
KHobbits 2013-01-01 21:12:26 +00:00
parent ca25c71010
commit 63e622374d

View file

@ -12,6 +12,8 @@ import org.bukkit.Location;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
public class User extends UserData implements Comparable<User>, IReplyTo, IUser public class User extends UserData implements Comparable<User>, IReplyTo, IUser
@ -536,7 +538,7 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
setDisplayNick(); setDisplayNick();
final String msg = _("userIsNotAway", getDisplayName()); final String msg = _("userIsNotAway", getDisplayName());
if (!msg.isEmpty()) if (!msg.isEmpty())
{ {
ess.broadcastMessage(this, msg); ess.broadcastMessage(this, msg);
} }
} }
@ -573,7 +575,7 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
setDisplayNick(); setDisplayNick();
final String msg = _("userIsAway", getDisplayName()); final String msg = _("userIsAway", getDisplayName());
if (!msg.isEmpty()) if (!msg.isEmpty())
{ {
ess.broadcastMessage(this, msg); ess.broadcastMessage(this, msg);
} }
} }
@ -685,6 +687,10 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
} }
setHidden(true); setHidden(true);
ess.getVanishedPlayers().add(getName()); ess.getVanishedPlayers().add(getName());
if (isAuthorized("essentials.vanish.effect"))
{
this.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, Integer.MAX_VALUE, 1, false));
}
} }
else else
{ {
@ -694,6 +700,10 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
} }
setHidden(false); setHidden(false);
ess.getVanishedPlayers().remove(getName()); ess.getVanishedPlayers().remove(getName());
if (isAuthorized("essentials.vanish.effect"))
{
this.removePotionEffect(PotionEffectType.INVISIBILITY);
}
} }
} }
@ -737,7 +747,7 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
@Override @Override
public boolean isIgnoreExempt() public boolean isIgnoreExempt()
{ {
return this.isAuthorized("essentials.chat.ignoreexempt"); return this.isAuthorized("essentials.chat.ignoreexempt");
} }
public boolean isRecipeSee() public boolean isRecipeSee()