package tppitweaks.event;
import java.util.Random;
import net.minecraft.client.gui.GuiMainMenu;
import net.minecraft.util.StatCollector;
import net.minecraftforge.client.event.GuiOpenEvent;
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
import net.minecraftforge.event.world.WorldEvent;
import tppitweaks.tweak.aspect.TweakVanilla;
import tppitweaks.client.gui.IRCGui;
import tppitweaks.config.ConfigurationHandler;
import tppitweaks.tweak.recipe.TweakDimensionalAnchors;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.ObfuscationReflectionHelper;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class TPPIEventHandler
{
private boolean shouldLoadGUI = true;
@SideOnly(Side.CLIENT)
@SubscribeEvent
public void onGui(GuiOpenEvent event)
{
if (event.gui instanceof GuiMainMenu)
{
if (shouldLoadGUI && ConfigurationHandler.showIRCGui)
{
event.gui = new IRCGui();
shouldLoadGUI = false;
}
else
{
ObfuscationReflectionHelper.setPrivateValue(GuiMainMenu.class, (GuiMainMenu) event.gui, getRandTPPISplash(), "splashText", "field_73975_c");
}
}
}
@SubscribeEvent
public void worldLoaded(WorldEvent.Load event){
if (Loader.isModLoaded("Thaumcraft"))
TweakVanilla.onWorldLoad();
}
@SubscribeEvent
public void onItemTooltip(ItemTooltipEvent event)
{
if (Loader.isModLoaded("DimensionalAnchors") && !Loader.isModLoaded("ChickenChunks"))
{
TweakDimensionalAnchors.addTooltip(event);
}
}
/**
* Automatically figures out the number of splash text lines in the lang file, returns a random one.
*/
private String getRandTPPISplash()
{
int max = 1;
String base = "tppi.splash.text.";
while (!StatCollector.translateToLocal(base + max).equals(base + max))
{
max++;
}
max--;
int rand = new Random().nextInt(max) + 1;
return StatCollector.translateToLocal("tppi.splash.text." + rand);
}
}