Minecraft 1.20 BungeeCord插件: 使用指令跨服传送
Minecraft 1.20 BungeeCord插件: 使用指令跨服传送
本教程将指导您使用Java和BungeeCord API创建一个Minecraft 1.20 Spigot插件,允许玩家使用指令在子服务器之间传送。
以下是插件代码示例:javaimport net.md_5.bungee.api.ChatColor;import net.md_5.bungee.api.ServerPing;import net.md_5.bungee.api.config.ServerInfo;import net.md_5.bungee.api.connection.ProxiedPlayer;import net.md_5.bungee.api.plugin.Plugin;import net.md_5.bungee.api.plugin.PluginManager;import net.md_5.bungee.api.plugin.TabExecutor;
public class MyWorldTeleportPlugin extends Plugin implements TabExecutor { @Override public void onEnable() { PluginManager pluginManager = getProxy().getPluginManager(); pluginManager.registerCommand(this, this); }
@Override public void onDisable() { }
@Override public Iterable<String> onTabComplete(CommandSender sender, String[] args) { if (args.length == 1) { return getServerNames(); } return null; }
@Override public void execute(CommandSender sender, String[] args) { if (!(sender instanceof ProxiedPlayer)) { sender.sendMessage(ChatColor.RED + '只有玩家可以使用此命令!'); return; }
ProxiedPlayer player = (ProxiedPlayer) sender; if (args.length != 1) { player.sendMessage(ChatColor.RED + '请输入正确的命令格式:/myworld <服务器名>'); return; }
String serverName = args[0]; ServerInfo targetServer = getProxy().getServerInfo(serverName); if (targetServer == null) { player.sendMessage(ChatColor.RED + '找不到指定的服务器!'); return; }
player.connect(targetServer); }
private Iterable<String> getServerNames() { return getProxy().getServers().keySet(); }}
代码说明:
- 该插件监听
/myworld <服务器名>指令。* 玩家输入指令后,插件会检查输入是否有效并尝试连接到目标服务器。* 如果目标服务器存在,玩家将被传送过去。
请注意:
- 您需要将Bungeecord API添加到您的构建路径中。* 这只是一个简单的示例,您可能需要根据自己的需求进行修改和调整。
原文地址: https://www.cveoy.top/t/topic/fPKh 著作权归作者所有。请勿转载和采集!