1+ package com .circulation .random_complement .mixin .ae2fc .news ;
2+
3+ import appeng .container .slot .SlotFake ;
4+ import com .circulation .random_complement .common .util .MEHandler ;
5+ import com .circulation .random_complement .mixin .ae2 .gui .MixinGuiMEMonitorable ;
6+ import com .glodblock .github .client .client .gui .GuiWirelessFluidPatternTerminal ;
7+ import net .minecraft .inventory .Container ;
8+ import net .minecraft .inventory .Slot ;
9+ import org .spongepowered .asm .mixin .Mixin ;
10+ import org .spongepowered .asm .mixin .injection .At ;
11+ import org .spongepowered .asm .mixin .injection .Inject ;
12+ import org .spongepowered .asm .mixin .injection .callback .CallbackInfo ;
13+
14+ @ Mixin (value = GuiWirelessFluidPatternTerminal .class )
15+ public abstract class MixinGuiWirelessFluidPatternTerminal extends MixinGuiMEMonitorable {
16+
17+ public MixinGuiWirelessFluidPatternTerminal (Container container ) {
18+ super (container );
19+ }
20+
21+ @ Inject (method = "drawSlot" , at = @ At (value = "INVOKE" , target = "Lnet/minecraft/inventory/Slot;getStack()Lnet/minecraft/item/ItemStack;" , ordinal = 0 ))
22+ private void drawSlotFake (Slot slot , CallbackInfo ci ) {
23+ if (slot .xPos < 0 || slot .yPos < 0 ) return ;
24+ if (slot instanceof SlotFake slotFake ) {
25+ if (!slotFake .shouldDisplay ()) return ;
26+ if (!slotFake .getDisplayStack ().isEmpty ()) {
27+ var item = slotFake .getDisplayStack ();
28+ if (r$getCraftablesCache ().contains (MEHandler .packAEItem (item ))) {
29+ r$getPlusSlot ().add (slotFake );
30+ }
31+ }
32+ }
33+ }
34+
35+ }
0 commit comments