Added chat serializing which should clear a rare issue
This commit is contained in:
		| @@ -861,6 +861,7 @@ public class DisguiseUtilities { | ||||
|         gsonBuilder.registerTypeAdapter(WrappedBlockData.class, new SerializerWrappedBlockData()); | ||||
|         gsonBuilder.registerTypeAdapter(Disguise.class, new SerializerDisguise()); | ||||
|         gsonBuilder.registerTypeAdapter(FlagWatcher.class, new SerializerFlagWatcher()); | ||||
|         gsonBuilder.registerTypeAdapter(FlagWatcher.class, new SerializerChatComponent()); | ||||
|         gsonBuilder.registerTypeAdapter(PropertyMap.class, new PropertyMap.Serializer()); | ||||
|         gsonBuilder.registerTypeAdapter(ItemStack.class, new SerializerItemStack()); | ||||
|  | ||||
|   | ||||
| @@ -0,0 +1,28 @@ | ||||
| package me.libraryaddict.disguise.utilities.json; | ||||
|  | ||||
| import com.comphenix.protocol.wrappers.WrappedChatComponent; | ||||
| import com.google.gson.*; | ||||
|  | ||||
| import java.lang.reflect.Type; | ||||
|  | ||||
| /** | ||||
|  * Created by libraryaddict on 27/11/2018. | ||||
|  */ | ||||
| public class SerializerChatComponent implements JsonDeserializer<WrappedChatComponent>, | ||||
|         JsonSerializer<WrappedChatComponent> { | ||||
|  | ||||
|     @Override | ||||
|     public WrappedChatComponent deserialize(JsonElement json, Type typeOfT, | ||||
|             JsonDeserializationContext context) throws JsonParseException { | ||||
|         if (json.isJsonPrimitive()) { | ||||
|             return WrappedChatComponent.fromJson(json.getAsString()); | ||||
|         } | ||||
|  | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public JsonElement serialize(WrappedChatComponent src, Type typeOfSrc, JsonSerializationContext context) { | ||||
|         return context.serialize(src.getJson()); | ||||
|     } | ||||
| } | ||||
| @@ -82,6 +82,7 @@ public class SerializerFlagWatcher implements JsonDeserializer<FlagWatcher>, Jso | ||||
|         JsonObject obj = (JsonObject) context.serialize(src); | ||||
|  | ||||
|         obj.addProperty("flagType", src.getClass().getName()); | ||||
|  | ||||
|         try { | ||||
|             Method method = FlagWatcher.class.getDeclaredMethod("getDisguise"); | ||||
|             method.setAccessible(true); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user