AE2 First Commit, the dawn of 1.7 hast arrived.
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
package appeng.services;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
import java.util.Date;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import net.minecraft.crash.CallableMinecraftVersion;
|
||||
import appeng.core.Configuration;
|
||||
|
||||
public class VersionChecker implements Runnable
|
||||
{
|
||||
|
||||
public static VersionChecker instance = null;
|
||||
|
||||
private long delay = 0;
|
||||
|
||||
public VersionChecker() {
|
||||
long now = (new Date()).getTime();
|
||||
delay = (1000 * 3600 * 5) - (now - Configuration.instance.latestTimeStamp);
|
||||
if ( delay < 1 )
|
||||
delay = 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
try
|
||||
{
|
||||
Thread.sleep( delay );
|
||||
}
|
||||
catch (InterruptedException e)
|
||||
{
|
||||
}
|
||||
|
||||
while (true)
|
||||
{
|
||||
Thread.yield();
|
||||
try
|
||||
{
|
||||
URL url = new URL( "http://ae-mod.info/releases/?latest" );
|
||||
|
||||
URLConnection yc = url.openConnection();
|
||||
yc.setRequestProperty( "User-Agent", "AE2/" + Configuration.VERSION + " (Channel:" + Configuration.CHANNEL
|
||||
+ ",Minecraft:" + ((new CallableMinecraftVersion( null )).minecraftVersion()) + ")" );
|
||||
|
||||
BufferedReader in = new BufferedReader( new InputStreamReader( yc.getInputStream() ) );
|
||||
|
||||
String Version = "";
|
||||
String inputLine;
|
||||
|
||||
while ((inputLine = in.readLine()) != null)
|
||||
Version += inputLine;
|
||||
|
||||
in.close();
|
||||
|
||||
if ( Version.length() > 2 )
|
||||
{
|
||||
Matcher m = Pattern.compile( "\"Version\":\"([^\"]+)\"" ).matcher( Version );
|
||||
m.find();
|
||||
Version = m.group( 1 );
|
||||
Configuration.instance.latestVersion = Version;
|
||||
Configuration.instance.latestTimeStamp = (new Date()).getTime();
|
||||
Configuration.instance.save();
|
||||
}
|
||||
|
||||
Thread.sleep( 1000 * 3600 * 4 );
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
try
|
||||
{
|
||||
Thread.sleep( 1000 * 3600 * 4 );
|
||||
}
|
||||
catch (InterruptedException e1)
|
||||
{
|
||||
e1.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user