package net.minecraft.client.gui; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; import net.minecraft.item.ItemStack; import net.minecraft.realms.RealmsButton; import net.minecraft.realms.RealmsScreen; @SideOnly(Side.CLIENT) public class GuiScreenRealmsProxy extends GuiScreen { private RealmsScreen field_154330_a; private static final String __OBFID = "CL_00001847"; public GuiScreenRealmsProxy(RealmsScreen p_i1087_1_) { this.field_154330_a = p_i1087_1_; super.buttonList = Collections.synchronizedList(new ArrayList()); } public RealmsScreen func_154321_a() { return this.field_154330_a; } /** * Adds the buttons (and other controls) to the screen in question. */ public void initGui() { this.field_154330_a.init(); super.initGui(); } public void func_154325_a(String p_154325_1_, int p_154325_2_, int p_154325_3_, int p_154325_4_) { super.drawCenteredString(this.fontRendererObj, p_154325_1_, p_154325_2_, p_154325_3_, p_154325_4_); } public void func_154322_b(String p_154322_1_, int p_154322_2_, int p_154322_3_, int p_154322_4_) { super.drawString(this.fontRendererObj, p_154322_1_, p_154322_2_, p_154322_3_, p_154322_4_); } /** * Draws a textured rectangle at the stored z-value. Args: x, y, u, v, width, height */ public void drawTexturedModalRect(int x, int y, int textureX, int textureY, int width, int height) { this.field_154330_a.blit(x, y, textureX, textureY, width, height); super.drawTexturedModalRect(x, y, textureX, textureY, width, height); } /** * Draws a rectangle with a vertical gradient between the specified colors (ARGB format). Args : x1, y1, x2, y2, * topColor, bottomColor */ public void drawGradientRect(int left, int top, int right, int bottom, int startColor, int endColor) { super.drawGradientRect(left, top, right, bottom, startColor, endColor); } /** * Draws either a gradient over the background screen (when it exists) or a flat gradient over background.png */ public void drawDefaultBackground() { super.drawDefaultBackground(); } /** * Returns true if this GUI should pause the game when it is displayed in single-player */ public boolean doesGuiPauseGame() { return super.doesGuiPauseGame(); } public void drawWorldBackground(int tint) { super.drawWorldBackground(tint); } /** * Draws the screen and all the components in it. Args : mouseX, mouseY, renderPartialTicks */ public void drawScreen(int mouseX, int mouseY, float partialTicks) { this.field_154330_a.render(mouseX, mouseY, partialTicks); } public void renderToolTip(ItemStack itemIn, int x, int y) { super.renderToolTip(itemIn, x, y); } /** * Draws the text when mouse is over creative inventory tab. Params: current creative tab to be checked, current * mouse x position, current mouse y position. */ public void drawCreativeTabHoveringText(String tabName, int mouseX, int mouseY) { super.drawCreativeTabHoveringText(tabName, mouseX, mouseY); } public void drawHoveringText(List textLines, int x, int y) { super.drawHoveringText(textLines, x, y); } /** * Called from the main game loop to update the screen. */ public void updateScreen() { this.field_154330_a.tick(); super.updateScreen(); } public int func_154329_h() { return this.fontRendererObj.FONT_HEIGHT; } public int func_154326_c(String p_154326_1_) { return this.fontRendererObj.getStringWidth(p_154326_1_); } public void func_154319_c(String p_154319_1_, int p_154319_2_, int p_154319_3_, int p_154319_4_) { this.fontRendererObj.drawStringWithShadow(p_154319_1_, p_154319_2_, p_154319_3_, p_154319_4_); } public List func_154323_a(String p_154323_1_, int p_154323_2_) { return this.fontRendererObj.listFormattedStringToWidth(p_154323_1_, p_154323_2_); } public final void actionPerformed(GuiButton button) { this.field_154330_a.buttonClicked(((GuiButtonRealmsProxy)button).getRealmsButton()); } public void func_154324_i() { super.buttonList.clear(); } public void func_154327_a(RealmsButton p_154327_1_) { super.buttonList.add(p_154327_1_.getProxy()); } public List func_154320_j() { ArrayList arraylist = new ArrayList(super.buttonList.size()); Iterator iterator = super.buttonList.iterator(); while (iterator.hasNext()) { GuiButton guibutton = (GuiButton)iterator.next(); arraylist.add(((GuiButtonRealmsProxy)guibutton).getRealmsButton()); } return arraylist; } public void func_154328_b(RealmsButton p_154328_1_) { super.buttonList.remove(p_154328_1_); } /** * Called when the mouse is clicked. Args : mouseX, mouseY, clickedButton */ public void mouseClicked(int mouseX, int mouseY, int mouseButton) { this.field_154330_a.mouseClicked(mouseX, mouseY, mouseButton); super.mouseClicked(mouseX, mouseY, mouseButton); } /** * Handles mouse input. */ public void handleMouseInput() { this.field_154330_a.mouseEvent(); super.handleMouseInput(); } /** * Handles keyboard input. */ public void handleKeyboardInput() { this.field_154330_a.keyboardEvent(); super.handleKeyboardInput(); } /** * Called when a mouse button is released. Args : mouseX, mouseY, releaseButton * * @param state Will be negative to indicate mouse move and will be either 0 or 1 to indicate mouse up. */ public void mouseReleased(int mouseX, int mouseY, int state) { this.field_154330_a.mouseReleased(mouseX, mouseY, state); } /** * Called when a mouse button is pressed and the mouse is moved around. Parameters are : mouseX, mouseY, * lastButtonClicked & timeSinceMouseClick. */ public void mouseClickMove(int mouseX, int mouseY, int clickedMouseButton, long timeSinceLastClick) { this.field_154330_a.mouseDragged(mouseX, mouseY, clickedMouseButton, timeSinceLastClick); } /** * Fired when a key is typed (except F11 who toggle full screen). This is the equivalent of * KeyListener.keyTyped(KeyEvent e). Args : character (character on the key), keyCode (lwjgl Keyboard key code) */ public void keyTyped(char typedChar, int keyCode) { this.field_154330_a.keyPressed(typedChar, keyCode); } public void confirmClicked(boolean result, int id) { this.field_154330_a.confirmResult(result, id); } /** * Called when the screen is unloaded. Used to disable keyboard repeat events */ public void onGuiClosed() { this.field_154330_a.removed(); super.onGuiClosed(); } }