// Path: src/main/java/net/einsteinsci/betterbeginnings/config/json/recipe/JsonBooster.java
// public class JsonBooster
// {
// 	private JsonLoadedItem boosterItem;
// 	private float boostAmount;
// 
// 	public JsonBooster(ItemStack stack, float boost)
// 	{
// 		boosterItem = new JsonLoadedItem(stack);
// 		boostAmount = boost;
// 	}
// 	public JsonBooster(Item item, float boost)
// 	{
// 		this(new ItemStack(item), boost);
// 	}
// 	public JsonBooster(Block block, float boost)
// 	{
// 		this(new ItemStack(block), boost);
// 	}
// 
// 	public void register()
// 	{
// 		if (boosterItem.isOreDictionary())
// 		{
// 			for (ItemStack stack : OreDictionary.getOres(boosterItem.getItemName()))
// 			{
// 				if (stack != null)
// 				{
// 					TileEntitySmelterBase.registerBooster(stack, boostAmount);
// 				}
// 			}
// 		}
// 		else
// 		{
// 			ItemStack stack = boosterItem.getFirstItemStackOrNull();
// 			if (stack != null)
// 			{
// 				TileEntitySmelterBase.registerBooster(stack, boostAmount);
// 			}
// 		}
// 	}
// 
// 	public JsonLoadedItem getBoosterItem()
// 	{
// 		return boosterItem;
// 	}
// 
// 	public float getBoostAmount()
// 	{
// 		return boostAmount;
// 	}
// }
// 
// Path: src/main/java/net/einsteinsci/betterbeginnings/config/json/recipe/JsonBoosterHandler.java
// public class JsonBoosterHandler
// {
// 	private List<JsonBooster> boosters = new ArrayList<>();
// 
// 	private List<String> includes = new ArrayList<>();
// 	private List<String> modDependencies = new ArrayList<>();
// 
// 	public List<JsonBooster> getBoosters()
// 	{
// 		return boosters;
// 	}
// 
// 	public List<String> getIncludes()
// 	{
// 		return includes;
// 	}
// 
// 	public List<String> getModDependencies()
// 	{
// 		return modDependencies;
// 	}
// }
// 
// Path: src/main/java/net/einsteinsci/betterbeginnings/util/LogUtil.java
// public class LogUtil
// {
// 	public static void logDebug(String text)
// 	{
// 		if (BBConfig.debugLogging)
// 		{
// 			log(Level.DEBUG, text);
// 		}
// 	}
// 
// 	public static void logDebug(Level level, String text)
// 	{
// 		if (BBConfig.debugLogging)
// 		{
// 			log(level, text);
// 		}
// 	}
// 
// 	public static void log(Level level, String text)
// 	{
// 		FMLLog.log(ModMain.NAME, level, text);
// 	}
// 
// 	public static void log(String text)
// 	{
// 		log(Level.INFO, text);
// 	}
// }


import net.einsteinsci.betterbeginnings.config.json.recipe.JsonBooster;
import net.einsteinsci.betterbeginnings.config.json.recipe.JsonBoosterHandler;
import net.einsteinsci.betterbeginnings.util.FileUtil;
import net.einsteinsci.betterbeginnings.util.LogUtil;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import org.apache.logging.log4j.Level;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
		}

		return res;
	}

	@Override
	public void loadJsonConfig(FMLInitializationEvent e, String mainJson, String autoJson, String customJson)
	{
		mainBoosters = BBJsonLoader.deserializeObject(mainJson, JsonBoosterHandler.class);
		for (JsonBooster j : mainBoosters.getBoosters())
		{
			j.register();
		}

		customBoosters = BBJsonLoader.deserializeObject(customJson, JsonBoosterHandler.class);
		for (JsonBooster j : customBoosters.getBoosters())
		{
			j.register();
		}
	}

	@Override
	public void loadIncludedConfig(FMLInitializationEvent e, List<String> includedJsons)
	{
		for (String json : includedJsons)
		{
			JsonBoosterHandler handler = BBJsonLoader.deserializeObject(json, JsonBoosterHandler.class);

			if (handler == null)
			{
// Path: src/main/java/net/einsteinsci/betterbeginnings/config/json/recipe/JsonBooster.java
// public class JsonBooster
// {
// 	private JsonLoadedItem boosterItem;
// 	private float boostAmount;
// 
// 	public JsonBooster(ItemStack stack, float boost)
// 	{
// 		boosterItem = new JsonLoadedItem(stack);
// 		boostAmount = boost;
// 	}
// 	public JsonBooster(Item item, float boost)
// 	{
// 		this(new ItemStack(item), boost);
// 	}
// 	public JsonBooster(Block block, float boost)
// 	{
// 		this(new ItemStack(block), boost);
// 	}
// 
// 	public void register()
// 	{
// 		if (boosterItem.isOreDictionary())
// 		{
// 			for (ItemStack stack : OreDictionary.getOres(boosterItem.getItemName()))
// 			{
// 				if (stack != null)
// 				{
// 					TileEntitySmelterBase.registerBooster(stack, boostAmount);
// 				}
// 			}
// 		}
// 		else
// 		{
// 			ItemStack stack = boosterItem.getFirstItemStackOrNull();
// 			if (stack != null)
// 			{
// 				TileEntitySmelterBase.registerBooster(stack, boostAmount);
// 			}
// 		}
// 	}
// 
// 	public JsonLoadedItem getBoosterItem()
// 	{
// 		return boosterItem;
// 	}
// 
// 	public float getBoostAmount()
// 	{
// 		return boostAmount;
// 	}
// }
// 
// Path: src/main/java/net/einsteinsci/betterbeginnings/config/json/recipe/JsonBoosterHandler.java
// public class JsonBoosterHandler
// {
// 	private List<JsonBooster> boosters = new ArrayList<>();
// 
// 	private List<String> includes = new ArrayList<>();
// 	private List<String> modDependencies = new ArrayList<>();
// 
// 	public List<JsonBooster> getBoosters()
// 	{
// 		return boosters;
// 	}
// 
// 	public List<String> getIncludes()
// 	{
// 		return includes;
// 	}
// 
// 	public List<String> getModDependencies()
// 	{
// 		return modDependencies;
// 	}
// }
// 
// Path: src/main/java/net/einsteinsci/betterbeginnings/util/LogUtil.java
// public class LogUtil
// {
// 	public static void logDebug(String text)
// 	{
// 		if (BBConfig.debugLogging)
// 		{
// 			log(Level.DEBUG, text);
// 		}
// 	}
// 
// 	public static void logDebug(Level level, String text)
// 	{
// 		if (BBConfig.debugLogging)
// 		{
// 			log(level, text);
// 		}
// 	}
// 
// 	public static void log(Level level, String text)
// 	{
// 		FMLLog.log(ModMain.NAME, level, text);
// 	}
// 
// 	public static void log(String text)
// 	{
// 		log(Level.INFO, text);
// 	}
// }


// Path: src/main/java/net/einsteinsci/betterbeginnings/config/json/BoosterConfig.java
import net.einsteinsci.betterbeginnings.config.json.recipe.JsonBooster;
import net.einsteinsci.betterbeginnings.config.json.recipe.JsonBoosterHandler;
import net.einsteinsci.betterbeginnings.util.FileUtil;
import net.einsteinsci.betterbeginnings.util.LogUtil;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import org.apache.logging.log4j.Level;
import java.io.File;
import java.util.ArrayList;
import java.util.List;

		}

		return res;
	}

	@Override
	public void loadJsonConfig(FMLInitializationEvent e, String mainJson, String autoJson, String customJson)
	{
		mainBoosters = BBJsonLoader.deserializeObject(mainJson, JsonBoosterHandler.class);
		for (JsonBooster j : mainBoosters.getBoosters())
		{
			j.register();
		}

		customBoosters = BBJsonLoader.deserializeObject(customJson, JsonBoosterHandler.class);
		for (JsonBooster j : customBoosters.getBoosters())
		{
			j.register();
		}
	}

	@Override
	public void loadIncludedConfig(FMLInitializationEvent e, List<String> includedJsons)
	{
		for (String json : includedJsons)
		{
			JsonBoosterHandler handler = BBJsonLoader.deserializeObject(json, JsonBoosterHandler.class);

			if (handler == null)
			{
				LogUtil.log(Level.ERROR, "Could not deserialize included json.");