001package net.minecraft.client.gui; 002 003import cpw.mods.fml.relauncher.Side; 004import cpw.mods.fml.relauncher.SideOnly; 005import java.io.IOException; 006import java.text.SimpleDateFormat; 007import java.util.GregorianCalendar; 008import java.util.TimeZone; 009import net.minecraft.client.mco.ExceptionMcoService; 010import net.minecraft.client.mco.McoClient; 011import net.minecraft.client.mco.McoServer; 012import net.minecraft.client.mco.ValueObjectSubscription; 013import net.minecraft.util.StringTranslate; 014import org.lwjgl.input.Keyboard; 015 016@SideOnly(Side.CLIENT) 017public class GuiScreenSubscription extends GuiScreen 018{ 019 private final GuiScreen field_98067_a; 020 private final McoServer field_98065_b; 021 private final int field_98066_c = 0; 022 private final int field_98064_d = 1; 023 private int field_98068_n; 024 private String field_98069_o; 025 026 public GuiScreenSubscription(GuiScreen par1GuiScreen, McoServer par2McoServer) 027 { 028 this.field_98067_a = par1GuiScreen; 029 this.field_98065_b = par2McoServer; 030 } 031 032 /** 033 * Called from the main game loop to update the screen. 034 */ 035 public void updateScreen() {} 036 037 /** 038 * Adds the buttons (and other controls) to the screen in question. 039 */ 040 public void initGui() 041 { 042 this.func_98063_a(this.field_98065_b.field_96408_a); 043 StringTranslate stringtranslate = StringTranslate.getInstance(); 044 Keyboard.enableRepeatEvents(true); 045 this.buttonList.add(new GuiButton(0, this.width / 2 - 100, this.height / 4 + 120 + 12, stringtranslate.translateKey("gui.cancel"))); 046 } 047 048 private void func_98063_a(long par1) 049 { 050 McoClient mcoclient = new McoClient(this.mc.session); 051 052 try 053 { 054 ValueObjectSubscription valueobjectsubscription = mcoclient.func_98177_f(par1); 055 this.field_98068_n = valueobjectsubscription.field_98170_b; 056 this.field_98069_o = this.func_98062_b(valueobjectsubscription.field_98171_a); 057 } 058 catch (ExceptionMcoService exceptionmcoservice) 059 { 060 ; 061 } 062 catch (IOException ioexception) 063 { 064 ; 065 } 066 } 067 068 private String func_98062_b(long par1) 069 { 070 GregorianCalendar gregoriancalendar = new GregorianCalendar(TimeZone.getDefault()); 071 gregoriancalendar.setTimeInMillis(par1); 072 return SimpleDateFormat.getDateTimeInstance().format(gregoriancalendar.getTime()); 073 } 074 075 /** 076 * Called when the screen is unloaded. Used to disable keyboard repeat events 077 */ 078 public void onGuiClosed() 079 { 080 Keyboard.enableRepeatEvents(false); 081 } 082 083 /** 084 * Fired when a control is clicked. This is the equivalent of ActionListener.actionPerformed(ActionEvent e). 085 */ 086 protected void actionPerformed(GuiButton par1GuiButton) 087 { 088 if (par1GuiButton.enabled) 089 { 090 if (par1GuiButton.id == 0) 091 { 092 this.mc.displayGuiScreen(this.field_98067_a); 093 } 094 else if (par1GuiButton.id == 1) 095 { 096 ; 097 } 098 } 099 } 100 101 /** 102 * Fired when a key is typed. This is the equivalent of KeyListener.keyTyped(KeyEvent e). 103 */ 104 protected void keyTyped(char par1, int par2) {} 105 106 /** 107 * Called when the mouse is clicked. 108 */ 109 protected void mouseClicked(int par1, int par2, int par3) 110 { 111 super.mouseClicked(par1, par2, par3); 112 } 113 114 /** 115 * Draws the screen and all the components in it. 116 */ 117 public void drawScreen(int par1, int par2, float par3) 118 { 119 StringTranslate stringtranslate = StringTranslate.getInstance(); 120 this.drawDefaultBackground(); 121 this.drawCenteredString(this.fontRenderer, stringtranslate.translateKey("mco.configure.world.subscription.title"), this.width / 2, 17, 16777215); 122 this.drawString(this.fontRenderer, stringtranslate.translateKey("mco.configure.world.subscription.start"), this.width / 2 - 100, 53, 10526880); 123 this.drawString(this.fontRenderer, this.field_98069_o, this.width / 2 - 100, 66, 16777215); 124 this.drawString(this.fontRenderer, stringtranslate.translateKey("mco.configure.world.subscription.daysleft"), this.width / 2 - 100, 85, 10526880); 125 this.drawString(this.fontRenderer, String.valueOf(this.field_98068_n), this.width / 2 - 100, 98, 16777215); 126 super.drawScreen(par1, par2, par3); 127 } 128}