update items while JEI GUI is active

This commit is contained in:
PrototypeTrousers
2022-10-18 06:50:37 -03:00
parent 9b263c5501
commit 486a68d06b
13 changed files with 82 additions and 26 deletions
@@ -35,6 +35,7 @@ import appeng.api.storage.ITerminalHost;
import appeng.api.storage.channels.IItemStorageChannel;
import appeng.api.storage.data.IAEItemStack;
import appeng.api.storage.data.IItemList;
import appeng.client.gui.implementations.GuiCraftConfirm;
import appeng.container.AEBaseContainer;
import appeng.container.guisync.GuiSync;
import appeng.core.AELog;
@@ -61,6 +62,7 @@ import javax.annotation.Nonnull;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.Future;
@@ -85,6 +87,7 @@ public class ContainerCraftConfirm extends AEBaseContainer {
public boolean noCPU = true;
@GuiSync(7)
public String myName = "";
private GuiCraftConfirm guiCraftConfirm;
public ContainerCraftConfirm(final InventoryPlayer ip, final ITerminalHost te) {
super(ip, te);
@@ -403,4 +406,12 @@ public class ContainerCraftConfirm extends AEBaseContainer {
public void setJob(final Future<ICraftingJob> job) {
this.job = job;
}
public void postUpdate(final List<IAEItemStack> list, final byte ref) {
this.guiCraftConfirm.postUpdate(list, ref);
}
public void setGui(GuiCraftConfirm guiCraftConfirm) {
this.guiCraftConfirm = guiCraftConfirm;
}
}
@@ -30,6 +30,8 @@ import appeng.api.storage.IMEMonitorHandlerReceiver;
import appeng.api.storage.channels.IItemStorageChannel;
import appeng.api.storage.data.IAEItemStack;
import appeng.api.storage.data.IItemList;
import appeng.client.gui.implementations.GuiCraftConfirm;
import appeng.client.gui.implementations.GuiCraftingCPU;
import appeng.container.AEBaseContainer;
import appeng.container.guisync.GuiSync;
import appeng.core.AELog;
@@ -47,6 +49,7 @@ import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.IContainerListener;
import java.io.IOException;
import java.util.List;
public class ContainerCraftingCPU extends AEBaseContainer implements IMEMonitorHandlerReceiver<IAEItemStack>, ICustomNameObject {
@@ -58,6 +61,7 @@ public class ContainerCraftingCPU extends AEBaseContainer implements IMEMonitorH
@GuiSync(0)
public long eta = -1;
private GuiCraftingCPU guiCraftingCPU;
public ContainerCraftingCPU(final InventoryPlayer ip, final Object te) {
super(ip, te);
@@ -232,4 +236,12 @@ public class ContainerCraftingCPU extends AEBaseContainer implements IMEMonitorH
private void setNetwork(final IGrid network) {
this.network = network;
}
public void postUpdate(final List<IAEItemStack> list, final byte ref) {
this.guiCraftingCPU.postUpdate(list, ref);
}
public void setGui(GuiCraftingCPU guiCraftingCPU) {
this.guiCraftingCPU = guiCraftingCPU;
}
}
@@ -24,6 +24,7 @@ import appeng.container.ContainerNull;
import appeng.container.slot.SlotCraftingMatrix;
import appeng.container.slot.SlotCraftingTerm;
import appeng.helpers.IContainerCraftingPacket;
import appeng.parts.reporting.AbstractPartTerminal;
import appeng.parts.reporting.PartCraftingTerminal;
import appeng.tile.inventory.AppEngInternalInventory;
import appeng.util.IConfigManagerHost;
@@ -120,8 +121,4 @@ public class ContainerCraftingTerm extends ContainerMEMonitorable implements IAE
public IRecipe getCurrentRecipe() {
return this.currentRecipe;
}
public IConfigManagerHost getGui() {
return super.getGui();
}
}
@@ -42,6 +42,7 @@ import appeng.api.storage.data.IItemList;
import appeng.api.util.AEPartLocation;
import appeng.api.util.IConfigManager;
import appeng.api.util.IConfigurableObject;
import appeng.client.gui.implementations.GuiMEMonitorable;
import appeng.container.AEBaseContainer;
import appeng.container.guisync.GuiSync;
import appeng.container.slot.SlotRestrictedInput;
@@ -64,6 +65,7 @@ import net.minecraftforge.fml.common.Loader;
import javax.annotation.Nonnull;
import java.io.IOException;
import java.nio.BufferOverflowException;
import java.util.List;
public class ContainerMEMonitorable extends AEBaseContainer implements IConfigManagerHost, IConfigurableObject, IMEMonitorHandlerReceiver<IAEItemStack> {
@@ -357,11 +359,19 @@ public class ContainerMEMonitorable extends AEBaseContainer implements IConfigMa
this.hasPower = isPowered;
}
protected IConfigManagerHost getGui() {
public IConfigManagerHost getGui() {
return this.gui;
}
public void setGui(@Nonnull final IConfigManagerHost gui) {
this.gui = gui;
}
public IItemList<IAEItemStack> getItems() {
return items;
}
public void postUpdate(final List<IAEItemStack> list) {
((GuiMEMonitorable) this.gui).postUpdate(list);
}
}
@@ -30,6 +30,7 @@ import appeng.api.storage.channels.IItemStorageChannel;
import appeng.api.storage.data.IAEItemStack;
import appeng.api.storage.data.IItemList;
import appeng.api.util.AEPartLocation;
import appeng.client.gui.implementations.GuiNetworkStatus;
import appeng.container.AEBaseContainer;
import appeng.container.guisync.GuiSync;
import appeng.core.sync.network.NetworkHandler;
@@ -42,6 +43,7 @@ import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
import java.io.IOException;
import java.util.List;
public class ContainerNetworkStatus extends AEBaseContainer {
@@ -56,6 +58,7 @@ public class ContainerNetworkStatus extends AEBaseContainer {
public long maxPower;
private IGrid network;
private int delay = 40;
private GuiNetworkStatus guiNetworkStatus;
public ContainerNetworkStatus(final InventoryPlayer ip, final INetworkTool te) {
super(ip, null, null);
@@ -160,4 +163,12 @@ public class ContainerNetworkStatus extends AEBaseContainer {
private void setPowerUsage(final long powerUsage) {
this.powerUsage = powerUsage;
}
public void postUpdate(final List<IAEItemStack> list) {
this.guiNetworkStatus.postUpdate(list);
}
public void setGui(GuiNetworkStatus guiNetworkStatus) {
this.guiNetworkStatus = guiNetworkStatus;
}
}