package shedar.mods.ic2.nuclearcontrol.items; import java.util.ArrayList; import java.util.List; import java.util.UUID; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import shedar.mods.ic2.nuclearcontrol.api.CardState; 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.utils.LangHelper; import shedar.mods.ic2.nuclearcontrol.utils.StringUtils; import cpw.mods.fml.client.FMLClientHandler; public class ItemTimeCard extends ItemCardBase { public static final UUID CARD_TYPE = new UUID(0, 1); public static final int MODE_24H = 1; public ItemTimeCard() { super("cardTime"); } @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 boolean isDamageable() { return false; } @Override public List<PanelString> getStringData(int displaySettings, ICardWrapper card, boolean showLabels) { List<PanelString> result = new ArrayList<PanelString>(1); PanelString item = new PanelString(); result.add(item); int time = (int) ((FMLClientHandler.instance().getClient().theWorld .getWorldTime() + 6000) % 24000); int hours = time / 1000; int minutes = (time % 1000) * 6 / 100; String suffix = ""; if ((displaySettings & MODE_24H) == 0) { suffix = hours < 12 ? "AM" : "PM"; hours %= 12; if (hours == 0) hours += 12; } item.textLeft = StringUtils.getFormatted("msg.nc.InfoPanelTime", String.format("%02d:%02d%s", hours, minutes, suffix), showLabels); return result; } @Override public List<PanelSetting> getSettingsList() { List<PanelSetting> result = new ArrayList<PanelSetting>(1); result.add(new PanelSetting(LangHelper.translate("msg.nc.cb24h"), MODE_24H, CARD_TYPE)); return result; } @Override public UUID getCardType() { return CARD_TYPE; } }