From 001ce431dc94de04ffc74fbfff0e0745db5c5794 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Mon, 28 Oct 2013 21:08:37 -0400 Subject: [PATCH 1/2] Scrolling :) Next is adding something similar to RP's "restriction tube!" --- common/mekanism/client/gui/GuiLogisticalSorter.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/common/mekanism/client/gui/GuiLogisticalSorter.java b/common/mekanism/client/gui/GuiLogisticalSorter.java index 84123d933..3c5142df5 100644 --- a/common/mekanism/client/gui/GuiLogisticalSorter.java +++ b/common/mekanism/client/gui/GuiLogisticalSorter.java @@ -42,12 +42,17 @@ public class GuiLogisticalSorter extends GuiMekanism public int getScroll() { - return Math.max(Math.min((int)(scroll*125), 125), 0); + return Math.max(Math.min((int)(scroll*123), 123), 0); } public int getFilterIndex() { - return 0; + if(tileEntity.filters.size() <= 4) + { + return 0; + } + + return (int)((tileEntity.filters.size()*scroll) - (4F/(float)tileEntity.filters.size())); } @Override @@ -97,7 +102,7 @@ public class GuiLogisticalSorter extends GuiMekanism if(isDragging) { - scroll = (float)(yAxis-18-dragOffset)/123F; + scroll = Math.min(Math.max((float)(yAxis-18-dragOffset)/123F, 0), 1); } } From df896ec3f3143969091f2569ad941972c8196d6f Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Mon, 28 Oct 2013 22:17:34 -0400 Subject: [PATCH 2/2] Fixed that pesky crash, thanks Vaygrim! --- .../common/transporter/TransporterStack.java | 15 ++++++++++++++- common/mekanism/common/util/TransporterUtils.java | 12 ++++++------ 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/common/mekanism/common/transporter/TransporterStack.java b/common/mekanism/common/transporter/TransporterStack.java index af9d46366..1c72a1615 100644 --- a/common/mekanism/common/transporter/TransporterStack.java +++ b/common/mekanism/common/transporter/TransporterStack.java @@ -168,6 +168,12 @@ public class TransporterStack if(!tileEntity.worldObj.isRemote) { int index = pathToTarget.indexOf(Object3D.get(tileEntity))-1; + + if(index < 0) + { + return null; + } + return pathToTarget.get(index); } else { @@ -200,7 +206,14 @@ public class TransporterStack { return Object3D.get(tileEntity).sideDifference(getPrev(tileEntity)).ordinal(); } - else if(progress >= 50) + else if(progress == 50) + { + if(getNext(tileEntity) != null) + { + return getNext(tileEntity).sideDifference(Object3D.get(tileEntity)).ordinal(); + } + } + else if(progress > 50) { return getNext(tileEntity).sideDifference(Object3D.get(tileEntity)).ordinal(); } diff --git a/common/mekanism/common/util/TransporterUtils.java b/common/mekanism/common/util/TransporterUtils.java index c1402a8ac..bfbfab779 100644 --- a/common/mekanism/common/util/TransporterUtils.java +++ b/common/mekanism/common/util/TransporterUtils.java @@ -187,13 +187,13 @@ public final class TransporterUtils } else { ISidedInventory sidedInventory = (ISidedInventory) inventory; - int[] slots = sidedInventory.getAccessibleSlotsFromSide(side); + int[] slots = sidedInventory.getAccessibleSlotsFromSide(ForgeDirection.getOrientation(side).getOpposite().ordinal()); for(int get = 0; get <= slots.length - 1; get++) { int slotID = slots[get]; - if(sidedInventory.isItemValidForSlot(slotID, itemStack) && sidedInventory.canInsertItem(slotID, itemStack, side)) + if(sidedInventory.isItemValidForSlot(slotID, itemStack) && sidedInventory.canInsertItem(slotID, itemStack, ForgeDirection.getOrientation(side).getOpposite().ordinal())) { ItemStack inSlot = inventory.getStackInSlot(slotID); @@ -266,13 +266,13 @@ public final class TransporterUtils } else { ISidedInventory sidedInventory = (ISidedInventory) inventory; - int[] slots = sidedInventory.getAccessibleSlotsFromSide(side); + int[] slots = sidedInventory.getAccessibleSlotsFromSide(ForgeDirection.getOrientation(side).getOpposite().ordinal()); for(int get = 0; get <= slots.length - 1; get++) { int slotID = slots[get]; - if(sidedInventory.isItemValidForSlot(slotID, itemStack) && sidedInventory.canInsertItem(slotID, itemStack, side)) + if(sidedInventory.isItemValidForSlot(slotID, itemStack) && sidedInventory.canInsertItem(slotID, itemStack, ForgeDirection.getOrientation(side).getOpposite().ordinal())) { ItemStack inSlot = inventory.getStackInSlot(slotID); @@ -328,7 +328,7 @@ public final class TransporterUtils } else { ISidedInventory sidedInventory = (ISidedInventory)inventory; - int[] slots = sidedInventory.getAccessibleSlotsFromSide(side); + int[] slots = sidedInventory.getAccessibleSlotsFromSide(ForgeDirection.getOrientation(side).getOpposite().ordinal()); if(slots != null) { @@ -340,7 +340,7 @@ public final class TransporterUtils { ItemStack toSend = sidedInventory.getStackInSlot(slotID); - if(sidedInventory.canExtractItem(slotID, toSend, side)) + if(sidedInventory.canExtractItem(slotID, toSend, ForgeDirection.getOrientation(side).getOpposite().ordinal())) { sidedInventory.setInventorySlotContents(slotID, null);