package matteroverdrive.compat.modules;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import matteroverdrive.compat.Compat;
import matteroverdrive.init.MatterOverdriveItems;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
/**
* Compatibility for Ex Nihilo
*
* @author shadowfacts
*/
@Compat("exnihilo")
public class CompatExNihilo
{
private static Method registerSieve;
@Compat.Init
@SuppressWarnings("unchecked")
public static void init(FMLInitializationEvent event)
{
// Create Method
try
{
Class sieveRegistry = Class.forName("exnihilo.registries.SieveRegistry");
// registerSieve(Block source, Item output, int outputMeta, int rarity)
registerSieve = sieveRegistry.getMethod("register", Block.class, Item.class, int.class, int.class);
}
catch (ClassNotFoundException e)
{
System.err.println("The Ex Nihilo sieve registry class could not be found.");
e.printStackTrace();
}
catch (NoSuchMethodException e)
{
System.err.println("The register method of the Ex Nihilo sieve registry did not exist.");
e.printStackTrace();
}
// Register Sieve Rewards
// Percent = 100 / rarity
register(Blocks.gravel, MatterOverdriveItems.dilithium_ctystal, 0, 50); // 2%
register(Blocks.gravel, MatterOverdriveItems.tritanium_dust, 0, 25); // 4%
}
private static void register(Block source, Item output, int outputMeta, int rarity)
{
try
{
registerSieve.invoke(null, source, output, outputMeta, rarity);
}
catch (InvocationTargetException e)
{
System.err.println("There was a problem invoking the register method of the Ex Nihilo sieve registry.");
e.printStackTrace();
}
catch (IllegalAccessException e)
{
System.err.println("There was a problem accessing the register method of the Ex Nihilo sieve registry.");
e.printStackTrace();
}
}
}