package net.blay09.mods.craftingtweaks;

import net.blay09.mods.craftingtweaks.api.DefaultProvider;
import net.blay09.mods.craftingtweaks.api.InternalMethods;
import net.blay09.mods.craftingtweaks.api.TweakProvider;
import net.blay09.mods.craftingtweaks.client.GuiTweakButton;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.inventory.Container;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

public class InternalMethodsImpl implements InternalMethods {

    @Override
    public void registerProvider(Class<? extends Container> containerClass, TweakProvider provider) {
        CraftingTweaks.instance.registerProvider(containerClass, provider);
    }

    @Override
    public void registerWithDefaultProvider(String modid, Class<? extends Container> containerClass) {
        CraftingTweaks.instance.registerProvider(containerClass, new SimpleTweakProviderImpl(modid));
    }

    @Override
    public DefaultProvider createDefaultProvider() {
        return new DefaultProviderImpl();
    }

    @Override
    @SideOnly(Side.CLIENT)
    public GuiButton createBalanceButton(int id, int x, int y) {
        return new GuiTweakButton(x, y, 48, 0, GuiTweakButton.TweakOption.Balance, id);
    }

    @Override
    @SideOnly(Side.CLIENT)
    public GuiButton createRotateButton(int id, int x, int y) {
        return new GuiTweakButton(x, y, 16, 0, GuiTweakButton.TweakOption.Rotate, id);
    }

    @Override
    @SideOnly(Side.CLIENT)
    public GuiButton createClearButton(int id, int x, int y) {
        return new GuiTweakButton(x, y, 32, 0, GuiTweakButton.TweakOption.Clear, id);
    }

}

@@ -152,16 +152,79 @@
 ethods;%0A
+import net.blay09.mods.craftingtweaks.api.SimpleTweakProvider;%0A
 import n
@@ -808,32 +808,42 @@
 lic 
-void registerWithDefault
+SimpleTweakProvider registerSimple
 Prov
@@ -902,24 +902,110 @@
 nerClass) %7B%0A
+        SimpleTweakProvider simpleTweakProvider = new SimpleTweakProviderImpl(modid);%0A
         Craf
@@ -1057,21 +1057,17 @@
 rClass, 
-new S
+s
 impleTwe
@@ -1080,20 +1080,45 @@
 ider
-Impl(modid))
+);%0A        return simpleTweakProvider
 ;%0A  

I am bad at this