package shedar.mods.ic2.nuclearcontrol.items;
import java.util.LinkedList;
import java.util.List;
import java.util.UUID;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import shedar.mods.ic2.nuclearcontrol.api.CardHelper;
import shedar.mods.ic2.nuclearcontrol.api.CardState;
import shedar.mods.ic2.nuclearcontrol.api.IAdvancedCardSettings;
import shedar.mods.ic2.nuclearcontrol.api.ICardGui;
import shedar.mods.ic2.nuclearcontrol.api.ICardWrapper;
import shedar.mods.ic2.nuclearcontrol.api.PanelSetting;
import shedar.mods.ic2.nuclearcontrol.api.PanelString;
import shedar.mods.ic2.nuclearcontrol.gui.GuiCardText;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class ItemCardText extends ItemCardBase implements IAdvancedCardSettings {
public static final UUID CARD_TYPE = UUID
.fromString("90e53ad2-0aae-4937-9078-02a4561259d8");
public ItemCardText() {
super("cardText");
}
@Override
public CardState update(TileEntity panel, ICardWrapper card, int range) {
return CardState.OK;
}
@Override
public CardState update(World world, ICardWrapper card, int range) {
return CardState.OK;
}
@Override
public UUID getCardType() {
return CARD_TYPE;
}
@Override
public List<PanelString> getStringData(int displaySettings,
ICardWrapper card, boolean showLabels) {
List<PanelString> result = new LinkedList<PanelString>();
boolean started = false;
for (int i = 9; i >= 0; i--) {
String text = card.getString("line_" + i);
if (text.equals("") && !started) {
continue;
}
started = true;
PanelString line = new PanelString();
line.textLeft = text;
result.add(0, line);
}
return result;
}
@Override
@SideOnly(Side.CLIENT)
@SuppressWarnings({ "rawtypes", "unchecked" })
public void addInformation(ItemStack itemStack, EntityPlayer player,
List info, boolean advanced) {
ICardWrapper helper = CardHelper.getWrapper(itemStack);
String title = helper.getTitle();
if (!"".equals(title))
info.add(title);
}
@Override
public List<PanelSetting> getSettingsList() {
return null;
}
@Override
public ICardGui getSettingsScreen(ICardWrapper wrapper) {
return new GuiCardText(wrapper);
}
}