Дроп с любого моба

Версия Minecraft
1.7.10
Добрый день!
Как реализовать дроп моего итема с любого моба с шансом 50%?

Если не трудно, то готовый код и куда его вписывать.
 
Я кстати тоже с подобным столкнулся. Не нашел, в корове например, где с нее мясцо дропается
В EntityCow ничего подобного нету
 
Эвент смерти, после рандом 0-1, если 0 - то выдавать предмет.
Какие нафиг хуки? Совсем эвенты позабывали..
 
после рандом 0-1, если 0 - то выдавать предмет.
Хорошая идея, только для этого булеан есть..
Там через него можно более тонко рандом настроить
 
Maxik001 написал(а):
Хорошая идея, только для этого булеан есть..
Там через него можно более тонко рандом настроить

Ему нужно 50%, а тут как раз так и будет.
 
Doc написал(а):
Эвент смерти, после рандом 0-1, если 0 - то выдавать предмет.
Какие нафиг хуки? Совсем эвенты позабывали.
 
Напиши как должно быть, ибо я не понял. Все по разному говорят...
Пробовал так: 
Код:
@SubscribeEvent 
 public void drops(LivingDropsEvent event) { 
 if (event.entity.worldObj.rand.nextFloat() >= 0.5F)
 event.drops.add(new EntityItem(event.entity.worldObj, event.entity.posX, event.entity.posY, event.entity.posZ, new ItemStack(Items.stick))); 
 }
 
Он не про дроп-эвент говорил, а про эвент смерти. Вот примерно как выглядит добавление дропа.(1.12)
Код:
public class DropDeadHorse {

 @SubscribeEvent
 public void onDeath(LivingDeathEvent event) {
 if(!event.getEntityLiving().getEntityWorld().isRemote){
 
 if (event.getEntity() instanceof EntityHorse) {
 EntityHorse horse = (EntityHorse) event.getEntity();
 event.getEntity().dropItem(RegItems.konin,1 + event.getEntityLiving().getEntityWorld().rand.nextInt(2));
 event.getEntity().dropItem(Items.BONE,16);
 }
 if (event.getEntity() instanceof EntityDonkey) {
 EntityDonkey horse = (EntityDonkey) event.getEntity();
 event.getEntity().dropItem(RegItems.konin,2 + event.getEntityLiving().getEntityWorld().rand.nextInt(2));
 event.getEntity().dropItem(Items.BONE,10);
 }
 if (event.getEntity() instanceof EntityMule) {
 EntityMule horse = (EntityMule) event.getEntity();
 event.getEntity().dropItem(RegItems.konin,6 + event.getEntityLiving().getEntityWorld().rand.nextInt(3));
 event.getEntity().dropItem(Items.BONE,32);
 }
 if (event.getEntity() instanceof EntityPlayer) {
 EntityPlayer horse = (EntityPlayer) event.getEntity();
 event.getEntity().dropItem(RegItems.playermeat,1 + event.getEntityLiving().getEntityWorld().rand.nextInt(2));
 event.getEntity().dropItem(Items.BONE,8);
 }
 }
 }
}
 
mastin.91 написал(а):
Код:
@SubscribeEvent 
 public void drops(LivingDropsEvent event) { 
 if (event.entity.worldObj.rand.nextFloat() >= 0.5F)
 event.drops.add(new EntityItem(event.entity.worldObj, event.entity.posX, event.entity.posY, event.entity.posZ, new ItemStack(Items.stick))); 
 }

[font=Monaco, Consolas, Courier, monospace]LivingDropsEvent [/font]- это дропы. Тебе нужно эвент смерти. [font=Monaco, Consolas, Courier, monospace]LivingDeathEvent [/font]- вот этот.
Все остальное вроде так же.
 
Назад
Сверху