package com.arkcraft.module.core.client.gui.book;
import com.arkcraft.lib.LogHelper;
import com.arkcraft.module.core.client.gui.book.deserialization.PageDeserializer;
import com.arkcraft.module.core.client.gui.book.pages.IPage;
import com.arkcraft.module.core.ARKCraft;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import net.minecraft.client.Minecraft;
import net.minecraft.util.ResourceLocation;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
/**
* @author Vastatio
*/
public class DossierParser
{
public static BookDocument parseJSON(GsonBuilder gBuilder, String location)
{
gBuilder = new GsonBuilder();
gBuilder.registerTypeAdapter(IPage.class, new PageDeserializer());
Gson gson = gBuilder.create();
ResourceLocation rloc = new ResourceLocation(ARKCraft.MODID, location);
try
{
LogHelper.info("Trying to read in JSON File....");
InputStream stream = Minecraft.getMinecraft().getResourceManager().getResource(rloc).getInputStream();
LogHelper.info(stream == null ? "Stream is null!" : "Stream is not null.");
Reader reader = new InputStreamReader(stream, "UTF-8");
BookDocument doc = gson.fromJson(reader, BookDocument.class);
return doc;
}
catch (Exception e)
{
LogHelper.info("Failed to read JSON file!");
e.printStackTrace();
}
return null;
}
}