以下是一个使用 Java 编写的 Bukkit 插件,用于在 BungeeCord 和 Spigot 之间进行联动,并允许玩家在不同服务器之间进行传送请求(tpa)。\n\njava\nimport org.bukkit.Bukkit;\nimport org.bukkit.entity.Player;\nimport org.bukkit.event.EventHandler;\nimport org.bukkit.event.Listener;\nimport org.bukkit.event.player.PlayerCommandPreprocessEvent;\nimport org.bukkit.plugin.java.JavaPlugin;\nimport net.md_5.bungee.api.ChatColor;\nimport com.google.common.io.ByteArrayDataOutput;\nimport com.google.common.io.ByteStreams;\n\npublic class PluginName extends JavaPlugin implements Listener {\n\n @Override\n public void onEnable() {\n getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");\n getServer().getPluginManager().registerEvents(this, this);\n }\n\n @EventHandler\n public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) {\n Player player = event.getPlayer();\n String command = event.getMessage().substring(1); // Remove the leading "/"\n String[] args = command.split(" ");\n\n if (args.length > 1 && args[0].equalsIgnoreCase("tpa")) {\n String targetPlayerName = args[1];\n\n Player targetPlayer = Bukkit.getPlayer(targetPlayerName);\n if (targetPlayer != null) {\n player.sendMessage(ChatColor.GREEN + "传送请求已发送给 " + targetPlayerName);\n targetPlayer.sendMessage(ChatColor.GREEN + player.getName() + " 请求传送到你的服务器。");\n sendToServer(player, targetPlayer.getServer().getName());\n } else {\n player.sendMessage(ChatColor.RED + "玩家 " + targetPlayerName + " 不在线。");\n }\n event.setCancelled(true);\n }\n }\n\n private void sendToServer(Player player, String serverName) {\n ByteArrayDataOutput out = ByteStreams.newDataOutput();\n out.writeUTF("ConnectOther");\n out.writeUTF(player.getName());\n out.writeUTF(serverName);\n\n player.sendPluginMessage(this, "BungeeCord", out.toByteArray());\n }\n}\n\n\n在这个插件中,我们使用 Bukkit API 和 BungeeCord API 来实现联动。当玩家在 Bukkit 服务器上输入 "/tpa 玩家名字" 时,插件将触发 PlayerCommandPreprocessEvent 事件。然后,我们检查目标玩家是否在线。如果在线,我们发送传送请求消息给目标玩家,并将发送玩家传送到目标玩家所在的服务器。\n\n请确保将插件的名称替换为实际的插件名称,并将代码保存为一个 Java 文件,并将其编译为一个 Bukkit 插件,然后将其放入 Bukkit 服务器的插件文件夹中。

Bukkit 1.20.1 插件:跨服务器传送请求 (TPA) - Spigot & BungeeCord 联动

原文地址: https://www.cveoy.top/t/topic/p7nH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录