以下是一个简单的 Minecraft 服务器插件示例,可以检测玩家的登录密码是否与其他玩家的密码重合超过一半,并踢出匹配的玩家,并向他们显示一条消息。

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
import org.bukkit.plugin.java.JavaPlugin;

import java.util.HashMap;
import java.util.Map;

public class PasswordOverlapPlugin extends JavaPlugin implements Listener {
    private Map<String, String> playerPasswords;

    @Override
    public void onEnable() {
        playerPasswords = new HashMap<>();
        Bukkit.getPluginManager().registerEvents(this, this);
    }

    @EventHandler
    public void onPlayerPreLogin(AsyncPlayerPreLoginEvent event) {
        String playerName = event.getName();
        String playerPassword = event.getPassword();

        for (Player onlinePlayer : Bukkit.getOnlinePlayers()) {
            String onlinePlayerName = onlinePlayer.getName();
            String onlinePlayerPassword = playerPasswords.get(onlinePlayerName);

            if (onlinePlayerPassword != null && onlinePlayerPassword.equals(playerPassword)) {
                event.disallow(AsyncPlayerPreLoginEvent.Result.KICK_OTHER, ChatColor.RED + '你看起来像某人的小号uwu');
                Bukkit.broadcastMessage(ChatColor.YELLOW + playerName + ' 被踢出服务器,原因:密码重合');
                return;
            }
        }

        playerPasswords.put(playerName, playerPassword);
    }
}

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


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

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