Priority GUI improvements (#3592)

This commit is contained in:
fscan
2018-07-08 16:41:37 +02:00
committed by GitHub
parent 3ba04b3831
commit eb4caaa688
14 changed files with 142 additions and 60 deletions
@@ -25,14 +25,9 @@ import net.minecraft.client.gui.GuiButton;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
import appeng.api.AEApi;
import appeng.api.definitions.IBlocks;
import appeng.api.definitions.IDefinitions;
import appeng.api.definitions.IParts;
import appeng.client.gui.AEBaseGui;
import appeng.client.gui.widgets.GuiNumberBox;
import appeng.client.gui.widgets.GuiTabButton;
import appeng.container.AEBaseContainer;
import appeng.container.implementations.ContainerPriority;
import appeng.core.AEConfig;
import appeng.core.AELog;
@@ -42,12 +37,6 @@ import appeng.core.sync.network.NetworkHandler;
import appeng.core.sync.packets.PacketSwitchGuis;
import appeng.core.sync.packets.PacketValueConfig;
import appeng.helpers.IPriorityHost;
import appeng.parts.automation.PartFormationPlane;
import appeng.parts.misc.PartInterface;
import appeng.parts.misc.PartStorageBus;
import appeng.tile.misc.TileInterface;
import appeng.tile.storage.TileChest;
import appeng.tile.storage.TileDrive;
public class GuiPriority extends AEBaseGui
@@ -92,49 +81,11 @@ public class GuiPriority extends AEBaseGui
this.buttonList.add( this.minus100 = new GuiButton( 0, this.guiLeft + 82, this.guiTop + 69, 32, 20, "-" + c ) );
this.buttonList.add( this.minus1000 = new GuiButton( 0, this.guiLeft + 120, this.guiTop + 69, 38, 20, "-" + d ) );
ItemStack myIcon = null;
final Object target = ( (AEBaseContainer) this.inventorySlots ).getTarget();
final IDefinitions definitions = AEApi.instance().definitions();
final IParts parts = definitions.parts();
final IBlocks blocks = definitions.blocks();
final ContainerPriority con = ( (ContainerPriority) this.inventorySlots );
final ItemStack myIcon = con.getPriorityHost().getItemStackRepresentation();
this.OriginalGui = con.getPriorityHost().getGuiBridge();
if( target instanceof PartStorageBus )
{
myIcon = parts.storageBus().maybeStack( 1 ).orElse( myIcon );
this.OriginalGui = GuiBridge.GUI_STORAGEBUS;
}
if( target instanceof PartFormationPlane )
{
myIcon = parts.formationPlane().maybeStack( 1 ).orElse( myIcon );
this.OriginalGui = GuiBridge.GUI_FORMATION_PLANE;
}
if( target instanceof TileDrive )
{
myIcon = blocks.drive().maybeStack( 1 ).orElse( myIcon );
this.OriginalGui = GuiBridge.GUI_DRIVE;
}
if( target instanceof TileChest )
{
myIcon = blocks.chest().maybeStack( 1 ).orElse( myIcon );
this.OriginalGui = GuiBridge.GUI_CHEST;
}
if( target instanceof TileInterface )
{
myIcon = blocks.iface().maybeStack( 1 ).orElse( myIcon );
this.OriginalGui = GuiBridge.GUI_INTERFACE;
}
if( target instanceof PartInterface )
{
myIcon = parts.iface().maybeStack( 1 ).orElse( myIcon );
this.OriginalGui = GuiBridge.GUI_INTERFACE;
}
if( this.OriginalGui != null && myIcon != null )
if( this.OriginalGui != null && !myIcon.isEmpty() )
{
this.buttonList.add( this.originalGuiBtn = new GuiTabButton( this.guiLeft + 154, this.guiTop, myIcon, myIcon.getDisplayName(), this.itemRender ) );
}
@@ -88,4 +88,9 @@ public class ContainerPriority extends AEBaseContainer
super.onUpdate( field, oldValue, newValue );
}
public IPriorityHost getPriorityHost()
{
return this.priHost;
}
}
@@ -61,7 +61,6 @@ import appeng.core.settings.TickRates;
import appeng.fluids.util.AEFluidInventory;
import appeng.fluids.util.IAEFluidInventory;
import appeng.fluids.util.IAEFluidTank;
import appeng.helpers.IPriorityHost;
import appeng.me.GridAccessException;
import appeng.me.helpers.AENetworkProxy;
import appeng.me.helpers.MachineSource;
@@ -73,7 +72,7 @@ import appeng.util.IConfigManagerHost;
import appeng.util.Platform;
public class DualityFluidInterface implements IGridTickable, IStorageMonitorable, IAEFluidInventory, IPriorityHost, IUpgradeableHost, IConfigManagerHost
public class DualityFluidInterface implements IGridTickable, IStorageMonitorable, IAEFluidInventory, IUpgradeableHost, IConfigManagerHost
{
public static final int NUMBER_OF_TANKS = 6;
public static final int TANK_CAPACITY = Fluid.BUCKET_VOLUME * 4;
@@ -472,13 +471,11 @@ public class DualityFluidInterface implements IGridTickable, IStorageMonitorable
}
}
@Override
public int getPriority()
{
return this.priority;
}
@Override
public void setPriority( final int newValue )
{
this.priority = newValue;
@@ -32,6 +32,7 @@ import net.minecraft.util.math.Vec3d;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.items.IItemHandler;
import appeng.api.AEApi;
import appeng.api.config.Upgrades;
import appeng.api.networking.IGridNode;
import appeng.api.networking.events.MENetworkChannelsChanged;
@@ -236,4 +237,16 @@ public class PartFluidInterface extends PartBasicState implements IGridTickable,
{
return this.duality.getInventoryByName( name );
}
@Override
public ItemStack getItemStackRepresentation()
{
return AEApi.instance().definitions().parts().fluidIface().maybeStack( 1 ).orElse( ItemStack.EMPTY );
}
@Override
public GuiBridge getGuiBridge()
{
return GuiBridge.GUI_FLUID_INTERFACE;
}
}
@@ -491,4 +491,16 @@ public class PartFluidStorageBus extends PartSharedStorageBus implements IMEMoni
return MODELS_OFF;
}
}
@Override
public ItemStack getItemStackRepresentation()
{
return AEApi.instance().definitions().parts().fluidStorageBus().maybeStack( 1 ).orElse( ItemStack.EMPTY );
}
@Override
public GuiBridge getGuiBridge()
{
return GuiBridge.GUI_STORAGEBUS_FLUID;
}
}
@@ -23,12 +23,14 @@ import java.util.EnumSet;
import javax.annotation.Nullable;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.items.IItemHandler;
import appeng.api.AEApi;
import appeng.api.config.Upgrades;
import appeng.api.networking.IGridNode;
import appeng.api.networking.events.MENetworkChannelsChanged;
@@ -41,6 +43,7 @@ import appeng.api.util.AECableType;
import appeng.api.util.AEPartLocation;
import appeng.api.util.DimensionalCoord;
import appeng.api.util.IConfigManager;
import appeng.core.sync.GuiBridge;
import appeng.fluids.helper.DualityFluidInterface;
import appeng.fluids.helper.IFluidInterfaceHost;
import appeng.helpers.IPriorityHost;
@@ -172,4 +175,16 @@ public class TileFluidInterface extends AENetworkTile implements IGridTickable,
{
return this.duality.getInventoryByName( name );
}
@Override
public ItemStack getItemStackRepresentation()
{
return AEApi.instance().definitions().blocks().fluidIface().maybeStack( 1 ).orElse( ItemStack.EMPTY );
}
@Override
public GuiBridge getGuiBridge()
{
return GuiBridge.GUI_FLUID_INTERFACE;
}
}
@@ -110,7 +110,7 @@ import appeng.util.inv.InvOperation;
import appeng.util.item.AEItemStack;
public class DualityInterface implements IGridTickable, IStorageMonitorable, IInventoryDestination, IAEAppEngInventory, IConfigManagerHost, ICraftingProvider, IUpgradeableHost, IPriorityHost
public class DualityInterface implements IGridTickable, IStorageMonitorable, IInventoryDestination, IAEAppEngInventory, IConfigManagerHost, ICraftingProvider, IUpgradeableHost
{
public static final int NUMBER_OF_STORAGE_SLOTS = 9;
@@ -1243,13 +1243,11 @@ public class DualityInterface implements IGridTickable, IStorageMonitorable, IIn
this.updateCraftingList();
}
@Override
public int getPriority()
{
return this.priority;
}
@Override
public void setPriority( final int newValue )
{
this.priority = newValue;
@@ -18,6 +18,9 @@
package appeng.helpers;
import net.minecraft.item.ItemStack;
import appeng.core.sync.GuiBridge;
public interface IPriorityHost
{
@@ -31,4 +34,8 @@ public interface IPriorityHost
* set new priority
*/
void setPriority( int newValue );
ItemStack getItemStackRepresentation();
GuiBridge getGuiBridge();
}
@@ -613,4 +613,15 @@ public class PartFormationPlane extends PartUpgradeable implements ICellContaine
return MODELS.getModel( this.getConnections(), this.isPowered(), this.isActive() );
}
@Override
public ItemStack getItemStackRepresentation()
{
return AEApi.instance().definitions().parts().formationPlane().maybeStack( 1 ).orElse( ItemStack.EMPTY );
}
@Override
public GuiBridge getGuiBridge()
{
return GuiBridge.GUI_FORMATION_PLANE;
}
}
@@ -36,6 +36,7 @@ import net.minecraft.util.math.Vec3d;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.items.IItemHandler;
import appeng.api.AEApi;
import appeng.api.config.Actionable;
import appeng.api.config.Upgrades;
import appeng.api.networking.IGridNode;
@@ -310,4 +311,16 @@ public class PartInterface extends PartBasicState implements IGridTickable, ISto
{
return this.duality.getCapability( capabilityClass, this.getSide().getFacing() );
}
@Override
public ItemStack getItemStackRepresentation()
{
return AEApi.instance().definitions().parts().iface().maybeStack( 1 ).orElse( ItemStack.EMPTY );
}
@Override
public GuiBridge getGuiBridge()
{
return GuiBridge.GUI_INTERFACE;
}
}
@@ -625,4 +625,16 @@ public class PartStorageBus extends PartUpgradeable implements IGridTickable, IC
return MODELS_OFF;
}
}
@Override
public ItemStack getItemStackRepresentation()
{
return AEApi.instance().definitions().parts().storageBus().maybeStack( 1 ).orElse( ItemStack.EMPTY );
}
@Override
public GuiBridge getGuiBridge()
{
return GuiBridge.GUI_STORAGEBUS;
}
}
@@ -39,6 +39,7 @@ import net.minecraft.world.World;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.items.IItemHandler;
import appeng.api.AEApi;
import appeng.api.config.Actionable;
import appeng.api.config.Upgrades;
import appeng.api.networking.IGridNode;
@@ -56,6 +57,7 @@ import appeng.api.util.AECableType;
import appeng.api.util.AEPartLocation;
import appeng.api.util.DimensionalCoord;
import appeng.api.util.IConfigManager;
import appeng.core.sync.GuiBridge;
import appeng.helpers.DualityInterface;
import appeng.helpers.IInterfaceHost;
import appeng.helpers.IPriorityHost;
@@ -358,4 +360,16 @@ public class TileInterface extends AENetworkInvTile implements IGridTickable, II
}
return super.getCapability( capability, facing );
}
@Override
public ItemStack getItemStackRepresentation()
{
return AEApi.instance().definitions().blocks().iface().maybeStack( 1 ).orElse( ItemStack.EMPTY );
}
@Override
public GuiBridge getGuiBridge()
{
return GuiBridge.GUI_INTERFACE;
}
}
@@ -85,6 +85,7 @@ import appeng.api.storage.data.IAEStack;
import appeng.api.util.AEColor;
import appeng.api.util.IConfigManager;
import appeng.capabilities.Capabilities;
import appeng.core.sync.GuiBridge;
import appeng.fluids.util.AEFluidStack;
import appeng.helpers.IPriorityHost;
import appeng.me.GridAccessException;
@@ -1074,4 +1075,24 @@ public class TileChest extends AENetworkPowerTile implements IMEChest, ITerminal
}
@Override
public ItemStack getItemStackRepresentation()
{
return AEApi.instance().definitions().blocks().chest().maybeStack( 1 ).orElse( ItemStack.EMPTY );
}
@Override
public GuiBridge getGuiBridge()
{
if( this.itemCell != null )
{
return GuiBridge.GUI_ME;
}
else if( this.fluidCell != null )
{
return GuiBridge.GUI_FLUID_TERMINAL;
}
return null;
}
}
@@ -51,6 +51,7 @@ import appeng.api.storage.data.IAEStack;
import appeng.api.util.AECableType;
import appeng.api.util.AEPartLocation;
import appeng.api.util.DimensionalCoord;
import appeng.core.sync.GuiBridge;
import appeng.helpers.IPriorityHost;
import appeng.me.GridAccessException;
import appeng.me.helpers.MachineSource;
@@ -404,4 +405,16 @@ public class TileDrive extends AENetworkInvTile implements IChestOrDrive, IPrior
}
}
@Override
public ItemStack getItemStackRepresentation()
{
return AEApi.instance().definitions().blocks().drive().maybeStack( 1 ).orElse( ItemStack.EMPTY );
}
@Override
public GuiBridge getGuiBridge()
{
return GuiBridge.GUI_DRIVE;
}
}