I will just show on class concerned by this Error because lot of the others class work with the same canvas.
public class PacketShema implements IMessage{
private String text;
public PacketShema() { }
public PacketShema(int x,int y,int z, int id) {
this.text = x + ":" + y + ":" + z + ":" + id;
}
@Override
public void fromBytes(ByteBuf buf) {
text = ByteBufUtils.readUTF8String(buf); // this class is very useful in general for writing more complex objects
}
@Override
public void toBytes(ByteBuf buf) {
ByteBufUtils.writeUTF8String(buf, text);
}
public static class PacketHandler implements IMessageHandler<PacketShema, IMessage> {
@Override
public IMessage onMessage(PacketShema message, MessageContext ctx) {
ArrayList coord = tocoord(message.text);
World world = ctx.getServerHandler().playerEntity.worldObj;
Shematic.Operate(world,(int) coord.get(0),(int) coord.get(1),(int) coord.get(2),(short) coord.get(3));
return null; // no response in this case
}
public ArrayList tocoord(String str){
ArrayList ret = new ArrayList();
String[] list = str.split(":");
ret.add(Integer.parseInt(list[0]));
ret.add(Integer.parseInt(list[1]));
ret.add(Integer.parseInt(list[2]));
ret.add(Short.parseShort(list[3]));
return ret;
}
}
}
Sorry I haven't comment this class but it is very easy so I think you will understood, error in the build appear on
Shematic.Operate(world,(int) coord.get(0),(int) coord.get(1),(int) coord.get(2),(short) coord.get(3));
when I said coord.get(0) where type int.