Unicopia/src/main/java/com/minelittlepony/unicopia/edibles/MultiItemEdible.java
2020-01-16 16:46:24 +01:00

54 lines
1.4 KiB
Java

package com.minelittlepony.unicopia.edibles;
import javax.annotation.Nonnull;
import com.minelittlepony.unicopia.forgebullshit.IMultiItem;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class MultiItemEdible extends ItemEdible implements IMultiItem {
private String translationKey;
private final IEdible toxicityDeterminant;
public MultiItemEdible(@Nonnull IEdible mapper) {
super(1, 0, false);
toxicityDeterminant = mapper;
}
public MultiItemEdible(String domain, String name, int amount, int saturation, @Nonnull IEdible mapper) {
super(domain, name, amount, saturation, false);
toxicityDeterminant = mapper;
}
public Item setTranslationKey(String key) {
translationKey = key;
return super.setTranslationKey(key);
}
@Override
public void addSecondaryEffects(PlayerEntity player, Toxicity toxicity, ItemStack stack) {
super.addSecondaryEffects(player, toxicity, stack);
toxicityDeterminant.addSecondaryEffects(player, toxicity, stack);
}
@Override
public Toxicity getToxicityLevel(ItemStack stack) {
return toxicityDeterminant.getToxicityLevel(stack);
}
@Override
public String[] getVariants() {
return Toxicity.getVariants(translationKey);
}
@Override
public boolean variantsAreHidden() {
return true;
}
}