HYFan_Meng
如题,想来想去没想出来

SumCraft
本帖最后由 咸鱼气功王 于 2020-1-30 09:23 编辑

以op身份执行命令?然后执行完成还是非op?
  1. try {
  2.             playerExact.setOp(true);
  3.             Bukkit.dispatchCommand(playerExact, "命令");
  4.         } catch (Exception e) {
  5.             e.printStackTrace();
  6.         }finally {
  7.             playerExact.setOp(false);
  8.         }
复制代码



在下向冰恒
/op 玩家名字

HYFan_Meng
咸鱼气功王 发表于 2020-1-30 09:11
以op身份执行命令?然后执行完成还是非op?

就是说执行完指令后就成了op

HYFan_Meng

用代码实现而不是原版指令

guaiMiao~
player.setOp(true);

猿汐
???这个问题....
你就正常执行你设置指令
在里面强制转换命令发送者为Player的对象
然后 你的变量.setOP(true);

guaiMiao~
我突然很好奇你要这种指令有何用???

HYFan_Meng
拿狙也爆头 发表于 2020-1-30 16:16
我突然很好奇你要这种指令有何用???

以后打算做些基础类型的插件

HYFan_Meng
猿汐 发表于 2020-1-30 16:00
???这个问题....
你就正常执行你设置指令
在里面强制转换命令发送者为Player的对象

哦哦谢谢了

guaiMiao~
HYFan_Meng 发表于 2020-1-30 17:23
以后打算做些基础类型的插件

如果一个腐竹想用他为何不直接“/op”呢?

HYFan_Meng

谢谢啦,不过说是以后做基础插件,但具体啥时候能做出来也没个准毕竟我是个新手

轻光233
本帖最后由 轻光233 于 2020-1-30 19:50 编辑

https://www.mcbbs.net/thread-632861-1-1.html
bukkit api中文翻译
建议没事看一看,了解一下基础功能
setOp实际不是Player接口声明的方法,是ServerOperator接口声明的,在org.bukkit.permissions包内,CommandSender就是它的子接口
又因为一些我不清楚的原因,Entity是CommandSender的子接口,所以理论来说,所有的实体都能执行指令
具体如何我不清楚,没试过,如果感兴趣的话你可以试试

Rancy.
player.setOp(true);
即可设置为OP.

LinX1
  1. Player player = (Player) sender;
  2. player.setOp(true);
复制代码

Karlatemp
https://hub.spigotmc.org/javadoc ... ang.String-boolean-

建议用这个加 * 权限, 比较安全