summaryrefslogtreecommitdiffstats
path: root/Essentials/src/com/earth2me/essentials/perm/BPermissionsHandler.java
blob: 3f80f25cfd181a6bd9208ad058fbcda891d17973 (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
package com.earth2me.essentials.perm;

import de.bananaco.permissions.Permissions;
import de.bananaco.permissions.info.InfoReader;
import de.bananaco.permissions.interfaces.PermissionSet;
import de.bananaco.permissions.worlds.WorldPermissionsManager;
import java.util.List;
import org.bukkit.entity.Player;


public class BPermissionsHandler extends SuperpermsHandler
{
	private final transient WorldPermissionsManager wpm;
	private final transient InfoReader info;

	public BPermissionsHandler()
	{
		wpm = Permissions.getWorldPermissionsManager();
		info = new InfoReader();
		info.instantiate();
	}

	@Override
	public String getGroup(final Player base)
	{
		final List<String> groups = getGroups(base);
		if (groups == null || groups.isEmpty())
		{
			return null;
		}
		return groups.get(0);
	}

	@Override
	public List<String> getGroups(final Player base)
	{
		final PermissionSet pset = wpm.getPermissionSet(base.getWorld());
		if (pset == null)
		{
			return null;
		}
		return pset.getGroups(base);
	}

	@Override
	public boolean inGroup(final Player base, final String group)
	{
		final List<String> groups = getGroups(base);
		if (groups == null || groups.isEmpty())
		{
			return false;
		}
		return groups.contains(group);
	}

	@Override
	public boolean canBuild(final Player base, final String group)
	{
		return hasPermission(base, "essentials.build") || hasPermission(base, "bPermissions.build");
	}

	@Override
	public String getPrefix(final Player base)
	{
		return info.getPrefix(base);
	}

	@Override
	public String getSuffix(final Player base)
	{
		return info.getSuffix(base);
	}
}