package net.minecraft.client.gui; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import java.net.URI; import net.minecraft.client.resources.I18n; import net.minecraft.client.settings.GameSettings; import net.minecraft.util.ResourceLocation; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.lwjgl.opengl.GL11; @SideOnly(Side.CLIENT) public class GuiScreenDemo extends GuiScreen { private static final Logger logger = LogManager.getLogger(); private static final ResourceLocation field_146348_f = new ResourceLocation("textures/gui/demo_background.png"); private static final String __OBFID = "CL_00000691"; /** * Adds the buttons (and other controls) to the screen in question. */ public void initGui() { this.buttonList.clear(); byte b0 = -16; this.buttonList.add(new GuiButton(1, this.width / 2 - 116, this.height / 2 + 62 + b0, 114, 20, I18n.format("demo.help.buy", new Object[0]))); this.buttonList.add(new GuiButton(2, this.width / 2 + 2, this.height / 2 + 62 + b0, 114, 20, I18n.format("demo.help.later", new Object[0]))); } protected void actionPerformed(GuiButton button) { switch (button.id) { case 1: button.enabled = false; try { Class oclass = Class.forName("java.awt.Desktop"); Object object = oclass.getMethod("getDesktop", new Class[0]).invoke((Object)null, new Object[0]); oclass.getMethod("browse", new Class[] {URI.class}).invoke(object, new Object[] {new URI("http://www.minecraft.net/store?source=demo")}); } catch (Throwable throwable) { logger.error("Couldn\'t open link", throwable); } break; case 2: this.mc.displayGuiScreen((GuiScreen)null); this.mc.setIngameFocus(); } } /** * Called from the main game loop to update the screen. */ public void updateScreen() { super.updateScreen(); } /** * Draws either a gradient over the background screen (when it exists) or a flat gradient over background.png */ public void drawDefaultBackground() { super.drawDefaultBackground(); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); this.mc.getTextureManager().bindTexture(field_146348_f); int i = (this.width - 248) / 2; int j = (this.height - 166) / 2; this.drawTexturedModalRect(i, j, 0, 0, 248, 166); } /** * Draws the screen and all the components in it. Args : mouseX, mouseY, renderPartialTicks */ public void drawScreen(int mouseX, int mouseY, float partialTicks) { this.drawDefaultBackground(); int k = (this.width - 248) / 2 + 10; int l = (this.height - 166) / 2 + 8; this.fontRendererObj.drawString(I18n.format("demo.help.title", new Object[0]), k, l, 2039583); l += 12; GameSettings gamesettings = this.mc.gameSettings; this.fontRendererObj.drawString(I18n.format("demo.help.movementShort", new Object[] {GameSettings.getKeyDisplayString(gamesettings.keyBindForward.getKeyCode()), GameSettings.getKeyDisplayString(gamesettings.keyBindLeft.getKeyCode()), GameSettings.getKeyDisplayString(gamesettings.keyBindBack.getKeyCode()), GameSettings.getKeyDisplayString(gamesettings.keyBindRight.getKeyCode())}), k, l, 5197647); this.fontRendererObj.drawString(I18n.format("demo.help.movementMouse", new Object[0]), k, l + 12, 5197647); this.fontRendererObj.drawString(I18n.format("demo.help.jump", new Object[] {GameSettings.getKeyDisplayString(gamesettings.keyBindJump.getKeyCode())}), k, l + 24, 5197647); this.fontRendererObj.drawString(I18n.format("demo.help.inventory", new Object[] {GameSettings.getKeyDisplayString(gamesettings.keyBindInventory.getKeyCode())}), k, l + 36, 5197647); this.fontRendererObj.drawSplitString(I18n.format("demo.help.fullWrapped", new Object[0]), k, l + 68, 218, 2039583); super.drawScreen(mouseX, mouseY, partialTicks); } }