Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

Помогите Ключи HashMap пропадают после перезагрузки сервера

Discussion in 'Разработка плагинов для новичков' started by Lisenochek, Jul 6, 2016.

  1. slavik123123123

    slavik123123123 Старожил Пользователь

    Trophy Points:
    143
    Имя в Minecraft:
    Leymooooooooooo
    алло.
    for (Player p : Bukkit.getOnlinePlayers()) {
    hm.put(p.getName());
    }
    Player p = event.getPlayer();
    hm.put(p.getName())
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    Lisenochek

    Lisenochek Активный участник Пользователь

    Trophy Points:
    76
    Имя в Minecraft:
    Lisenochek
    Все равно ругается.

    Вот весь код таймера
    Code:
        @Override
        public void run() {
            for(Player p : Bukkit.getOnlinePlayers()) {
               
                ml.sickPlayers.put(p.getName());
               
                if(!p.getWorld().hasStorm()) {
                    continue;
                }
            
                if(p.getInventory().getChestplate() != null) {
                    continue;
                }
               
                Location loc = p.getLocation();
               
                if(loc.getWorld().getHighestBlockYAt(loc) > loc.getBlockY()) {
                    continue;
                }
               
                if(ml.sickPlayers.isEmpty())
                MessageManager.getManager().msg(p, MsgType.INFORMATION, "Нужно одеться потеплее, иначе я замерну.");
                if(r.nextInt(10) <= 5) {
                    ml.sickPlayers.put(p, true);
                }
            }
        }
     
  4. CoolBoy

    CoolBoy Активный участник Пользователь

    Trophy Points:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    p.getName() в самом конце.
     
  5. slavik123123123

    slavik123123123 Старожил Пользователь

    Trophy Points:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Ааааа. Ну что это такое??
    зачем это?
    и
     
  6. Автор темы
    Lisenochek

    Lisenochek Активный участник Пользователь

    Trophy Points:
    76
    Имя в Minecraft:
    Lisenochek
    if(ml.sickPlayers.isEmpty()) - проверка на отсутствие ключа, чтобы не спамил двумя сообщениями сразу.

    То, что ты мне сказал поставить. ml.sickplayers - путь до хешмепа.
     
  7. slavik123123123

    slavik123123123 Старожил Пользователь

    Trophy Points:
    143
    Имя в Minecraft:
    Leymooooooooooo
    и в каком месте тут проверяется наличине в мапе p.getName()?
     
  8. Автор темы
    Lisenochek

    Lisenochek Активный участник Пользователь

    Trophy Points:
    76
    Имя в Minecraft:
    Lisenochek
    Так?

    Code:
                if(ml.sickPlayers.isEmpty()) {
                    MessageManager.getManager().msg(p, MsgType.INFORMATION, "Нужно одеться потеплее, иначе я замерну.");
                    p.getName();
                }
                if(r.nextInt(10) <= 5) {
                    ml.sickPlayers.put(p, true);
                    p.getName();
                }
     
  9. slavik123123123

    slavik123123123 Старожил Пользователь

    Trophy Points:
    143
    Имя в Minecraft:
    Leymooooooooooo
    ты хоть понимаешь что делает isEmpty()?
     
  10. Автор темы
    Lisenochek

    Lisenochek Активный участник Пользователь

    Trophy Points:
    76
    Имя в Minecraft:
    Lisenochek
    Да, ведь это условие работает.

    Проверяет, пустой ли мэп
     
  11. slavik123123123

    slavik123123123 Старожил Пользователь

    Trophy Points:
    143
    Имя в Minecraft:
    Leymooooooooooo
    И что ты будешь делать когда ты добавишь чтото в мапу?
     
  12. Автор темы
    Lisenochek

    Lisenochek Активный участник Пользователь

    Trophy Points:
    76
    Имя в Minecraft:
    Lisenochek
    Удалять добавленный ключ.

    remove(p)
     
  13. slavik123123123

    slavik123123123 Старожил Пользователь

    Trophy Points:
    143
    Имя в Minecraft:
    Leymooooooooooo
    даже тогда когда у него нету брони одетой? И он на воздухе?
     
  14. Автор темы
    Lisenochek

    Lisenochek Активный участник Пользователь

    Trophy Points:
    76
    Имя в Minecraft:
    Lisenochek
    Нет, у меня для этого есть айтем, после юзания - ключ удаляется
     
  15. slavik123123123

    slavik123123123 Старожил Пользователь

    Trophy Points:
    143
    Имя в Minecraft:
    Leymooooooooooo
    И как ты отправишь другому игроку сообщение если мапа НЕ пустая?
     
  16. Автор темы
    Lisenochek

    Lisenochek Активный участник Пользователь

    Trophy Points:
    76
    Имя в Minecraft:
    Lisenochek
    Вообщем. Объясняю схему. Игрок замерзает. Если он заболел - активируется таймер с простудой, а этот метод проверяет, если хеш пустой - он будет спамить это сообщение, когда игрок заболел, сообщение не спамится, спамится другое.

    Я кличко.
     
  17. slavik123123123

    slavik123123123 Старожил Пользователь

    Trophy Points:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Алло. Представь ситуацию, зашёл игрок замерз, потом зашёл другой игрок и тоже замерз. И теперь объясни мне как ты отправишь второму игроку сообщение, что он замерз, если мапа не пустая?
     
  18. Автор темы
    Lisenochek

    Lisenochek Активный участник Пользователь

    Trophy Points:
    76
    Имя в Minecraft:
    Lisenochek
    Воу. Об этом я не подумал :D

    И как тогда?
     
  19. slavik123123123

    slavik123123123 Старожил Пользователь

    Trophy Points:
    143
    Имя в Minecraft:
    Leymooooooooooo
    проверять есть ли игрок в мапе.
     
  20. Автор темы
    Lisenochek

    Lisenochek Активный участник Пользователь

    Trophy Points:
    76
    Имя в Minecraft:
    Lisenochek
    constantKey? constantValue?
     
  21. CoolBoy

    CoolBoy Активный участник Пользователь

    Trophy Points:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    Да не констант, a contains.
    Имеет ли ключ, имеет ли значение.
     

Share This Page