package com.jaquadro.minecraft.storagedrawers.integration;
import com.jaquadro.minecraft.chameleon.integration.IntegrationModule;
import com.jaquadro.minecraft.storagedrawers.StorageDrawers;
import com.jaquadro.minecraft.storagedrawers.integration.ae2.*;
import java.lang.reflect.Constructor;
public class AppliedEnergistics extends IntegrationModule
{
/*private static class ReflectionFactory implements IStorageBusMonitorFactory
{
private Class classInventoryAdaptor;
private Class classMEAdaptor;
private Class classMonitor;
private Constructor constMEAdaptor;
private Constructor constMonitor;
public boolean init () {
try {
classInventoryAdaptor = Class.forName("appeng.util.InventoryAdaptor");
classMEAdaptor = Class.forName("appeng.util.inv.IMEAdaptor");
classMonitor = Class.forName("appeng.me.storage.MEMonitorIInventory");
constMEAdaptor = classMEAdaptor.getConstructor(IMEInventory.class, BaseActionSource.class);
constMonitor = classMonitor.getConstructor(classInventoryAdaptor);
return true;
}
catch (Throwable t) {
return false;
}
}
@Override
public IMEMonitor<IAEItemStack> createStorageBusMonitor (IMEInventory<IAEItemStack> inventory, BaseActionSource src) {
try {
Object adaptor = constMEAdaptor.newInstance(inventory, src);
Object monitor = constMonitor.newInstance(adaptor);
return (IMEMonitor<IAEItemStack>) monitor;
}
catch (Throwable t) {
return null;
}
}
}
private static class APIFactory implements IStorageBusMonitorFactory {
@Override
public IMEMonitor<IAEItemStack> createStorageBusMonitor (IMEInventory<IAEItemStack> inventory, BaseActionSource src) {
return null;
}
}
private IStorageBusMonitorFactory factory;*/
@Override
public String getModID () {
return "appliedenergistics2";
}
@Override
public void init () throws Throwable {
/*ShapedRecipeHandler shapedHandler = new ShapedRecipeHandler();
if (shapedHandler.isValid())
StorageDrawers.recipeHandlerRegistry.registerRecipeHandler(shapedHandler.getRecipeClass(), shapedHandler);
ShapelessRecipeHandler shapelessHandler = new ShapelessRecipeHandler();
if (shapelessHandler.isValid())
StorageDrawers.recipeHandlerRegistry.registerRecipeHandler(shapelessHandler.getRecipeClass(), shapelessHandler);
StorageDrawers.recipeHandlerRegistry.registerIngredientHandler(IIngredient.class, new IngredientHandler());
ReflectionFactory rfactory = new ReflectionFactory();
if (!rfactory.init())
throw new Exception("No valid Storage Bus Monitor factory");
factory = rfactory;*/
}
@Override
public void postInit () {
//AEApi.instance().registries().externalStorage().addExternalStorageInterface(new DrawerExternalStorageHandler(factory));
}
}