2017-04-05 46 views
-2

我需要这个将播放器传送到另一个服务器,那么我该怎么做?我可以通过两种方法来实现蹦极,但我宁愿不要,我的另一种选择是sudo玩家,那么我该怎么做?关于gui的Sudo播放器命令点击

 if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Multiplayer")) { 
     e.setCancelled(true); 
     e.getWhoClicked().closeInventory(); 
     //Here I need it to make the player run the command /server multiplayer 

回答

1

可以使用player.performCommand(String command);

实施例:

Player player; 
player.performCommand("server multiplayer"); //No slash 
0

可以使用player.chat()

Player player = Bukkit.getPlayer("username"); 
//Or player = bukkit.getServer().getPlayer("username"); 
//Or player = (Player) sender; 

player.chat("/server multiplayer"); //With slash 
+1

'player.chat(“String”)'不是推荐的命令方法!改用performCommand(String s)。 – Kerooker

+0

@Kerooker我会建议performCommand(),但你已经做了,所以我使用了另一种方法,根据传递的字符串做基本相同的事情。 https://bukkit.org/threads/make-a-player-execute-a-command.41765/#post-751712 –

+1

此外Bukkit.getPlayerExact(“用户名”)是新推荐的方法。 – Drayke

0

解决若使用:

 if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Multiplayer")) { 
     e.setCancelled(true); 
     e.getWhoClicked().closeInventory(); 
     Player targetPlayer = Bukkit.getPlayer(e.getWhoClicked().getName()); 
     targetPlayer.performCommand("server multiplayer");