Hopefully finish GUI stuff

This commit is contained in:
Aidan C. Brady 2014-03-09 18:51:46 -04:00
parent 5bccdb7c16
commit 3fd2701524
6 changed files with 91 additions and 6 deletions

View file

@ -12,6 +12,7 @@ import mekanism.client.render.MekanismRenderer;
import mekanism.common.PacketHandler;
import mekanism.common.PacketHandler.Transmission;
import mekanism.common.inventory.container.ContainerNull;
import mekanism.common.miner.MMaterialFilter;
import mekanism.common.network.PacketLogisticalSorterGui;
import mekanism.common.network.PacketLogisticalSorterGui.SorterGuiPacket;
import mekanism.common.network.PacketTileEntity;
@ -170,6 +171,11 @@ public class GuiLogisticalSorter extends GuiMekanism
mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F);
PacketHandler.sendPacket(Transmission.SERVER, new PacketLogisticalSorterGui().setParams(SorterGuiPacket.SERVER_INDEX, Coord4D.get(tileEntity), 2, getFilterIndex()+i));
}
else if(filter instanceof TMaterialFilter)
{
mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F);
PacketHandler.sendPacket(Transmission.SERVER, new PacketLogisticalSorterGui().setParams(SorterGuiPacket.SERVER_INDEX, Coord4D.get(tileEntity), 3, getFilterIndex()+i));
}
}
}
}
@ -267,7 +273,7 @@ public class GuiLogisticalSorter extends GuiMekanism
fontRenderer.drawString(tileEntity.getInvName(), 43, 6, 0x404040);
fontRenderer.drawString(MekanismUtils.localize("gui.filters") + ":", 11, 19, 0x00CD00);
fontRenderer.drawString("IS: " + getItemStackFilters(), 11, 28, 0x00CD00);
fontRenderer.drawString("IS: " + getItemStackFilters().size(), 11, 28, 0x00CD00);
fontRenderer.drawString("OD: " + getOreDictFilters().size(), 11, 37, 0x00CD00);
fontRenderer.drawString("M: " + getMaterialFilters().size(), 11, 46, 0x00CD00);
@ -325,6 +331,22 @@ public class GuiLogisticalSorter extends GuiMekanism
fontRenderer.drawString(MekanismUtils.localize("gui.oredictFilter"), 78, yStart + 2, 0x404040);
fontRenderer.drawString(filter.color != null ? filter.color.getName() : MekanismUtils.localize("gui.none"), 78, yStart + 11, 0x404040);
}
else if(filter instanceof TMaterialFilter)
{
TMaterialFilter itemFilter = (TMaterialFilter)filter;
if(itemFilter.materialItem != null)
{
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_LIGHTING);
itemRenderer.renderItemAndEffectIntoGUI(fontRenderer, mc.getTextureManager(), itemFilter.materialItem, 59, yStart + 3);
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glPopMatrix();
}
fontRenderer.drawString(MekanismUtils.localize("gui.materialFilter"), 78, yStart + 2, 0x404040);
fontRenderer.drawString(filter.color != null ? filter.color.getName() : MekanismUtils.localize("gui.none"), 78, yStart + 11, 0x404040);
}
}
}
@ -399,6 +421,10 @@ public class GuiLogisticalSorter extends GuiMekanism
{
drawTexturedModalRect(guiWidth + 56, guiHeight + yStart, mouseOver ? 0 : 96, 195, 96, 29);
}
else if(filter instanceof TMaterialFilter)
{
drawTexturedModalRect(guiWidth + 56, guiHeight + yStart, mouseOver ? 0 : 96, 224, 96, 29);
}
}
}

View file

@ -149,7 +149,7 @@ public class GuiMMaterialFilter extends GuiMekanism
{
super.drawGuiContainerBackgroundLayer(partialTick, mouseX, mouseY);
mc.renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.GUI, "GuiMaterialFilter.png"));
mc.renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.GUI, "GuiMMaterialFilter.png"));
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
int guiWidth = (width - xSize) / 2;
int guiHeight = (height - ySize) / 2;

View file

@ -2,6 +2,7 @@ package mekanism.client.gui;
import mekanism.api.Coord4D;
import mekanism.api.EnumColor;
import mekanism.client.render.MekanismRenderer;
import mekanism.common.PacketHandler;
import mekanism.common.PacketHandler.Transmission;
import mekanism.common.inventory.container.ContainerFilter;
@ -12,6 +13,7 @@ import mekanism.common.network.PacketNewFilter;
import mekanism.common.tile.TileEntityLogisticalSorter;
import mekanism.common.transporter.TMaterialFilter;
import mekanism.common.util.MekanismUtils;
import mekanism.common.util.TransporterUtils;
import mekanism.common.util.MekanismUtils.ResourceType;
import net.minecraft.block.Block;
import net.minecraft.client.gui.GuiButton;
@ -21,6 +23,7 @@ import net.minecraft.item.ItemStack;
import org.lwjgl.input.Keyboard;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
public class GuiTMaterialFilter extends GuiMekanism
{
@ -126,6 +129,31 @@ public class GuiTMaterialFilter extends GuiMekanism
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glPopMatrix();
}
if(filter.color != null)
{
GL11.glPushMatrix();
GL11.glColor4f(1, 1, 1, 1);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
mc.getTextureManager().bindTexture(MekanismRenderer.getBlocksTexture());
itemRenderer.renderIcon(12, 44, MekanismRenderer.getColorIcon(filter.color), 16, 16);
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glPopMatrix();
}
if(xAxis >= 12 && xAxis <= 28 && yAxis >= 44 && yAxis <= 60)
{
if(filter.color != null)
{
drawCreativeTabHoveringText(filter.color.getName(), xAxis, yAxis);
}
else {
drawCreativeTabHoveringText(MekanismUtils.localize("gui.none"), xAxis, yAxis);
}
}
super.drawGuiContainerForegroundLayer(mouseX, mouseY);
}
@ -149,7 +177,7 @@ public class GuiTMaterialFilter extends GuiMekanism
{
super.drawGuiContainerBackgroundLayer(partialTick, mouseX, mouseY);
mc.renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.GUI, "GuiMaterialFilter.png"));
mc.renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.GUI, "GuiTMaterialFilter.png"));
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
int guiWidth = (width - xSize) / 2;
int guiHeight = (height - ySize) / 2;
@ -186,12 +214,12 @@ public class GuiTMaterialFilter extends GuiMekanism
protected void mouseClicked(int mouseX, int mouseY, int button)
{
super.mouseClicked(mouseX, mouseY, button);
int xAxis = (mouseX - (width - xSize) / 2);
int yAxis = (mouseY - (height - ySize) / 2);
if(button == 0)
{
int xAxis = (mouseX - (width - xSize) / 2);
int yAxis = (mouseY - (height - ySize) / 2);
if(xAxis >= 5 && xAxis <= 16 && yAxis >= 5 && yAxis <= 16)
{
mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F);
@ -221,5 +249,28 @@ public class GuiTMaterialFilter extends GuiMekanism
mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F);
}
}
if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) && button == 0)
{
button = 2;
}
if(xAxis >= 12 && xAxis <= 28 && yAxis >= 44 && yAxis <= 60)
{
mc.sndManager.playSoundFX("mekanism:etc.Ding", 1.0F, 1.0F);
if(button == 0)
{
filter.color = TransporterUtils.increment(filter.color);
}
else if(button == 1)
{
filter.color = TransporterUtils.decrement(filter.color);
}
else if(button == 2)
{
filter.color = null;
}
}
}
}

View file

@ -44,6 +44,8 @@ public class TMaterialFilter extends TransporterFilter
@Override
public void write(NBTTagCompound nbtTags)
{
super.write(nbtTags);
nbtTags.setInteger("type", 2);
materialItem.writeToNBT(nbtTags);
}
@ -51,12 +53,16 @@ public class TMaterialFilter extends TransporterFilter
@Override
protected void read(NBTTagCompound nbtTags)
{
super.read(nbtTags);
materialItem = ItemStack.loadItemStackFromNBT(nbtTags);
}
@Override
public void write(ArrayList data)
{
super.write(data);
data.add(2);
data.add(materialItem.itemID);
@ -67,6 +73,8 @@ public class TMaterialFilter extends TransporterFilter
@Override
protected void read(ByteArrayDataInput dataStream)
{
super.read(dataStream);
materialItem = new ItemStack(dataStream.readInt(), dataStream.readInt(), dataStream.readInt());
}

View file

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB