Помогите Как поставить кастомному мобу больше хп

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

Kloper

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
f3azzy
Привет!
Нужно добавить мобу больше максимального здоровья, но я не знаю как, не получается через setMaxHealth.
Код:
Код:
@EventHandler
    public void testi(PlayerInteractEvent e) {
        Player player = e.getPlayer();
        
        if(e.getAction() != Action.RIGHT_CLICK_AIR && e.getAction() != Action.RIGHT_CLICK_BLOCK) return;
        Block block = e.getClickedBlock();
        if(!(e.getPlayer().getInventory().getItemInMainHand().getType() == Material.EGG)) return;
        e.setCancelled(true);
        if(block.getType() != Material.PRISMARINE){
            e.getPlayer().sendMessage("§c[§4ERROR§c] Sorry, the call egg can only be used in the §4arena§c.");
            return;
        }
        Location locClick = block.getLocation();
        World w = Bukkit.getWorld("world");
        WorldServer world = ((CraftWorld)player.getWorld()).getHandle();
        w.spawnParticle(Particle.CLOUD, locClick, 30000);
        e.getPlayer().sendMessage("§2[§aSeccus§2] §aYou successfully summoned the boss §2Fallen Villager§a!");
        
         if (player.getInventory().getItemInMainHand().getAmount() == 1) {
                player.getInventory().setItemInMainHand(null);
            } else {
                player.getInventory().getItemInMainHand().setAmount(player.getInventory().getItemInMainHand().getAmount() - 1);
            }
        
        
        Runnable spawn = new Runnable() {

            @Override
            public void run() {
                EntityZombie FallenVillager = new EntityZombie(world);
                FallenVillager.setCustomName("§cFallen Villager");
                FallenVillager.setCustomNameVisible(true);
                FallenVillager.setHealth(400);
                FallenVillager.setLocation(locClick.getX(), locClick.getY() + 1, locClick.getZ(), locClick.getYaw(), locClick.getPitch());
                world.addEntity(FallenVillager);
            }
        };
        Bukkit.getScheduler().runTaskLater(plugin, spawn, 15);
        
    }
 
Generics. Возьми любого моба, вскрой его НБТ и увидишь Generic.maxHealth
 
FallenVillager.setMaxHealth(?);
FallenVillager.setHealth(?);
Не вижу чтобы ты указал максимальное хп
 
Возьми бакитовское ентити и измени ему Generic.maxHealth.
 
а другим способом никак нельзя? раньше вроде можно было на других версиях через setMaxHealth
Я знаю только такой способ, если хочешь можешь маяться с НМС и другой хренью. Просто знай, что у энтити есть атрибуты. (забыл слово) Атрибуты могут максимальное количество здоровья изменять.
 
Я знаю только такой способ, если хочешь можешь маяться с НМС и другой хренью. Просто знай, что у энтити есть атрибуты. (забыл слово) Атрибуты могут максимальное количество здоровья изменять.
попробовал твоим способом, всё равно моб не спавнится
код:
Код:
((Attributable) FallenVillager).getAttribute(Attribute.GENERIC_MAX_HEALTH).setBaseValue(400);
 
попробовал твоим способом, всё равно моб не спавнится
код:
Код:
((Attributable) FallenVillager).getAttribute(Attribute.GENERIC_MAX_HEALTH).setBaseValue(400);
Моб не спавнится?! И зачем ты его кастуешь, там же, вроде, есть метод для получения бакитовской энтити.
 
Конечно, метод выше делает тоже самое, внезапно. Только писать удобнее.
Я всегда считал, что НМС - это один целый костыль и юзать его тоже костыль. А тут, внезапно, то, что добавлено в Spigot API стало костылём.
 
Я всегда считал, что НМС - это один целый костыль и юзать его тоже костыль. А тут, внезапно, то, что добавлено в Spigot API стало костылём.
Я вижу тебе удобно юзать жирный метод лишним импортом, когда можно упрощенный. Как хочешь.
 
Я вижу тебе удобно юзать жирный метод лишним импортом, когда можно упрощенный. Как хочешь.
Я никогда не страдал фигнёй и не делал кастомных мобов через плагины(я не о том, что создавать кастомных мобов - фигня, просто для меня не интересно), хотяяяяяяяяяя, нет всё-таки делал,но не через НМС и без атрибутов. И атрибуты я использовал только для КБ. Согласись, что не всегда хорошо зализать в "бэкэнд", чтобы сделать что-то простое.
 
Я никогда не страдал фигнёй и не делал кастомных мобов через плагины(я не о том, что создавать кастомных мобов - фигня, просто для меня не интересно), хотяяяяяяяяяя, нет всё-таки делал,но не через НМС и без атрибутов. И атрибуты я использовал только для КБ. Согласись, что не всегда хорошо зализать в "бэкэнд", чтобы сделать что-то простое.
Касаемо кода с шапки это полный бред согласен полностью.
 
Касаемо кода с шапки это полный бред согласен полностью.
Кста да. Чем ему обычный спавнер не угодил? И особенно кровь из глаз вызывает, что эта куча кода вызывается из ивента.
 
Назад
Верх