Замена предмета в руке

Версия Minecraft
1.8+
Как заменить предмет в руке по right клику по блоку.
Я знаю про метод onItemUse но что туда пихать?
 
Решение
Нет вы не поняли надо именно если я предметом по любому блоку кликну надо, именно в предмете надо сделать проверку а не на блоке
Кхм...
Java:
public ItemStack onItemRightClick(ItemStack var1, World var2, EntityPlayer var3) {}
7,099
324
1,510
Есть метод, что вызывается при пк и возвращает стак, который получится после пкм. Название точно не помню, но возвращаемый тип Action<ItemStack>, че-то такое
 
917
22
332
Попробуй так....
Java:
  @Override
  public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
    if(!world.isRemote) {
        //К примеру...
        player.setHeldItem(hand, new ItemStack(Items.ARROW))
    }
    return EnumActionResult.SUCCESS;
  }
Я мог ошибиться с параметрами метода, в этом случае аннотация будет подсвечиваться красным. В любом случае, думаю с этим разобраться будет нетрудно...

З.Ы. Это метод НЕ вызывается при клике по блоку. Метод работает когда предмет используют как лук или еду).
 
Последнее редактирование:
129
6
18
@Крокодил , вы вникаете в само название функции? Она используется для работы с предметом когда он используется(например когда едят еду на пкм).
Как заменить предмет в руке по right клику по блоку.
Для этого есть функция:
Java:
@Override
    public boolean onBlockActivated(World world, BlockPos position, IBlockState blockState, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
    }
Чекаешь текущий предмет у игрока, проверяешь на нужный ли предмет будет меняться предмет.(если надо) Ну и выдаёшь его ему.
Пример использования(работа с TileEntity)
 
129
6
18
Нет вы не поняли надо именно если я предметом по любому блоку кликну надо, именно в предмете надо сделать проверку а не на блоке
Кхм...
Java:
public ItemStack onItemRightClick(ItemStack var1, World var2, EntityPlayer var3) {}
 
917
22
332
@Крокодил , вы вникаете в само название функции? Она используется для работы с предметом когда он используется(например когда едят еду на пкм).
Прошу прощения у автора темы, писал по памяти, и кода уже давно в глаза не видел.
 
Сверху