diff --git a/.gitignore b/.gitignore index d306be6..7b2f89e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .gradle .idea +bin build src/test diff --git a/build.gradle b/build.gradle index c0a67c8..0361a01 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { } group 'ley.modding' -version '1.0' +version '1.1.0' sourceCompatibility = 1.8 @@ -15,7 +15,7 @@ repositories { name "minecraft" } maven { - url "https://data.tilera.xyz/maven/" + url "https://maven.tilera.xyz/" } } diff --git a/gradlew b/gradlew old mode 100644 new mode 100755 diff --git a/settings.gradle b/settings.gradle index 99873f1..92f9d7f 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,2 +1,8 @@ +pluginManagement { + repositories { + gradlePluginPortal() + mavenCentral() + } +} rootProject.name = 'testcraftupdate' diff --git a/src/main/java/ley/modding/tcu/UpdateTweaker.java b/src/main/java/ley/modding/tcu/UpdateTweaker.java index 4e9022f..51c95aa 100644 --- a/src/main/java/ley/modding/tcu/UpdateTweaker.java +++ b/src/main/java/ley/modding/tcu/UpdateTweaker.java @@ -37,23 +37,28 @@ public class UpdateTweaker implements ITweaker { try { File configfile = new File(gameDir.getAbsolutePath() + "/pack.json"); if (configfile.exists()) { + boolean updated = false; Config config = Util.getConfig(configfile); Version version = Util.checkVersion(config); - if (version.isLatest()) - return; - System.out.println(version.current + " is outdated, starting update..."); - AddonscriptJSON oldAS = config.getAPI().getASFromTag(version.current); - AddonscriptJSON newAS = config.getAPI().getASFromTag(version.latest); - List oldRel = Util.getRelations(oldAS); - List newRel = Util.getRelations(newAS); - FileHandler handler = new FileHandler(gameDir); - handler.removeFiles(Util.getToRemove(oldRel, newRel)); - handler.addFiles(Util.getToAdd(oldRel, newRel)); - handler.processOverrides(version.overrides, newAS, config); + if (!version.isLatest()) { + System.out.println(version.current + " is outdated, starting update..."); + AddonscriptJSON oldAS = config.getAPI().getASFromTag(version.current); + AddonscriptJSON newAS = config.getAPI().getASFromTag(version.latest); + List oldRel = Util.getRelations(oldAS); + List newRel = Util.getRelations(newAS); + FileHandler handler = new FileHandler(gameDir); + handler.removeFiles(Util.getToRemove(oldRel, newRel)); + handler.addFiles(Util.getToAdd(oldRel, newRel)); + handler.processOverrides(version.overrides, newAS, config); + updated = true; + } config.version = version.latest; FileWriter writer = new FileWriter(configfile); config.toJson(writer); writer.close(); + if (updated) { + throw new RuntimeException("Successfully updated modpack. Please restart the game."); + } } } catch (IOException e) { throw new RuntimeException(e); diff --git a/src/main/java/ley/modding/tcu/model/Version.java b/src/main/java/ley/modding/tcu/model/Version.java index 6f79f4c..3f8bb3a 100644 --- a/src/main/java/ley/modding/tcu/model/Version.java +++ b/src/main/java/ley/modding/tcu/model/Version.java @@ -13,7 +13,7 @@ public class Version { } public boolean isLatest() { - return latest.equals(current); + return current == null || latest.equals(current); } }