Implement Crafting CPU selector widget
This commit is contained in:
@@ -84,7 +84,9 @@ public class AppEngPacketHandlerBase
|
||||
|
||||
PACKET_FLUID_TANK( PacketFluidSlot.class ),
|
||||
|
||||
PACKET_INFORM_PLAYER( PacketInformPlayer.class );
|
||||
PACKET_INFORM_PLAYER( PacketInformPlayer.class ),
|
||||
|
||||
PACKET_CRAFTING_CPUS_UPDATE( PacketCraftingCPUsUpdate.class);
|
||||
|
||||
|
||||
private final Class<? extends AppEngPacket> packetClass;
|
||||
|
||||
@@ -34,7 +34,7 @@ import appeng.core.sync.AppEngPacket;
|
||||
|
||||
public class NetworkHandler
|
||||
{
|
||||
private static NetworkHandler instance;
|
||||
public static NetworkHandler instance;
|
||||
|
||||
private final FMLEventChannel ec;
|
||||
private final String myChannelName;
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
package appeng.core.sync.packets;
|
||||
|
||||
import appeng.client.gui.implementations.GuiCraftingStatus;
|
||||
import appeng.container.implementations.CraftingCPUStatus;
|
||||
import appeng.core.sync.AppEngPacket;
|
||||
import appeng.core.sync.network.INetworkInfo;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Collection;
|
||||
|
||||
public class PacketCraftingCPUsUpdate extends AppEngPacket {
|
||||
|
||||
private final CraftingCPUStatus[] cpus;
|
||||
|
||||
public PacketCraftingCPUsUpdate( final ByteBuf stream )
|
||||
{
|
||||
int count = stream.readInt();
|
||||
cpus = new CraftingCPUStatus[count];
|
||||
for( int i = 0; i < count; i++ )
|
||||
{
|
||||
try
|
||||
{
|
||||
cpus[i] = new CraftingCPUStatus( stream );
|
||||
}
|
||||
catch( IOException e )
|
||||
{
|
||||
cpus[i] = new CraftingCPUStatus( );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public PacketCraftingCPUsUpdate( final Collection<CraftingCPUStatus> cpus ) throws IOException
|
||||
{
|
||||
this.cpus = cpus.toArray( new CraftingCPUStatus[0] );
|
||||
|
||||
final ByteBuf data = Unpooled.buffer();
|
||||
data.writeInt( this.getPacketID() );
|
||||
data.writeInt( this.cpus.length );
|
||||
for( CraftingCPUStatus cpu : this.cpus )
|
||||
{
|
||||
cpu.writeToPacket( data );
|
||||
}
|
||||
this.configureWrite( data );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clientPacketData(final INetworkInfo network, final AppEngPacket packet, final EntityPlayer player )
|
||||
{
|
||||
final GuiScreen gs = Minecraft.getMinecraft().currentScreen;
|
||||
|
||||
if( gs instanceof GuiCraftingStatus)
|
||||
{
|
||||
GuiCraftingStatus gui = (GuiCraftingStatus) gs;
|
||||
gui.postCPUUpdate( this.cpus );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -112,10 +112,10 @@ public class PacketValueConfig extends AppEngPacket
|
||||
final IMouseWheelItem si = (IMouseWheelItem) is.getItem();
|
||||
si.onWheel( is, this.Value.equals( "WheelUp" ) );
|
||||
}
|
||||
else if( this.Name.equals( "Terminal.Cpu" ) && c instanceof ContainerCraftingStatus )
|
||||
else if( this.Name.equals( "Terminal.Cpu.Set" ) && c instanceof ContainerCraftingStatus )
|
||||
{
|
||||
final ContainerCraftingStatus qk = (ContainerCraftingStatus) c;
|
||||
qk.cycleCpu( this.Value.equals( "Next" ) );
|
||||
qk.selectCPU( Integer.parseInt( this.Value ) );
|
||||
}
|
||||
else if( this.Name.equals( "Terminal.Cpu" ) && c instanceof ContainerCraftConfirm )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user