本文整理了Java中org.bukkit.permissions.Permission
类的一些代码示例,展示了Permission
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Permission
类的具体详情如下:
包路径:org.bukkit.permissions.Permission
类名称:Permission
[英]Represents a unique permission that may be attached to a Permissible
[中]表示可附加到许可文件的唯一权限
代码示例来源:origin: Bukkit/Bukkit
/**
* Adds this permission to the specified parent permission.
* <p>
* If the parent permission does not exist, it will be created and
* registered.
*
* @param name Name of the parent permission
* @param value The value to set this permission to
* @return Parent permission it created or loaded
*/
public Permission addParent(String name, boolean value) {
PluginManager pm = Bukkit.getServer().getPluginManager();
String lname = name.toLowerCase();
Permission perm = pm.getPermission(lname);
if (perm == null) {
perm = new Permission(lname);
pm.addPermission(perm);
}
addParent(perm, value);
return perm;
}
代码示例来源:origin: Bukkit/Bukkit
public void recalculatePermissions() {
clearPermissions();
Set<Permission> defaults = Bukkit.getServer().getPluginManager().getDefaultPermissions(isOp());
Bukkit.getServer().getPluginManager().subscribeToDefaultPerms(isOp(), parent);
for (Permission perm : defaults) {
String name = perm.getName().toLowerCase();
permissions.put(name, new PermissionAttachmentInfo(parent, name, null, true));
Bukkit.getServer().getPluginManager().subscribeToPermission(name, parent);
calculateChildPermissions(perm.getChildren(), false, null);
}
for (PermissionAttachment attachment : attachments) {
calculateChildPermissions(attachment.getPermissions(), false, attachment);
}
}
代码示例来源:origin: Bukkit/Bukkit
public boolean hasPermission(String inName) {
if (inName == null) {
throw new IllegalArgumentException("Permission name cannot be null");
}
String name = inName.toLowerCase();
if (isPermissionSet(name)) {
return permissions.get(name).getValue();
} else {
Permission perm = Bukkit.getServer().getPluginManager().getPermission(name);
if (perm != null) {
return perm.getDefault().getValue(isOp());
} else {
return Permission.DEFAULT_PERMISSION.getValue(isOp());
}
}
}
代码示例来源:origin: Bukkit/Bukkit
/**
* Adds this permission to the specified parent permission.
*
* @param perm Parent permission to register with
* @param value The value to set this permission to
*/
public void addParent(Permission perm, boolean value) {
perm.getChildren().put(getName(), value);
perm.recalculatePermissibles();
}
代码示例来源:origin: Bukkit/Bukkit
public static Permission registerPermission(Permission perm, boolean withLegacy) {
Permission result = perm;
try {
Bukkit.getPluginManager().addPermission(perm);
} catch (IllegalArgumentException ex) {
result = Bukkit.getPluginManager().getPermission(perm.getName());
}
if (withLegacy) {
Permission legacy = new Permission(LEGACY_PREFIX + result.getName(), result.getDescription(), PermissionDefault.FALSE);
legacy.getChildren().put(result.getName(), true);
registerPermission(perm, false);
}
return result;
}
代码示例来源:origin: Bukkit/Bukkit
public static Permission registerPermission(String name, String desc, Permission parent) {
Permission perm = registerPermission(name, desc);
parent.getChildren().put(perm.getName(), true);
return perm;
}
代码示例来源:origin: Multiverse/Multiverse-Core
private void addToRootPermission(String rootPerm, String permStringChopped) {
Permission rootPermission = this.plugin.getServer().getPluginManager().getPermission(rootPerm);
if (rootPermission == null) {
rootPermission = new Permission(rootPerm);
this.plugin.getServer().getPluginManager().addPermission(rootPermission);
}
rootPermission.getChildren().put(permStringChopped + ".*", true);
this.plugin.getServer().getPluginManager().recalculatePermissionDefaults(rootPermission);
}
代码示例来源:origin: Bukkit/Bukkit
private void calculateChildPermissions(Map<String, Boolean> children, boolean invert, PermissionAttachment attachment) {
Set<String> keys = children.keySet();
for (String name : keys) {
Permission perm = Bukkit.getServer().getPluginManager().getPermission(name);
boolean value = children.get(name) ^ invert;
String lname = name.toLowerCase();
permissions.put(lname, new PermissionAttachmentInfo(parent, lname, attachment, value));
Bukkit.getServer().getPluginManager().subscribeToPermission(name, parent);
if (perm != null) {
calculateChildPermissions(perm.getChildren(), !value, attachment);
}
}
}
代码示例来源:origin: NoCheatPlus/NoCheatPlus
private Permission fetchBukkitPermission() {
// Create with lower case string representation anyway.
final PluginManager pm = Bukkit.getPluginManager();
Permission permission = pm.getPermission(lowerCaseStringRepresentation);
if (permission == null) {
// Assume this one doesn't have children etc.
permission = new Permission(lowerCaseStringRepresentation,
PermissionUtil.AUTO_GENERATED,
PermissionDefault.FALSE // Cautious, perhaps.
);
pm.addPermission(permission);
}
return permission;
}
代码示例来源:origin: nsporillo/GlobalWarming
/**
* Economy (soft-dependency on Vault)
* - If a Vault-based economy was not found, disable the bounty system
*/
private static void setupEconomy() {
if (Bukkit.getPluginManager().getPlugin("Vault") != null) {
RegisteredServiceProvider<Economy> economyProvider = Bukkit.getServicesManager().getRegistration(Economy.class);
if (economyProvider != null) {
economy = economyProvider.getProvider();
}
}
if (economy == null) {
instance.getLogger().warning("Bounty-system [disabled], Vault economy not found");
for (Permission permission : Bukkit.getPluginManager().getDefaultPermissions(false)) {
if (permission.getName().startsWith("globalwarming.bounty")) {
Bukkit.getPluginManager().getPermission(permission.getName())
.setDefault(PermissionDefault.FALSE);
}
}
} else {
instance.getLogger().info("Bounty-system [enabled], Vault economy found");
}
}
代码示例来源:origin: Multiverse/Multiverse-Core
private void ensureSecondNamespaceIsPrepared() {
Permission special = this.plugin.getServer().getPluginManager().getPermission("mv.bypass.gamemode.*");
if (special == null) {
special = new Permission("mv.bypass.gamemode.*", PermissionDefault.FALSE);
this.plugin.getServer().getPluginManager().addPermission(special);
}
}
代码示例来源:origin: webbukkit/dynmap
String bukkitver = getServer().getVersion();
String mcver = "1.0.0";
int idx = bukkitver.indexOf("(MC: ");
List<Permission> pd = plugin.getDescription().getPermissions();
for(Permission p : pd) {
perdefs.put(p.getName(), p.getDefault() == PermissionDefault.TRUE);
pm.registerEvents(pl, this);
perTickLimit = core.getMaxTickUseMS() * 1000000;
getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
public void run() {
processTick();
代码示例来源:origin: NoCheatPlus/NoCheatPlus
final RegisteredPermission registeredChild, final PermissionDefault permissionDefault) {
final String childPermissionName = registeredChild.getStringRepresentation();
final PluginManager pm = Bukkit.getPluginManager();
Permission childPermission = pm.getPermission(childPermissionName);
if (childPermission == null) {
childPermission = new Permission(childPermissionName, AUTO_GENERATED, permissionDefault);
pm.addPermission(childPermission);
Permission permission = pm.getPermission(permissionName);
if (permission == null) {
permission = new Permission(permissionName, AUTO_GENERATED, permissionDefault);
pm.addPermission(permission);
if (!permission.getChildren().containsKey(childPermissionName)) {
childPermission.addParent(permission, true);
代码示例来源:origin: MilkBowl/Vault
@Override
public void run() {
org.bukkit.permissions.Permission perm = getServer().getPluginManager().getPermission("vault.update");
if (perm == null)
perm = new org.bukkit.permissions.Permission("vault.update");
perm.setDefault(PermissionDefault.OP);
plugin.getServer().getPluginManager().addPermission(perm);
perm.setDescription("Allows a user or the console to check for vault updates");
getServer().getScheduler().runTaskTimerAsynchronously(plugin, new Runnable() {
代码示例来源:origin: NoCheatPlus/NoCheatPlus
checked.add(CommandUtil.getCommandLabel(label, false));
final PluginManager pm = Bukkit.getPluginManager();
Permission rootPerm = pm.getPermission(permissionBase);
if (rootPerm == null) {
rootPerm = new Permission(permissionBase);
pm.addPermission(rootPerm);
Permission cmdPerm = pm.getPermission(cmdPermName);
final boolean permRegistered = cmdPerm != null;
if (!permRegistered) {
cmdPerm = new Permission(cmdPermName);
if (!cmdHadPerm) {
cmdPerm.addParent(rootPerm, true);
pm.addPermission(cmdPerm);
changed.add(new CommandProtectionEntry(command, lcLabel, cmdPermName, cmdPerm.getDefault(), command.getPermissionMessage()));
cmdPerm.setDefault(ops ? PermissionDefault.OP : PermissionDefault.FALSE);
command.setPermissionMessage(permissionMessage);
代码示例来源:origin: EngineHub/WorldEdit
/**
* Checks the permission from dinnerperms
*
* @param perms Permissible to check for
* @param permission The permission to check
* @return -1 if the permission is explicitly denied, 1 if the permission is allowed,
* 0 if the permission is denied by a default.
*/
public int internalHasPermission(Permissible perms, String permission) {
if (perms.isPermissionSet(permission)) {
return perms.hasPermission(permission) ? 1 : -1;
} else {
Permission perm = server.getPluginManager().getPermission(permission);
if (perm != null) {
return perm.getDefault().getValue(perms.isOp()) ? 1 : 0;
} else {
return 0;
}
}
}
代码示例来源:origin: DRE2N/DungeonsXL
/**
* Registers the permissions.
*/
public static void register() {
for (DPermission permission : values()) {
Bukkit.getPluginManager().addPermission(new Permission(permission.getNode(), permission.isDefault()));
}
}
代码示例来源:origin: NoCheatPlus/NoCheatPlus
public void restore() {
// (Don't skip resetting, as there could be fall-back aliases.)
// Command registered = CommandUtil.getCommand(label);
// if (registered == null || registered != command) return;
if (!label.equalsIgnoreCase(command.getLabel().trim().toLowerCase())) {
command.setLabel(label);
}
command.setPermission(permission);
if (permission != null && permissionDefault != null) {
Permission perm = Bukkit.getPluginManager().getPermission(permission);
if (perm != null && perm.getDefault() != permissionDefault) {
perm.setDefault(permissionDefault);
}
}
command.setPermissionMessage(permissionMessage);
}
}
代码示例来源:origin: bergerkiller/BKCommonLib
@Override
public boolean handlePermission(CommandSender sender, String permission) {
org.bukkit.permissions.Permission perm = Bukkit.getPluginManager().getPermission(permission);
if (perm == null) {
return false;
}
switch (perm.getDefault()) {
case TRUE : this.hasTRUE = true; break;
case OP : this.hasOP = true; break;
case NOT_OP : this.hasNOTOP = true; break;
default: break;
}
if (hasOP && hasNOTOP) {
hasTRUE = true;
}
// Quit checking if we found out it's TRUE
return hasTRUE;
}
}
代码示例来源:origin: Multiverse/Multiverse-Core
/**
* Initializes permissions.
*/
private void initPerms() {
this.permission = new Permission("multiverse.access." + this.getName(), "Allows access to " + this.getName(), PermissionDefault.OP);
// This guy is special. He shouldn't be added to any parent perms.
this.ignoreperm = new Permission("mv.bypass.gamemode." + this.getName(),
"Allows players with this permission to ignore gamemode changes.", PermissionDefault.FALSE);
this.exempt = new Permission("multiverse.exempt." + this.getName(),
"A player who has this does not pay to enter this world, or use any MV portals in it " + this.getName(), PermissionDefault.OP);
this.limitbypassperm = new Permission("mv.bypass.playerlimit." + this.getName(),
"A player who can enter this world regardless of wether its full", PermissionDefault.OP);
try {
this.plugin.getServer().getPluginManager().addPermission(this.permission);
this.plugin.getServer().getPluginManager().addPermission(this.exempt);
this.plugin.getServer().getPluginManager().addPermission(this.ignoreperm);
this.plugin.getServer().getPluginManager().addPermission(this.limitbypassperm);
// Add the permission and exempt to parents.
this.addToUpperLists(this.permission);
// Add ignore to it's parent:
this.ignoreperm.addParent("mv.bypass.gamemode.*", true);
// Add limit bypass to it's parent
this.limitbypassperm.addParent("mv.bypass.playerlimit.*", true);
} catch (IllegalArgumentException e) {
this.plugin.log(Level.FINER, "Permissions nodes were already added for " + this.name);
}
}
内容来源于网络,如有侵权,请联系作者删除!