下面列出了怎么用org.bukkit.permissions.ServerOperator的API类实例代码及写法,或者点击链接到github查看源代码。
public static String getName(ServerOperator who, boolean flairs) {
if (who instanceof OfflinePlayer) {
OfflinePlayer player = (OfflinePlayer) who;
return player.isOnline() ? (flairs ? player.getPlayer().getDisplayName() : Teams.getTeamColorByPlayer(player) + player.getPlayer().getName()) : Rank.getPrefix(player.getUniqueId()) + ChatColor.DARK_AQUA + player.getName();
} else {
return ChatColor.GOLD + "\u2756" + ChatColor.DARK_AQUA + "Console";
}
}
public static String getName(ServerOperator who) {
return getName(who, true);
}
public BPPermissible(CommandSender sender, User u, Permissible oldPermissible)
{
super(sender);
this.sender = sender;
this.oldPermissible = oldPermissible;
permissions = new LinkedHashMap<String, PermissionAttachmentInfo>()
{
@Override
public PermissionAttachmentInfo put(String k, PermissionAttachmentInfo v)
{
PermissionAttachmentInfo existing = this.get(k);
if (existing != null)
{
return existing;
}
return super.put(k, v);
}
};
superperms = new LinkedHashMap<String, PermissionAttachmentInfo>()
{
@Override
public PermissionAttachmentInfo put(String k, PermissionAttachmentInfo v)
{
PermissionAttachmentInfo existing = this.get(k);
if (existing != null)
{
return existing;
}
return super.put(k, v);
}
};
//inject an opable
oldOpable = Statics.getField(PermissibleBase.class, oldPermissible, ServerOperator.class, "opable");
opable = new ServerOperator()
{
@Override
public boolean isOp()
{
BukkitConfig config = (BukkitConfig) BungeePerms.getInstance().getConfig();
if (opdisabled)
{
if (!config.isAllowops())
{
return false;
}
}
if (config.isDebug())
{
BungeePerms.getLogger().info("op check: " + BPPermissible.this.sender.getName() + " has OP: " + oldOpable.isOp());
}
return oldOpable.isOp();
}
@Override
public void setOp(boolean value)
{
oldOpable.setOp(value);
}
};
init = true;
recalculatePermissions();
}