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;
import mekanism.common.PacketHandler.Transmission; import mekanism.common.PacketHandler.Transmission;
import mekanism.common.inventory.container.ContainerDigitalMiner; 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.network.PacketTileEntity;
import mekanism.common.tileentity.TileEntityDigitalMiner; import mekanism.common.tileentity.TileEntityDigitalMiner;
import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils;
@ -54,21 +57,21 @@ public class GuiDigitalMiner extends GuiMekanism
buttonList.clear(); buttonList.clear();
startButton = new GuiButton(0, guiWidth + 69, guiHeight + 17, 60, 20, "Start"); 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; startButton.enabled = false;
} }
stopButton = new GuiButton(1, guiWidth + 69, guiHeight + 37, 60, 20, "Stop"); 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; stopButton.enabled = false;
} }
configButton = new GuiButton(2, guiWidth + 69, guiHeight + 57, 60, 20, "Config"); 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; configButton.enabled = false;
} }
@ -78,25 +81,59 @@ public class GuiDigitalMiner extends GuiMekanism
buttonList.add(configButton); 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 @Override
public void updateScreen() public void updateScreen()
{ {
super.updateScreen(); super.updateScreen();
if(tileEntity.searcher.finished == true && tileEntity.running) if(tileEntity.searcher.state != State.IDLE && tileEntity.running)
{ {
startButton.enabled = false; 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; stopButton.enabled = false;
} }
else {
stopButton.enabled = true;
}
if(tileEntity.searcher.finished == true) if(tileEntity.searcher.state != State.IDLE)
{ {
configButton.enabled = false; configButton.enabled = false;
} }
else {
configButton.enabled = true;
}
} }
@Override @Override
@ -110,6 +147,12 @@ public class GuiDigitalMiner extends GuiMekanism
fontRenderer.drawString(tileEntity.fullName, 45, 6, 0x404040); fontRenderer.drawString(tileEntity.fullName, 45, 6, 0x404040);
fontRenderer.drawString("Inventory", 8, (ySize - 96) + 2, 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) if(tileEntity.replaceStack != null)
{ {
GL11.glPushMatrix(); 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), 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), COMBINER(Mekanism.machineBlockID, 2, "Combiner", 5, Mekanism.combinerUsage*400, TileEntityCombiner.class, false),
CRUSHER(Mekanism.machineBlockID, 3, "Crusher", 6, Mekanism.crusherUsage*400, TileEntityCrusher.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), 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), 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), 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 TileEntityDigitalMiner tileEntity;
public boolean finished = false; public State state = State.IDLE;
public ThreadMinerSearch(TileEntityDigitalMiner tile) public ThreadMinerSearch(TileEntityDigitalMiner tile)
{ {
@ -16,14 +16,32 @@ public class ThreadMinerSearch extends Thread
@Override @Override
public void run() public void run()
{ {
state = State.SEARCHING;
if(tileEntity.isInvalid()) if(tileEntity.isInvalid())
{ {
return; return;
} }
state = State.FINISHED;
} }
public void reset() 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.inventory.container.ContainerNull;
import mekanism.common.miner.MinerFilter; import mekanism.common.miner.MinerFilter;
import mekanism.common.miner.ThreadMinerSearch; import mekanism.common.miner.ThreadMinerSearch;
import mekanism.common.miner.ThreadMinerSearch.State;
import mekanism.common.network.PacketTileEntity; import mekanism.common.network.PacketTileEntity;
import mekanism.common.util.ChargeUtils; import mekanism.common.util.ChargeUtils;
import mekanism.common.util.MekanismUtils; 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 @Override
public void readFromNBT(NBTTagCompound nbtTags) public void readFromNBT(NBTTagCompound nbtTags)
{ {
@ -211,6 +236,14 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I
replaceStack = null; replaceStack = null;
} }
} }
else if(type == 3)
{
start();
}
else if(type == 4)
{
stop();
}
return; return;
} }
@ -228,6 +261,7 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I
doPull = dataStream.readBoolean(); doPull = dataStream.readBoolean();
isActive = dataStream.readBoolean(); isActive = dataStream.readBoolean();
running = dataStream.readBoolean(); running = dataStream.readBoolean();
searcher.state = State.values()[dataStream.readInt()];
if(dataStream.readBoolean()) if(dataStream.readBoolean())
{ {
@ -258,6 +292,7 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I
doPull = dataStream.readBoolean(); doPull = dataStream.readBoolean();
isActive = dataStream.readBoolean(); isActive = dataStream.readBoolean();
running = dataStream.readBoolean(); running = dataStream.readBoolean();
searcher.state = State.values()[dataStream.readInt()];
if(dataStream.readBoolean()) if(dataStream.readBoolean())
{ {
@ -297,6 +332,7 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I
data.add(doPull); data.add(doPull);
data.add(isActive); data.add(isActive);
data.add(running); data.add(running);
data.add(searcher.state.ordinal());
if(replaceStack != null) if(replaceStack != null)
{ {
@ -334,6 +370,7 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I
data.add(doPull); data.add(doPull);
data.add(isActive); data.add(isActive);
data.add(running); data.add(running);
data.add(searcher.state.ordinal());
if(replaceStack != null) if(replaceStack != null)
{ {