Помогите Если здоровье меньше...

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

_Rudey_

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
RudeyCoolLeet
И снова здравствуйте!
Я решил сделать что-то вроде скиллов мобам.
Как сделать так, чтобы если у определённого моба хм = или <... Ну, допустим 300, то он выпускает
каких-нибудь миньонов?
Заранее спасибо :)
 
Java:
if (spider.getHealth() >= 300){
            spider.getLocation().getWorld().spawnEntity(spider.getLocation(), EntityType.ZOMBIE);
        }
 
С гвоооооздиком :D
Неее, плес(9((( Я в детстви головой ударелся и мозг отрофировался, мне нильзя палучать боль, я в овощьь привращусь и мама мэня в салат порежет9(((все деньги отдам вам, ток не бейте!
 
Проверяй здоровье моба в мире, если больше спауни на его кордах моба
Получить моба в мире можно через for
 
Java:
bublic voed МобДамадже == моб;(((
ЕСЛИ (Моб.get HP 300}}
minecraft.spawn.зомби
chat.игрок.отправить сообщение:[RED] + Босс призвал мобав!
Должно работать, но мне Eclipse всё подчеркнул красным =(
 
Java:
bublic voed МобДамадже == моб;(((
ЕСЛИ (Моб.get HP 300}}
minecraft.spawn.зомби
chat.игрок.отправить сообщение:[RED] + Босс призвал мобав!
Должно работать, но мне Eclipse всё подчеркнул красным =(
Очень странно, почему же? О_о
Даже не знаю
 
А у него ТОЧНО HP 300? Нигде не вижу setMaxHealth->then->setHealth
 
В общем, метод должен выглядеть примерно так:
Код:
    @EventHandler
    public void onEntityEvent(EntityDamageEvent event) {
        EntityType currentEntityType = event.getEntity().getType();
        LivingEntity entity = (LivingEntity) event.getEntity();
        if(config.getList("entities").contains(currentEntityType.toString()) && entity.getHealth() < config.getInt("healthCount"))
            entity.getWorld().spawnEntity(entity.getLocation(), EntityType.valueOf(config.getString("spawnEntity")));
    }
Для удобства я сделал 3 значения, которые мы получаем из файла конфигурации, что позволяет задавать нужных мобов и предел здоровья. Конфиг выглядит так:
Код:
entities:
    - SHEEP
healthCount: 2
spawnEntity: PIG
В массив entities заносим всех мобов, которые должны "иметь скилы".Значение healthCount отвечает за значение здоровья моба, после которого он начнёт спавнить других мобов. Значение spawnEntity отвечает за моба, который будет спавниться.
Все доступные сущности можно посмотреть в enum

При такой конфигурации(как в конфиге), мы будем бить овцу и она будет спавнить свиней, после того как у неё останется меньше 2 хп, таким образом можно заспавнить 2 свиньи, если бить овцу рукой.В качестве дополнения, можно добавить команды для добавления значений в конфиг и его перезагрузки.Так же, можно сделать подгрузку значений из конфига при включении плагина, ибо при каждом ударе моба мы будем запрашивать значение из конфига, что не есть очень хорошо.Вышеприведённый код протестирован и работает как нужно(но баги всё равно возможны).
 
В общем, метод должен выглядеть примерно так:
Код:
    @EventHandler
    public void onEntityEvent(EntityDamageEvent event) {
        EntityType currentEntityType = event.getEntity().getType();
        LivingEntity entity = (LivingEntity) event.getEntity();
        if(config.getList("entities").contains(currentEntityType.toString()) && entity.getHealth() < config.getInt("healthCount"))
            entity.getWorld().spawnEntity(entity.getLocation(), EntityType.valueOf(config.getString("spawnEntity")));
    }
Для удобства я сделал 3 значения, которые мы получаем из файла конфигурации, что позволяет задавать нужных мобов и предел здоровья. Конфиг выглядит так:
Код:
entities:
    - SHEEP
healthCount: 2
spawnEntity: PIG
В массив entities заносим всех мобов, которые должны "иметь скилы".Значение healthCount отвечает за значение здоровья моба, после которого он начнёт спавнить других мобов. Значение spawnEntity отвечает за моба, который будет спавниться.
Все доступные сущности можно посмотреть в enum

При такой конфигурации(как в конфиге), мы будем бить овцу и она будет спавнить свиней, после того как у неё останется меньше 2 хп, таким образом можно заспавнить 2 свиньи, если бить овцу рукой.В качестве дополнения, можно добавить команды для добавления значений в конфиг и его перезагрузки.Так же, можно сделать подгрузку значений из конфига при включении плагина, ибо при каждом ударе моба мы будем запрашивать значение из конфига, что не есть очень хорошо.Вышеприведённый код протестирован и работает как нужно(но баги всё равно возможны).
а потом сервер зациклится... ну - ну.. удачи.
 
Назад
Верх