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

	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(String name);

	void setIgnoredPlayer(String name, boolean set);

	Location getAfkPosition();

	boolean toggleGodModeEnabled();

	void dispose();

	void updateCompass();

	List<String> getHomes();

	void addMail(String string);

	boolean toggleMuted();

	boolean toggleSocialSpy();

	void requestTeleport(IUser user, boolean b);

	boolean isTeleportRequestHere();

	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);
}