小さなPermissionsプラグインのようなものを作成しようとしましたが、私の問題はPlayerを与える方法がわかりませんaplugin.chat
とaplugin.color
私は彼に許可を与えるときにaplugin.*
。もちろん、パーミッションが登録されていれば、すべてのパーミッションをBukkit.getPluginManager().getPermissions()
からチェックできます。登録されていないとどうすれば解決できますか? BungeeCordにはSpigot/Bukkitで必要なPermissionを見ることができるイベントがありますか?ここで権限の作成プラグイン(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
OK:/ありがとうございます:) – Nightfighter001
もう1つ質問:PermissionsExのようなプラグインはどうしたらできますか? – Nightfighter001