BloodMagic/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBase.java
2017-01-02 01:18:29 -08:00

71 lines
2.2 KiB
Java

package WayofTime.bloodmagic.item.sigil;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.impl.ItemSigil;
import WayofTime.bloodmagic.api.util.helper.NBTHelper;
import WayofTime.bloodmagic.api.util.helper.PlayerHelper;
import com.google.common.base.Strings;
import lombok.Getter;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.client.IVariantProvider;
import WayofTime.bloodmagic.util.helper.TextHelper;
@Getter
public class ItemSigilBase extends ItemSigil implements IVariantProvider
{
protected final String tooltipBase;
private final String name;
public ItemSigilBase(String name, int lpUsed)
{
super(lpUsed);
setUnlocalizedName(Constants.Mod.MODID + ".sigil." + name);
setCreativeTab(BloodMagic.tabBloodMagic);
this.name = name;
this.tooltipBase = "tooltip.bloodmagic.sigil." + name + ".";
}
public ItemSigilBase(String name)
{
this(name, 0);
}
@Override
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
{
if (TextHelper.canTranslate(tooltipBase + "desc"))
tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect(tooltipBase + "desc"))));
if (!stack.hasTagCompound())
return;
if (!Strings.isNullOrEmpty(getOwnerName(stack)))
tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.currentOwner", PlayerHelper.getUsernameFromStack(stack)));
super.addInformation(stack, player, tooltip, advanced);
}
@Override
public List<Pair<Integer, String>> getVariants()
{
List<Pair<Integer, String>> ret = new ArrayList<Pair<Integer, String>>();
ret.add(new ImmutablePair<Integer, String>(0, "type=normal"));
return ret;
}
}