Помогите Можно ли как-нибудь сделать вывод силы атаки игрока?

  • Автор темы Автор темы Chupaaa
  • Дата начала Дата начала

Chupaaa

Новичок
Пользователь
Баллы
21
Имя в Minecraft
xChupa
Я немного говнокодю. Суть такова: тем больше xp, тем выше статы игрока.
Как сделать вывод силы атаки игрока?
мои писюльки:
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
Player p = (Player) sender;
int hp = (int)Math.round(p.getHealth());
int mhp = (int)Math.round(p.getMaxHealth());
int b = (int) (p.getWalkSpeed() * 1000);
p.sendMessage(ChatColor.BLUE + "Ник: " + ChatColor.GOLD + p.getName());
p.sendMessage(ChatColor.BLUE + "Уровень: " + ChatColor.GOLD + p.getLevel());
p.sendMessage(ChatColor.BLUE + "До следующего уровня осталось: " + ChatColor.GOLD + p.getExpToLevel());
p.sendMessage(ChatColor.BLUE + "Монет: " + ChatColor.GOLD + "...");
p.sendMessage(" ");
p.sendMessage(ChatColor.RED + "HP: " + ChatColor.GOLD + hp + "/" + mhp);
p.sendMessage(ChatColor.RED + "Скорость: " + ChatColor.GOLD + b);
p.sendMessage(ChatColor.RED + "Сила: " + ChatColor.GOLD + "...");
p.sendMessage(ChatColor.RED + "Удача: " + ChatColor.GOLD + ("..."));
return true;
}
 
Нет такого значения как сила атаки игрока. Есть сила удара каким либо предметом.
 
PHP:
static Map<String, Double> pAttack = new HashMap<>();
    
    @EventHandler
    public void onAttack(EntityDamageByEntityEvent e)//Сработает когда кого либо атакуют
    {
        if (e.getDamager() instanceof Player)//Проверка что ударил именно игрок
        {
            Player p = (Player) e.getDamager();//Получаем игрока
            String n = p.getName();//Получаем ник
            Double uron = pAttack.get(n);//Получаем урон
            e.setDamage(uron);//Устанавливаем урон
        }
    }
    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent e)//Сработает когда игрок зайден на сервер
    {
        pAttack.put(e.getPlayer().getName(), (double) 2);
    }
    @EventHandler
    public void onPlayerQuit(PlayerQuitEvent e)
    {
        pAttack.remove(e.getPlayer().getName());
    }
    
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if(sender instanceof Player)
        {
            Player p = (Player) sender;
            int hp = (int)Math.round(p.getHealth());
            int mhp = (int)Math.round(p.getMaxHealth());
            int b = (int) (p.getWalkSpeed() * 1000);
            double uron = pAttack.get(p.getName());
            p.sendMessage(ChatColor.BLUE + "Ник: " + ChatColor.GOLD + p.getName());
            p.sendMessage(ChatColor.BLUE + "Уровень: " + ChatColor.GOLD + p.getLevel());
            p.sendMessage(ChatColor.BLUE + "До следующего уровня осталось: " + ChatColor.GOLD + p.getExpToLevel());
            p.sendMessage(ChatColor.BLUE + "Монет: " + ChatColor.GOLD + "...");
            p.sendMessage(" ");
            p.sendMessage(ChatColor.RED + "HP: " + ChatColor.GOLD + hp + "/" + mhp);
            p.sendMessage(ChatColor.RED + "Скорость: " + ChatColor.GOLD + b);
            p.sendMessage(ChatColor.RED + "Сила: " + ChatColor.GOLD + uron);
            p.sendMessage(ChatColor.RED + "Удача: " + ChatColor.GOLD + ("..."));
            
        }
        return false;
    }
 
Назад
Верх