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

Помогите Выполнить действие при убийстве и воскресить

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

  1. Автор темы
    Феня

    Феня Старожил Пользователь

    Баллы:
    123
    Skype:
    vasilev_max
    Имя в Minecraft:
    eblan_tupoj
    Здравствуйте. Появилась у меня проблема. Мне нужно заспавнить, допустим, овцу, дать ей, допустим, 100 жизни. Если игрок убивает эту овцу (а она привязана поводком к забору) нужно выполнить какое-либо действие и воскресить её так же привязанной к забору. Пытался через EntityDeathEvent: при убийстве задает корове обратно 100 хп, но сервер уже её видит убитой. (у entitydeathevent нет setcancelled). Как это сделать?
     
  2. Хостинг MineCraft
    <
  3. kirill2011s

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

    Баллы:
    103
    EntityDamageEvent, отменять урон, если он приведет к смерти.
     
  4. Studenikin

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

    Баллы:
    123
    Skype:
    vanya.studenikin
    Имя в Minecraft:
    stuvanya
    If (e.getDamage()>=entity.getHealth()){
    e.setCancelled (true);
    //и что-то делаем
    }
     
  5. Автор темы
    Феня

    Феня Старожил Пользователь

    Баллы:
    123
    Skype:
    vasilev_max
    Имя в Minecraft:
    eblan_tupoj
    У EntityDamagebyEntityEvent нет .getHealth()
    А у EntityDeathEvent нет getDamage() ;([DOUBLEPOST=1462016775,1462016735][/DOUBLEPOST]
    Давно бы сделал, но как чекнуть через EntityDamageByEntityEvent жизнь моба?
     
  6. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Код:
            if(event.getEntity().getType() == EntityType.Cow) {
                Cow cow = (Cow)event.getEntity();
                if (event.getDamage() >= cow.getHealth()) {
                    ///
                }
     
  7. Автор темы
    Феня

    Феня Старожил Пользователь

    Баллы:
    123
    Skype:
    vasilev_max
    Имя в Minecraft:
    eblan_tupoj
    Что за евент?
     
  8. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
     
  9. Mr_RoboMan

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

    Баллы:
    123
    [DOUBLEPOST=1462018181,1462018147][/DOUBLEPOST]Ладно, опоздал на ~1 секунду XD
     
  10. Автор темы
    Феня

    Феня Старожил Пользователь

    Баллы:
    123
    Skype:
    vasilev_max
    Имя в Minecraft:
    eblan_tupoj
    Ни у EntityDamageByEntityEvent, ни у EntityDamageEvent нет этого метода

    [​IMG]
    [​IMG]
     
  11. Mr_RoboMan

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

    Баллы:
    123
  12. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
  13. Автор темы
    Феня

    Феня Старожил Пользователь

    Баллы:
    123
    Skype:
    vasilev_max
    Имя в Minecraft:
    eblan_tupoj
    Гхм, можете скинуть либу ядра?
     
  14. Mr_RoboMan

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

    Баллы:
    123
    Лучше ты скинь ошибку (наведи на ошибку, и заскринь)
     
  15. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    У меня 1.9
     
  16. Автор темы
    Феня

    Феня Старожил Пользователь

    Баллы:
    123
    Skype:
    vasilev_max
    Имя в Minecraft:
    eblan_tupoj
    [​IMG]
     
  17. CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Нужно наверное cow кастовать в livingentity
     
  18. Автор темы
    Феня

    Феня Старожил Пользователь

    Баллы:
    123
    Skype:
    vasilev_max
    Имя в Minecraft:
    eblan_tupoj
    И в правду :) Большое спасибо!
     
  19. Rfg0

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

    Баллы:
    46
    Имя в Minecraft:
    Rfg0
    Ещё можно попробовать вот так:
    Код:
        @EventHandler
        public void onEntity(EntityDamageByEntityEvent event){
           
       
            if(event.getEntity().getType() == EntityType.COW) {
              
                Cow cow = (Cow)event.getEntity();
                Damageable d = (Damageable) cow;
                if (event.getDamage() >= d.getHealth()) {
                    ///
                }
        }
        }
    Но это если тебе именно с Cow надо, а не с LivingEntity!
     
  20. Автор темы
    Феня

    Феня Старожил Пользователь

    Баллы:
    123
    Skype:
    vasilev_max
    Имя в Minecraft:
    eblan_tupoj
    Опять проблема. Иногда они все таки могут убить корову. Как это фиксить?
     
  21. CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    юзать вместо entitydamagebyentity entitydamage событие.
     

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