Fix up custom slot render, got scroll bar working
This commit is contained in:
parent
def9764b0d
commit
4272c4cb6d
8 changed files with 78 additions and 27 deletions
|
@ -53,12 +53,6 @@ public class GuiItemStackFilter extends GuiMekanism
|
||||||
filter.color = TransporterUtils.colors.get(0);
|
filter.color = TransporterUtils.colors.get(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean doesGuiPauseGame()
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initGui()
|
public void initGui()
|
||||||
{
|
{
|
||||||
|
@ -110,7 +104,7 @@ public class GuiItemStackFilter extends GuiMekanism
|
||||||
{
|
{
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
GL11.glEnable(GL11.GL_LIGHTING);
|
GL11.glEnable(GL11.GL_LIGHTING);
|
||||||
itemRenderer.renderItemIntoGUI(fontRenderer, mc.getTextureManager(), filter.itemType, 12, 19);
|
itemRenderer.renderItemAndEffectIntoGUI(fontRenderer, mc.getTextureManager(), filter.itemType, 12, 19);
|
||||||
GL11.glDisable(GL11.GL_LIGHTING);
|
GL11.glDisable(GL11.GL_LIGHTING);
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,12 @@ public class GuiLogisticalSorter extends GuiMekanism
|
||||||
{
|
{
|
||||||
public TileEntityLogisticalSorter tileEntity;
|
public TileEntityLogisticalSorter tileEntity;
|
||||||
|
|
||||||
|
public boolean isDragging = false;
|
||||||
|
|
||||||
|
public int dragOffset = 0;
|
||||||
|
|
||||||
|
public float scroll;
|
||||||
|
|
||||||
public GuiLogisticalSorter(EntityPlayer player, TileEntityLogisticalSorter tentity)
|
public GuiLogisticalSorter(EntityPlayer player, TileEntityLogisticalSorter tentity)
|
||||||
{
|
{
|
||||||
super(new ContainerNull(player, tentity));
|
super(new ContainerNull(player, tentity));
|
||||||
|
@ -33,10 +39,55 @@ public class GuiLogisticalSorter extends GuiMekanism
|
||||||
guiElements.add(new GuiRedstoneControl(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiLogisticalSorter.png")));
|
guiElements.add(new GuiRedstoneControl(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiLogisticalSorter.png")));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
public int getScroll()
|
||||||
public boolean doesGuiPauseGame()
|
|
||||||
{
|
{
|
||||||
return false;
|
return Math.max(Math.min((int)(scroll*125), 125), 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getFilterIndex()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public 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(xAxis >= 154 && xAxis <= 166 && yAxis >= getScroll()+18 && yAxis <= getScroll()+18+15)
|
||||||
|
{
|
||||||
|
dragOffset = yAxis - (getScroll()+18);
|
||||||
|
isDragging = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void mouseClickMove(int mouseX, int mouseY, int button, long ticks)
|
||||||
|
{
|
||||||
|
super.mouseClickMove(mouseX, mouseY, button, ticks);
|
||||||
|
|
||||||
|
int xAxis = (mouseX - (width - xSize) / 2);
|
||||||
|
int yAxis = (mouseY - (height - ySize) / 2);
|
||||||
|
|
||||||
|
if(isDragging)
|
||||||
|
{
|
||||||
|
scroll = (float)(yAxis-18-dragOffset)/123F;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void mouseMovedOrUp(int x, int y, int type)
|
||||||
|
{
|
||||||
|
super.mouseMovedOrUp(x, y, type);
|
||||||
|
|
||||||
|
if(type == 0 && isDragging)
|
||||||
|
{
|
||||||
|
dragOffset = 0;
|
||||||
|
isDragging = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -76,10 +127,10 @@ public class GuiLogisticalSorter extends GuiMekanism
|
||||||
int yAxis = (mouseY - (height - ySize) / 2);
|
int yAxis = (mouseY - (height - ySize) / 2);
|
||||||
|
|
||||||
fontRenderer.drawString("Logistical Sorter", 43, 6, 0x404040);
|
fontRenderer.drawString("Logistical Sorter", 43, 6, 0x404040);
|
||||||
fontRenderer.drawString("Filters:", 11, 17, 0x00CD00);
|
fontRenderer.drawString("Filters:", 11, 19, 0x00CD00);
|
||||||
fontRenderer.drawString("T: " + tileEntity.filters.size(), 11, 26, 0x00CD00);
|
fontRenderer.drawString("T: " + tileEntity.filters.size(), 11, 28, 0x00CD00);
|
||||||
fontRenderer.drawString("IS: " + getItemStackFilters().size(), 11, 35, 0x00CD00);
|
fontRenderer.drawString("IS: " + getItemStackFilters().size(), 11, 37, 0x00CD00);
|
||||||
fontRenderer.drawString("OD: " + getOreDictFilters().size(), 11, 44, 0x00CD00);
|
fontRenderer.drawString("OD: " + getOreDictFilters().size(), 11, 46, 0x00CD00);
|
||||||
|
|
||||||
super.drawGuiContainerForegroundLayer(mouseX, mouseY);
|
super.drawGuiContainerForegroundLayer(mouseX, mouseY);
|
||||||
}
|
}
|
||||||
|
@ -94,6 +145,17 @@ public class GuiLogisticalSorter extends GuiMekanism
|
||||||
int guiWidth = (width - xSize) / 2;
|
int guiWidth = (width - xSize) / 2;
|
||||||
int guiHeight = (height - ySize) / 2;
|
int guiHeight = (height - ySize) / 2;
|
||||||
drawTexturedModalRect(guiWidth, guiHeight, 0, 0, xSize, ySize);
|
drawTexturedModalRect(guiWidth, guiHeight, 0, 0, xSize, ySize);
|
||||||
|
|
||||||
|
drawTexturedModalRect(guiWidth + 154, guiHeight + 18 + getScroll(), 232, 0, 12, 15);
|
||||||
|
|
||||||
|
for(int i = 0; i < 4; i++)
|
||||||
|
{
|
||||||
|
if(tileEntity.filters.get(getFilterIndex()+i) != null)
|
||||||
|
{
|
||||||
|
TransporterFilter filter = tileEntity.filters.get(getFilterIndex()+i);
|
||||||
|
int yStart = i*29 + 18;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList getItemStackFilters()
|
public ArrayList getItemStackFilters()
|
||||||
|
|
|
@ -67,12 +67,6 @@ public class GuiOreDictFilter extends GuiMekanism
|
||||||
filter.color = TransporterUtils.colors.get(0);
|
filter.color = TransporterUtils.colors.get(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean doesGuiPauseGame()
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initGui()
|
public void initGui()
|
||||||
{
|
{
|
||||||
|
@ -146,7 +140,7 @@ public class GuiOreDictFilter extends GuiMekanism
|
||||||
{
|
{
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
GL11.glEnable(GL11.GL_LIGHTING);
|
GL11.glEnable(GL11.GL_LIGHTING);
|
||||||
itemRenderer.renderItemIntoGUI(fontRenderer, mc.getTextureManager(), renderStack, 12, 19);
|
itemRenderer.renderItemAndEffectIntoGUI(fontRenderer, mc.getTextureManager(), renderStack, 12, 19);
|
||||||
GL11.glDisable(GL11.GL_LIGHTING);
|
GL11.glDisable(GL11.GL_LIGHTING);
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,6 @@ public class MachineRenderingHandler implements ISimpleBlockRenderingHandler
|
||||||
public ModelTheoreticalElementizer theoreticalElementizer = new ModelTheoreticalElementizer();
|
public ModelTheoreticalElementizer theoreticalElementizer = new ModelTheoreticalElementizer();
|
||||||
public ModelElectricPump electricPump = new ModelElectricPump();
|
public ModelElectricPump electricPump = new ModelElectricPump();
|
||||||
public ModelMetallurgicInfuser metallurgicInfuser = new ModelMetallurgicInfuser();
|
public ModelMetallurgicInfuser metallurgicInfuser = new ModelMetallurgicInfuser();
|
||||||
public ModelChest electricChest = new ModelChest();
|
|
||||||
public ModelChargepad chargepad = new ModelChargepad();
|
public ModelChargepad chargepad = new ModelChargepad();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -19,6 +19,11 @@ public class HashList<T> implements Iterable<T>
|
||||||
|
|
||||||
public T get(int index)
|
public T get(int index)
|
||||||
{
|
{
|
||||||
|
if(index > size()-1)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
return list.get(index);
|
return list.get(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,14 +9,11 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataInput;
|
import com.google.common.io.ByteArrayDataInput;
|
||||||
|
|
||||||
public class TransporterFilter
|
public abstract class TransporterFilter
|
||||||
{
|
{
|
||||||
public EnumColor color;
|
public EnumColor color;
|
||||||
|
|
||||||
public boolean canFilter(ItemStack itemStack)
|
public abstract boolean canFilter(ItemStack itemStack);
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void write(NBTTagCompound nbtTags)
|
public void write(NBTTagCompound nbtTags)
|
||||||
{
|
{
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.5 KiB |
Binary file not shown.
Before Width: | Height: | Size: 2.8 KiB |
Loading…
Reference in a new issue