summaryrefslogtreecommitdiffstats
path: root/Essentials/src/com/earth2me/essentials/IUser.java
blob: 43e729e31c01791c2e600d139d09a5fb3e1cedde (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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
package com.earth2me.essentials;

import com.earth2me.essentials.commands.IEssentialsCommand;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.Set;
import net.ess3.api.ITeleport;
import net.ess3.api.MaxMoneyException;
import org.bukkit.Location;
import org.bukkit.entity.Player;


public interface IUser
{
	boolean isAuthorized(String node);

	boolean isAuthorized(IEssentialsCommand cmd);

	boolean isAuthorized(IEssentialsCommand cmd, String permissionPrefix);

	void healCooldown() throws Exception;

	void giveMoney(BigDecimal value) throws MaxMoneyException;

	void giveMoney(final BigDecimal value, final CommandSource initiator) throws MaxMoneyException;
	
	void payUser(final User reciever, final BigDecimal value) throws Exception;

	void takeMoney(BigDecimal value);

	void takeMoney(final BigDecimal value, final CommandSource initiator);

	boolean canAfford(BigDecimal value);

	Boolean canSpawnItem(final int itemId);

	void setLastLocation();

	void setLogoutLocation();

	void requestTeleport(final User player, final boolean here);

	ITeleport getTeleport();

	BigDecimal getMoney();

	void setMoney(final BigDecimal value) throws MaxMoneyException;

	void setAfk(final boolean set);

	/**
	 * 'Hidden' Represents when a player is hidden from others. This status includes when the player is hidden via other
	 * supported plugins. Use isVanished() if you want to check if a user is vanished by Essentials.
	 *
	 * @return If the user is hidden or not
	 * @see isVanished
	 */
	boolean isHidden();

	void setHidden(boolean vanish);

	boolean isGodModeEnabled();

	String getGroup();

	boolean inGroup(final String group);

	boolean canBuild();

	long getTeleportRequestTime();

	void enableInvulnerabilityAfterTeleport();

	void resetInvulnerabilityAfterTeleport();

	boolean hasInvulnerabilityAfterTeleport();

	/**
	 * 'Vanished' Represents when a player is hidden from others by Essentials. This status does NOT include when the
	 * player is hidden via other plugins. Use isHidden() if you want to check if a user is vanished by any supported
	 * plugin.
	 *
	 * @return If the user is vanished or not
	 * @see isHidden
	 */
	boolean isVanished();

	void setVanished(boolean vanish);

	boolean isIgnoreExempt();

	public void sendMessage(String message);

	/*
	 * UserData
	 */
	Location getHome(String name) throws Exception;

	Location getHome(Location loc) throws Exception;

	List<String> getHomes();

	void setHome(String name, Location loc);

	void delHome(String name) throws Exception;

	boolean hasHome();

	Location getLastLocation();

	Location getLogoutLocation();

	long getLastTeleportTimestamp();

	void setLastTeleportTimestamp(long time);

	String getJail();

	void setJail(String jail);

	List<String> getMails();

	void addMail(String mail);

	boolean isAfk();

	void setConfigProperty(String node, Object object);

	Set<String> getConfigKeys();

	Map<String, Object> getConfigMap();

	Map<String, Object> getConfigMap(String node);

	/*
	 *  PlayerExtension
	 */
	Player getBase();

	CommandSource getSource();

	public String getName();
}