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

Помогите Отключить горение на солнце или вечная ночь

Тема в разделе "Помощь", создана пользователем CraftCoder, 10 мар 2015.

  1. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Пару вопросов:
    1. Как отключить горение мобов на солнце?
    2. Если первое - никак, то как сделать вечную ночь?(Есть плагин Essentials)
     
  2. Хостинг MineCraft
    <
  3. MelonCraft

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

    Баллы:
    103
    Имя в Minecraft:
    pisikakin
    /gamerule DoDayLightCycle false и включай ночь.
     
  4. LaoTheLizard

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

    Баллы:
    103
    Skype:
    sgp_the_controller
    Можно так:
    Код:
       @EventHandler
       public void onSpawn(CreatureSpawnEvent e){
          LivingEntity entity = e.getEntity();
        if(entity instanceof Monster){entity.addPotionEffect(new PotionEffect(PotionEffectType.FIRE_RESISTANCE, 1728000, 0));}
       }
    
     
  5. MelonCraft

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

    Баллы:
    103
    Имя в Minecraft:
    pisikakin
    И да, в gamerule тоже есть отключение горение мобов =)
     
  6. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    А не проще отменить урон от огня?[DOUBLEPOST=1426023776,1426023709][/DOUBLEPOST]По поводу ночи, юзай шедулер, и перед рассветом меняй время обратно.
     
  7. LaoTheLizard

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

    Баллы:
    103
    Skype:
    sgp_the_controller
    Ну я разумею, что тогда придется урон от огня отменять каждый тик. А так - один раз, при спавне моба.
     
  8. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Код:
      @EventHandler
      public void EntityCombust(EntityCombustEvent event) {
        event.setCancelled(true);
      }
     
  9. LaoTheLizard

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

    Баллы:
    103
    Skype:
    sgp_the_controller
    Не знал. Спасибо. Буду знать.[DOUBLEPOST=1426026834,1426026588][/DOUBLEPOST]И тем не менее, каждый моб будет тушиться плагином каждый тик. Ведь так?
     
  10. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Ну замерай тайминги и отпиши как оно. Ну задержек не должно быть, мы же ничего тяжолого там не выполняем.
     
  11. LaoTheLizard

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

    Баллы:
    103
    Skype:
    sgp_the_controller
    Вообще, есть более элегантное решение.
    Код:
        @EventHandler
          public void onSpawn(CreatureSpawnEvent e){
             LivingEntity entity = e.getEntity();
           if(entity instanceof Zombie || entity instanceof Skeleton){
              entity.getEquipment().setHelmet(new ItemStack(Material.LEATHER_HELMET, 1));
           }
          }
    
     
  12. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Ну если мой вариант отожрет тпс, в чем я сомневаюсь, то попробуй свой.
     
  13. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Ну я думал есть готовые плагины, но раз так пошло, то напишу еще один микро-фикс. С ночью уже разобрался.[DOUBLEPOST=1426585002,1426048129][/DOUBLEPOST]Тут такое дело, DoDayLightCycle не работает на spigot, а с горением так и не получилось... А вечную ночь только шедулером?
     
  14. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Я дал же тебе решение от горения на солнце, от огня они продолжат гореть как и положено.
     
  15. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Разве? Сейчас проверю.
     
  16. saharin94

    saharin94 Старожил Пользователь Заблокирован

    Баллы:
    173
    Skype:
    RikkiLooh
    Имя в Minecraft:
    RubukkitDniwe
    instanceof - как раз таки медленный оператор. Есть getType() для определения вида entity.
     
  17. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Как я и подозревал твой способ убирает горение вообще.
     
  18. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Ты видимо немой взял! В моем все работает, на солнце ходит, в огне горит.[DOUBLEPOST=1426612973,1426612333][/DOUBLEPOST]https://cloud.mail.ru/public/8e50b7f51370/Новый.mov Вот тебе пруфит.
     
  19. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Я вот так и делаю.
     
  20. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Ну незнаю, видос ты видел, все отлично. Может ты где то юзанул вариант с зельем или еще чем.
     
  21. LaoTheLizard

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

    Баллы:
    103
    Skype:
    sgp_the_controller
    Я об этом не знал. А у тебя откуда эта информация?
     

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