@SubscribeEvent public void onInteract(PlayerInteractEvent.RightClickBlock event) { // does the player clicks on an echanting table with moss with 5 levels? if (ItemStack.areItemsEqual(event.getItemStack(), TinkerCommons.matMoss)) { if (event.getWorld().getBlockState(event.getPos()).getBlock() == Blocks.BOOKSHELF) { if (event.getEntityPlayer().experienceLevel >= ModMendingMoss.MENDING_MOSS_LEVELS) { // convert moss to mending moss EntityPlayer player = event.getEntityPlayer(); player.playSound(SoundEvents.ENTITY_EXPERIENCE_ORB_PICKUP, 1f, 1f); if (!event.getWorld().isRemote) { event.getItemStack().stackSize--; player.removeExperienceLevel(ModMendingMoss.MENDING_MOSS_LEVELS); ItemHandlerHelper.giveItemToPlayer(player, TinkerCommons.matMendingMoss.copy()); event.setUseBlock(Event.Result.DENY); event.setUseItem(Event.Result.DENY); event.setCanceled(true); } } } } }