本帖最后由 berry64 于 2018-7-15 18:15 编辑 
如题,bc插件如何向指定Server实例发送指令,是要使用.sendData吗?如果是要如何使用,求详细
还有,bungeecord插件如何从proxiedplayer实例获取该玩家是否为当前服务器的op?
顺便厚颜无耻再问问题: [编程求助] CB/spigot后座力&雷电效果求助
如题,bc插件如何向指定Server实例发送指令,是要使用.sendData吗?如果是要如何使用,求详细
还有,bungeecord插件如何从proxiedplayer实例获取该玩家是否为当前服务器的op?
顺便厚颜无耻再问问题: [编程求助] CB/spigot后座力&雷电效果求助
dispatchCommand(CommandSender sender, java.lang.String commandLine) ,第一个参数填指令发送者,第二个参数填指令。
player.isOp获取是否为OP
player.isOp获取是否为OP
MCBBS有你更精彩
qq111222sb 发表于 2018-7-15 18:49
dispatchCommand(CommandSender sender, java.lang.String commandLine) ,第一个参数填指令发送者,第二个 ...
bungeecord插件老兄
 本帖最后由 Aeva 于 2018-7-19 16:28 编辑 
插件消息频道 BungeeCord向Bukkit执行命令(目标服务器需要至少一名玩家在线,否则不起作用)复制代码复制代码
判断是不是OP的话直接获取该服务器下的 ops.json 进行判断就行
插件消息频道 BungeeCord向Bukkit执行命令(目标服务器需要至少一名玩家在线,否则不起作用)
- //Bukkit
 
- public class Main extends JavaPlugin implements PluginMessageListener{
 
-         public void onEnable(){
 
-                 getServer().getMessenger().registerOutgoingPluginChannel(this, "BCCMD");
 
-                 getServer().getMessenger().registerIncomingPluginChannel(this, "BCCMD", this);
 
-         }
 
-   
 
-         public void onPluginMessageReceived(String channel, Player player, byte[] message){
 
-                 if (channel.equals("BCCMD")){
 
-                         String cmd = new String(message);
 
-                         getLogger().info("执行命令: " + cmd);
 
-                         Bukkit.dispatchCommand(Bukkit.getConsoleSender(), cmd);
 
-                 }
 
-         }
 
- }
- //BungeeCord
 
- private void sendCmd(ServerInfo server, String cmd){
 
-         server.sendData("BCCMD", cmd.getBytes());
 
- }
判断是不是OP的话直接获取该服务器下的 ops.json 进行判断就行