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

Сообщения
10
Лучшие ответы
0
Реакции
0
Версия Minecraft
1.7.10
Хочу чтобы из определенного моба, когда я убиваю его своим мечом мне выпадал мой предмет.
 
Сообщения
32
Лучшие ответы
1
Реакции
11
Хотеть не вредно)
Берёшь ивент убийства моба, проверяешь entity, проверяешь что в руке (player.getHeldItem) ну и дропаешь что хочешь.
 
Сообщения
231
Лучшие ответы
6
Реакции
11
Хочу чтобы из определенного моба, когда я убиваю его своим мечом мне выпадал мой предмет.

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

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
           }
 
Сообщения
10
Лучшие ответы
0
Реакции
0
Куда именно нужно писать этот код, куда его только не пихал, нигде не работает?
 
Сообщения
690
Лучшие ответы
29
Реакции
92
Туда где ты эвенты регаешь.
 
Сообщения
140
Лучшие ответы
3
Реакции
25
куда его только не пихал
Его нужно скопировать в класс в котором ты регистрируешь все свои эвенты, читай учебник/ищи поиском по форуму если не понимаешь что-то что связанно с регистрацией эвентов.
 
Сообщения
10
Лучшие ответы
0
Реакции
0
Спасибо, разобрался, долго не мог понять, как зарегистрировать класс с эвентами.
 
Сообщения
948
Лучшие ответы
48
Реакции
156
Чтобы работало на сервере - нужно игрока получать из DamageSource (типа event.getSource())
 
Сверху