以下是一个示例代码,用 Java 编写一个 Bukkit 插件,实现玩家在 A 服输入 Tpa 命令后传送到 B 服好友身边。

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class TpaPlugin extends JavaPlugin {

    @Override
    public void onEnable() {
        getCommand("tpa").setExecutor(new TpaCommand());
    }

    public class TpaCommand implements CommandExecutor {

        @Override
        public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
            if (sender instanceof Player) {
                Player player = (Player) sender;
                if (args.length == 1) {
                    String friendName = args[0];
                    Player friend = Bukkit.getPlayer(friendName);
                    if (friend != null) {
                        sendPlayerToServer(player, friend);
                        return true;
                    } else {
                        player.sendMessage('好友不在线');
                        return true;
                    }
                } else {
                    player.sendMessage('使用方法:/tpa <好友名称>');
                    return true;
                }
            } else {
                sender.sendMessage('只有玩家可以使用此命令');
                return true;
            }
        }
    }

    private void sendPlayerToServer(Player player, Player friend) {
        // 使用 BungeeCord 插件提供的 API 将玩家传送到 B 服
        ByteArrayDataOutput out = ByteStreams.newDataOutput();
        out.writeUTF("Connect");
        out.writeUTF(friend.getServer().getInfo().getName());
        player.sendPluginMessage(this, "BungeeCord", out.toByteArray());
    }
}

请注意,此代码中使用了BungeeCord插件提供的 API 来实现服务器之间的传送。因此,在使用此插件之前,您需要确保已经安装和配置了BungeeCord插件,并且 BungeeCord 与 Spigot 是正确整合的。


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

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