GUI work, kinda functions, but not really
This commit is contained in:
parent
7a74fb86ba
commit
d02d0ceadf
|
@ -35,6 +35,8 @@ public class GuiDigitalMiner extends GuiMekanism
|
|||
|
||||
guiElements.add(new GuiRedstoneControl(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiDigitalMiner.png")));
|
||||
guiElements.add(new GuiUpgradeManagement(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiDigitalMiner.png")));
|
||||
|
||||
ySize+=64;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -107,6 +109,21 @@ public class GuiDigitalMiner extends GuiMekanism
|
|||
else {
|
||||
drawTexturedModalRect(guiWidth + 147, guiHeight + 63, 176 + 4 + 14, 14, 14, 14);
|
||||
}
|
||||
|
||||
if(xAxis >= 144 && xAxis <= 160 && yAxis >= 27 && yAxis <= 43)
|
||||
{
|
||||
GL11.glPushMatrix();
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
GL11.glDisable(GL11.GL_DEPTH_TEST);
|
||||
|
||||
int x = guiWidth + 144;
|
||||
int y = guiHeight + 27;
|
||||
drawGradientRect(x, y, x + 16, y + 16, -2130706433, -2130706433);
|
||||
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glEnable(GL11.GL_DEPTH_TEST);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -139,18 +156,37 @@ public class GuiDigitalMiner extends GuiMekanism
|
|||
PacketHandler.sendPacket(Transmission.SERVER, new PacketTileEntity().setParams(Object3D.get(tileEntity), data));
|
||||
}
|
||||
|
||||
if(xAxis >= 12 && xAxis <= 28 && yAxis >= 19 && yAxis <= 35)
|
||||
if(xAxis >= 144 && xAxis <= 160 && yAxis >= 27 && yAxis <= 43)
|
||||
{
|
||||
boolean doNull = false;
|
||||
ItemStack stack = mc.thePlayer.inventory.getItemStack();
|
||||
ItemStack toUse = null;
|
||||
|
||||
if(stack != null && !Keyboard.isKeyDown(Keyboard.KEY_LSHIFT))
|
||||
{
|
||||
tileEntity.replaceStack = stack.copy();
|
||||
tileEntity.replaceStack.stackSize = 1;
|
||||
toUse = stack.copy();
|
||||
}
|
||||
else if(stack == null && Keyboard.isKeyDown(Keyboard.KEY_LSHIFT))
|
||||
{
|
||||
tileEntity.replaceStack = null;
|
||||
doNull = true;
|
||||
}
|
||||
|
||||
if(stack != null || doNull)
|
||||
{
|
||||
ArrayList data = new ArrayList();
|
||||
data.add(2);
|
||||
|
||||
if(stack != null)
|
||||
{
|
||||
data.add(true);
|
||||
data.add(stack.itemID);
|
||||
data.add(stack.getItemDamage());
|
||||
}
|
||||
else {
|
||||
data.add(false);
|
||||
}
|
||||
|
||||
PacketHandler.sendPacket(Transmission.SERVER, new PacketTileEntity().setParams(Object3D.get(tileEntity), data));
|
||||
}
|
||||
|
||||
mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F);
|
||||
|
|
|
@ -21,10 +21,12 @@ import mekanism.common.tileentity.TileEntityDigitalMiner;
|
|||
import mekanism.common.util.MekanismUtils;
|
||||
import mekanism.common.util.MekanismUtils.ResourceType;
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
import net.minecraft.client.gui.GuiTextField;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
|
||||
import org.lwjgl.input.Keyboard;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public class GuiDigitalMinerConfig extends GuiMekanism
|
||||
|
@ -41,6 +43,10 @@ public class GuiDigitalMinerConfig extends GuiMekanism
|
|||
|
||||
public float scroll;
|
||||
|
||||
private GuiTextField radiusField;
|
||||
private GuiTextField minField;
|
||||
private GuiTextField maxField;
|
||||
|
||||
public GuiDigitalMinerConfig(EntityPlayer player, TileEntityDigitalMiner tentity)
|
||||
{
|
||||
super(new ContainerNull(player, tentity));
|
||||
|
@ -67,6 +73,10 @@ public class GuiDigitalMinerConfig extends GuiMekanism
|
|||
{
|
||||
super.updateScreen();
|
||||
|
||||
radiusField.updateCursorCounter();
|
||||
minField.updateCursorCounter();
|
||||
maxField.updateCursorCounter();
|
||||
|
||||
if(stackSwitch > 0)
|
||||
{
|
||||
stackSwitch--;
|
||||
|
@ -231,6 +241,22 @@ public class GuiDigitalMinerConfig extends GuiMekanism
|
|||
buttonList.clear();
|
||||
buttonList.add(new GuiButton(0, guiWidth + 56, guiHeight + 136, 54, 20, "ItemStack"));
|
||||
buttonList.add(new GuiButton(1, guiWidth + 110, guiHeight + 136, 43, 20, "OreDict"));
|
||||
|
||||
String prevRad = !radiusField.getText().equals("") ? radiusField.getText() : "" + tileEntity.radius;
|
||||
String prevMin = !minField.getText().equals("") ? minField.getText() : "" + tileEntity.minY;
|
||||
String prevMax = !maxField.getText().equals("") ? maxField.getText() : "" + tileEntity.maxY;
|
||||
|
||||
radiusField = new GuiTextField(fontRenderer, guiWidth + 11, guiHeight + 67, 20, 11);
|
||||
radiusField.setMaxStringLength(3);
|
||||
radiusField.setText(prevRad);
|
||||
|
||||
minField = new GuiTextField(fontRenderer, guiWidth + 11, guiHeight + 79, 20, 11);
|
||||
minField.setMaxStringLength(3);
|
||||
minField.setText(prevMin);
|
||||
|
||||
maxField = new GuiTextField(fontRenderer, guiWidth + 11, guiHeight + 91, 20, 11);
|
||||
maxField.setMaxStringLength(3);
|
||||
maxField.setText(prevMax);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -261,6 +287,12 @@ public class GuiDigitalMinerConfig extends GuiMekanism
|
|||
fontRenderer.drawString("IS: " + getItemStackFilters().size(), 11, 37, 0x00CD00);
|
||||
fontRenderer.drawString("OD: " + getOreDictFilters().size(), 11, 46, 0x00CD00);
|
||||
|
||||
fontRenderer.drawString("Radius: " + tileEntity.radius, 11, 58, 0x00CD00);
|
||||
|
||||
fontRenderer.drawString("Min Y: " + tileEntity.minY, 11, 70, 0x00CD00);
|
||||
|
||||
fontRenderer.drawString("Max Y: " + tileEntity.maxY, 11, 82, 0x00CD00);
|
||||
|
||||
fontRenderer.drawString("Default:", 12, 126, 0x00CD00);
|
||||
|
||||
for(int i = 0; i < 4; i++)
|
||||
|
@ -372,8 +404,28 @@ public class GuiDigitalMinerConfig extends GuiMekanism
|
|||
else {
|
||||
drawTexturedModalRect(guiWidth + 12, guiHeight + 84, 176 + 14, 14, 14, 14);
|
||||
}
|
||||
|
||||
radiusField.drawTextBox();
|
||||
minField.drawTextBox();
|
||||
maxField.drawTextBox();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void keyTyped(char c, int i)
|
||||
{
|
||||
if((!radiusField.isFocused() && !minField.isFocused() && !maxField.isFocused()) || i == Keyboard.KEY_ESCAPE)
|
||||
{
|
||||
super.keyTyped(c, i);
|
||||
}
|
||||
|
||||
if(Character.isDigit(c) || i == Keyboard.KEY_BACK || i == Keyboard.KEY_DELETE || i == Keyboard.KEY_LEFT || i == Keyboard.KEY_RIGHT)
|
||||
{
|
||||
radiusField.textboxKeyTyped(c, i);
|
||||
minField.textboxKeyTyped(c, i);
|
||||
maxField.textboxKeyTyped(c, i);
|
||||
}
|
||||
}
|
||||
|
||||
public ArrayList getItemStackFilters()
|
||||
{
|
||||
ArrayList list = new ArrayList();
|
||||
|
|
|
@ -2,6 +2,7 @@ package mekanism.common.inventory.container;
|
|||
|
||||
import mekanism.common.inventory.slot.SlotElectricChest;
|
||||
import mekanism.common.inventory.slot.SlotEnergy.SlotDischarge;
|
||||
import mekanism.common.item.ItemMachineUpgrade;
|
||||
import mekanism.common.tileentity.TileEntityDigitalMiner;
|
||||
import mekanism.common.util.ChargeUtils;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
@ -23,7 +24,7 @@ public class ContainerDigitalMiner extends Container
|
|||
{
|
||||
for(int slotX = 0; slotX < 9; slotX++)
|
||||
{
|
||||
addSlotToContainer(new Slot(tentity, slotX + slotY * 9, 8 + slotX * 18, 26 + slotY * 18));
|
||||
addSlotToContainer(new Slot(tentity, slotX + slotY * 9, 8 + slotX * 18, 80 + slotY * 18));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -35,13 +36,13 @@ public class ContainerDigitalMiner extends Container
|
|||
{
|
||||
for(int slotY = 0; slotY < 9; ++slotY)
|
||||
{
|
||||
addSlotToContainer(new SlotElectricChest(inventory, slotY + slotX * 9 + 9, 8 + slotY * 18, 148 + slotX * 18));
|
||||
addSlotToContainer(new Slot(inventory, slotY + slotX * 9 + 9, 8 + slotY * 18, 148 + slotX * 18));
|
||||
}
|
||||
}
|
||||
|
||||
for(slotX = 0; slotX < 9; ++slotX)
|
||||
{
|
||||
addSlotToContainer(new SlotElectricChest(inventory, slotX, 8 + slotX * 18, 206));
|
||||
addSlotToContainer(new Slot(inventory, slotX, 8 + slotX * 18, 206));
|
||||
}
|
||||
|
||||
tileEntity.openChest();
|
||||
|
@ -76,32 +77,35 @@ public class ContainerDigitalMiner extends Container
|
|||
|
||||
if(ChargeUtils.canBeDischarged(slotStack))
|
||||
{
|
||||
if(slotID != 54)
|
||||
if(slotID != 27)
|
||||
{
|
||||
if(!mergeItemStack(slotStack, 54, 55, false))
|
||||
if(!mergeItemStack(slotStack, 27, 28, false))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else if(slotID == 54)
|
||||
else if(slotID == 27)
|
||||
{
|
||||
if(!mergeItemStack(slotStack, 55, inventorySlots.size(), true))
|
||||
if(!mergeItemStack(slotStack, 29, inventorySlots.size(), true))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(slotID < 54)
|
||||
else if(slotStack.getItem() instanceof ItemMachineUpgrade)
|
||||
{
|
||||
if(slotID != 27 && slotID != 28)
|
||||
{
|
||||
if(!mergeItemStack(slotStack, 55, inventorySlots.size(), true))
|
||||
if(!mergeItemStack(slotStack, 28, 29, false))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else if(!mergeItemStack(slotStack, 0, 54, false))
|
||||
{
|
||||
return null;
|
||||
else {
|
||||
if(!mergeItemStack(slotStack, 29, inventorySlots.size(), true))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -43,8 +43,8 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I
|
|||
|
||||
public int radius;
|
||||
|
||||
public int minY;
|
||||
public int maxY;
|
||||
public int minY = 0;
|
||||
public int maxY = 60;
|
||||
|
||||
public boolean doEject = false;
|
||||
public boolean doPull = false;
|
||||
|
@ -195,6 +195,18 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I
|
|||
{
|
||||
doPull = !doPull;
|
||||
}
|
||||
else if(type == 2)
|
||||
{
|
||||
boolean doNull = dataStream.readBoolean();
|
||||
|
||||
if(!doNull)
|
||||
{
|
||||
replaceStack = new ItemStack(dataStream.readInt(), 1, dataStream.readInt());
|
||||
}
|
||||
else {
|
||||
replaceStack = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
super.handlePacketData(dataStream);
|
||||
|
@ -251,6 +263,7 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I
|
|||
super.getNetworkedData(data);
|
||||
|
||||
data.add(0);
|
||||
|
||||
data.add(radius);
|
||||
data.add(minY);
|
||||
data.add(maxY);
|
||||
|
@ -260,6 +273,13 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I
|
|||
data.add(oresToMine.size());
|
||||
data.add(controlType.ordinal());
|
||||
|
||||
data.add(filters.size());
|
||||
|
||||
for(MinerFilter filter : filters)
|
||||
{
|
||||
filter.write(data);
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
|
@ -268,6 +288,7 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I
|
|||
super.getNetworkedData(data);
|
||||
|
||||
data.add(1);
|
||||
|
||||
data.add(radius);
|
||||
data.add(minY);
|
||||
data.add(maxY);
|
||||
|
@ -277,11 +298,6 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I
|
|||
data.add(oresToMine.size());
|
||||
data.add(controlType.ordinal());
|
||||
|
||||
for(MinerFilter filter : filters)
|
||||
{
|
||||
filter.write(data);
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.7 KiB |
Loading…
Reference in a new issue