39 lines
1.2 KiB
Java
39 lines
1.2 KiB
Java
package xyz.etztech.mixtape;
|
|
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.permissions.PermissionAttachmentInfo;
|
|
|
|
import java.util.List;
|
|
import java.util.Set;
|
|
|
|
public class MixtapeUtil {
|
|
|
|
public static String stripSlash(String base) {
|
|
if (base.startsWith("/")) {
|
|
return base.substring(1);
|
|
}
|
|
return base;
|
|
}
|
|
|
|
private static int getLimit(Set<PermissionAttachmentInfo> permissions) {
|
|
int global = Mixtape.getLimit();
|
|
int limit = 0;
|
|
for (PermissionAttachmentInfo permission : permissions) {
|
|
if (permission.getPermission().startsWith("mixtape.limit.") && permission.getValue()) {
|
|
try {
|
|
int p = Integer.parseInt(permission.getPermission().replaceFirst("mixtape.limit.", ""));
|
|
limit = Math.max(limit, p);
|
|
} catch (Exception ignored) {}
|
|
}
|
|
}
|
|
return limit != 0 ? limit : global;
|
|
}
|
|
|
|
public static boolean isLimited(Player player) {
|
|
int current = Mixtape.getDatabase().getAliases(player.getUniqueId().toString()).size();
|
|
int limit = getLimit(player.getEffectivePermissions());
|
|
return (current >= limit && limit != -1);
|
|
}
|
|
|
|
}
|