@SubscribeEvent public void onItemUseFinish(LivingEntityUseItemEvent.Finish event) if (event.getEntityLiving() instanceof EntityPlayer) EntityPlayer player = (EntityPlayer)event.getEntityLiving(); ItemStack stack = event.getItem(); ThirstHandler thirstHandler = (ThirstHandler)ThirstHelper.getThirstData(player);
@SubscribeEvent public void finishUsingItem(LivingEntityUseItemEvent.Finish event) { // Only check against players if (!(event.getEntity() instanceof EntityPlayer)) return; // Get ItemStack of eaten food ItemStack itemStack = event.getItem(); int stackSize = itemStack.getCount(); itemStack.setCount(1); // Temporarily setting stack size to 1 so .copy works for stack sizes of 0 ItemStack dummyStack = itemStack.copy(); // Create dummy copy to not affect original item itemStack.setCount(stackSize); // Restore original stack size // Apply actions to item EntityPlayer player = (EntityPlayer) event.getEntity(); applyNutrition(player, dummyStack); reapplyEffectsFromMilk(player, dummyStack); }
@SubscribeEvent public void finishEvent(LivingEntityUseItemEvent.Finish event) { if(event.getEntity() instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) event.getEntity(); ItemStack original = event.getItem(); ItemStack result = event.getResultStack(); if(original.getCount() > 1 && result.getItem() == Items.BOWL) { ItemStack newResult = original.copy(); newResult.setCount(original.getCount() - 1); event.setResultStack(newResult); player.addItemStackToInventory(result); } } }
@SubscribeEvent public void onEaten(LivingEntityUseItemEvent.Finish event) { if (event.getEntityLiving() instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) event.getEntityLiving(); int level = player.getFoodStats().getFoodLevel(); if (level > 2 && player.isPotionActive(EXHAUSTION)) player.removePotionEffect(EXHAUSTION); if (level > 6 && player.isPotionActive(FATIGUE)) player.removePotionEffect(FATIGUE); } }
@SubscribeEvent public void useItemEnd(LivingEntityUseItemEvent.Finish event) { Item item = event.getItem().getItem(); if (item instanceof ItemFirearm || item instanceof ItemRocketLauncher) { use = -1; } }