Files
MagicBees/magicbees_src/magicbees/main/utils/TickHandlerVersion.java
T

104 lines
2.5 KiB
Java
Raw Normal View History

2013-05-23 21:07:28 -07:00
package magicbees.main.utils;
2013-03-06 20:44:06 -08:00
import java.util.ArrayList;
import java.util.EnumSet;
import magicbees.main.MagicBees;
2013-03-06 20:44:06 -08:00
import net.minecraft.entity.player.EntityPlayer;
2013-08-25 19:56:55 -07:00
import net.minecraft.util.ChatMessageComponent;
2013-03-06 20:44:06 -08:00
import cpw.mods.fml.common.IScheduledTickHandler;
import cpw.mods.fml.common.TickType;
public class TickHandlerVersion implements IScheduledTickHandler
{
public static TickHandlerVersion instance = new TickHandlerVersion();
private static ArrayList<VersionInfo> modVersionInfo = new ArrayList();
private static boolean initialized;
private static boolean sent;
private static int modIndex = 0;
public static boolean initialize()
{
if (initialized)
{
return false;
}
initialized = true;
return true;
}
public static boolean isInitialized()
{
return initialized;
}
public static boolean registerModVersionInfo(VersionInfo info)
{
if (modVersionInfo.contains(info))
{
return false;
}
modVersionInfo.add(info);
return true;
}
@Override
public void tickStart(EnumSet<TickType> type, Object... tickData)
{
if (sent)
{
return;
}
if (modIndex < modVersionInfo.size())
{
VersionInfo anInfo = modVersionInfo.get(modIndex);
if ((!MagicBees.getConfig().DisableUpdateNotification || anInfo.isCriticalUpdate()) && anInfo.isNewVersionAvailable())
2013-03-06 20:44:06 -08:00
{
EntityPlayer player = (EntityPlayer) tickData[0];
2013-09-09 23:23:00 -07:00
player.sendChatToPlayer(ChatMessageComponent.createFromText("[" + anInfo.modName + "] A new version is available: " + anInfo.getLatestVersion()));
player.sendChatToPlayer(ChatMessageComponent.createFromText(anInfo.getVersionDescription()));
2013-03-06 20:44:06 -08:00
}
modIndex += 1;
}
else
{
sent = true;
}
}
@Override
public void tickEnd(EnumSet<TickType> type, Object... tickData)
{
}
@Override
public EnumSet<TickType> ticks()
{
if (TickHandlerVersion.sent)
{
return EnumSet.noneOf(TickType.class);
}
return EnumSet.of(TickType.PLAYER);
}
@Override
public String getLabel()
{
return "thaumicbees.version";
}
@Override
public int nextTickSpacing()
{
if (!sent)
{
return 200;
}
return 72000;
}
}