summaryrefslogtreecommitdiffstats
path: root/Essentials/src/net/ess3/commands/Commandvanish.java
blob: 76a4b3168ac78ad1fa8e67d91002dc606311691c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package net.ess3.commands;

import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
import org.bukkit.command.CommandSender;


public class Commandvanish extends EssentialsToggleCommand
{
	@Override
	protected void setValue(final IUser player, final boolean value)
	{
		player.setVanished(value);
	}

	@Override
	protected boolean getValue(final IUser player)
	{
		return player.isVanished();
	}

	@Override
	protected void informSender(final CommandSender sender, final boolean value, final IUser player)
	{
		if (value)
		{
			sender.sendMessage(_("vanishMode", _(getValue(player) ? "enabled" : "disabled"), player.getPlayer().getDisplayName()));
		}
		else
		{
			sender.sendMessage(_("vanishFailed", player.getName()));
		}
	}

	@Override
	protected void informPlayer(final IUser player)
	{
		player.sendMessage(getValue(player) ? _("§6You are now completely invisible to normal users, and hidden from in-game commands.") : _("§6You are once again visible."));
	}

	@Override
	protected boolean canEditOthers(final IUser user)
	{
		return Permissions.VANISH_OTHERS.isAuthorized(user);
	}

	@Override
	protected boolean isExempt(final CommandSender sender, final IUser player)
	{
		return Permissions.VANISH_EXEMPT.isAuthorized(player);
	}

	@Override
	protected boolean toggleOfflinePlayers()
	{
		return false;
	}
}