package com.someluigi.slperiph.ccportable.shared; import java.io.ByteArrayInputStream; import java.io.DataInputStream; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.network.INetworkManager; import net.minecraft.network.packet.Packet; import net.minecraft.network.packet.Packet250CustomPayload; import com.someluigi.slperiph.SLPMod; import cpw.mods.fml.common.network.IPacketHandler; import cpw.mods.fml.common.network.PacketDispatcher; import cpw.mods.fml.common.network.Player; public class PayloadManager implements IPacketHandler{ public static final String CHANNEL_ID = "CCPP"; public static class Payload extends PayloadStream{ public static final int TILE_UPDATE = 0x01; public static final int GUI_UPDATE = 0x02; public Payload( int type ){ writeByte(type); } public Packet toPacket(){ return new Packet250CustomPayload(CHANNEL_ID, toByteArray()); } public void sendToServer(){ PacketDispatcher.sendPacketToServer( toPacket() ); } public void sendTo( EntityPlayer player ){ PacketDispatcher.sendPacketToPlayer( toPacket(), (Player) player ); } } public void onPacketData(INetworkManager manager, Packet250CustomPayload packet, Player player) { int packetID = -1; try { ByteArrayInputStream array = new ByteArrayInputStream( packet.data ); DataInputStream stream = new DataInputStream( array ); packetID = stream.readByte(); SLPMod.proxy.handlePacket( packetID, stream, (EntityPlayer) player ); stream.close(); } catch ( Exception e ) { System.err.println( "Error while processing PP Packet #" + packetID + " !" ); e.printStackTrace(); } } }