-3
我是使用Java进行编程的新手,并希望使用If语句将消息从客户端发送到服务器。尝试使用套接字向Bukkit服务器发送命令
因此,我正在开发一个Bukkit插件,它将在没有BungeeCord的服务器上使用。我想要做的是当有人发送我的插件识别的命令(例如:在服务器1上)时,我希望它在该服务器上执行并将命令发送到另一个服务器以执行它。
if (cmd.equalsIgnoreCase("OTWG"))
{
if (args[0].equalsIgnoreCase("kick"))
{
if (sender instanceof Player)
{ // prevents possible NPE
if (sender.hasPermission("net.OTWG.kick"))
{
if (args.length == 1)
{
sender.sendMessage(ChatColor.DARK_RED + "[OTWG] " + ChatColor.GRAY + "Please enter a players name!");
return true;
}
else if (args.length >= 2)
{ // Corrected from: args.length > 1
Player target = Bukkit.getServer().getPlayerExact(args[1]);
if (target != null)
{ // prevents possible NPE
target.kickPlayer(ChatColor.DARK_RED + "[OTWG] " + ChatColor.GRAY + "You were kicked by " + sender.getName());
Bukkit.getServer().broadcastMessage(ChatColor.DARK_RED + "[OTWG]" + ChatColor.GRAY + "The player " + target.getName() + " was kicked by " + sender.getName());
return true;
}
}
}
else
{
sender.sendMessage(ChatColor.DARK_RED + "[OTWG] " + ChatColor.GRAY + "You do not have the permissions to do this action.");
}
}
else
{
if (sender.hasPermission("net.OTWG.kick"))
{
if (args.length == 1)
{
sender.sendMessage(ChatColor.DARK_RED + "[OTWG] " + ChatColor.GRAY + "Please enter a players name!");
return true;
}
else if (args.length >= 2)
{ // Corrected from: args.length > 1
Player target = Bukkit.getServer().getPlayerExact(args[1]);
if (target != null)
{ // prevents possible NPE
target.kickPlayer(ChatColor.DARK_RED + "[OTWG] " + ChatColor.GRAY + "You were kicked by " + sender.getName());
Bukkit.getServer().broadcastMessage(ChatColor.DARK_RED + "[OTWG]" + ChatColor.GRAY + "The player " + target.getName() + " was kicked by " + sender.getName());
return true;
}
}
}
else
{
sender.sendMessage(ChatColor.DARK_RED + "[OTWG] " + ChatColor.GRAY + "You do not have the permissions to do this action.");
}
}
}
}
所以当,例如,有人发送踢命令,而该人是在其他服务器上,它会发送命令Ø其他服务器,然后服务器会执行它。
现在我的问题。
当我说出(例如:/ OTWG kick {Player})时,我有一些麻烦,它会将它发送给其他服务器以执行它。
我该怎么做呢?
'想用客户端发送消息到服务器使用If Statements'什么?我不确定你的意思。你能提供更多的信息,像一些伪代码吗? – Pshemo
http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html – Javier
你可以用ifs和gotos做所有事情,但通常使用起来更容易,而其他构造太! – isnot2bad