Package powercrystals.core.updater

Source Code of powercrystals.core.updater.UpdateManager

package powercrystals.core.updater;

import java.util.EnumSet;

import powercrystals.core.CoreCore;

import net.minecraft.entity.player.EntityPlayer;
import cpw.mods.fml.common.IScheduledTickHandler;
import cpw.mods.fml.common.TickType;

public class UpdateManager implements IScheduledTickHandler
{
  private boolean _notificationDisplayed;
  private IUpdateableMod _mod;
  private UpdateCheckThread _updateThread;
 
  public UpdateManager(IUpdateableMod mod)
  {
    this(mod, null);
  }
 
  public UpdateManager(IUpdateableMod mod, String releaseUrl)
  {
    _mod = mod;
    _updateThread = new UpdateCheckThread(mod, releaseUrl);
    if(CoreCore.doUpdateCheck.getBoolean(true))
    {
      _updateThread.start();
    }
  }

  @Override
  public void tickStart(EnumSet<TickType> type, Object... tickData)
  {
    if(!_notificationDisplayed && _updateThread.checkComplete())
    {
      _notificationDisplayed = true;
      if(_updateThread.newVersionAvailable())
      {
        EntityPlayer player = (EntityPlayer) tickData[0];
        player.sendChatToPlayer("[" + _mod.getModName() + "] A new version is available: " + _updateThread.newVersion().modVersion().toString());
        player.sendChatToPlayer( _updateThread.newVersion().description());
      }
    }
  }

  @Override
  public void tickEnd(EnumSet<TickType> type, Object... tickData)
  {

  }

  @Override
  public EnumSet<TickType> ticks()
  {
    if (_notificationDisplayed)
    {
      return EnumSet.noneOf(TickType.class);
    }
    return EnumSet.of(TickType.PLAYER);
  }

  @Override
  public String getLabel()
  {
    return _mod.getModId() + ".version";
  }

  @Override
  public int nextTickSpacing()
  {
    if(!_notificationDisplayed)
    {
      return 400;
    }
    return 72000;
  }
}
TOP

Related Classes of powercrystals.core.updater.UpdateManager

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.