@EventHandler
  public void preInit(FMLPreInitializationEvent evt) {
    ResonantInduction.LOGGER.setParent(FMLLog.getLogger());
    NetworkRegistry.instance().registerGuiHandler(this, proxy);
    Modstats.instance().getReporter().registerMod(this);
    Settings.CONFIGURATION.load();
    // Register Forge Events
    MinecraftForge.EVENT_BUS.register(ResourceGenerator.INSTANCE);
    MinecraftForge.EVENT_BUS.register(new TextureHookHandler());

    blockMachinePart =
        contentRegistry.createBlock(BlockMachineMaterial.class, ItemBlockMetadata.class);

    /** Melting dusts */
    blockDust =
        contentRegistry
            .createBlock("dust", BlockDust.class, null, TileDust.class)
            .setCreativeTab(null);
    blockRefinedDust =
        contentRegistry
            .createBlock("refinedDust", BlockDust.class, null, TileDust.class)
            .setCreativeTab(null);

    // Items
    itemRubble = new ItemOreResource(Settings.getNextItemID("oreRubble"), "oreRubble");
    itemDust = new ItemOreResource(Settings.getNextItemID("oreDust"), "oreDust");
    itemRefinedDust =
        new ItemOreResource(Settings.getNextItemID("oreRefinedDust"), "oreRefinedDust");
    itemBucketMixture =
        new ItemOreResourceBucket(Settings.getNextItemID("bucketMixture"), "bucketMixture", false);
    itemBucketMolten =
        new ItemOreResourceBucket(Settings.getNextItemID("bucketMolten"), "bucketMolten", true);
    itemBiomass = contentRegistry.createItem(ItemBiomass.class);

    GameRegistry.registerItem(itemRubble, itemRubble.getUnlocalizedName());
    GameRegistry.registerItem(itemDust, itemDust.getUnlocalizedName());
    GameRegistry.registerItem(itemRefinedDust, itemRefinedDust.getUnlocalizedName());
    GameRegistry.registerItem(itemBucketMixture, itemBucketMixture.getUnlocalizedName());
    GameRegistry.registerItem(itemBucketMolten, itemBucketMolten.getUnlocalizedName());

    // Already registered with ContentRegistry
    // GameRegistry.registerTileEntity(TileMaterial.class, "ri_material");
    GameRegistry.registerTileEntity(TileFluidMixture.class, "ri_fluid_mixture");

    proxy.preInit();
    TabRI.ITEMSTACK = new ItemStack(blockMachinePart);
  }