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

Помогите Я не могу понять в чём ошибка, поможете

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

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

    Welester Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Welester
    Код:
    [USER=74023]@EventHandler[/USER]
        public void onBlockBreak(BlockBreakEvent e){
            Player p = e.getPlayer();
                    if(getConfig().getString("players." + p.getPlayer()) == null){
                        getConfig().addDefault("players." + p.getPlayer(), 1);
                    }else{
                    if(getConfig().getString("jobs." + p.getPlayer()) ==null){
                        getConfig().addDefault("jobs." + p.getPlayer(), 0);
                          if(getConfig().getString("skill." + p.getPlayer()) == null){
                              getConfig().addDefault("skill" + p.getPlayer(), 0);
                                    if(getConfig().getString("police." + p.getPlayer()) == null){
                                        getConfig().addDefault("police." + p.getPlayer(), 100);
                                    }
                                  if(getConfig().getString("nark." + p.getPlayer()) == null){
                                        getConfig().addDefault("nark." + p.getPlayer(), 0);
                                    }
                                  if(getConfig().getString("level." + p.getPlayer()) == null){
                                        getConfig().addDefault("level." + p.getPlayer(), 1);
                                    }
                           
                        if(getConfig().getInt("jobs." + p.getPlayer()) == 1){
                                    if(e.getBlock().getType() ==Material.HAY_BLOCK){
                                        p.sendMessage(ChatColor.YELLOW + "Вы собрали урожай, получив 1$");
                                        getConfig().set("players." + p.getPlayer(), getConfig().getInt("players." + p.getPlayer()) +1);
                                        getConfig().set("skill." + p.getPlayer(), getConfig().getInt("skill." + p.getPlayer()) +1);
                                        saveConfig();
                                    }
                            }
                        }
                        if(getConfig().getInt("jobs." + p.getPlayer()) == 2){
                            if(e.getBlock().getType() ==Material.IRON_ORE){
                                p.sendMessage(ChatColor.YELLOW + "Вы сломали блок железной руды, получив 3$");
                                getConfig().set("players." + p.getPlayer(), getConfig().getInt("players." + p.getPlayer()) +3);
                                getConfig().set("skill." + p.getPlayer(),getConfig().getInt("skill." + p.getPlayer()) + 1);
                                saveConfig();
                            }
                        }
                    }
                }
                    if(getConfig().getInt("jobs." + p.getPlayer()) == 1){
                        if(e.getBlock().getType() !=Material.HAY_BLOCK){
                            p.sendMessage(ChatColor.RED + "Вы работаете фермером!");
                            e.setCancelled(true);
                        }
                    }
                    if(getConfig().getInt("jobs." + p.getPlayer()) == 2){
                        if(e.getBlock().getType() !=Material.IRON_ORE){
                            p.sendMessage(ChatColor.RED + "Вы шахтёр!");
                            e.setCancelled(true);
                        }
                    }
                    if(getConfig().getInt("jobs." + p.getPlayer()) == 0){
                        p.sendMessage(ChatColor.RED + "Вы не работаете строителем!");
                        e.setCancelled(true);
                      }
                 
            }
    
    Вот код, по идее когда игрок ломает блок, то должно отправлятся сообщение с оповещением и прибавлятся 1 в деньгам, но в итоге при поломке блока ничего не происходит, если он работает под работой 1, то должно происходить условие. Я всё перепроверил, ничего не могу понять! Даже пробовал проверку убрать, толку 0!
     
    Последнее редактирование: 25 сен 2016
  2. Хостинг MineCraft
    <
  3. Exception_Prototype

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

    Баллы:
    46
    [code = java] - слитно
     
  4. Автор темы
    Welester

    Welester Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Welester
    уппс, я понял что я облажался, просто предсмотр показывал так, как надо
     
  5. _MediaNik_

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

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    addDefaults != set
     
  6. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    upload_2016-9-25_22-27-35.png
    Нет, правда, я чего-то не понимаю и это всё-таки лучше name / uuid?
    Так-то метод Player getPlayer() наследуется Player-ом от интерфейса OfflinePlayer, в котором он играет роль получения объекта игрока, если таковой играет на сервере в данный момент. Применительно к Player, он должен вернуть this, что приводит к равнозначности записей p.getPlayer() и просто p.
     
  7. Exception_Prototype

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

    Баллы:
    46
    А я ему уже это писал.
     
  8. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    1) получать инстанту Player из Player, гениально.
    2) sqlite or mysql не не слышал?
     
    Последнее редактирование: 25 сен 2016
  9. Автор темы
    Welester

    Welester Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Welester
    Ну да, только вот тут проблемка, что mysql не всем нужен, мне куда легче записать всё в отдельный файл.
     
  10. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Тогда sqlite.
     
  11. Автор темы
    Welester

    Welester Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Welester
    Ты мне предлагаешь спрашивать у всех без исключения хостингов, есть ли у них она? К тому же, world edit/guard просто записывают данные о регеонах в конфиг, однако им это не мешает
     
  12. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    https://www.google.ru/search?q=sqlite
     
  13. CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    TS, видимо, не знает, что такое sqlite.
     
  14. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Ты его код сверху видел? Он и жабу то ток начал изучать.
     

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