package matteroverdrive.network.packet;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import matteroverdrive.MatterOverdrive;
import net.minecraft.entity.player.EntityPlayer;
/**
* Created by Simeon on 4/22/2015.
*/
public abstract class AbstractPacketHandler<T extends IMessage> implements IMessageHandler<T,IMessage>
{
@SideOnly(Side.CLIENT)
public abstract IMessage handleClientMessage(EntityPlayer player, T message, MessageContext ctx);
public abstract IMessage handleServerMessage(EntityPlayer player, T message, MessageContext ctx);
@Override
public IMessage onMessage(T message, MessageContext ctx) {
if (ctx.side.isClient())
{
return handleClientMessage(MatterOverdrive.proxy.getPlayerEntity(ctx), message, ctx);
} else
{
return handleServerMessage(MatterOverdrive.proxy.getPlayerEntity(ctx), message, ctx);
}
}
}