This commit is contained in:
Aidan C. Brady 2013-10-29 11:10:08 -04:00
commit 013a2a7aa4
3 changed files with 28 additions and 10 deletions

View file

@ -42,12 +42,17 @@ public class GuiLogisticalSorter extends GuiMekanism
public int getScroll() 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() public int getFilterIndex()
{ {
return 0; if(tileEntity.filters.size() <= 4)
{
return 0;
}
return (int)((tileEntity.filters.size()*scroll) - (4F/(float)tileEntity.filters.size()));
} }
@Override @Override
@ -97,7 +102,7 @@ public class GuiLogisticalSorter extends GuiMekanism
if(isDragging) if(isDragging)
{ {
scroll = (float)(yAxis-18-dragOffset)/123F; scroll = Math.min(Math.max((float)(yAxis-18-dragOffset)/123F, 0), 1);
} }
} }

View file

@ -168,6 +168,12 @@ public class TransporterStack
if(!tileEntity.worldObj.isRemote) if(!tileEntity.worldObj.isRemote)
{ {
int index = pathToTarget.indexOf(Object3D.get(tileEntity))-1; int index = pathToTarget.indexOf(Object3D.get(tileEntity))-1;
if(index < 0)
{
return null;
}
return pathToTarget.get(index); return pathToTarget.get(index);
} }
else { else {
@ -200,7 +206,14 @@ public class TransporterStack
{ {
return Object3D.get(tileEntity).sideDifference(getPrev(tileEntity)).ordinal(); 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(); return getNext(tileEntity).sideDifference(Object3D.get(tileEntity)).ordinal();
} }

View file

@ -188,13 +188,13 @@ public final class TransporterUtils
} }
else { else {
ISidedInventory sidedInventory = (ISidedInventory) inventory; 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++) for(int get = 0; get <= slots.length - 1; get++)
{ {
int slotID = slots[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); ItemStack inSlot = inventory.getStackInSlot(slotID);
@ -267,13 +267,13 @@ public final class TransporterUtils
} }
else { else {
ISidedInventory sidedInventory = (ISidedInventory) inventory; 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++) for(int get = 0; get <= slots.length - 1; get++)
{ {
int slotID = slots[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); ItemStack inSlot = inventory.getStackInSlot(slotID);
@ -329,7 +329,7 @@ public final class TransporterUtils
} }
else { else {
ISidedInventory sidedInventory = (ISidedInventory)inventory; ISidedInventory sidedInventory = (ISidedInventory)inventory;
int[] slots = sidedInventory.getAccessibleSlotsFromSide(side); int[] slots = sidedInventory.getAccessibleSlotsFromSide(ForgeDirection.getOrientation(side).getOpposite().ordinal());
if(slots != null) if(slots != null)
{ {
@ -341,7 +341,7 @@ public final class TransporterUtils
{ {
ItemStack toSend = sidedInventory.getStackInSlot(slotID); 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); sidedInventory.setInventorySlotContents(slotID, null);