GUI Registration

This commit is contained in:
Sebastian Hartte
2020-06-06 21:54:09 +02:00
parent ff042a394b
commit 70418b0bb2
4 changed files with 88 additions and 18 deletions
@@ -54,7 +54,7 @@ import java.util.List;
import java.util.concurrent.TimeUnit;
public class GuiCraftingCPU extends AEBaseGui<ContainerCraftingCPU> implements ISortSource
public class GuiCraftingCPU<T extends ContainerCraftingCPU> extends AEBaseGui<T> implements ISortSource
{
private static final int GUI_HEIGHT = 184;
private static final int GUI_WIDTH = 238;
@@ -89,7 +89,7 @@ public class GuiCraftingCPU extends AEBaseGui<ContainerCraftingCPU> implements I
private Button cancel;
private int tooltip = -1;
public GuiCraftingCPU(ContainerCraftingCPU container, PlayerInventory playerInventory, ITextComponent title) {
public GuiCraftingCPU(T container, PlayerInventory playerInventory, ITextComponent title) {
super(container, playerInventory, title);
this.ySize = GUI_HEIGHT;
this.xSize = GUI_WIDTH;
@@ -35,18 +35,15 @@ import net.minecraft.util.text.ITextComponent;
import java.io.IOException;
public class GuiCraftingStatus extends GuiCraftingCPU
public class GuiCraftingStatus extends GuiCraftingCPU<ContainerCraftingStatus>
{
private final ContainerCraftingStatus craftingStatus;
private final AESubGui subGui;
private Button selectCPU;
public GuiCraftingStatus(ContainerCraftingStatus container, PlayerInventory playerInventory, ITextComponent title) {
super(container, playerInventory, title);
this.craftingStatus = container;
this.subGui = new AESubGui(this, container.getTarget());
}
@@ -76,20 +73,20 @@ public class GuiCraftingStatus extends GuiCraftingCPU
{
String btnTextText = GuiText.NoCraftingJobs.getLocal();
if( this.craftingStatus.selectedCpu >= 0 )// && status.selectedCpu < status.cpus.size() )
if( this.container.selectedCpu >= 0 )// && status.selectedCpu < status.cpus.size() )
{
if( this.craftingStatus.myName.length() > 0 )
if( this.container.myName.length() > 0 )
{
final String name = this.craftingStatus.myName.substring( 0, Math.min( 20, this.craftingStatus.myName.length() ) );
final String name = this.container.myName.substring( 0, Math.min( 20, this.container.myName.length() ) );
btnTextText = GuiText.CPUs.getLocal() + ": " + name;
}
else
{
btnTextText = GuiText.CPUs.getLocal() + ": #" + this.craftingStatus.selectedCpu;
btnTextText = GuiText.CPUs.getLocal() + ": #" + this.container.selectedCpu;
}
}
if( this.craftingStatus.noCPU )
if( this.container.noCPU )
{
btnTextText = GuiText.NoCraftingJobs.getLocal();
}
+73 -1
View File
@@ -30,8 +30,42 @@ import appeng.api.networking.storage.IStorageGrid;
import appeng.api.networking.ticking.ITickManager;
import appeng.bootstrap.IModelRegistry;
import appeng.bootstrap.components.*;
import appeng.client.gui.implementations.GuiCellWorkbench;
import appeng.client.gui.implementations.GuiChest;
import appeng.client.gui.implementations.GuiCondenser;
import appeng.client.gui.implementations.GuiCraftAmount;
import appeng.client.gui.implementations.GuiCraftConfirm;
import appeng.client.gui.implementations.GuiCraftingCPU;
import appeng.client.gui.implementations.GuiCraftingStatus;
import appeng.client.gui.implementations.GuiCraftingTerm;
import appeng.client.gui.implementations.GuiDrive;
import appeng.client.gui.implementations.GuiFormationPlane;
import appeng.client.gui.implementations.GuiGrinder;
import appeng.client.gui.implementations.GuiGrinder;
import appeng.client.gui.implementations.GuiIOPort;
import appeng.client.gui.implementations.GuiInscriber;
import appeng.client.gui.implementations.GuiInterface;
import appeng.client.gui.implementations.GuiInterfaceTerminal;
import appeng.client.gui.implementations.GuiLevelEmitter;
import appeng.client.gui.implementations.GuiMAC;
import appeng.client.gui.implementations.GuiMEMonitorable;
import appeng.client.gui.implementations.GuiMEPortableCell;
import appeng.client.gui.implementations.GuiNetworkStatus;
import appeng.client.gui.implementations.GuiNetworkTool;
import appeng.client.gui.implementations.GuiPatternTerm;
import appeng.client.gui.implementations.GuiPriority;
import appeng.client.gui.implementations.GuiQNB;
import appeng.client.gui.implementations.GuiQNB;
import appeng.client.gui.implementations.GuiQuartzKnife;
import appeng.client.gui.implementations.GuiSecurityStation;
import appeng.client.gui.implementations.GuiSkyChest;
import appeng.client.gui.implementations.GuiSkyChest;
import appeng.client.gui.implementations.GuiSpatialIOPort;
import appeng.client.gui.implementations.GuiStorageBus;
import appeng.client.gui.implementations.GuiUpgradeable;
import appeng.client.gui.implementations.GuiVibrationChamber;
import appeng.client.gui.implementations.GuiWireless;
import appeng.client.gui.implementations.GuiWirelessTerm;
import appeng.client.render.effects.*;
import appeng.client.render.model.SkyCompassModel;
import appeng.client.render.tesr.SkyChestTESR;
@@ -43,6 +77,7 @@ import appeng.core.features.registries.cell.BasicItemCellGuiHandler;
import appeng.core.features.registries.cell.CreativeCellHandler;
import appeng.core.stats.AeStats;
import appeng.core.stats.PartItemPredicate;
import appeng.fluids.client.gui.*;
import appeng.fluids.container.*;
import appeng.fluids.registries.BasicFluidCellGuiHandler;
import appeng.me.cache.*;
@@ -491,8 +526,45 @@ final class Registration
);
DistExecutor.runWhenOn(Dist.CLIENT, () -> () -> {
ScreenManager.registerFactory(ContainerSkyChest.TYPE, GuiSkyChest::new);
ScreenManager.registerFactory(ContainerGrinder.TYPE, GuiGrinder::new);
ScreenManager.registerFactory(ContainerQNB.TYPE, GuiQNB::new);
ScreenManager.registerFactory(ContainerSkyChest.TYPE, GuiSkyChest::new);
ScreenManager.registerFactory(ContainerChest.TYPE, GuiChest::new);
ScreenManager.registerFactory(ContainerWireless.TYPE, GuiWireless::new);
ScreenManager.<ContainerMEMonitorable, GuiMEMonitorable<ContainerMEMonitorable>>registerFactory(ContainerMEMonitorable.TYPE, GuiMEMonitorable::new);
ScreenManager.registerFactory(ContainerMEPortableCell.TYPE, GuiMEPortableCell::new);
ScreenManager.registerFactory(ContainerWirelessTerm.TYPE, GuiWirelessTerm::new);
ScreenManager.registerFactory(ContainerNetworkStatus.TYPE, GuiNetworkStatus::new);
ScreenManager.<ContainerCraftingCPU,GuiCraftingCPU<ContainerCraftingCPU>>registerFactory(ContainerCraftingCPU.TYPE, GuiCraftingCPU::new);
ScreenManager.registerFactory(ContainerNetworkTool.TYPE, GuiNetworkTool::new);
ScreenManager.registerFactory(ContainerQuartzKnife.TYPE, GuiQuartzKnife::new);
ScreenManager.registerFactory(ContainerDrive.TYPE, GuiDrive::new);
ScreenManager.registerFactory(ContainerVibrationChamber.TYPE, GuiVibrationChamber::new);
ScreenManager.registerFactory(ContainerCondenser.TYPE, GuiCondenser::new);
ScreenManager.registerFactory(ContainerInterface.TYPE, GuiInterface::new);
ScreenManager.registerFactory(ContainerFluidInterface.TYPE, GuiFluidInterface::new);
ScreenManager.<ContainerUpgradeable, GuiUpgradeable<ContainerUpgradeable>>registerFactory(ContainerUpgradeable.TYPE, GuiUpgradeable::new);
ScreenManager.registerFactory(ContainerFluidIO.TYPE, GuiFluidIO::new);
ScreenManager.registerFactory(ContainerIOPort.TYPE, GuiIOPort::new);
ScreenManager.registerFactory(ContainerStorageBus.TYPE, GuiStorageBus::new);
ScreenManager.registerFactory(ContainerFluidStorageBus.TYPE, GuiFluidStorageBus::new);
ScreenManager.registerFactory(ContainerFormationPlane.TYPE, GuiFormationPlane::new);
ScreenManager.registerFactory(ContainerFluidFormationPlane.TYPE, GuiFluidFormationPlane::new);
ScreenManager.registerFactory(ContainerPriority.TYPE, GuiPriority::new);
ScreenManager.registerFactory(ContainerSecurityStation.TYPE, GuiSecurityStation::new);
ScreenManager.registerFactory(ContainerCraftingTerm.TYPE, GuiCraftingTerm::new);
ScreenManager.registerFactory(ContainerPatternTerm.TYPE, GuiPatternTerm::new);
ScreenManager.registerFactory(ContainerFluidTerminal.TYPE, GuiFluidTerminal::new);
ScreenManager.registerFactory(ContainerLevelEmitter.TYPE, GuiLevelEmitter::new);
ScreenManager.registerFactory(ContainerFluidLevelEmitter.TYPE, GuiFluidLevelEmitter::new);
ScreenManager.registerFactory(ContainerSpatialIOPort.TYPE, GuiSpatialIOPort::new);
ScreenManager.registerFactory(ContainerInscriber.TYPE, GuiInscriber::new);
ScreenManager.registerFactory(ContainerCellWorkbench.TYPE, GuiCellWorkbench::new);
ScreenManager.registerFactory(ContainerMAC.TYPE, GuiMAC::new);
ScreenManager.registerFactory(ContainerCraftAmount.TYPE, GuiCraftAmount::new);
ScreenManager.registerFactory(ContainerCraftConfirm.TYPE, GuiCraftConfirm::new);
ScreenManager.registerFactory(ContainerInterfaceTerminal.TYPE, GuiInterfaceTerminal::new);
ScreenManager.registerFactory(ContainerCraftingStatus.TYPE, GuiCraftingStatus::new);
});
}
@@ -26,6 +26,7 @@ import javax.annotation.Nonnull;
import appeng.api.config.*;
import appeng.container.ContainerLocator;
import appeng.container.helper.PartContainerHelper;
import appeng.container.helper.PartOrTileContainerHelper;
import appeng.fluids.parts.PartFluidFormationPlane;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
@@ -81,12 +82,12 @@ import appeng.util.Platform;
public class ContainerFluidTerminal extends AEBaseContainer implements IConfigManagerHost, IConfigurableObject, IMEMonitorHandlerReceiver<IAEFluidStack>
{
public static ContainerType<ContainerFluidFormationPlane> TYPE;
public static ContainerType<ContainerFluidTerminal> TYPE;
private static final PartContainerHelper<ContainerFluidFormationPlane, PartFluidFormationPlane> helper
= new PartContainerHelper<>(ContainerFluidFormationPlane::new, PartFluidFormationPlane.class, SecurityPermissions.BUILD);
private static final PartOrTileContainerHelper<ContainerFluidTerminal, ITerminalHost> helper
= new PartOrTileContainerHelper<>(ContainerFluidTerminal::new, ITerminalHost.class, SecurityPermissions.BUILD);
public static ContainerFluidFormationPlane fromNetwork(int windowId, PlayerInventory inv, PacketBuffer buf) {
public static ContainerFluidTerminal fromNetwork(int windowId, PlayerInventory inv, PacketBuffer buf) {
return helper.fromNetwork(windowId, inv, buf);
}
@@ -106,8 +107,8 @@ public class ContainerFluidTerminal extends AEBaseContainer implements IConfigMa
// Holds the fluid the client wishes to extract, or null for insert
private IAEFluidStack clientRequestedTargetFluid = null;
public ContainerFluidTerminal(ContainerType<?> containerType, int id, PlayerInventory ip, ITerminalHost terminal) {
super(containerType, id, ip, terminal);
public ContainerFluidTerminal(int id, PlayerInventory ip, ITerminalHost terminal) {
super(TYPE, id, ip, terminal);
this.terminal = terminal;
this.clientCM = new ConfigManager( this );