以下是一个使用Java编写的Bukkit 1.20插件,允许玩家使用指令进行子服跨服传送,并且使用BungeeCord进行配置。

import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class CrossServerTeleport extends JavaPlugin {

    @Override
    public void onEnable() {
        // 在插件启用时进行初始化
        // 这里可以添加其他的初始化逻辑
    }

    @Override
    public void onDisable() {
        // 在插件禁用时进行清理
        // 这里可以添加其他的清理逻辑
    }

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (sender instanceof Player) {
            Player player = (Player) sender;

            // 检查指令是否为/crossserver
            if (command.getName().equalsIgnoreCase("crossserver")) {
                // 检查参数是否正确
                if (args.length < 2) {
                    player.sendMessage("用法: /crossserver <服务器名称> <玩家名称>");
                    return true;
                }

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

                // 使用BungeeCord的API进行跨服传送
                getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
                player.sendPluginMessage(this, "BungeeCord", ("ConnectOther;"+ targetPlayer + ";" + serverName).getBytes());

                player.sendMessage("正在将玩家 ' + targetPlayer + ' 传送至服务器 ' + serverName);
                return true;
            }
        }

        return false;
    }
}

在BungeeCord配置文件中(通常为config.yml),需要添加以下配置来启用BungeeCord的跨服传送功能:

ip_forward: true

这样,当玩家使用指令进行跨服传送时,BungeeCord将会将玩家传送到目标服务器。请确保你的BungeeCord配置正确并且服务器已正确设置。

Bukkit 1.20 跨服传送插件:使用指令进行子服传送 (BungeeCord 配置)

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

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