blob: a0e6aee44d765f255a76a921568b116f875696f4 (
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
|
package net.ess3.user;
import net.ess3.api.IEssentials;
import net.ess3.api.IUser;
import net.ess3.api.IUserMap;
import net.ess3.api.InvalidNameException;
import net.ess3.storage.StorageObjectMap;
import java.io.File;
import java.util.Locale;
import java.util.Set;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
public class UserMap extends StorageObjectMap<IUser> implements IUserMap
{
public UserMap(final IEssentials ess)
{
super(ess, "users");
}
@Override
public boolean userExists(final String name)
{
return objectExists(name);
}
@Override
public IUser getUser(final String name)
{
return getObject(name);
}
@Override
public IUser load(final String name) throws Exception
{
for (Player player : ess.getServer().getOnlinePlayers())
{
if (player.getName().equalsIgnoreCase(name))
{
keys.add(name.toLowerCase(Locale.ENGLISH));
return new User(player, ess);
}
}
final File userFile = getUserFile(name);
if (userFile.exists())
{
keys.add(name.toLowerCase(Locale.ENGLISH));
return new User(Bukkit.getOfflinePlayer(name), ess);
}
throw new Exception("User not found!");
}
@Override
public void removeUser(final String name) throws InvalidNameException
{
removeObject(name);
}
@Override
public Set<String> getAllUniqueUsers()
{
return getAllKeys();
}
@Override
public int getUniqueUsers()
{
return getKeySize();
}
@Override
public File getUserFile(String name) throws InvalidNameException
{
return getStorageFile(name);
}
@Override
public IUser getUser(final Player player)
{
if (player instanceof IUser)
{
return (IUser)player;
}
IUser user = getUser(player.getName());
if (user == null)
{
user = new User(player, ess);
}
else
{
((User)user).update(player);
}
return user;
}
}
|