package joshie.harvest.buildings.loader; import com.google.gson.*; import net.minecraft.util.math.BlockPos; import java.lang.reflect.Type; public class BlockPosAdapter implements JsonSerializer<BlockPos>, JsonDeserializer<BlockPos> { @Override public JsonElement serialize(BlockPos src, Type typeOfSrc, JsonSerializationContext context) { return new JsonPrimitive(src.getX() + " " + src.getY() + " " + src.getZ()); } @Override public BlockPos deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { String[] pos = json.getAsString().split(" "); return new BlockPos(Integer.parseInt(pos[0]), Integer.parseInt(pos[1]), Integer.parseInt(pos[2])); } }