diff --git a/src/main/java/com/minelittlepony/unicopia/UItems.java b/src/main/java/com/minelittlepony/unicopia/UItems.java index 0946cb2e..635263e3 100644 --- a/src/main/java/com/minelittlepony/unicopia/UItems.java +++ b/src/main/java/com/minelittlepony/unicopia/UItems.java @@ -27,6 +27,7 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; import net.minecraft.init.Enchantments; import net.minecraft.init.Items; +import net.minecraft.item.EnumAction; import net.minecraft.item.Item; import net.minecraft.item.ItemDoor; import net.minecraft.item.ItemFood; @@ -163,8 +164,10 @@ public class UItems { .setContainerItem(mug) .setFull3D(); public static final Item juice = new ItemEdible(Unicopia.MODID, "juice", 2, 2, stack -> Toxicity.SAFE) + .setUseAction(EnumAction.DRINK) .setContainerItem(Items.GLASS_BOTTLE); public static final Item burned_juice = new ItemEdible(Unicopia.MODID, "burned_juice", 3, 1, stack -> Toxicity.FAIR) + .setUseAction(EnumAction.DRINK) .setContainerItem(Items.GLASS_BOTTLE); static void registerItems(IForgeRegistry registry) { diff --git a/src/main/java/com/minelittlepony/unicopia/edibles/ItemEdible.java b/src/main/java/com/minelittlepony/unicopia/edibles/ItemEdible.java index 9e4502f4..e0148872 100644 --- a/src/main/java/com/minelittlepony/unicopia/edibles/ItemEdible.java +++ b/src/main/java/com/minelittlepony/unicopia/edibles/ItemEdible.java @@ -17,6 +17,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.MobEffects; import net.minecraft.init.SoundEvents; +import net.minecraft.item.EnumAction; import net.minecraft.item.Item; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; @@ -35,6 +36,8 @@ public class ItemEdible extends ItemFood implements IEdible, IMultiItem { private final IEdible toxicityDeterminant; + private EnumAction useAction = EnumAction.EAT; + public ItemEdible(@Nonnull IEdible mapper) { super(1, 0, false); @@ -52,9 +55,20 @@ public class ItemEdible extends ItemFood implements IEdible, IMultiItem { public Item setTranslationKey(String key) { translationKey = key; + return super.setTranslationKey(key); } + public Item setUseAction(EnumAction action) { + useAction = action; + + return this; + } + + public EnumAction getItemUseAction(ItemStack stack) { + return useAction; + } + protected void onFoodEaten(ItemStack stack, World worldIn, EntityPlayer player) { Race race = PlayerSpeciesList.instance().getPlayer(player).getPlayerSpecies(); Toxicity toxicity = (race.isDefault() || race == Race.CHANGELING) ? Toxicity.LETHAL : getToxicityLevel(stack);