Küçük İzinler eklentisi gibi bir şey oluşturmaya çalıştım ama sorunum, örneğin Oyuncuya nasıl izin verileceğini bilmememdir. Örneğin, İzinler aplugin.chat
ve aplugin.color
Ona sadece izin verdikten sonra aplugin.*
. Tabii ki izin kayıtlıdır ve Bukkit.getPluginManager().getPermissions()
dan her izin kontrol edebilir. Kayıtlı değilse nasıl çözebilirim? BungeeCord'da gerekli İzni görebileceğim bir Olay var, fakat Spigot/Bukkit'te mi? İşteİzinler oluşturma eklentisi (aplugin. *) - Spigot/Bukkit - Java
izinlerini ayarlamak için kod benim yeni sürümüdür:
// 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();
}
}
Yardımlarınız ve benim kötü İngilizce için özür için teşekkürler;)
Bunu çözemezsiniz, bukkits izin modeli, bu eklentilerin bir iznini kaydetmesini temel alır ve bu iznin çocuk sahibi olması gerekir. Kayıp yıldız için kendi sisteminizi oluşturuyorsanız, bazı eklentiler hata verecektir – Ferrybig
Tamam: Teşekkürler :) – Nightfighter001
Sadece bir soru: PermissionsEx gibi eklentiler için nasıl mümkün olabilir? – Nightfighter001