Отдача от нанесения урона

Версия Minecraft
1.7.10
222
5
28
Допустим я наношу урон некому entity, как сделать так, чтобы его не откинуло после нанесения урона?
 
1,159
38
544
На ум приходит только хукануть EntityLivingBase#attackEntityFrom() или EntityLivingBase#knockBack(), если это ванильный моб. Если катстомный - просто оверрайдить эти методы. Имхо, хотелось бы способ лучше.
 
222
5
28
Да, так.
А если ваще хош убрать, то в ивенте JoinWorld установи)
А как устанавливать смотри в мобах.

Собственно изучив, сделал вот так. Пока протестировать возможности не было, но хочу задать вопрос.
На что именно влияют параметры >-0.5D, 2< и какими их нужно установить для полного сопротивление отбрасыванию?

Java:
//private static final UUID KNOCKBACK_RESISTANCE_ATTRIBUTE_MODIFIER_UUID = UUID.randomUUID();
private static final AttributeModifier KNOCKBACK_RESISTANCE_ATTRIBUTE_MODIFIER = (new AttributeModifier(UUID.randomUUID(), "Knockback Resistance", -0.5D, 2)).setSaved(false);

public void method(DamageSource damageSource, Entity entity) {
    final EntityLivingBase livingBase = (EntityLivingBase) entity;
    livingBase.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).applyModifier(KNOCKBACK_RESISTANCE_ATTRIBUTE_MODIFIER);
    entity.attackEntityFrom(damageSource, this.damage);
    livingBase.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).removeModifier(KNOCKBACK_RESISTANCE_ATTRIBUTE_MODIFIER);
}
 
1,038
57
229
один из них сила отскока по направлению
а второй из них, задержка в секундах для последующего срабатывания.
 
Сверху