2018-09-09 19:40:45 +02:00
|
|
|
package com.massivecraft.factions.util;
|
|
|
|
|
|
|
|
import com.google.gson.*;
|
|
|
|
import org.bukkit.inventory.Inventory;
|
|
|
|
|
|
|
|
import java.lang.reflect.Type;
|
|
|
|
|
|
|
|
public class InventoryTypeAdapter implements JsonSerializer<Inventory>, JsonDeserializer<Inventory> {
|
|
|
|
|
|
|
|
|
2019-03-03 04:51:21 +01:00
|
|
|
@Override
|
|
|
|
public JsonElement serialize(Inventory inventory, Type type, JsonSerializationContext jsonSerializationContext) {
|
2018-09-09 19:40:45 +02:00
|
|
|
|
2019-03-03 04:51:21 +01:00
|
|
|
JsonObject object = new JsonObject();
|
|
|
|
object.add("contents", new JsonPrimitive(InventoryUtil.toBase64(inventory)));
|
|
|
|
return object;
|
|
|
|
}
|
2018-09-09 19:40:45 +02:00
|
|
|
|
|
|
|
|
2019-03-03 04:51:21 +01:00
|
|
|
@Override
|
|
|
|
public Inventory deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) {
|
|
|
|
JsonObject object = jsonElement.getAsJsonObject();
|
|
|
|
return InventoryUtil.fromBase64(object.get("contents").getAsString());
|
|
|
|
}
|
2018-09-09 19:40:45 +02:00
|
|
|
|
|
|
|
|
|
|
|
}
|