要实现 Spigot 1.20 与 BungeeCord 核心通信,并让玩家输入指令后可以传送到其他子服务器,你可以按照以下步骤进行操作:

  1. 创建一个 Spigot 插件项目,并将其导入到你的 IDE 中。

  2. 在插件的主类中,添加必要的导入语句:

import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.connection.Server;
  1. 在插件的主类中,重写onCommand方法,以处理玩家输入的指令:
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    if (cmd.getName().equalsIgnoreCase('transfer')) {
        if (!(sender instanceof Player)) {
            sender.sendMessage(ChatColor.RED + '该指令只能由玩家执行!');
            return true;
        }

        Player player = (Player) sender;
        if (args.length < 1) {
            player.sendMessage(ChatColor.RED + '请提供要传送到的服务器名称!');
            return true;
        }

        String targetServer = args[0];
        Server server = ProxyServer.getInstance().getServerInfo(targetServer);
        if (server == null) {
            player.sendMessage(ChatColor.RED + '未找到目标服务器!');
            return true;
        }

        ProxiedPlayer proxiedPlayer = ProxyServer.getInstance().getPlayer(player.getUniqueId());
        proxiedPlayer.connect(server);
        return true;
    }
    return false;
}
  1. 在插件的主类中,重写onEnable方法,注册插件的命令:
@Override
public void onEnable() {
    getCommand('transfer').setExecutor(this);
}
  1. 构建并导出插件,将生成的 JAR 文件放入 Spigot 服务器的插件文件夹中。

  2. 启动 Spigot 服务器和 BungeeCord 核心。

现在,当玩家在 Spigot 服务器中输入/transfer 目标服务器名称时,插件会将玩家传送到 BungeeCord 网络中的目标服务器。请确保在 BungeeCord 配置文件中正确配置了目标服务器的信息。

Spigot 1.20 与 BungeeCord 核心通信:玩家指令传送至其他服务器

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

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