Броня

318
12
Как сделать что бы броня компенсировала весь урон от дамага определенного оружия
 
LivingHurtEvent event
Код:
if (event.source != null) {
if (event.source.isDifficultyScaled()) {
event.ammount = 0.0F;
}
}
[merge_posts_bbcode]Добавлено: 12.04.2015 17:28:10[/merge_posts_bbcode]

[1.7.10]Щит

[merge_posts_bbcode]Добавлено: 12.04.2015 17:31:00[/merge_posts_bbcode]

Код:
EntityLivingBase to = event.entityLiving;//Кому наноситься урон,

if (to instanceof EntityPlayer) {

EntityPlayer player_to = (EntityPlayer)to;
ItemStack current_to = player_to.getCurrentEquippedItem();//Что дерижит кому наносится урон
ItemStack helm_to = player_to.getCurrentArmor(3);//Что в слоте шлема кому наносится урон
ItemStack chest_to = player_to.getCurrentArmor(2);//Что в слоте нагрудника кому наносится урон
ItemStack legs_to = player_to.getCurrentArmor(1);//Что в слоте штанов кому наносится урон
ItemStack boot_to = player_to.getCurrentArmor(0);//Что в слоте ботинок кому наносится урон
}
 
Возможно не понятно я написал задачу. Мне надо что бы урон для сердец не ишел от определнного оружия в броне
 
типо, если мочат луком, то защищать полность?
 
Код:
event.ammount = 0.0F;
Видимость повреждения будет, но отниматься здоровье не будет. Так как урон будет, с помощью этого эванта и условия, равна нулю в float значении.
Даже есть пример:
[youtube]EoBdomMMwcw[/youtube]
А если хочешь, чтобы урон наносился на броню, то тебе что-то вроде этого:
Код:
armor[j].damageItem((int)event.ammount, player_to);
e.ammount = 0.0F;
Повреждение брони нужно написать, до поглощение урона, иначе повреждение брони может быть не значительным.
[merge_posts_bbcode]Добавлено: 12.04.2015 17:46:07[/merge_posts_bbcode]

hohserg, за это тоже этот эвент отвечает.
event.source.isProjectile()
 
Ясно, спасибо)
 
Назад
Сверху