Skip to content

Commit

Permalink
Bookmark support for crafting status GUI (#104)
Browse files Browse the repository at this point in the history
* Bookmark support for crafting status GUI

* fix double tooltip
  • Loading branch information
repo-alt authored Feb 5, 2022
1 parent 90b88f8 commit addfbef
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ public class GuiCraftConfirm extends AEBaseGui
private GuiButton start;
private GuiButton selectCPU;
private int tooltip = -1;
private ItemStack hoveredStack;

public GuiCraftConfirm( final InventoryPlayer inventoryPlayer, final ITerminalHost te )
{
Expand Down Expand Up @@ -241,6 +242,7 @@ public void drawFG( final int offsetX, final int offsetY, final int mouseX, fina
final List<String> lineList = new LinkedList<String>();
int toolPosX = 0;
int toolPosY = 0;
hoveredStack = null;

final int offY = 23;

Expand Down Expand Up @@ -363,6 +365,8 @@ public void drawFG( final int offsetX, final int offsetY, final int mouseX, fina

toolPosX = x * ( 1 + sectionLength ) + xo + sectionLength - 8;
toolPosY = y * offY + yo;

hoveredStack = is;
}

this.drawItem( posX, posY, is );
Expand Down Expand Up @@ -580,4 +584,7 @@ protected void actionPerformed( final GuiButton btn )
}
}
}
public ItemStack getHoveredStack() {
return hoveredStack;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ public class GuiCraftingCPU extends AEBaseGui implements ISortSource
private List<IAEItemStack> visual = new ArrayList<IAEItemStack>();
private GuiButton cancel;
private int tooltip = -1;
private ItemStack hoveredStack;

public GuiCraftingCPU( final InventoryPlayer inventoryPlayer, final Object te )
{
Expand Down Expand Up @@ -211,6 +212,8 @@ public void drawFG( final int offsetX, final int offsetY, final int mouseX, fina
int toolPosX = 0;
int toolPosY = 0;

hoveredStack = null;

final int offY = 23;

final ReadableNumberConverter converter = ReadableNumberConverter.INSTANCE;
Expand Down Expand Up @@ -316,6 +319,8 @@ public void drawFG( final int offsetX, final int offsetY, final int mouseX, fina

toolPosX = x * ( 1 + SECTION_LENGTH ) + ITEMSTACK_LEFT_OFFSET + SECTION_LENGTH - 8;
toolPosY = y * offY + ITEMSTACK_TOP_OFFSET;

hoveredStack = is;
}

this.drawItem( posX, posY, is );
Expand Down Expand Up @@ -487,4 +492,8 @@ public Enum getSortDisplay()
{
return ViewItems.ALL;
}

public ItemStack getHoveredStack() {
return hoveredStack;
}
}
43 changes: 42 additions & 1 deletion src/main/java/appeng/integration/modules/NEI.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@


import appeng.client.gui.AEBaseMEGui;
import appeng.client.gui.implementations.GuiCraftConfirm;
import appeng.client.gui.implementations.GuiCraftingCPU;
import appeng.client.gui.implementations.GuiCraftingTerm;
import appeng.client.gui.implementations.GuiPatternTerm;
import appeng.core.AEConfig;
Expand All @@ -33,6 +35,7 @@
import codechicken.nei.api.IStackPositioner;
import codechicken.nei.guihook.GuiContainerManager;
import codechicken.nei.guihook.IContainerTooltipHandler;
import codechicken.nei.guihook.IContainerObjectHandler;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.inventory.GuiContainer;
Expand All @@ -46,7 +49,7 @@
import java.util.List;


public class NEI implements INEI, IContainerTooltipHandler, IIntegrationModule
public class NEI implements INEI, IContainerTooltipHandler, IIntegrationModule, IContainerObjectHandler
{
@Reflected
public static NEI instance;
Expand Down Expand Up @@ -94,6 +97,7 @@ public void init() throws Throwable

// large stack tooltips
GuiContainerManager.addTooltipHandler( this );
GuiContainerManager.addObjectHandler(this);

// crafting terminal...
final Method registerGuiOverlay = this.apiClass.getDeclaredMethod( "registerGuiOverlay", Class.class, String.class, IStackPositioner.class );
Expand Down Expand Up @@ -182,4 +186,41 @@ public List<String> handleItemTooltip( final GuiContainer guiScreen, final ItemS

return currentToolTip;
}
@Override
public void guiTick(GuiContainer gui) {

}

@Override
public void refresh(GuiContainer gui) {

}

@Override
public void load(GuiContainer gui) {

}

@Override
public ItemStack getStackUnderMouse(GuiContainer gui, int mousex, int mousey) {
if (gui instanceof GuiCraftConfirm)
return ((GuiCraftConfirm)gui).getHoveredStack();
else if (gui instanceof GuiCraftingCPU)
return ((GuiCraftingCPU)gui).getHoveredStack();
return null;
}

@Override
public boolean objectUnderMouse(GuiContainer gui, int mousex, int mousey) {
return false;
}

@Override
public boolean shouldShowTooltip(GuiContainer gui) {
if (gui instanceof GuiCraftConfirm)
return ((GuiCraftConfirm)gui).getHoveredStack() == null;
if (gui instanceof GuiCraftingCPU)
return ((GuiCraftingCPU)gui).getHoveredStack() == null;
return true;
}
}

0 comments on commit addfbef

Please sign in to comment.