LibsDisguises/src/main/java/me/libraryaddict/disguise/utilities/json/SerializerMetaIndex.java

43 lines
1.3 KiB
Java
Raw Normal View History

2017-06-02 15:51:03 +02:00
package me.libraryaddict.disguise.utilities.json;
import com.comphenix.protocol.wrappers.WrappedGameProfile;
import com.google.gson.*;
import com.mojang.authlib.GameProfile;
import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import java.lang.reflect.Type;
/**
* Created by libraryaddict on 1/06/2017.
*/
public class SerializerMetaIndex implements JsonSerializer<MetaIndex>, JsonDeserializer<MetaIndex> {
@Override
public JsonElement serialize(MetaIndex src, Type typeOfSrc, JsonSerializationContext context) {
JsonObject obj = new JsonObject();
obj.addProperty("index", src.getIndex());
obj.addProperty("flagwatcher", src.getFlagWatcher().getSimpleName());
return obj;
}
@Override
public MetaIndex deserialize(JsonElement json, Type typeOfT,
JsonDeserializationContext context) throws JsonParseException {
JsonObject obj = json.getAsJsonObject();
String name = obj.get("flagwatcher").getAsString();
int index = obj.get("index").getAsInt();
for (MetaIndex i : MetaIndex.values()) {
if (i.getIndex() != index)
continue;
if (!i.getFlagWatcher().getSimpleName().equals(name))
continue;
return i;
}
return null;
}
}