要实现获取 Bukkit 1.20 服务器全部 BC 子服的功能,可以使用以下代码:

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;

import java.util.ArrayList;
import java.util.List;

public class BCSubServerPlugin extends JavaPlugin {

    private List<String> bcSubServers;

    @Override
    public void onEnable() {
        bcSubServers = new ArrayList<>();

        // 使用 BukkitRunnable 每隔 5 秒检查一次 BC 子服
        new BukkitRunnable() {
            @Override
            public void run() {
                bcSubServers.clear();
                for (String serverName : Bukkit.getOnlinePlayers().stream()
                        .map(player -> player.getDisplayName().split('_')[1])
                        .distinct()
                        .toArray(String[]::new)) {
                    bcSubServers.add(serverName);
                }
            }
        }.runTaskTimer(this, 0, 100); // 每隔 5 秒运行一次
    }

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (command.getName().equalsIgnoreCase('subservers')) {
            sender.sendMessage('BC 子服列表:');
            for (String serverName : bcSubServers) {
                sender.sendMessage(serverName);
            }
            return true;
        }
        return false;
    }
}

这个插件会每隔 5 秒检查一次服务器上的 BC 子服,并将它们存储在一个列表中。当玩家输入 /subservers 命令时,会将列表中的 BC 子服发送给命令发送者。你可以将以上代码保存为一个 Java 文件,然后使用适当的构建工具进行编译和打包。

Bukkit 1.20 获取所有 BC 子服务器插件代码

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

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