From 396f0b608cef61c2efaddd9999a4585df957fc16 Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Sun, 20 Dec 2015 19:08:35 +0100 Subject: [PATCH] add sorting to grids --- src/main/java/storagecraft/gui/GuiGrid.java | 36 +++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/main/java/storagecraft/gui/GuiGrid.java b/src/main/java/storagecraft/gui/GuiGrid.java index f8dbc3e76..e3ac5dd14 100644 --- a/src/main/java/storagecraft/gui/GuiGrid.java +++ b/src/main/java/storagecraft/gui/GuiGrid.java @@ -1,6 +1,7 @@ package storagecraft.gui; import java.util.ArrayList; +import java.util.Comparator; import java.util.Iterator; import java.util.List; import net.minecraft.client.gui.GuiTextField; @@ -181,6 +182,41 @@ public class GuiGrid extends GuiBase { } } + switch (SORTING_TYPE) { + case SORTING_TYPE_COUNT: + items.sort(new Comparator() { + @Override + public int compare(StorageItem o1, StorageItem o2) { + switch (SORTING_DIRECTION) { + case SORTING_DIRECTION_ASCENDING: + return Integer.valueOf(o2.getQuantity()).compareTo(o1.getQuantity()); + case SORTING_DIRECTION_DESCENDING: + return Integer.valueOf(o1.getQuantity()).compareTo(o2.getQuantity()); + default: + return 0; + } + } + }); + + break; + case SORTING_TYPE_NAME: + items.sort(new Comparator() { + @Override + public int compare(StorageItem o1, StorageItem o2) { + switch (SORTING_DIRECTION) { + case SORTING_DIRECTION_ASCENDING: + return o2.toItemStack().getDisplayName().compareTo(o1.toItemStack().getDisplayName()); + case SORTING_DIRECTION_DESCENDING: + return o1.toItemStack().getDisplayName().compareTo(o2.toItemStack().getDisplayName()); + default: + return 0; + } + } + }); + + break; + } + return items; }