From 61ac42d2700a1d1104e5740a0fe2cd6d634694dd Mon Sep 17 00:00:00 2001 From: asdflj <854865755@qq.com> Date: Fri, 30 Sep 2022 14:39:24 +0800 Subject: [PATCH] fix MouseRegionManager can't display tooltip. when ingredient buffer outputting fluid, the current slot is used continuously,not from first slot to start output. --- .../com/glodblock/github/inventory/AEFluidInventory.java | 5 ++++- .../glodblock/github/inventory/gui/MouseRegionManager.java | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/glodblock/github/inventory/AEFluidInventory.java b/src/main/java/com/glodblock/github/inventory/AEFluidInventory.java index 7365fba2..2e17578c 100644 --- a/src/main/java/com/glodblock/github/inventory/AEFluidInventory.java +++ b/src/main/java/com/glodblock/github/inventory/AEFluidInventory.java @@ -17,6 +17,7 @@ public class AEFluidInventory implements IAEFluidTank private final IAEFluidStack[] fluids; private final IAEFluidInventory handler; private final int capacity; + public int lastIndex; public AEFluidInventory( final IAEFluidInventory handler, final int slots, final int capcity ) { @@ -253,9 +254,10 @@ public class AEFluidInventory implements IAEFluidTank FluidStack totalDrained = null; int toDrain = maxDrain; - for( int slot = 0; slot < this.getSlots(); ++slot ) + for( int slot = lastIndex; slot < this.getSlots(); ++slot ) { if (this.getFluidInSlot(slot) == null) { + if(slot == this.getSlots()-1) lastIndex = 0; continue; } @@ -264,6 +266,7 @@ public class AEFluidInventory implements IAEFluidTank totalDrained = this.drain( slot, toDrain, doDrain ); if( totalDrained != null ) { + lastIndex = slot; toDrain -= totalDrained.amount; } } diff --git a/src/main/java/com/glodblock/github/inventory/gui/MouseRegionManager.java b/src/main/java/com/glodblock/github/inventory/gui/MouseRegionManager.java index 15cd3c3b..a4609837 100644 --- a/src/main/java/com/glodblock/github/inventory/gui/MouseRegionManager.java +++ b/src/main/java/com/glodblock/github/inventory/gui/MouseRegionManager.java @@ -1,5 +1,6 @@ package com.glodblock.github.inventory.gui; +import appeng.client.gui.AEBaseGui; import net.minecraft.client.audio.PositionedSoundRecord; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.util.ResourceLocation; @@ -39,6 +40,7 @@ public class MouseRegionManager { if (region.containsMouse(mX, mY)) { List tooltip = region.handler.getTooltip(); if (tooltip != null) { + ((AEBaseGui)gui).drawTooltip(mX,mY,0,String.join("\n",tooltip)); return; } }