等待播放器发送消息-Java / Spigotmc

时间:2019-05-16 19:13:17

标签: java minecraft

我正在创建minecraft插件,我需要系统等待玩家发送消息(该消息将另存为变量)。但是我不知道该怎么做...

我尝试创建循环函数,该函数始终检查该播放器是否发送了消息(一旦播放器发送了一条消息,它将从数组或HashMap中删除),否则,它将向播放器发送标题为“ XYZ类型的消息”以聊天“但是,每次我运行该功能时,都会导致严重的延迟,并且在服务器崩溃后……是否有其他方法?

我的循环功能:

public boolean RequestMessage(String name, Player player) {
        String[] MessageArray = name.split("-");
        if(RPlayers.containsKey(player.getName())) {
            if (MessageArray[0].equals("edit")) {
                if (MessageArray[1].equals("join")) {
                    player.sendTitle(ChatColor.DARK_AQUA+"Edit Join message", ChatColor.GREEN+"left click"+ChatColor.GRAY+" to cancel", 0, 30, 0);
                    try {
                        Thread.sleep((long) 5000);
                        RequestMessage(name, player);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
            }
        return false;
    }

我会用

RPlayers.put(player.getName(), "edit-join-"+(1));
RequestMessage("edit-join-"+(1), player);

0 个答案:

没有答案