Fixed juice using the wrong animation

This commit is contained in:
Sollace 2019-01-31 14:28:17 +02:00
parent 22e05bcbb8
commit 206ede0868
2 changed files with 17 additions and 0 deletions

View file

@ -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<Item> registry) {

View file

@ -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);