Не создается метод предмета (item)

Версия Minecraft
1.16.3
API
Forge
96
2
6
Пытаюсь сделать так, что-бы если ты ПКМаешь по мобу, он пропадал, но...
1609190609746.png
1609190625216.png
 
Решение
1.16.4
Java:
@Override
public ActionResultType itemInteractionForEntity(ItemStack stack, PlayerEntity playerIn, LivingEntity target, Hand hand) {
    target.remove();
    return ActionResultType.SUCCESS;
}
pig-remove-demo.gif
Твой класс должен быть расширен от Item
public class MyAwesomeItem extends Item {,
А так-же у тебя указана версия 1.16.3, где метод onItemUsed нету, тебе необходимо использовать
Java:
   public ActionResultType onItemUse(ItemUseContext context) {
      World worldIn = context.getWorld();
      PlayerEntity livingEntityIn = context.getPlayer();
      int count = context.getItem().getCount();

      livingEntityIn.remove();

      return ActionResultType.PASS;
   }

Это сработает только тогда, когда ты делаешь свой предмет (И ПРОПАДЕТ НЕ МОБ,, если тебе нужно с любым предметом, то тебе стоит использовать ивент.

Java:
    @SubscribeEvent
    public void on(PlayerInteractEvent event) {
        LivingEntity livingEntity = event.getEntityLiving();
        if(livingEntity == null) return;
        livingEntity.remove();
    }
 
Какой из указанных выше вариантов ты сделал?
Если ты выбрал первый вариант, то это нормально, что при его использовании умираешь ты, для первого варианта я отталкивался от твоего кода, а не от твоего ТЗ. Если ты выбрал второй вариант, то значит LivingEntity получает игрока вместо цели.
 
Какой из указанных выше вариантов ты сделал?
Если ты выбрал первый вариант, то это нормально, что при его использовании умираешь ты, для первого варианта я отталкивался от твоего кода, а не от твоего ТЗ. Если ты выбрал второй вариант, то значит LivingEntity получает игрока вместо цели.
Выбрал первый вариант, т.к. мне нужно, что-бы имирала ентити, по которой я кликаю. А экран смерти - это я kill прописал, иначе я-бы не сдвинулся с места
 
Чтобы умирал Entity используй второй вариант.
Как я сказал ранее, первый вариант не является решением твоей проблемы, он лишь отталкивался от твоего кода.
Проблема в том, что в коде у тебя одна проблема, а в техническом задании у тебя стоит вовсе не та задача, которая тебе необходима
 
Чтобы умирал Entity используй второй вариант.
Как я сказал ранее, первый вариант не является решением твоей проблемы, он лишь отталкивался от твоего кода.
Проблема в том, что в коде у тебя одна проблема, а в техническом задании у тебя стоит вовсе не та задача, которая тебе необходима
Да, возможно я написал не правильный код. Но мне нужен не ивент
если тебе нужно с любым предметом, то тебе стоит использовать ивент
так-как мне нужно именно с моим предметом.
В общем, мне нужно, что-бы при ПКМ по ентити она пропадала
 
Посмотри в Item, может там есть какой-то метод по клику на LivinEntity и используй его
Или же в ивенте проверяй если предмет, которым кликнули - нужный тебе предмет, то убивай.
Так вот в том-то и дело, что я все возможные методы перепробовал уже (искал как-зар в Item)
Пример кода:
@Override
    public void onUse(World worldIn, LivingEntity livingEntityIn, ItemStack stack, int count) {
        System.out.println("ASASASASASASAS");
    }
 
Твой класс должен быть расширен от Item
public class MyAwesomeItem extends Item {,
А так-же у тебя указана версия 1.16.3, где метод onItemUsed нету, тебе необходимо использовать
Java:
   public ActionResultType onItemUse(ItemUseContext context) {
      World worldIn = context.getWorld();
      PlayerEntity livingEntityIn = context.getPlayer();
      int count = context.getItem().getCount();

      livingEntityIn.remove();

      return ActionResultType.PASS;
   }

Это сработает только тогда, когда ты делаешь свой предмет (И ПРОПАДЕТ НЕ МОБ,, если тебе нужно с любым предметом, то тебе стоит использовать ивент.

Java:
    @SubscribeEvent
    public void on(PlayerInteractEvent event) {
        LivingEntity livingEntity = event.getEntityLiving();
        if(livingEntity == null) return;
        livingEntity.remove();
    }
Зачем ты пытаешься убрать игрока?)

Просто оставлю это тут....
1609238066191.png
 
1.16.4
Java:
@Override
public ActionResultType itemInteractionForEntity(ItemStack stack, PlayerEntity playerIn, LivingEntity target, Hand hand) {
    target.remove();
    return ActionResultType.SUCCESS;
}
pig-remove-demo.gif
 
Назад
Сверху