diff options
author | Trumeet <yuuta@yuuta.moe> | 2022-07-14 10:26:28 -0700 |
---|---|---|
committer | Trumeet <yuuta@yuuta.moe> | 2022-07-14 10:26:28 -0700 |
commit | 0b84e739a027ea7e5cc5bd728625839928f95283 (patch) | |
tree | 95685e67c019fe4022329a5ed8b45347fd6ab69a /src | |
parent | 12b3eb07becd97846db5a4d3f3335bd5a0db64d7 (diff) | |
download | acron-0b84e739a027ea7e5cc5bd728625839928f95283.tar acron-0b84e739a027ea7e5cc5bd728625839928f95283.tar.gz acron-0b84e739a027ea7e5cc5bd728625839928f95283.tar.bz2 acron-0b84e739a027ea7e5cc5bd728625839928f95283.zip |
Refactor: Move WorldKey, Vec2f and Vec3d to the common package
Signed-off-by: Trumeet <yuuta@yuuta.moe>
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/moe/ymc/acron/c2s/ReqSetConfig.java | 52 | ||||
-rw-r--r-- | src/main/java/moe/ymc/acron/common/Vec2f.java | 25 | ||||
-rw-r--r-- | src/main/java/moe/ymc/acron/common/Vec3d.java | 34 | ||||
-rw-r--r-- | src/main/java/moe/ymc/acron/common/WorldKey.java | 7 | ||||
-rw-r--r-- | src/main/java/moe/ymc/acron/serialization/Serializer.java | 6 |
5 files changed, 74 insertions, 50 deletions
diff --git a/src/main/java/moe/ymc/acron/c2s/ReqSetConfig.java b/src/main/java/moe/ymc/acron/c2s/ReqSetConfig.java index 0abe42a..8959403 100644 --- a/src/main/java/moe/ymc/acron/c2s/ReqSetConfig.java +++ b/src/main/java/moe/ymc/acron/c2s/ReqSetConfig.java @@ -2,6 +2,9 @@ package moe.ymc.acron.c2s; import com.google.gson.*; import com.google.gson.annotations.SerializedName; +import moe.ymc.acron.common.Vec2f; +import moe.ymc.acron.common.Vec3d; +import moe.ymc.acron.common.WorldKey; import org.jetbrains.annotations.Nullable; import java.lang.reflect.Type; @@ -50,51 +53,4 @@ public record ReqSetConfig(@SerializedName("id") int id, } } - public enum WorldKey { - OVERWORLD, - NETHER, - END - } - - public record Vec3d(@SerializedName("x") double x, - @SerializedName("y") double y, - @SerializedName("z") double z) { - public static class Vec3dDeserializer implements JsonDeserializer<Vec3d> { - @Override - public Vec3d deserialize(JsonElement json, - Type typeOfT, - JsonDeserializationContext context) throws JsonParseException { - final JsonObject object = json.getAsJsonObject(); - final double x = object.has("x") ? - object.get("x").getAsDouble() : - 0.0; - final double y = object.has("y") ? - object.get("y").getAsDouble() : - 0.0; - final double z = object.has("z") ? - object.get("z").getAsDouble() : - 0.0; - return new Vec3d(x, y, z); - } - } - } - - public record Vec2f(@SerializedName("x") float x, - @SerializedName("y") float y) { - public static class Vec2fDeserializer implements JsonDeserializer<Vec2f> { - @Override - public Vec2f deserialize(JsonElement json, - Type typeOfT, - JsonDeserializationContext context) throws JsonParseException { - final JsonObject object = json.getAsJsonObject(); - final float x = object.has("x") ? - object.get("x").getAsFloat() : - 0.0f; - final float y = object.has("y") ? - object.get("y").getAsFloat() : - 0.0f; - return new Vec2f(x, y); - } - } - } -} +}
\ No newline at end of file diff --git a/src/main/java/moe/ymc/acron/common/Vec2f.java b/src/main/java/moe/ymc/acron/common/Vec2f.java new file mode 100644 index 0000000..5ab3dfd --- /dev/null +++ b/src/main/java/moe/ymc/acron/common/Vec2f.java @@ -0,0 +1,25 @@ +package moe.ymc.acron.common; + +import com.google.gson.*; +import com.google.gson.annotations.SerializedName; + +import java.lang.reflect.Type; + +public record Vec2f(@SerializedName("x") float x, + @SerializedName("y") float y) { + public static class Vec2fDeserializer implements JsonDeserializer<Vec2f> { + @Override + public Vec2f deserialize(JsonElement json, + Type typeOfT, + JsonDeserializationContext context) throws JsonParseException { + final JsonObject object = json.getAsJsonObject(); + final float x = object.has("x") ? + object.get("x").getAsFloat() : + 0.0f; + final float y = object.has("y") ? + object.get("y").getAsFloat() : + 0.0f; + return new Vec2f(x, y); + } + } +}
\ No newline at end of file diff --git a/src/main/java/moe/ymc/acron/common/Vec3d.java b/src/main/java/moe/ymc/acron/common/Vec3d.java new file mode 100644 index 0000000..593019f --- /dev/null +++ b/src/main/java/moe/ymc/acron/common/Vec3d.java @@ -0,0 +1,34 @@ +package moe.ymc.acron.common; + +import com.google.gson.*; +import com.google.gson.annotations.SerializedName; +import org.jetbrains.annotations.NotNull; + +import java.lang.reflect.Type; + +public record Vec3d(@SerializedName("x") double x, + @SerializedName("y") double y, + @SerializedName("z") double z) { + public Vec3d(@NotNull net.minecraft.util.math.Vec3d vec3d) { + this(vec3d.x, vec3d.y, vec3d.z); + } + + public static class Vec3dDeserializer implements JsonDeserializer<Vec3d> { + @Override + public Vec3d deserialize(JsonElement json, + Type typeOfT, + JsonDeserializationContext context) throws JsonParseException { + final JsonObject object = json.getAsJsonObject(); + final double x = object.has("x") ? + object.get("x").getAsDouble() : + 0.0; + final double y = object.has("y") ? + object.get("y").getAsDouble() : + 0.0; + final double z = object.has("z") ? + object.get("z").getAsDouble() : + 0.0; + return new Vec3d(x, y, z); + } + } +}
\ No newline at end of file diff --git a/src/main/java/moe/ymc/acron/common/WorldKey.java b/src/main/java/moe/ymc/acron/common/WorldKey.java new file mode 100644 index 0000000..8d47737 --- /dev/null +++ b/src/main/java/moe/ymc/acron/common/WorldKey.java @@ -0,0 +1,7 @@ +package moe.ymc.acron.common; + +public enum WorldKey { + OVERWORLD, + NETHER, + END +}
\ No newline at end of file diff --git a/src/main/java/moe/ymc/acron/serialization/Serializer.java b/src/main/java/moe/ymc/acron/serialization/Serializer.java index 2cc7976..7c69a39 100644 --- a/src/main/java/moe/ymc/acron/serialization/Serializer.java +++ b/src/main/java/moe/ymc/acron/serialization/Serializer.java @@ -8,6 +8,8 @@ import io.netty.handler.codec.http.websocketx.TextWebSocketFrame; import moe.ymc.acron.c2s.ReqCmd; import moe.ymc.acron.c2s.ReqSetConfig; import moe.ymc.acron.c2s.Request; +import moe.ymc.acron.common.Vec2f; +import moe.ymc.acron.common.Vec3d; import moe.ymc.acron.s2c.Event; import moe.ymc.acron.s2c.event.*; import moe.ymc.acron.s2c.response.EventCmdOut; @@ -27,8 +29,8 @@ public class Serializer { .registerSubtype(ReqCmd.class, "cmd"); final Gson gson = new GsonBuilder() .registerTypeAdapter(ReqSetConfig.class, new ReqSetConfig.ReqSetConfigDeserializer()) - .registerTypeAdapter(ReqSetConfig.Vec3d.class, new ReqSetConfig.Vec3d.Vec3dDeserializer()) - .registerTypeAdapter(ReqSetConfig.Vec2f.class, new ReqSetConfig.Vec2f.Vec2fDeserializer()) + .registerTypeAdapter(Vec3d.class, new Vec3d.Vec3dDeserializer()) + .registerTypeAdapter(Vec2f.class, new Vec2f.Vec2fDeserializer()) .registerTypeAdapter(ReqCmd.class, new ReqCmd.ReqCmdDeserializer()) .registerTypeAdapterFactory(adapter) .create(); |