package sourcecoded.quantum.item;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import mcp.mobius.waila.api.IWailaConfigHandler;
import mcp.mobius.waila.api.IWailaDataAccessor;
import mcp.mobius.waila.api.IWailaDataProvider;
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import sourcecoded.quantum.api.translation.LocalizationUtils;
import sourcecoded.quantum.block.BlockQuantum;
import java.util.ArrayList;
import java.util.List;
public class ItemBlockQuantum extends ItemBlock implements IWailaDataProvider {
public List<String> loreList;
public ItemBlockQuantum(Block block) {
super(block);
loreList = new ArrayList<String>();
this.setMaxDamage(0);
if (block instanceof BlockQuantum)
this.setHasSubtypes(((BlockQuantum) block).subtypes);
}
@Override
public String getItemStackDisplayName(ItemStack item) {
String translateString = this.field_150939_a.getUnlocalizedName() + ".name";
if (hasSubtypes)
translateString += "@" + item.getItemDamage();
String translate = LocalizationUtils.translateLocalWithColours(translateString, translateString);
return translate;
}
public void tryLore(String unlocalizedBase, ItemStack stack) {
loreList = new ArrayList<String>();
boolean search = true;
int run = 0;
while (search) {
String formatted = unlocalizedBase + ".lore." + run;
if (hasSubtypes)
formatted += "@" + stack.getItemDamage();
if (StatCollector.canTranslate(formatted)) {
loreList.add(LocalizationUtils.translateLocalWithColours(formatted, "You shouldn't be seeing this, report this please"));
} else search = false;
run++;
}
}
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack itemStack, EntityPlayer player, List list, boolean idk) {
tryLore(itemStack.getUnlocalizedName(), itemStack);
list.addAll(loreList);
}
public int getMetadata(int damage) {
return damage;
}
@Override
public ItemStack getWailaStack(IWailaDataAccessor accessor, IWailaConfigHandler config) {
return null;
}
@Override
public List<String> getWailaHead(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config) {
return currenttip;
}
@Override
public List<String> getWailaBody(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config) {
List<String> dummyTip = new ArrayList<String>();
addInformation(itemStack, accessor.getPlayer(), dummyTip, true);
for (String tip : dummyTip)
if (!currenttip.contains(tip)) currenttip.add(tip);
return currenttip;
}
@Override
public List<String> getWailaTail(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config) {
return currenttip;
}
}