2015-08-29 14:33:25 +02:00
|
|
|
|
/*
|
|
|
|
|
* This file ("ThreadUpdateChecker.java") is part of the Actually Additions Mod for Minecraft.
|
|
|
|
|
* It is created and owned by Ellpeck and distributed
|
|
|
|
|
* under the Actually Additions License to be found at
|
|
|
|
|
* http://github.com/Ellpeck/ActuallyAdditions/blob/master/README.md
|
|
|
|
|
* View the source code at https://github.com/Ellpeck/ActuallyAdditions
|
|
|
|
|
*
|
|
|
|
|
* <EFBFBD> 2015 Ellpeck
|
|
|
|
|
*/
|
|
|
|
|
|
2015-07-10 20:04:07 +02:00
|
|
|
|
package ellpeck.actuallyadditions.update;
|
|
|
|
|
|
|
|
|
|
import ellpeck.actuallyadditions.util.ModUtil;
|
|
|
|
|
|
|
|
|
|
import java.io.BufferedReader;
|
|
|
|
|
import java.io.InputStreamReader;
|
|
|
|
|
import java.net.URL;
|
|
|
|
|
|
|
|
|
|
public class ThreadUpdateChecker extends Thread{
|
|
|
|
|
|
|
|
|
|
public ThreadUpdateChecker(){
|
|
|
|
|
this.setName(ModUtil.MOD_ID + " Update Checker");
|
|
|
|
|
this.setDaemon(true);
|
|
|
|
|
this.start();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void run(){
|
|
|
|
|
ModUtil.LOGGER.info("Starting Update Check...");
|
|
|
|
|
try{
|
|
|
|
|
URL newestURL = new URL("https://raw.githubusercontent.com/Ellpeck/ActuallyAdditions/master/update/newestVersion.txt");
|
|
|
|
|
BufferedReader newestReader = new BufferedReader(new InputStreamReader(newestURL.openStream()));
|
|
|
|
|
UpdateChecker.updateVersionS = newestReader.readLine();
|
|
|
|
|
newestReader.close();
|
|
|
|
|
|
|
|
|
|
URL changeURL = new URL("https://raw.githubusercontent.com/Ellpeck/ActuallyAdditions/master/update/changelog.txt");
|
|
|
|
|
BufferedReader changeReader = new BufferedReader(new InputStreamReader(changeURL.openStream()));
|
|
|
|
|
UpdateChecker.changelog = changeReader.readLine();
|
|
|
|
|
changeReader.close();
|
|
|
|
|
|
|
|
|
|
ModUtil.LOGGER.info("Update Check done!");
|
|
|
|
|
}
|
|
|
|
|
catch(Exception e){
|
2015-07-10 21:19:52 +02:00
|
|
|
|
ModUtil.LOGGER.error("Update Check failed!", e);
|
|
|
|
|
UpdateChecker.checkFailed = true;
|
2015-07-10 20:04:07 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(!UpdateChecker.checkFailed){
|
|
|
|
|
try{
|
|
|
|
|
UpdateChecker.updateVersion = Integer.parseInt(UpdateChecker.updateVersionS.replace("-", "").replace(".", ""));
|
|
|
|
|
UpdateChecker.clientVersion = Integer.parseInt(ModUtil.VERSION.replace("-", "").replace(".", ""));
|
|
|
|
|
}
|
|
|
|
|
catch(Exception e){
|
2015-07-10 21:19:52 +02:00
|
|
|
|
ModUtil.LOGGER.error("Comparing the newest and the current Version failed!", e);
|
|
|
|
|
UpdateChecker.checkFailed = true;
|
2015-07-10 20:04:07 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(!UpdateChecker.checkFailed){
|
|
|
|
|
if(UpdateChecker.updateVersion > UpdateChecker.clientVersion){
|
|
|
|
|
ModUtil.LOGGER.info("There is an Update for "+ModUtil.MOD_ID+" available!");
|
|
|
|
|
ModUtil.LOGGER.info("The installed Version is "+ModUtil.VERSION+", but the newest Version is "+UpdateChecker.updateVersionS+"!");
|
|
|
|
|
ModUtil.LOGGER.info("The Changes are: "+UpdateChecker.changelog);
|
|
|
|
|
ModUtil.LOGGER.info("Download the newest Version at "+UpdateChecker.DOWNLOAD_LINK);
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
ModUtil.LOGGER.info("There is no new Update for "+ModUtil.MOD_ID+" available!");
|
|
|
|
|
ModUtil.LOGGER.info("That's cool. You're really up to date, you have all of the latest awesome Features!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
UpdateChecker.doneChecking = true;
|
|
|
|
|
}
|
|
|
|
|
}
|