From 37a49cb720d67932446902ab889bfd998de3e80a Mon Sep 17 00:00:00 2001 From: asdflj <854865755@qq.com> Date: Fri, 20 Jan 2023 14:26:59 +0800 Subject: [PATCH] missing items always in the top --- dependencies.gradle | 2 +- .../client/gui/GuiFluidCraftConfirm.java | 24 +++++++++++++++---- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 16b2345e..aa3f074c 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -2,7 +2,7 @@ dependencies { compile('com.github.GTNewHorizons:NotEnoughItems:2.3.20-GTNH:dev') - compile('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-138-GTNH:dev') + compile('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-143-GTNH:dev') compile('curse.maven:cofh-core-69162:2388751') compile('com.github.GTNewHorizons:waila:1.5.22:dev') compileOnly('com.github.GTNewHorizons:ExtraCells2:2.5.25:dev') { transitive = false } diff --git a/src/main/java/com/glodblock/github/client/gui/GuiFluidCraftConfirm.java b/src/main/java/com/glodblock/github/client/gui/GuiFluidCraftConfirm.java index 5cf084cd..ab3d008d 100644 --- a/src/main/java/com/glodblock/github/client/gui/GuiFluidCraftConfirm.java +++ b/src/main/java/com/glodblock/github/client/gui/GuiFluidCraftConfirm.java @@ -20,10 +20,7 @@ import com.glodblock.github.network.CPacketSwitchGuis; import com.glodblock.github.util.ModAndClassUtil; import com.google.common.base.Joiner; import java.text.NumberFormat; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; +import java.util.*; import net.minecraft.client.gui.GuiButton; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; @@ -380,10 +377,27 @@ public class GuiFluidCraftConfirm extends AEBaseGui { is.setStackSize(amt); } } - + this.sortItems(); this.setScrollBar(); } + Comparator comparator = (i1, i2) -> { + if (missing.findPrecise(i1) != null) { + if (missing.findPrecise(i2) != null) return 0; + return -1; + } else if (missing.findPrecise(i2) != null) { + return 1; + } else { + return 0; + } + }; + + private void sortItems() { + if (!this.missing.isEmpty()) { + this.visual.sort(comparator); + } + } + private void handleInput(final IItemList s, final IAEItemStack l) { IAEItemStack a = s.findPrecise(l);