50 lines
No EOL
1.5 KiB
Java
50 lines
No EOL
1.5 KiB
Java
package techreborn.packets;
|
|
|
|
import io.netty.buffer.ByteBuf;
|
|
import io.netty.channel.ChannelHandlerContext;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
|
|
/**
|
|
* AbstractPacket class. Should be the parent of all packets wishing to use the
|
|
* PacketPipeline.
|
|
*
|
|
* @author sirgingalot
|
|
*/
|
|
public abstract class AbstractPacket {
|
|
|
|
/**
|
|
* Encode the packet data into the ByteBuf stream. Complex data sets may
|
|
* need specific data handlers (See
|
|
*
|
|
* @param ctx channel context
|
|
* @param buffer the buffer to encode into
|
|
* @link{cpw.mods.fml.common.network.ByteBuffUtils )
|
|
*/
|
|
public abstract void encodeInto(ChannelHandlerContext ctx, ByteBuf buffer);
|
|
|
|
/**
|
|
* Decode the packet data from the ByteBuf stream. Complex data sets may
|
|
* need specific data handlers (See
|
|
*
|
|
* @param ctx channel context
|
|
* @param buffer the buffer to decode from
|
|
* @link{cpw.mods.fml.common.network.ByteBuffUtils )
|
|
*/
|
|
public abstract void decodeInto(ChannelHandlerContext ctx, ByteBuf buffer);
|
|
|
|
/**
|
|
* Handle a packet on the client side. Note this occurs after decoding has
|
|
* completed.
|
|
*
|
|
* @param player the player reference
|
|
*/
|
|
public abstract void handleClientSide(EntityPlayer player);
|
|
|
|
/**
|
|
* Handle a packet on the powerSink side. Note this occurs after decoding has
|
|
* completed.
|
|
*
|
|
* @param player the player reference
|
|
*/
|
|
public abstract void handleServerSide(EntityPlayer player);
|
|
} |