Как сделать, чтобы из определенного моба выпадал определенный предмет, при убийстве определенным предметом?

Версия Minecraft
1.7.10
Хочу чтобы из определенного моба, когда я убиваю его своим мечом мне выпадал мой предмет.
 
Решение
Хочу чтобы из определенного моба, когда я убиваю его своим мечом мне выпадал мой предмет.


Проверка на предмет в руке сделан клиентский,если будешь закидывать на серв вызовет краш.

Java:
       @SubscribeEvent(priority=EventPriority.NORMAL, receiveCanceled=true)
       public void onEvent(LivingDropsEvent event)
       {
        Minecraft minecraft = Minecraft.getMinecraft(); //клиентский код
          if(isCurrectItem(minecraft.thePlayer)){ //Если твой определённый итем в руке
           if (event.entity instanceof EntitySheep) {
               event.drops.clear(); //очищение стандартного дропа
               ItemStack itemDrop = new ItemStack(Items.apple, 5); // вещь которая будет падать в количестве 5...
269
8
19
Хочу чтобы из определенного моба, когда я убиваю его своим мечом мне выпадал мой предмет.


Проверка на предмет в руке сделан клиентский,если будешь закидывать на серв вызовет краш.

Java:
       @SubscribeEvent(priority=EventPriority.NORMAL, receiveCanceled=true)
       public void onEvent(LivingDropsEvent event)
       {
        Minecraft minecraft = Minecraft.getMinecraft(); //клиентский код
          if(isCurrectItem(minecraft.thePlayer)){ //Если твой определённый итем в руке
           if (event.entity instanceof EntitySheep) {
               event.drops.clear(); //очищение стандартного дропа
               ItemStack itemDrop = new ItemStack(Items.apple, 5); // вещь которая будет падать в количестве 5
               event.drops.add(new EntityItem(event.entity.worldObj, event.entity.posX,
               event.entity.posY, event.entity.posZ, itemDrop));
               }
           }
       }
//Проверка на итем в руке
//клиентский код
          public static boolean isCurrectItem(EntityPlayer player) {
              ItemStack stack = player.getHeldItem();
              return stack != null && stack.getItem() == Items.apple;//если итем apple то возвращает true
           }
 
куда его только не пихал
Его нужно скопировать в класс в котором ты регистрируешь все свои эвенты, читай учебник/ищи поиском по форуму если не понимаешь что-то что связанно с регистрацией эвентов.
 
1,057
50
234
Чтобы работало на сервере - нужно игрока получать из DamageSource (типа event.getSource())
 
Сверху