要实现在子服之间跨服传送,你需要使用 BungeeCord 插件来处理服务器之间的通信。以下是一个使用 Java 编写的简单示例,可以让 Spigot 1.12 玩家输入指令来进行跨服传送:

首先,你需要在 BungeeCord 的 config.yml 文件中启用 IP 转发。确保以下行未注释:

ip_forward: true

接下来,创建一个 Spigot 插件,命名为 CrossServerTeleport。在插件的主类中,注册一个指令,并在执行指令时发送一个自定义的跨服传送消息到 BungeeCord 代理服务器。

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.connection.Server;

public class CrossServerTeleport implements CommandExecutor {

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (!(sender instanceof Player)) {
            sender.sendMessage('该指令只能由玩家执行!');
            return true;
        }

        Player player = (Player) sender;
        if (args.length < 2) {
            player.sendMessage('用法: /cst <服务器名称> <玩家名称>');
            return true;
        }

        String serverName = args[0];
        String playerName = args[1];

        ProxiedPlayer targetPlayer = ProxyServer.getInstance().getPlayer(playerName);
        if (targetPlayer == null) {
            player.sendMessage('玩家 ' + playerName + ' 不在线!');
            return true;
        }

        Server targetServer = ProxyServer.getInstance().getServerInfo(serverName);
        if (targetServer == null) {
            player.sendMessage('服务器 ' + serverName + ' 不存在!');
            return true;
        }

        targetPlayer.connect(targetServer);
        player.sendMessage('正在将玩家 ' + playerName + ' 传送到服务器 ' + serverName + ' ...');
        return true;
    }
}

在插件的 onEnable 方法中,将该指令注册到服务器。

import org.bukkit.plugin.java.JavaPlugin;

public class CrossServerTeleportPlugin extends JavaPlugin {

    @Override
    public void onEnable() {
        getCommand('cst').setExecutor(new CrossServerTeleport());
    }
}

最后,将插件导出为 jar 文件并放置在 Spigot 服务器的插件文件夹中。当玩家在游戏中输入 /cst <服务器名称> <玩家名称> 时,插件将尝试将指定玩家传送到指定的服务器。

请注意,这只是一个简单的示例,你可能需要根据你的具体需求进行修改和扩展。


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

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