2012-11-05 20:29:04 +01:00
|
|
|
package mekanism.client;
|
2012-11-05 16:46:50 +01:00
|
|
|
|
|
|
|
import org.lwjgl.opengl.GL11;
|
|
|
|
|
2012-11-05 20:29:04 +01:00
|
|
|
import mekanism.api.IAccessibleGui;
|
|
|
|
import mekanism.common.EnumColor;
|
|
|
|
import mekanism.common.MekanismUtils;
|
2012-11-05 16:46:50 +01:00
|
|
|
import net.minecraft.src.EntityPlayer;
|
|
|
|
import net.minecraft.src.GuiButton;
|
|
|
|
import net.minecraft.src.GuiScreen;
|
|
|
|
import net.minecraft.src.GuiTextField;
|
|
|
|
import net.minecraft.src.World;
|
|
|
|
|
|
|
|
public class GuiControlPanel extends GuiScreen
|
|
|
|
{
|
|
|
|
public EntityPlayer usingPlayer;
|
|
|
|
public World worldObj;
|
2012-11-05 16:52:56 +01:00
|
|
|
public String displayText = "";
|
2012-11-05 16:46:50 +01:00
|
|
|
public int ticker = 0;
|
|
|
|
|
|
|
|
private GuiTextField xField;
|
|
|
|
private GuiTextField yField;
|
|
|
|
private GuiTextField zField;
|
|
|
|
|
|
|
|
public GuiControlPanel(EntityPlayer player, World world)
|
|
|
|
{
|
|
|
|
usingPlayer = player;
|
|
|
|
worldObj = world;
|
|
|
|
}
|
|
|
|
|
2012-11-06 16:44:14 +01:00
|
|
|
@Override
|
2012-11-05 16:46:50 +01:00
|
|
|
public void initGui()
|
|
|
|
{
|
|
|
|
super.initGui();
|
|
|
|
controlList.clear();
|
|
|
|
controlList.add(new GuiButton(0, width / 2 - 80, height / 4 + 72 + 12, 60, 20, "Access"));
|
|
|
|
|
2012-11-05 16:52:56 +01:00
|
|
|
xField = new GuiTextField(fontRenderer, width / 2 - 80, 53, 35, 12);
|
2012-11-05 16:46:50 +01:00
|
|
|
xField.setMaxStringLength(4);
|
|
|
|
xField.setText("" + 0);
|
|
|
|
xField.setFocused(true);
|
|
|
|
|
2012-11-05 16:52:56 +01:00
|
|
|
yField = new GuiTextField(fontRenderer, width / 2 - 80, 70, 35, 12);
|
2012-11-05 16:46:50 +01:00
|
|
|
yField.setMaxStringLength(4);
|
|
|
|
yField.setText("" + 0);
|
|
|
|
|
2012-11-05 16:52:56 +01:00
|
|
|
zField = new GuiTextField(fontRenderer, width / 2 - 80, 87, 35, 12);
|
2012-11-05 16:46:50 +01:00
|
|
|
zField.setMaxStringLength(4);
|
|
|
|
zField.setText("" + 0);
|
|
|
|
}
|
|
|
|
|
2012-11-06 16:44:14 +01:00
|
|
|
@Override
|
2012-11-05 16:46:50 +01:00
|
|
|
public void drawScreen(int i, int j, float f)
|
|
|
|
{
|
|
|
|
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
2012-11-07 21:01:46 +01:00
|
|
|
int k = mc.renderEngine.getTexture("/resources/mekanism/gui/GuiControlPanel.png");
|
2012-11-05 16:46:50 +01:00
|
|
|
mc.renderEngine.bindTexture(k);
|
|
|
|
drawTexturedModalRect(width / 2 - 100, height / 2 - 100, 0, 0, 176, 166);
|
2012-11-05 16:52:56 +01:00
|
|
|
xField.drawTextBox();
|
|
|
|
yField.drawTextBox();
|
|
|
|
zField.drawTextBox();
|
2012-11-05 16:46:50 +01:00
|
|
|
super.drawScreen(i, j, f);
|
2012-11-05 16:52:56 +01:00
|
|
|
fontRenderer.drawString("Control Panel", 165, 40, 0x404040);
|
|
|
|
fontRenderer.drawString(displayText, 133, 120, 0x404040);
|
2012-11-05 16:46:50 +01:00
|
|
|
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
|
|
|
|
GL11.glEnable(GL11.GL_CULL_FACE);
|
|
|
|
GL11.glEnable(GL11.GL_ALPHA_TEST);
|
|
|
|
GL11.glEnable(GL11.GL_DEPTH_TEST);
|
|
|
|
}
|
|
|
|
|
2012-11-06 16:44:14 +01:00
|
|
|
@Override
|
2012-11-05 16:46:50 +01:00
|
|
|
public void keyTyped(char c, int i)
|
|
|
|
{
|
|
|
|
super.keyTyped(c, i);
|
|
|
|
|
2012-11-05 16:52:56 +01:00
|
|
|
xField.textboxKeyTyped(c, i);
|
|
|
|
yField.textboxKeyTyped(c, i);
|
|
|
|
zField.textboxKeyTyped(c, i);
|
|
|
|
}
|
|
|
|
|
2012-11-06 16:44:14 +01:00
|
|
|
@Override
|
2012-11-05 16:52:56 +01:00
|
|
|
public boolean doesGuiPauseGame()
|
|
|
|
{
|
|
|
|
return false;
|
2012-11-05 16:46:50 +01:00
|
|
|
}
|
|
|
|
|
2012-11-06 16:44:14 +01:00
|
|
|
@Override
|
2012-11-05 16:46:50 +01:00
|
|
|
public void updateScreen()
|
|
|
|
{
|
|
|
|
xField.updateCursorCounter();
|
|
|
|
yField.updateCursorCounter();
|
|
|
|
zField.updateCursorCounter();
|
|
|
|
|
2012-11-05 16:52:56 +01:00
|
|
|
if(ticker > 0)
|
2012-11-05 16:46:50 +01:00
|
|
|
{
|
2012-11-05 16:52:56 +01:00
|
|
|
ticker--;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
displayText = "";
|
2012-11-05 16:46:50 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-11-06 16:44:14 +01:00
|
|
|
@Override
|
2012-11-05 16:46:50 +01:00
|
|
|
public void mouseClicked(int x, int y, int z)
|
|
|
|
{
|
|
|
|
super.mouseClicked(x, y, z);
|
|
|
|
xField.mouseClicked(x, y, z);
|
|
|
|
yField.mouseClicked(x, y, z);
|
|
|
|
zField.mouseClicked(x, y, z);
|
|
|
|
}
|
|
|
|
|
2012-11-06 16:44:14 +01:00
|
|
|
@Override
|
2012-11-05 16:46:50 +01:00
|
|
|
public void actionPerformed(GuiButton guibutton)
|
|
|
|
{
|
|
|
|
if(!guibutton.enabled)
|
|
|
|
{
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
if(guibutton.id == 0)
|
|
|
|
{
|
2012-11-05 16:52:56 +01:00
|
|
|
try {
|
|
|
|
if(worldObj.getBlockTileEntity(Integer.parseInt(xField.getText()), Integer.parseInt(yField.getText()), Integer.parseInt(zField.getText())) != null)
|
2012-11-05 16:46:50 +01:00
|
|
|
{
|
2012-11-05 16:52:56 +01:00
|
|
|
if(worldObj.getBlockTileEntity(Integer.parseInt(xField.getText()), Integer.parseInt(yField.getText()), Integer.parseInt(zField.getText())) instanceof IAccessibleGui)
|
|
|
|
{
|
|
|
|
IAccessibleGui gui = (IAccessibleGui)worldObj.getBlockTileEntity(Integer.parseInt(xField.getText()), Integer.parseInt(yField.getText()), Integer.parseInt(zField.getText()));
|
|
|
|
usingPlayer.openGui(gui.getModInstance(), gui.getGuiID(), worldObj, Integer.parseInt(xField.getText()), Integer.parseInt(yField.getText()), Integer.parseInt(zField.getText()));
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
displayText = EnumColor.DARK_RED + "Tile entity isn't available.";
|
|
|
|
ticker = 40;
|
|
|
|
}
|
2012-11-05 16:46:50 +01:00
|
|
|
}
|
|
|
|
else {
|
2012-11-05 16:52:56 +01:00
|
|
|
displayText = EnumColor.DARK_RED + "Tile entity doesn't exist.";
|
|
|
|
ticker = 40;
|
2012-11-05 16:46:50 +01:00
|
|
|
}
|
2012-11-05 16:52:56 +01:00
|
|
|
} catch(NumberFormatException e) {
|
|
|
|
displayText = EnumColor.DARK_RED + "Invalid characters.";
|
|
|
|
ticker = 40;
|
2012-11-05 16:46:50 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|