- 608
- 5
- 15
Вот, надо в метод регистрации пакета посылать аргументы"Class<? extends IMessageHandler<REQ,REPLY>>, Class<REQ>, int, Side".
Вот пакет:
Как сделать что-бы метод принимал этот класс в качестве аргумента?
Вот пакет:
Код:
package fr.toss.common.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 fr.toss.common.Main;
import fr.toss.common.player.ClientPlayerBaseMagic;
import fr.toss.common.player.ServerPlayerBaseMagic;
import io.netty.buffer.ByteBuf;
public class PacketLogIn implements IMessage {
public int classe_id;
public int level;
public int current_experience;
public PacketLogIn() {
this(0, 0, 0);
}
public PacketLogIn(int a, int b, int c) {
this.classe_id = a;
this.level = b;
this.current_experience = c;
}
public PacketLogIn(ServerPlayerBaseMagic player) {
this.classe_id = player.getClasse();
this.level = player.getLevel();
this.current_experience = player.getExperience();
}
public void fromBytes(ByteBuf buf) {
this.classe_id = buf.readInt();
this.level = buf.readInt();
this.current_experience = buf.readInt();
}
public void toBytes(ByteBuf buf) {
buf.writeInt(this.classe_id);
buf.writeInt(this.level);
buf.writeInt(this.current_experience);
}
public static class Handler implements IMessageHandler
{
public IMessage onMessage(IMessage glMessage, MessageContext ctx)
{
PacketLogIn message = (PacketLogIn) glMessage;
ClientPlayerBaseMagic player = Main.getPlayerClient();
player.initPlayer(message);
return null;
}
}
}