2016-11-25 8 views
1

Я создаю мод, который добавляет броню, которая делает вас непобедимыми. До сих пор у меня есть этот код:Отменить повреждение анимации

@SubscribeEvent 
public void onPlayerHurt(LivingHurtEvent event) { 
    if(event.getEntity() != null && event.getEntity() instanceof EntityPlayer){ 
     EntityPlayer player = (EntityPlayer) event.getEntity(); 
     for(ItemStack stack : player.getArmorInventoryList()) { 
      if(stack != null && stack.getItem() instanceof ItemUltimusArmor){ 
       event.setCanceled(true); 
      } 
     } 
    } 
} 

Это делает отменить повреждения, когда я использую мою броню, но я все еще получаю шум и анимацию. Надев эту броню, я хочу, чтобы у меня не было этого. Есть ли способ сделать это?

+0

Работает ли 'LivingAttackEvent'? (Это событие происходит, когда объект подвергается атаке). Если нет, альтернативой было бы как-то отменить анимацию напрямую - анимация запускается в 'EntityLivingBase.handleStatusUpdate' (см. Статью [wiki.vg о сущностях] (http://wiki.vg/Entities#Living)) - I не знаю, имеет ли кузница крючок для этого или нет, но это потенциальный лидер. – Pokechu22

ответ

1

Я понял. Я использовал LivingAttackEvent для прослушивания события, буквально использовал тот же код, что и LivingHurtEvent, и он сработал. Спасибо Pokechu22 за это!

 Смежные вопросы

  • Нет связанных вопросов^_^