Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
TBlueF committed Feb 7, 2024
2 parents c3ce6d9 + 9ed7fdb commit dcae505
Showing 1 changed file with 19 additions and 5 deletions.
24 changes: 19 additions & 5 deletions src/main/java/de/bluecolored/bluemap/api/gson/MarkerGson.java
Original file line number Diff line number Diff line change
Expand Up @@ -235,8 +235,8 @@ public void write(JsonWriter out, Vector2d value) throws IOException {
}

out.beginObject();
out.name("x"); out.value(value.getX());
out.name(useZ ? "z" : "y"); out.value(value.getY());
out.name("x"); writeRounded(out, value.getX());
out.name(useZ ? "z" : "y"); writeRounded(out, value.getY());
out.endObject();
}

Expand All @@ -262,6 +262,13 @@ public Vector2d read(JsonReader in) throws IOException {
return new Vector2d(x, y);
}

private void writeRounded(JsonWriter json, double value) throws IOException {
// rounding and remove ".0" to save string space
double d = Math.round(value * 10000d) / 10000d;
if (d == (long) d) json.value((long) d);
else json.value(d);
}

}

static class Vector3dAdapter extends TypeAdapter<Vector3d> {
Expand All @@ -274,9 +281,9 @@ public void write(JsonWriter out, Vector3d value) throws IOException {
}

out.beginObject();
out.name("x"); out.value(value.getX());
out.name("y"); out.value(value.getY());
out.name("z"); out.value(value.getZ());
out.name("x"); writeRounded(out, value.getX());
out.name("y"); writeRounded(out, value.getY());
out.name("z"); writeRounded(out, value.getZ());
out.endObject();
}

Expand All @@ -302,6 +309,13 @@ public Vector3d read(JsonReader in) throws IOException {
return new Vector3d(x, y, z);
}

private void writeRounded(JsonWriter json, double value) throws IOException {
// rounding and remove ".0" to save string space
double d = Math.round(value * 10000d) / 10000d;
if (d == (long) d) json.value((long) d);
else json.value(d);
}

}

static class Vector2iAdapter extends TypeAdapter<Vector2i> {
Expand Down

0 comments on commit dcae505

Please sign in to comment.