Hbm-s-Nuclear-Tech-GIT/com/hbm/inventory/gui/GUIScreenSatCoord.java

178 lines
6.4 KiB
Java

package com.hbm.inventory.gui;
import org.apache.commons.lang3.math.NumberUtils;
import org.lwjgl.input.Keyboard;
import org.lwjgl.opengl.GL11;
import com.hbm.items.tool.ItemSatInterface;
import com.hbm.lib.RefStrings;
import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.SatCoordPacket;
import com.hbm.saveddata.satellites.Satellite.CoordActions;
import com.hbm.saveddata.satellites.Satellite.Interfaces;
import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.PositionedSoundRecord;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.GuiTextField;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.ResourceLocation;
public class GUIScreenSatCoord extends GuiScreen {
protected static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/satellites/gui_sat_coord.png");
protected int xSize = 176;
protected int ySize = 126;
protected int guiLeft;
protected int guiTop;
private final EntityPlayer player;
private GuiTextField xField;
private GuiTextField yField;
private GuiTextField zField;
public GUIScreenSatCoord(EntityPlayer player) {
this.player = player;
}
public void initGui()
{
super.initGui();
this.guiLeft = (this.width - this.xSize) / 2;
this.guiTop = (this.height - this.ySize) / 2;
Keyboard.enableRepeatEvents(true);
this.xField = new GuiTextField(this.fontRendererObj, guiLeft + 66, guiTop + 21, 48, 12);
this.xField.setTextColor(-1);
this.xField.setDisabledTextColour(-1);
this.xField.setEnableBackgroundDrawing(false);
this.xField.setMaxStringLength(5);
this.yField = new GuiTextField(this.fontRendererObj, guiLeft + 66, guiTop + 56, 48, 12);
this.yField.setTextColor(-1);
this.yField.setDisabledTextColour(-1);
this.yField.setEnableBackgroundDrawing(false);
this.yField.setMaxStringLength(5);
this.zField = new GuiTextField(this.fontRendererObj, guiLeft + 66, guiTop + 92, 48, 12);
this.zField.setTextColor(-1);
this.zField.setDisabledTextColour(-1);
this.zField.setEnableBackgroundDrawing(false);
this.zField.setMaxStringLength(5);
}
protected void mouseClicked(int i, int j, int k)
{
super.mouseClicked(i, j, k);
if(ItemSatInterface.currentSat == null)
return;
this.xField.mouseClicked(i, j, k);
if(ItemSatInterface.currentSat.coordAcs.contains(CoordActions.HAS_Y)) this.yField.mouseClicked(i, j, k);
this.zField.mouseClicked(i, j, k);
if(i >= this.guiLeft + 133 && i < this.guiLeft + 133 + 18 && j >= this.guiTop + 52 && j < this.guiTop + 52 + 18 && player != null) {
if(NumberUtils.isNumber(xField.getText()) && NumberUtils.isNumber(zField.getText())) {
if(ItemSatInterface.currentSat.coordAcs.contains(CoordActions.HAS_Y)) {
if(NumberUtils.isNumber(yField.getText())) {
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("hbm:item.techBleep"), 1.0F));
PacketDispatcher.wrapper.sendToServer(
new SatCoordPacket(
(int)Double.parseDouble(xField.getText()),
(int)Double.parseDouble(yField.getText()),
(int)Double.parseDouble(zField.getText()),
ItemSatInterface.getFreq(player.getHeldItem())));
this.mc.thePlayer.closeScreen();
}
} else {
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("hbm:item.techBleep"), 1.0F));
PacketDispatcher.wrapper.sendToServer(
new SatCoordPacket(
(int)Double.parseDouble(xField.getText()),
0,
(int)Double.parseDouble(zField.getText()),
ItemSatInterface.getFreq(player.getHeldItem())));
this.mc.thePlayer.closeScreen();
}
}
}
}
public void drawScreen(int mouseX, int mouseY, float f) {
this.drawDefaultBackground();
this.drawGuiContainerBackgroundLayer(f, mouseX, mouseY);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_LIGHTING);
this.drawGuiContainerForegroundLayer(mouseX, mouseY);
GL11.glEnable(GL11.GL_LIGHTING);
}
@Override
public boolean doesGuiPauseGame() {
return false;
}
protected void drawGuiContainerForegroundLayer(int i, int j) {
this.xField.drawTextBox();
if(ItemSatInterface.currentSat != null && ItemSatInterface.currentSat.coordAcs.contains(CoordActions.HAS_Y)) this.yField.drawTextBox();
this.zField.drawTextBox();
}
protected void drawGuiContainerBackgroundLayer(float f, int i, int j) {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
if(xField.isFocused())
drawTexturedModalRect(guiLeft + 61, guiTop + 16, 0, 126, 54, 18);
if(yField.isFocused())
drawTexturedModalRect(guiLeft + 61, guiTop + 52, 0, 126, 54, 18);
if(zField.isFocused())
drawTexturedModalRect(guiLeft + 61, guiTop + 88, 0, 126, 54, 18);
if(ItemSatInterface.currentSat != null) {
if(!ItemSatInterface.currentSat.coordAcs.contains(CoordActions.HAS_Y))
drawTexturedModalRect(guiLeft + 61, guiTop + 52, 0, 144, 54, 18);
drawTexturedModalRect(guiLeft + 120, guiTop + 17, 194, 0, 7, 7);
if(ItemSatInterface.currentSat.satIface == Interfaces.SAT_COORD) {
drawTexturedModalRect(guiLeft + 120, guiTop + 25, 194, 0, 7, 7);
}
}
}
protected void keyTyped(char p_73869_1_, int p_73869_2_) {
if (this.xField.textboxKeyTyped(p_73869_1_, p_73869_2_)) {
} else if (ItemSatInterface.currentSat != null && ItemSatInterface.currentSat.coordAcs.contains(CoordActions.HAS_Y) && this.yField.textboxKeyTyped(p_73869_1_, p_73869_2_)) {
} else if (this.zField.textboxKeyTyped(p_73869_1_, p_73869_2_)) {
} else {
super.keyTyped(p_73869_1_, p_73869_2_);
}
if (p_73869_2_ == 1 || p_73869_2_ == this.mc.gameSettings.keyBindInventory.getKeyCode())
{
this.mc.thePlayer.closeScreen();
}
}
}