Хостинг серверов Minecraft playvds.com
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем Lisenochek, 6 июл 2016.

  1. Автор темы
    Lisenochek

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

    Баллы:
    76
    Имя в Minecraft:
    Lisenochek
    Отпечатка, тогда первое наверно.[DOUBLEPOST=1467973559,1467973515][/DOUBLEPOST]Вот так?
    Код:
                if(!ml.sickPlayers.containsKey(p)) {
                    MessageManager.getManager().msg(p, MsgType.INFORMATION, "Нужно одеться потеплее, иначе я замерну.");
                    p.getName();
                }
    [DOUBLEPOST=1467975138][/DOUBLEPOST]А еще есть ошибка на put
    Просит в цикле сменить Player на String
    ml.sickPlayers.put(p, true);
     
  2. Хостинг MineCraft
    <
  3. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Я тебе выше писал что нужно заносить в мапу.
     
  4. Автор темы
    Lisenochek

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

    Баллы:
    76
    Имя в Minecraft:
    Lisenochek
    p.getName?[DOUBLEPOST=1467975961,1467975928][/DOUBLEPOST]Если так: ml.sickPlayers.put(p.getName(), true) - ошибка исчезает![DOUBLEPOST=1467976003][/DOUBLEPOST]Вот итоговый таймер. Все так?
    Код:
        @Override
        public void run() {
            for(Player p : Bukkit.getOnlinePlayers()) {
               
                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.containsKey(p)) {
                    MessageManager.getManager().msg(p, MsgType.INFORMATION, "Нужно одеться потеплее, иначе я замерну.");
                }
                if(r.nextInt(10) <= 5) {
                    ml.sickPlayers.put(p.getName(), true);
                    p.getName();
                }
            }
        }
    }
     
  5. Larin

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

    Баллы:
    103
  6. Автор темы
    Lisenochek

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

    Баллы:
    76
    Имя в Minecraft:
    Lisenochek
    Ну, тут все про хеши, но что я упустил?
     
  7. CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    Он такой тупой, что когда Player поменяли на String, то он не догнал что нужно ник игрока брать. Что ещё ты от него ожидал?[DOUBLEPOST=1467977003,1467976968][/DOUBLEPOST]
    Пару месяцев обучения джавке.
     
  8. Автор темы
    Lisenochek

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

    Баллы:
    76
    Имя в Minecraft:
    Lisenochek
    А я чего брал? UUID? Я брал ник игрока!
     
  9. CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
     
  10. Автор темы
    Lisenochek

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

    Баллы:
    76
    Имя в Minecraft:
    Lisenochek
    ml.sickPlayers.put(p.getName());

    Поправил в условии, но он ругается, что нужно все равно добавить true или false
     
  11. Larin

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

    Баллы:
    103
    Не обучаемый!
    Читай java docs!
    https://docs.oracle.com/javase/8/docs/api/java/util/Map.html
    HashMap - хранит в себе пары ключ-значение на основе хеша! Нельзя добавить в HashMap ключ без значения.
     
  12. Автор темы
    Lisenochek

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

    Баллы:
    76
    Имя в Minecraft:
    Lisenochek
    Я это знаю! Но блин, если я сделал так - вы говорите, что не так и наоборот.

    ml.sickPlayers.put(p.getName(), true);

    В хеше указано значение Boolean - а значит true или false[DOUBLEPOST=1467979231,1467978402][/DOUBLEPOST]Но даже так болезнь не появляется.[DOUBLEPOST=1467984834][/DOUBLEPOST]Но почему не работает, если я верно же вроде бы указал! Он просил Boolean - я ему выставил значение, но таймер не включается
     
  13. _MediaNik_

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

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Что ты несешь? Какой list.contains(player)? list.get(player)
    Программист, хах.
     
  14. Larin

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

    Баллы:
    103
    Когда решил показать, какой ты умный, но обосрался.
     
  15. Автор темы
    Lisenochek

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

    Баллы:
    76
    Имя в Minecraft:
    Lisenochek
    Начинается. Сезон срача открывать?
     
  16. _MediaNik_

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

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Либо тебе никогда не быть программистом, либо используй ArrayList.Вот, если не знаешь, что такое ArrayList
     
  17. Larin

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

    Баллы:
    103
     
  18. Автор темы
    Lisenochek

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

    Баллы:
    76
    Имя в Minecraft:
    Lisenochek
    Я на лист не перейду. И, кажется я плюсану ларина.
     
  19. _MediaNik_

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

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Я предлагаю годную схему, попробовал бы сначала, а потом уже говорил.
     
  20. Автор темы
    Lisenochek

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

    Баллы:
    76
    Имя в Minecraft:
    Lisenochek
    Я не люблю использовать лист.

    Мне просто осталось пофиксить проблему, когда болезнь не выдается, хотя список в файлы создался.
     
  21. Larin

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

    Баллы:
    103
    Знал бы, кому это говоришь.
     

Поделиться этой страницей