Я попытался создать что-то вроде плагина Permissions, но моя проблема в том, что я не знаю, как дать игроку, например, разрешения aplugin.chat
и aplugin.color
когда я только даю ему разрешение aplugin.*
. Конечно, это не проблема, если разрешение зарегистрировано, и я могу проверить каждое разрешение от Bukkit.getPluginManager().getPermissions()
. Как я могу его решить, если он не зарегистрирован? В BungeeCord есть Событие, где я могу видеть требуемое разрешение, но в Spigot/Bukkit?Создать плагин разрешений (aplugin. *) - Spigot/Bukkit - Java
Вот моя новая версия кода для установки прав:
// setPerms
public static void setPerms(Player p) {
try {
PreparedStatement ps = MySQL.getConnection()
.prepareStatement("SELECT Permission FROM Permissions WHERE Gruppe = ?");
ps.setString(1, User.getPermGroup(p.getName()));
ResultSet rs = ps.executeQuery();
PermissionAttachment pa;
if (main.perms.containsKey(p.getName())) {
pa = main.perms.get(p.getName());
} else {
pa = p.addAttachment(plugin);
}
while (rs.next() == true) {
String perm = rs.getString("Permission");
boolean value = true;
if (perm.startsWith("-")) {
perm = perm.substring(1);
value = false;
}
if (perm.endsWith("*")) {
if (perm.equals("*")) {
for (Permission pe : Bukkit.getPluginManager().getPermissions()) {
pa.setPermission(pe, value);
}
pa.setPermission(perm, value);
} else {
String search = perm.substring(0, perm.length() - 1);
for (Permission pe : Bukkit.getPluginManager().getPermissions()) {
if (pe.getName().startsWith(search)) {
pa.setPermission(pe, value);
}
}
pa.setPermission(perm, value);
}
}
pa.setPermission(perm, value);
}
main.perms.replace(p.getName(), pa);
} catch (SQLException e) {
e.printStackTrace();
}
}
Благодарим Вас за помощь и извините за мой плохой английский;)
Вы не можете решить эту проблему, модель разрешения на использование bukkits основана на том, что плагины регистрируют разрешение и что у этого разрешения есть дети. Если вы создаете свою собственную систему для пропавшей звезды, некоторые плагины будут ошибаться – Ferrybig
Хорошо:/Than thank you :) – Nightfighter001
Только еще один вопрос: как это возможно для плагинов, таких как PermissionsEx? – Nightfighter001