本帖最后由 结城希亚 于 2020-5-9 20:08 编辑
最近遇到个权限问题
我看见有的插件能给类似“essentials.sethome.数值”这种权限
数值是int类型
然后判断这个数值来提高上限什么的
想问具体是怎么判断这个权限的存在和获取这个“数值”的值
第一次碰这类问题有点不懂
最近遇到个权限问题
我看见有的插件能给类似“essentials.sethome.数值”这种权限
数值是int类型
然后判断这个数值来提高上限什么的
想问具体是怎么判断这个权限的存在和获取这个“数值”的值
第一次碰这类问题有点不懂
本帖最后由 瘟疫威胁全世界 于 2020-5-9 19:19 编辑
是。。。是大佬诶
https://bukkit.windit.net/javado ... ons/Permission.html
大概就是用
Player.getPermissibles()
得到一个玩家所有权限的set
然后for遍历,getName再contains判断?或者replace什么的
可能这样有点不太简便,等我找找有没有更简单的方法。。
是我沙雕了
更本没这方法
是。。。是大佬诶
https://bukkit.windit.net/javado ... ons/Permission.html
Player.getPermissibles()
得到一个玩家所有权限的set
然后for遍历,getName再contains判断?或者replace什么的
可能这样有点不太简便,等我找找有没有更简单的方法。。
是我沙雕了

LuckPerms 的 meta
SpongeAPI 支持此类情况,相关 API 为 Subject#getOption
SpongeAPI 支持此类情况,相关 API 为 Subject#getOption
海螺螺 发表于 2020-5-9 19:42
LuckPerms 的 meta
SpongeAPI 支持此类情况,相关 API 为 Subject#getOption
gm不行吗,我看ess、地皮插件什么的支持
我是bukkit的
结城希亚 发表于 2020-5-9 19:44
gm不行吗,我看ess、地皮插件什么的支持
我是bukkit的
按照我的记忆,他们是这么做的:
for (i =1; i < N; i++) player.hasPermission("xxx."+i)
支持是支持,丑不丑是另一回事
本帖最后由 结城希亚 于 2020-5-9 20:06 编辑
推了下
应该是这样没错了
复制代码
感谢帮助
Ir.Nep 发表于 2020-5-9 19:52
player.getEffectivePermissions()
推了下
应该是这样没错了
- int max=0;
- for(PermissionAttachmentInfo player:sender.getEffectivePermissions()) {
- if(player.getPermission().startsWith("es.number.")) {
- max =Integer.parseInt(player.getPermission().split(".")[2]);
- break;
- }
- }
感谢帮助
结城希亚 发表于 2020-5-9 20:04
推了下
应该是这样没错了
请用split("\\.")
本帖最后由 结城希亚 于 2020-5-9 20:12 编辑
有什么区别吗
我之前一直用split(":")都没问题来着(
好吧,看来以后我要改习惯了
Ir.Nep 发表于 2020-5-9 20:06
请用split("\\.")
我之前一直用split(":")都没问题来着(
好吧,看来以后我要改习惯了
结城希亚 发表于 2020-5-9 20:07
有什么区别吗
我之前一直用split(":")都没问题来着(
split(String regex, int limit)
regex中 " . " 需要转义