ActionResult в 1.12.2

Версия Minecraft
1.12.2
2,932
44
598
Блин! Нужен ли ActionResult в 1.12.2?

Я сделал метательное копьё у которого есть "ActionResult" и думаю надо ли оно для него?

Просто вот это глаза мозолит:
Java:
    @Override
    public ActionResult<ItemStack> onItemRightClick(World par2World, final EntityPlayer par3EntityPlayer, EnumHand hand) {

        par3EntityPlayer.setActiveHand(hand);

        ItemStack par1ItemStack = par3EntityPlayer.getHeldItem(hand);


        return new ActionResult(EnumActionResult.SUCCESS, par1ItemStack);

    }
1527097789696.png
И оно в принципе не такое уж и нужное наверное, раз я предметы с ActionResult негде не видел.
 
Последнее редактирование:
Решение
Если EnumActionResult равен SUCCESS, то действие удалось. Если PASS - то в процессе, или возможно удалось. FAIL - не удалось.
Например если вернешь в методе райтклика итема SUCCESS, то майн не будет искать блок, на который ты гипотетически мог бы кликнуть, если бы у тебя в руках не было предмета. Это пример, на самом деле майн после того как проверит EnumActionResult правой руки начнет проверять левую, потом только блок. Если вернешь FAIL то у тебя клик и на итеме и по блоку пройдет, вернешь PASS - у тебя вызовется что-то типа onItemUseFinish(getMaxItemUseDuration еще можно указать), onPlayerStoppedUsing и т.д.
Если EnumActionResult равен SUCCESS, то действие удалось. Если PASS - то в процессе, или возможно удалось. FAIL - не удалось.
Например если вернешь в методе райтклика итема SUCCESS, то майн не будет искать блок, на который ты гипотетически мог бы кликнуть, если бы у тебя в руках не было предмета. Это пример, на самом деле майн после того как проверит EnumActionResult правой руки начнет проверять левую, потом только блок. Если вернешь FAIL то у тебя клик и на итеме и по блоку пройдет, вернешь PASS - у тебя вызовется что-то типа onItemUseFinish(getMaxItemUseDuration еще можно указать), onPlayerStoppedUsing и т.д.
 
2,932
44
598
Все равно думаю эклипс можно так настроить, чтобы выкидывало предупреждение или даже ошибку когда пытаешься вернуть null не в nullable методе. Хотя это довольно бесполезно, т.к. эти аннотации почти никто не ставит.
 
3,005
192
592
А еще можно сделать так..
return ActionResult.newResult(EnumActionResult.PASS, playerIn.getHeldItem(handIn));
 
Сверху