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

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

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

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

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

    Trophy Points:
    76
    Имя в Minecraft:
    Lisenochek
    Отпечатка, тогда первое наверно.[DOUBLEPOST=1467973559,1467973515][/DOUBLEPOST]Вот так?
    Code:
                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 Старожил Пользователь

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

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

    Trophy Points:
    76
    Имя в Minecraft:
    Lisenochek
    p.getName?[DOUBLEPOST=1467975961,1467975928][/DOUBLEPOST]Если так: ml.sickPlayers.put(p.getName(), true) - ошибка исчезает![DOUBLEPOST=1467976003][/DOUBLEPOST]Вот итоговый таймер. Все так?
    Code:
        @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 Старожил Пользователь

    Trophy Points:
    103
  6. Автор темы
    Lisenochek

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

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

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

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

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

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

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

    Trophy Points:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
     
  10. Автор темы
    Lisenochek

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

    Trophy Points:
    76
    Имя в Minecraft:
    Lisenochek
    ml.sickPlayers.put(p.getName());

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Trophy Points:
    103
     
  18. Автор темы
    Lisenochek

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

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

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

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

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

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

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

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

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

Share This Page