Move different types of serializer to different packages.
This commit is contained in:
@@ -14,7 +14,7 @@ import li.cil.oc2.common.container.Containers;
|
||||
import li.cil.oc2.common.entity.Entities;
|
||||
import li.cil.oc2.common.item.Items;
|
||||
import li.cil.oc2.common.item.crafting.RecipeSerializers;
|
||||
import li.cil.oc2.common.serialization.serializers.Serializers;
|
||||
import li.cil.oc2.common.serialization.ceres.Serializers;
|
||||
import li.cil.oc2.common.tags.BlockTags;
|
||||
import li.cil.oc2.common.tags.ItemTags;
|
||||
import li.cil.oc2.common.util.RegistryUtils;
|
||||
|
||||
@@ -11,7 +11,7 @@ import li.cil.oc2.api.bus.device.rpc.RPCParameter;
|
||||
import li.cil.oc2.common.Constants;
|
||||
import li.cil.oc2.common.bus.device.rpc.RPCDeviceList;
|
||||
import li.cil.oc2.common.bus.device.rpc.RPCMethodParameterTypeAdapters;
|
||||
import li.cil.oc2.common.serialization.serializers.*;
|
||||
import li.cil.oc2.common.serialization.gson.*;
|
||||
import li.cil.sedna.api.device.Steppable;
|
||||
import li.cil.sedna.api.device.serial.SerialDevice;
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ package li.cil.oc2.common.bus.device.rpc;
|
||||
|
||||
import com.google.gson.GsonBuilder;
|
||||
import li.cil.oc2.api.imc.RPCMethodParameterTypeAdapter;
|
||||
import li.cil.oc2.common.serialization.serializers.DirectionJsonSerializer;
|
||||
import li.cil.oc2.common.serialization.serializers.ItemStackJsonSerializer;
|
||||
import li.cil.oc2.common.serialization.gson.DirectionJsonSerializer;
|
||||
import li.cil.oc2.common.serialization.gson.ItemStackJsonSerializer;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package li.cil.oc2.common.serialization.serializers;
|
||||
package li.cil.oc2.common.serialization.ceres;
|
||||
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonParser;
|
||||
@@ -1,4 +1,4 @@
|
||||
package li.cil.oc2.common.serialization.serializers;
|
||||
package li.cil.oc2.common.serialization.ceres;
|
||||
|
||||
import li.cil.ceres.api.DeserializationVisitor;
|
||||
import li.cil.ceres.api.SerializationException;
|
||||
@@ -1,4 +1,4 @@
|
||||
package li.cil.oc2.common.serialization.serializers;
|
||||
package li.cil.oc2.common.serialization.ceres;
|
||||
|
||||
import li.cil.ceres.api.DeserializationVisitor;
|
||||
import li.cil.ceres.api.SerializationException;
|
||||
@@ -16,6 +16,7 @@ public final class MemoryRangeSerializer implements Serializer<MemoryRange> {
|
||||
visitor.putLong("end", range.end);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public MemoryRange deserialize(final DeserializationVisitor visitor, final Class<MemoryRange> type, @Nullable final Object value) throws SerializationException {
|
||||
if (!visitor.exists("start") || !visitor.exists("end")) {
|
||||
@@ -1,4 +1,4 @@
|
||||
package li.cil.oc2.common.serialization.serializers;
|
||||
package li.cil.oc2.common.serialization.ceres;
|
||||
|
||||
import com.google.gson.JsonArray;
|
||||
import li.cil.ceres.Ceres;
|
||||
@@ -1,4 +1,4 @@
|
||||
package li.cil.oc2.common.serialization.serializers;
|
||||
package li.cil.oc2.common.serialization.ceres;
|
||||
|
||||
import li.cil.ceres.api.DeserializationVisitor;
|
||||
import li.cil.ceres.api.SerializationException;
|
||||
@@ -23,6 +23,10 @@ public final class TextComponentSerializer implements Serializer<Component> {
|
||||
}
|
||||
|
||||
final String json = (String) visitor.getObject("value", String.class, null);
|
||||
if (json == null) {
|
||||
return (Component) value;
|
||||
}
|
||||
|
||||
return Component.Serializer.fromJson(json);
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
@ParametersAreNonnullByDefault
|
||||
@MethodsReturnNonnullByDefault
|
||||
package li.cil.oc2.common.serialization.serializers;
|
||||
package li.cil.oc2.common.serialization.ceres;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package li.cil.oc2.common.serialization.serializers;
|
||||
package li.cil.oc2.common.serialization.gson;
|
||||
|
||||
import com.google.gson.*;
|
||||
import net.minecraft.core.Direction;
|
||||
@@ -32,10 +32,6 @@ public final class DirectionJsonSerializer implements JsonDeserializer<Direction
|
||||
|
||||
@Override
|
||||
public JsonElement serialize(final Direction src, final Type typeOfSrc, final JsonSerializationContext context) {
|
||||
if (src == null) {
|
||||
return JsonNull.INSTANCE;
|
||||
} else {
|
||||
return new JsonPrimitive(src.toString());
|
||||
}
|
||||
return new JsonPrimitive(src.toString());
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package li.cil.oc2.common.serialization.serializers;
|
||||
package li.cil.oc2.common.serialization.gson;
|
||||
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonNull;
|
||||
@@ -13,7 +13,7 @@ import java.lang.reflect.Type;
|
||||
public final class ItemStackJsonSerializer implements JsonSerializer<ItemStack> {
|
||||
@Override
|
||||
public JsonElement serialize(final ItemStack src, final Type typeOfSrc, final JsonSerializationContext context) {
|
||||
if (src == null || src.isEmpty()) {
|
||||
if (src.isEmpty()) {
|
||||
return JsonNull.INSTANCE;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package li.cil.oc2.common.serialization.serializers;
|
||||
package li.cil.oc2.common.serialization.gson;
|
||||
|
||||
import com.google.gson.*;
|
||||
import li.cil.oc2.common.bus.RPCDeviceBusAdapter;
|
||||
@@ -1,4 +1,4 @@
|
||||
package li.cil.oc2.common.serialization.serializers;
|
||||
package li.cil.oc2.common.serialization.gson;
|
||||
|
||||
import com.google.gson.*;
|
||||
import li.cil.oc2.common.bus.RPCDeviceBusAdapter;
|
||||
@@ -1,6 +1,9 @@
|
||||
package li.cil.oc2.common.serialization.serializers;
|
||||
package li.cil.oc2.common.serialization.gson;
|
||||
|
||||
import com.google.gson.*;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonSerializationContext;
|
||||
import com.google.gson.JsonSerializer;
|
||||
import li.cil.oc2.common.bus.RPCDeviceBusAdapter;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
@@ -8,13 +11,9 @@ import java.lang.reflect.Type;
|
||||
public final class RPCDeviceWithIdentifierJsonSerializer implements JsonSerializer<RPCDeviceBusAdapter.RPCDeviceWithIdentifier> {
|
||||
@Override
|
||||
public JsonElement serialize(final RPCDeviceBusAdapter.RPCDeviceWithIdentifier src, final Type typeOfSrc, final JsonSerializationContext context) {
|
||||
if (src == null) {
|
||||
return JsonNull.INSTANCE;
|
||||
}
|
||||
|
||||
final JsonObject deviceJson = new JsonObject();
|
||||
deviceJson.add("deviceId", context.serialize(src.identifier));
|
||||
deviceJson.add("typeNames", context.serialize(src.device.getTypeNames()));
|
||||
deviceJson.add("deviceId", context.serialize(src.identifier()));
|
||||
deviceJson.add("typeNames", context.serialize(src.device().getTypeNames()));
|
||||
|
||||
return deviceJson;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package li.cil.oc2.common.serialization.serializers;
|
||||
package li.cil.oc2.common.serialization.gson;
|
||||
|
||||
import com.google.gson.*;
|
||||
import li.cil.oc2.api.bus.device.rpc.RPCMethod;
|
||||
@@ -9,10 +9,6 @@ import java.lang.reflect.Type;
|
||||
public final class RPCMethodJsonSerializer implements JsonSerializer<RPCMethod> {
|
||||
@Override
|
||||
public JsonElement serialize(final RPCMethod method, final Type typeOfMethod, final JsonSerializationContext context) {
|
||||
if (method == null) {
|
||||
return JsonNull.INSTANCE;
|
||||
}
|
||||
|
||||
final JsonObject methodJson = new JsonObject();
|
||||
methodJson.addProperty("name", method.getName());
|
||||
methodJson.addProperty("returnType", method.getReturnType().getSimpleName());
|
||||
@@ -1,16 +1,15 @@
|
||||
package li.cil.oc2.common.serialization.serializers;
|
||||
package li.cil.oc2.common.serialization.gson;
|
||||
|
||||
import com.google.gson.*;
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonSerializationContext;
|
||||
import com.google.gson.JsonSerializer;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
|
||||
public final class UnsignedByteArrayJsonSerializer implements JsonSerializer<byte[]> {
|
||||
@Override
|
||||
public JsonElement serialize(final byte[] src, final Type typeOfSrc, final JsonSerializationContext context) {
|
||||
if (src == null) {
|
||||
return JsonNull.INSTANCE;
|
||||
}
|
||||
|
||||
final JsonArray json = new JsonArray();
|
||||
for (final byte b : src) {
|
||||
json.add(b & 0xFF);
|
||||
@@ -0,0 +1,7 @@
|
||||
@ParametersAreNonnullByDefault
|
||||
@MethodsReturnNonnullByDefault
|
||||
package li.cil.oc2.common.serialization.gson;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
Reference in New Issue
Block a user