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

Welester

Участник
Пользователь
Баллы
36
Имя в Minecraft
Welester
Java:
[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!
 
Последнее редактирование:
upload_2016-9-25_22-27-35.png
Нет, правда, я чего-то не понимаю и это всё-таки лучше name / uuid?
Так-то метод Player getPlayer() наследуется Player-ом от интерфейса OfflinePlayer, в котором он играет роль получения объекта игрока, если таковой играет на сервере в данный момент. Применительно к Player, он должен вернуть this, что приводит к равнозначности записей p.getPlayer() и просто p.
 
Посмотреть вложение 43143
Нет, правда, я чего-то не понимаю и это всё-таки лучше name / uuid?
Так-то метод Player getPlayer() наследуется Player-ом от интерфейса OfflinePlayer, в котором он играет роль получения объекта игрока, если таковой играет на сервере в данный момент. Применительно к Player, он должен вернуть this, что приводит к равнозначности записей p.getPlayer() и просто p.
А я ему уже это писал.
 
1) получать инстанту Player из Player, гениально.
2) sqlite or mysql не не слышал?
 
Последнее редактирование:
Ты мне предлагаешь спрашивать у всех без исключения хостингов, есть ли у них она? К тому же, world edit/guard просто записывают данные о регеонах в конфиг, однако им это не мешает
 
TS, видимо, не знает, что такое sqlite.
 
Назад
Верх