Помогите Отправка сообщения игрокам

  • Автор темы Автор темы Sergeo
  • Дата начала Дата начала

Sergeo

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Solomka
Проблема состоит в том, что не отправляется сообщение хелперам (Ошибок в консоли нет)

Выводил в консоль кол-во людей в HashSet перед отправкой сообщения (Оно не != 0)

Код:
    @Getter private final Main plugin;

    private final Users users = new Users(Main.getInstance());

    public final HashSet<Player> onlineHelpers = new HashSet<>();

    public JoinPlayer(Main plugin) throws SQLException, ClassNotFoundException {
        this.plugin = plugin;
    }
  
@EventHandler
public void join(PlayerJoinEvent e) {
    Player p = e.getPlayer();

    new BukkitRunnable() {
        @SneakyThrows
        @Override
        public void run() {
            if(users.isHelperPlayer(p.getName())) {
                onlineHelpers.add(p);
                return;
            }
            if(users.isHavePlayer(p.getName())) return;

            users.addUser(p.getName(),0,false,false,false,false,0,false);
        }
    }.runTaskLater(Main.getInstance(), 20L);
    }

Отправка вопроса:

Код:
private final Users users = new Users(Main.getInstance());
private final ConfigManager config = new ConfigManager();
private final MessageHandler msg = new MessageHandler();
private final JoinPlayer join = new JoinPlayer(Main.getInstance());

public Question() throws SQLException, ClassNotFoundException {}

public void sendQuestion(Player p, String message) throws SQLException, ClassNotFoundException {

        if(users.isActiveQuestion(p.getName())) {
            p.sendMessage(translateAlternateColorCodes('&', msg.sHaveActiveQuestion()));
            return;
        }

        for(Player name : join.onlineHelpers) {
            name.sendMessage(translateAlternateColorCodes('&', msg.sSendQuestionFormat(message, p)));
        }

        users.setActiveQuestion(p.getName(), true);
        new RunnableDB().start(p, config.getInt("Question.Cooldown"), RunnableType.COOLDOWN);

    }
 
Не вижу, чтоб ты где-либо использовал "sendQuestion" вообще. Да и на кой черт у тебя везде стоит "throws SQLException, ClassNotFoundException"?
 
Не вижу, чтоб ты где-либо использовал "sendQuestion" вообще. Да и на кой черт у тебя везде стоит "throws SQLException, ClassNotFoundException"?
В классе Users все запросы к базе (Все методы с throws SQLException, ClassNotFoundException)

Использование:


Код:
   @Getter private final Main plugin;

    private final ConfigManager config = new ConfigManager();
    private final MessageHandler msg = new MessageHandler();

    public QuestionCommand(Main plugin) {
        this.plugin = plugin;
    }

    @SneakyThrows
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String str, String[] args) {

        if(!(sender instanceof Player)) {
            sender.sendMessage(translateAlternateColorCodes('&', "&cYOU NOT PLAYER"));
            return true;
        }

        Player p = (Player) sender;

        StringBuilder sb = new StringBuilder();
        for (String arg : args) sb.append(arg).append(' ');

        if(sb.length() < config.getInt("Question.MinSize")) {
            p.sendMessage(translateAlternateColorCodes('&', msg.sMinSizeMessage(config.getInt("Setting.Question.MinSize"))));
            return true;
        }
        new Question().sendQuestion(p, sb.toString());
        return true;
    }
 
Назад
Верх