Advertisement
Guest User

Untitled

a guest
Feb 1st, 2015
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.55 KB | None | 0 0
  1. package com.mordrum.mcore.client.gui;
  2.  
  3. import com.google.common.base.Optional;
  4. import com.google.common.eventbus.Subscribe;
  5. import cpw.mods.fml.client.FMLClientHandler;
  6. import net.malisis.core.client.gui.Anchor;
  7. import net.malisis.core.client.gui.GuiTexture;
  8. import net.malisis.core.client.gui.MalisisGui;
  9. import net.malisis.core.client.gui.component.UIComponent;
  10. import net.malisis.core.client.gui.component.container.UIBackgroundContainer;
  11. import net.malisis.core.client.gui.component.control.UIMoveHandle;
  12. import net.malisis.core.client.gui.component.decoration.UIImage;
  13. import net.malisis.core.client.gui.component.decoration.UILabel;
  14. import net.malisis.core.client.gui.component.interaction.UIButton;
  15. import net.minecraft.client.multiplayer.ServerData;
  16. import net.minecraft.util.ResourceLocation;
  17.  
  18. import java.awt.*;
  19.  
  20. /**
  21. * Created by Jesse on 1/31/2015.
  22. */
  23. public class SomeGUI extends MalisisGui {
  24.  
  25. protected final Optional<MalisisGui> parent;
  26. protected static final ResourceLocation ALMURA_LOGO_LOCATION = new ResourceLocation("mcore", "textures/gui/mordrum.png");
  27.  
  28. public SomeGUI(MalisisGui parent) {
  29. this.parent = Optional.fromNullable(parent);
  30. setup();
  31. }
  32.  
  33. protected void setup() {
  34. UIBackgroundContainer window = new UIBackgroundContainer(this);
  35. window.setSize(200, 225);
  36. window.setAnchor(Anchor.CENTER | Anchor.MIDDLE);
  37. window.setColor(Integer.MIN_VALUE);
  38. window.setBackgroundAlpha(0);
  39.  
  40. UILabel titleLabel = new UILabel(this, ChatColor.WHITE + "Welcome To Mordrum NXT");
  41. titleLabel.setPosition(0, 5, Anchor.CENTER | Anchor.TOP);
  42.  
  43. UIBackgroundContainer uiTitleBar = new UIBackgroundContainer(this);
  44. uiTitleBar.setSize(300, 1);
  45. uiTitleBar.setPosition(0, 17, Anchor.CENTER | Anchor.TOP);
  46. uiTitleBar.setColor(Color.gray.getRGB());
  47.  
  48. UIImage logoImage = new UIImage(this, new GuiTexture(ALMURA_LOGO_LOCATION), null);
  49. logoImage.setAnchor(Anchor.CENTER | Anchor.TOP);
  50. logoImage.setPosition(0, this.getPaddedY(titleLabel, 12));
  51. logoImage.setSize(64, 64);
  52.  
  53. UIButton multiplayerButton = new UIButton(this, ChatColor.AQUA + "Connect to Mordrum");
  54. multiplayerButton.setSize(180, 16);
  55. multiplayerButton.setPosition(0, this.getPaddedY(logoImage, 12), Anchor.CENTER | Anchor.TOP);
  56. multiplayerButton.setName("button.multiplayer");
  57. multiplayerButton.register(this);
  58.  
  59. UIButton optionsButton = new UIButton(this, "Options");
  60. optionsButton.setSize(50, 16);
  61. optionsButton.setPosition(10, this.getPaddedY(multiplayerButton, 4), Anchor.LEFT | Anchor.TOP);
  62. optionsButton.setName("button.options");
  63. optionsButton.register(this);
  64.  
  65. UIButton configurationButton = new UIButton(this, "Configuration");
  66. configurationButton.setSize(76, 16);
  67. configurationButton.setPosition(0, this.getPaddedY(multiplayerButton, 4), Anchor.CENTER | Anchor.TOP);
  68. configurationButton.setName("button.configuration");
  69. configurationButton.register(this);
  70.  
  71. UIButton aboutButton = new UIButton(this, "About");
  72. aboutButton.setSize(50, 16);
  73. aboutButton.setPosition(-10, this.getPaddedY(multiplayerButton, 4), Anchor.RIGHT | Anchor.TOP);
  74. aboutButton.setName("button.about");
  75. aboutButton.register(this);
  76.  
  77. UIButton quitButton = new UIButton(this, "Quit");
  78. quitButton.setSize(50, 16);
  79. quitButton.setPosition(0, this.getPaddedY(configurationButton, 14), Anchor.CENTER | Anchor.TOP);
  80. quitButton.setName("button.quit");
  81. quitButton.register(this);
  82.  
  83. UILabel copyrightLabel = new UILabel(this, ChatColor.GRAY + "Copyright Mordrum 2011 - 2015");
  84. copyrightLabel.setPosition(0, -9, Anchor.CENTER | Anchor.BOTTOM);
  85. copyrightLabel.setFontScale(0.7f);
  86.  
  87. UILabel trademarkLabel = new UILabel(this, ChatColor.GRAY + "Minecraft is a registered trademark of Mojang AB");
  88. trademarkLabel.setPosition(0, -1, Anchor.CENTER | Anchor.BOTTOM);
  89. trademarkLabel.setFontScale(0.7f);
  90. window.add(titleLabel, uiTitleBar, logoImage, multiplayerButton, optionsButton, configurationButton, aboutButton, quitButton, copyrightLabel, trademarkLabel);
  91. new UIMoveHandle(this, window);
  92. this.addToScreen(window);
  93. }
  94.  
  95. protected int getPaddedY(UIComponent component, int padding) {
  96. if (component == null) {
  97. return 0;
  98. }
  99. return component.getY() + component.getHeight() + padding;
  100. }
  101.  
  102. @Subscribe
  103. public void onButtonClick(UIButton.ClickEvent event) {
  104. String buttonID = event.getComponent().getName().toLowerCase();
  105. if (buttonID.equalsIgnoreCase("button.multiplayer")) {
  106. FMLClientHandler.instance().setupServerList();
  107. ServerData data = new ServerData("Mordrum", "play.mordrum.com");
  108. FMLClientHandler.instance().connectToServer(this, data);
  109. } else if (buttonID.equalsIgnoreCase("button.quit")) {
  110. System.exit(0);
  111. }
  112. }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement