Added in some descriptive text to the GUI.

This commit is contained in:
Aidan C. Brady 2013-11-19 20:15:03 -05:00
parent 73bf81ceaa
commit fc1cb7926c
4 changed files with 107 additions and 9 deletions

View file

@ -6,6 +6,9 @@ import mekanism.api.Object3D;
import mekanism.common.PacketHandler;
import mekanism.common.PacketHandler.Transmission;
import mekanism.common.inventory.container.ContainerDigitalMiner;
import mekanism.common.miner.ThreadMinerSearch.State;
import mekanism.common.network.PacketDigitalMinerGui;
import mekanism.common.network.PacketDigitalMinerGui.MinerGuiPacket;
import mekanism.common.network.PacketTileEntity;
import mekanism.common.tileentity.TileEntityDigitalMiner;
import mekanism.common.util.MekanismUtils;
@ -54,21 +57,21 @@ public class GuiDigitalMiner extends GuiMekanism
buttonList.clear();
startButton = new GuiButton(0, guiWidth + 69, guiHeight + 17, 60, 20, "Start");
if(tileEntity.searcher.finished == true && tileEntity.running)
if(tileEntity.searcher.state != State.IDLE && tileEntity.running)
{
startButton.enabled = false;
}
stopButton = new GuiButton(1, guiWidth + 69, guiHeight + 37, 60, 20, "Stop");
if(tileEntity.searcher.finished == false || !tileEntity.running)
if(tileEntity.searcher.state == State.IDLE || !tileEntity.running)
{
stopButton.enabled = false;
}
configButton = new GuiButton(2, guiWidth + 69, guiHeight + 57, 60, 20, "Config");
if(tileEntity.searcher.finished == true)
if(tileEntity.searcher.state != State.IDLE)
{
configButton.enabled = false;
}
@ -78,25 +81,59 @@ public class GuiDigitalMiner extends GuiMekanism
buttonList.add(configButton);
}
@Override
protected void actionPerformed(GuiButton guibutton)
{
super.actionPerformed(guibutton);
if(guibutton.id == 0)
{
ArrayList data = new ArrayList();
data.add(3);
PacketHandler.sendPacket(Transmission.SERVER, new PacketTileEntity().setParams(Object3D.get(tileEntity), data));
}
else if(guibutton.id == 1)
{
ArrayList data = new ArrayList();
data.add(4);
PacketHandler.sendPacket(Transmission.SERVER, new PacketTileEntity().setParams(Object3D.get(tileEntity), data));
}
else if(guibutton.id == 2)
{
PacketHandler.sendPacket(Transmission.SERVER, new PacketDigitalMinerGui().setParams(MinerGuiPacket.SERVER, Object3D.get(tileEntity), 0));
}
}
@Override
public void updateScreen()
{
super.updateScreen();
if(tileEntity.searcher.finished == true && tileEntity.running)
if(tileEntity.searcher.state != State.IDLE && tileEntity.running)
{
startButton.enabled = false;
}
else {
startButton.enabled = true;
}
if(tileEntity.searcher.finished == false || !tileEntity.running)
if(tileEntity.searcher.state == State.IDLE || !tileEntity.running)
{
stopButton.enabled = false;
}
else {
stopButton.enabled = true;
}
if(tileEntity.searcher.finished == true)
if(tileEntity.searcher.state != State.IDLE)
{
configButton.enabled = false;
}
else {
configButton.enabled = true;
}
}
@Override
@ -110,6 +147,12 @@ public class GuiDigitalMiner extends GuiMekanism
fontRenderer.drawString(tileEntity.fullName, 45, 6, 0x404040);
fontRenderer.drawString("Inventory", 8, (ySize - 96) + 2, 0x404040);
fontRenderer.drawString(tileEntity.running ? "Running" : "Idle", 9, 19, 0x00CD00);
fontRenderer.drawString(tileEntity.searcher.state.desc, 9, 28, 0x00CD00);
fontRenderer.drawString("Eject: " + (tileEntity.doEject ? "On" : "Off"), 9, 40, 0x00CD00);
fontRenderer.drawString("Pull: " + (tileEntity.doPull ? "On" : "Off"), 9, 49, 0x00CD00);
if(tileEntity.replaceStack != null)
{
GL11.glPushMatrix();

View file

@ -907,7 +907,7 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds
OSMIUM_COMPRESSOR(Mekanism.machineBlockID, 1, "OsmiumCompressor", 4, Mekanism.osmiumCompressorUsage*400, TileEntityOsmiumCompressor.class, false),
COMBINER(Mekanism.machineBlockID, 2, "Combiner", 5, Mekanism.combinerUsage*400, TileEntityCombiner.class, false),
CRUSHER(Mekanism.machineBlockID, 3, "Crusher", 6, Mekanism.crusherUsage*400, TileEntityCrusher.class, false),
DIGITAL_MINER(Mekanism.machineBlockID, 4, "DigitalMiner", 2, 100000, TileEntityDigitalMiner.class, true),
DIGITAL_MINER(Mekanism.machineBlockID, 4, "DigitalMiner", 2, 100000, TileEntityDigitalMiner.class, false),//TODO
BASIC_FACTORY(Mekanism.machineBlockID, 5, "BasicFactory", 11, Mekanism.factoryUsage*3*400, TileEntityFactory.class, false),
ADVANCED_FACTORY(Mekanism.machineBlockID, 6, "AdvancedFactory", 11, Mekanism.factoryUsage*5*400, TileEntityAdvancedFactory.class, false),
ELITE_FACTORY(Mekanism.machineBlockID, 7, "EliteFactory", 11, Mekanism.factoryUsage*7*400, TileEntityEliteFactory.class, false),

View file

@ -6,7 +6,7 @@ public class ThreadMinerSearch extends Thread
{
public TileEntityDigitalMiner tileEntity;
public boolean finished = false;
public State state = State.IDLE;
public ThreadMinerSearch(TileEntityDigitalMiner tile)
{
@ -16,14 +16,32 @@ public class ThreadMinerSearch extends Thread
@Override
public void run()
{
state = State.SEARCHING;
if(tileEntity.isInvalid())
{
return;
}
state = State.FINISHED;
}
public void reset()
{
finished = false;
state = State.IDLE;
}
public static enum State
{
IDLE("Not ready"),
SEARCHING("Searching"),
FINISHED("Ready");
public String desc;
private State(String s)
{
desc = s;
}
}
}

View file

@ -21,6 +21,7 @@ import mekanism.common.inventory.container.ContainerFilter;
import mekanism.common.inventory.container.ContainerNull;
import mekanism.common.miner.MinerFilter;
import mekanism.common.miner.ThreadMinerSearch;
import mekanism.common.miner.ThreadMinerSearch.State;
import mekanism.common.network.PacketTileEntity;
import mekanism.common.util.ChargeUtils;
import mekanism.common.util.MekanismUtils;
@ -100,6 +101,30 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I
}
}
public void start()
{
if(searcher.state == State.IDLE)
{
searcher.start();
}
running = true;
}
public void stop()
{
if(searcher.state == State.FINISHED)
{
running = false;
}
}
public void reset()
{
searcher.reset();
running = false;
}
@Override
public void readFromNBT(NBTTagCompound nbtTags)
{
@ -211,6 +236,14 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I
replaceStack = null;
}
}
else if(type == 3)
{
start();
}
else if(type == 4)
{
stop();
}
return;
}
@ -228,6 +261,7 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I
doPull = dataStream.readBoolean();
isActive = dataStream.readBoolean();
running = dataStream.readBoolean();
searcher.state = State.values()[dataStream.readInt()];
if(dataStream.readBoolean())
{
@ -258,6 +292,7 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I
doPull = dataStream.readBoolean();
isActive = dataStream.readBoolean();
running = dataStream.readBoolean();
searcher.state = State.values()[dataStream.readInt()];
if(dataStream.readBoolean())
{
@ -297,6 +332,7 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I
data.add(doPull);
data.add(isActive);
data.add(running);
data.add(searcher.state.ordinal());
if(replaceStack != null)
{
@ -334,6 +370,7 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I
data.add(doPull);
data.add(isActive);
data.add(running);
data.add(searcher.state.ordinal());
if(replaceStack != null)
{