summaryrefslogtreecommitdiffstats
path: root/Essentials/src/com/earth2me/essentials/api/IUser.java
blob: fa54ffd2133bac45d3daef6d4f1bea08d4c4b76b (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
package com.earth2me.essentials.api;

import com.earth2me.essentials.storage.IStorageObjectHolder;
import com.earth2me.essentials.user.CooldownException;
import com.earth2me.essentials.user.UserData;
import java.util.List;
import org.bukkit.Location;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;


public interface IUser extends Player, IStorageObjectHolder<UserData>, IReload, IReplyTo, Comparable<IUser>
{
	Player getBase();

	double getMoney();

	void takeMoney(double value);

	void takeMoney(double value, CommandSender initiator);

	void giveMoney(double value);

	void giveMoney(double value, CommandSender initiator);

	void giveItems(ItemStack itemStack, Boolean canSpew) throws ChargeException;

	void giveItems(List<ItemStack> itemStacks, Boolean canSpew) throws ChargeException;

	void setMoney(double value);

	void payUser(final IUser reciever, final double value) throws Exception;

	void setLastLocation();

	Location getHome(String name) throws Exception;

	Location getHome(Location loc);

	boolean isHidden();

	ITeleport getTeleport();

	void checkCooldown(UserData.TimestampType cooldownType, double cooldown, boolean set, IPermission bypassPermission) throws CooldownException;

	boolean toggleAfk();

	void updateActivity(boolean broadcast);

	void updateDisplayName();
	
	void setDisplayNick();

	boolean checkJailTimeout(long currentTime);

	boolean checkMuteTimeout(long currentTime);

	boolean checkBanTimeout(long currentTime);

	long getTimestamp(UserData.TimestampType name);

	void setTimestamp(UserData.TimestampType name, long value);

	void setLastOnlineActivity(long currentTime);

	void checkActivity();

	long getLastOnlineActivity();

	boolean isGodModeEnabled();

	boolean isIgnoringPlayer(IUser user);

	void setIgnoredPlayer(IUser user, boolean set);

	Location getAfkPosition();
	
	void dispose();

	void updateCompass();

	List<String> getHomes();

	void addMail(String string);

	void setMuted(boolean mute);

	boolean toggleSocialSpy();

	void requestTeleport(IUser user, boolean b);

	boolean isTpRequestHere();

	IUser getTeleportRequester();

	boolean toggleTeleportEnabled();

	long getTeleportRequestTime();

	boolean gotMailInfo();

	List<String> getMails();

	public boolean canAfford(double money);

	public void updateMoneyCache(double userMoney);

	public boolean canAfford(double amount, boolean b);
	
	boolean isVanished();
	
	void resetInvulnerabilityAfterTeleport();
	
	void toggleVanished();
	
	boolean isInvSee();
	
	void setInvSee(boolean invsee);
	
	boolean hasInvulnerabilityAfterTeleport();
	
	void update(final Player base);
	
	void setGodModeEnabled(boolean set);
	
	void setVanished(boolean set);
	
}