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 tooltip, boolean advanced) { if (TextHelper.canTranslate(tooltipBase + "desc")) tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect(tooltipBase + "desc")))); NBTHelper.checkNBT(stack); if (!Strings.isNullOrEmpty(getOwnerName(stack))) tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.currentOwner", PlayerHelper.getUsernameFromStack(stack))); super.addInformation(stack, player, tooltip, advanced); } @Override public List> getVariants() { List> ret = new ArrayList>(); ret.add(new ImmutablePair(0, "type=normal")); return ret; } }