package cpw.mods.fml.common.launcher;
import java.io.File;
import java.util.List;
import cpw.mods.fml.relauncher.CoreModManager;
import net.minecraft.launchwrapper.ITweaker;
import net.minecraft.launchwrapper.Launch;
import net.minecraft.launchwrapper.LaunchClassLoader;
/**
* This class is to manage the injection of coremods as tweakers into the tweak framework.
* It has to inject the coremod tweaks during construction, because that is the only time
* the tweak list is writeable.
* @author cpw
*
*/
public class FMLInjectionAndSortingTweaker implements ITweaker {
private boolean run;
public FMLInjectionAndSortingTweaker()
{
CoreModManager.injectCoreModTweaks(this);
run = false;
}
@Override
public void acceptOptions(List<String> args, File gameDir, File assetsDir, String profile)
{
if (!run)
{
// We sort the tweak list here so that it obeys the tweakordering
CoreModManager.sortTweakList();
@SuppressWarnings("unchecked")
List<String> newTweaks = (List<String>) Launch.blackboard.get("TweakClasses");
newTweaks.add("cpw.mods.fml.common.launcher.TerminalTweaker");
}
run = true;
}
@Override
public void injectIntoClassLoader(LaunchClassLoader classLoader)
{
}
@Override
public String getLaunchTarget()
{
return "";
}
@Override
public String[] getLaunchArguments()
{
return new String[0];
}
}