Gui/Priority Tab/Storage work.

This commit is contained in:
AlgorithmX2
2014-01-26 00:44:50 -06:00
parent 2e8ffc4a09
commit 5a6cd05e20
21 changed files with 250 additions and 237 deletions
+4 -1
View File
@@ -15,6 +15,7 @@ import appeng.core.sync.packets.PacketMatterCannon;
import appeng.core.sync.packets.PacketMockExplosion;
import appeng.core.sync.packets.PacketMultiPart;
import appeng.core.sync.packets.PacketPartPlacement;
import appeng.core.sync.packets.PacketSwitchGuis;
import appeng.core.sync.packets.PacketValueConfig;
public class AppEngPacketHandlerBase
@@ -42,7 +43,9 @@ public class AppEngPacketHandlerBase
PACKET_LOCALIZED_CHATMSG(PacketLocalizedChatMsg.class),
PACKET_VALUE_CONFIG(PacketValueConfig.class);
PACKET_VALUE_CONFIG(PacketValueConfig.class),
PACKET_SWITCH_GUIS(PacketSwitchGuis.class);
final public Class pc;
final public Constructor con;
+29 -3
View File
@@ -17,7 +17,9 @@ import appeng.api.parts.IPart;
import appeng.api.parts.IPartHost;
import appeng.api.storage.IStorageMonitorable;
import appeng.client.gui.GuiNull;
import appeng.container.AEBaseContainer;
import appeng.container.ContainerNull;
import appeng.container.ContainerOpenContext;
import appeng.container.implementations.ContainerCellWorkbench;
import appeng.container.implementations.ContainerChest;
import appeng.container.implementations.ContainerCondenser;
@@ -30,16 +32,20 @@ import appeng.container.implementations.ContainerMEMonitorable;
import appeng.container.implementations.ContainerMEPortableCell;
import appeng.container.implementations.ContainerNetworkStatus;
import appeng.container.implementations.ContainerNetworkTool;
import appeng.container.implementations.ContainerPriority;
import appeng.container.implementations.ContainerQNB;
import appeng.container.implementations.ContainerSecurity;
import appeng.container.implementations.ContainerStorageBus;
import appeng.container.implementations.ContainerUpgradeable;
import appeng.container.implementations.ContainerVibrationChamber;
import appeng.helpers.IInterfaceHost;
import appeng.helpers.IPriorityHost;
import appeng.parts.automation.PartLevelEmitter;
import appeng.parts.misc.PartStorageBus;
import appeng.tile.grindstone.TileGrinder;
import appeng.tile.misc.TileCellWorkbench;
import appeng.tile.misc.TileCondenser;
import appeng.tile.misc.TileSecurity;
import appeng.tile.misc.TileVibrationChamber;
import appeng.tile.qnb.TileQuantumBridge;
import appeng.tile.storage.TileChest;
@@ -81,6 +87,10 @@ public enum GuiBridge implements IGuiHandler
GUI_STORAGEBUS(ContainerStorageBus.class, PartStorageBus.class, false),
GUI_PRIORITY(ContainerPriority.class, IPriorityHost.class, false),
GUI_SECURITY(ContainerSecurity.class, TileSecurity.class, false),
// extends (Container/Gui) + Bus
GUI_LEVELEMITTER(ContainerLevelEmitter.class, PartLevelEmitter.class, false),
@@ -166,6 +176,22 @@ public enum GuiBridge implements IGuiHandler
}
}
private Object updateGui(Object newContainer, World w, int x, int y, int z, ForgeDirection side)
{
if ( newContainer instanceof AEBaseContainer )
{
AEBaseContainer bc = (AEBaseContainer) newContainer;
bc.openContext = new ContainerOpenContext();
bc.openContext.w = w;
bc.openContext.x = x;
bc.openContext.y = y;
bc.openContext.z = z;
bc.openContext.side = side;
}
return newContainer;
}
@Override
public Object getServerGuiElement(int ID_ORDINAL, EntityPlayer player, World w, int x, int y, int z)
{
@@ -179,7 +205,7 @@ public enum GuiBridge implements IGuiHandler
{
Object myItem = ((IGuiItem) it.getItem()).getGuiObject( it, w, x, y, z );
if ( ID.CorrectTileOrPart( myItem ) )
return ID.ConstructContainer( player.inventory, side, myItem );
return updateGui( ID.ConstructContainer( player.inventory, side, myItem ), w, x, y, z, side );
}
}
else
@@ -190,12 +216,12 @@ public enum GuiBridge implements IGuiHandler
((IPartHost) TE).getPart( side );
IPart part = ((IPartHost) TE).getPart( side );
if ( ID.CorrectTileOrPart( part ) )
return ID.ConstructContainer( player.inventory, side, part );
return updateGui( ID.ConstructContainer( player.inventory, side, part ), w, x, y, z, side );
}
else
{
if ( ID.CorrectTileOrPart( TE ) )
return ID.ConstructContainer( player.inventory, side, TE );
return updateGui( ID.ConstructContainer( player.inventory, side, TE ), w, x, y, z, side );
}
}
+8 -1
View File
@@ -11,6 +11,7 @@ import net.minecraft.network.INetworkManager;
import appeng.api.config.FuzzyMode;
import appeng.container.implementations.ContainerCellWorkbench;
import appeng.container.implementations.ContainerLevelEmitter;
import appeng.container.implementations.ContainerPriority;
import appeng.core.sync.AppEngPacket;
public class PacketValueConfig extends AppEngPacket
@@ -30,7 +31,13 @@ public class PacketValueConfig extends AppEngPacket
{
Container c = player.openContainer;
if ( Name.equals( "LevelEmitter.Value" ) && c instanceof ContainerLevelEmitter )
if ( Name.equals( "PriorityHost.Priority" ) && c instanceof ContainerPriority )
{
ContainerPriority pc = (ContainerPriority) c;
pc.setPriority( Integer.parseInt( Value ), player );
return;
}
else if ( Name.equals( "LevelEmitter.Value" ) && c instanceof ContainerLevelEmitter )
{
ContainerLevelEmitter lvc = (ContainerLevelEmitter) c;
lvc.setLevel( Integer.parseInt( Value ), player );