I created a Networkchannel, that is working just fine, and a IMessage and its Handler.
I am triing to send an integer over the channel, shorts are working no problem. The message is registered, but if I try to send it I get a strange exception.
Message and Handler class
public class ActualEnergyMessage implements IMessage{
private int actualEnergy;
public ActualEnergyMessage() {
}
public ActualEnergyMessage(int actualEnergy) {
this.actualEnergy = actualEnergy;
}
@Override
public void fromBytes(ByteBuf buf) {
actualEnergy = ByteBufUtils.readVarInt(buf, 16);
}
@Override
public void toBytes(ByteBuf buf) {
ByteBufUtils.writeVarInt(buf, actualEnergy, 16);
}
public static class Handler implements IMessageHandler<ActualEnergyMessage, IMessage> {
@Override
public IMessage onMessage(ActualEnergyMessage message,
MessageContext ctx) {
((ExtendedPlayer)(Minecraft.getMinecraft().thePlayer.getExtendedProperties(ExtendedPlayer.EXT_PROP_NAME))).setActualEnergy(message.actualEnergy);
return null;
}
}
}