aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2017-07-06 23:38:59 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2017-07-06 23:38:59 +1000
commitfd994517395f1db5e7cff51501649110765fac16 (patch)
tree0fefb27a8152f842d6629062eb0bad004b3c7576
parent02719c54d8566366736485c4b28ff66b6020e3af (diff)
downloadGT5-Unofficial-fd994517395f1db5e7cff51501649110765fac16.tar.gz
GT5-Unofficial-fd994517395f1db5e7cff51501649110765fac16.tar.bz2
GT5-Unofficial-fd994517395f1db5e7cff51501649110765fac16.zip
^ Version Bump ready for new release.
+ Added new methods to handle more dynamic versioning.
-rw-r--r--build.gradle2
-rw-r--r--src/Java/gtPlusPlus/GTplusplus.java5
-rw-r--r--src/Java/gtPlusPlus/GTplusplus_Secondary.java2
-rw-r--r--src/Java/gtPlusPlus/core/handler/events/LoginEventHandler.java5
-rw-r--r--src/Java/gtPlusPlus/core/lib/CORE.java14
-rw-r--r--src/Java/gtPlusPlus/core/util/Utils.java12
-rw-r--r--src/Java/gtPlusPlus/core/util/version/Version.java100
-rw-r--r--src/Java/gtPlusPlus/core/util/version/VersionUtils.java46
-rw-r--r--src/resources/mcmod.info2
9 files changed, 163 insertions, 25 deletions
diff --git a/build.gradle b/build.gradle
index 3c78d69ea1..fb124803c5 100644
--- a/build.gradle
+++ b/build.gradle
@@ -40,7 +40,7 @@ sourceCompatibility = 1.7
targetCompatibility = 1.7
archivesBaseName = "GT-PlusPlus"
-version = "1.5.0-Beta"
+version = "1.5.5-Release"
minecraft.version = "1.7.10-10.13.4.1448-1.7.10"
task sourceJar(type: Jar) {
diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java
index afed638161..bf9e0b39ed 100644
--- a/src/Java/gtPlusPlus/GTplusplus.java
+++ b/src/Java/gtPlusPlus/GTplusplus.java
@@ -25,13 +25,14 @@ import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import gtPlusPlus.core.util.version.VersionUtils;
import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtTools;
import net.minecraft.launchwrapper.Launch;
import net.minecraftforge.common.config.Configuration;
-@Mod(modid = CORE.MODID, name = CORE.name, version = CORE.VERSION, dependencies = "required-after:Forge; after:PlayerAPI; after:dreamcraft; after:IC2; after:ihl; after:psychedelicraft; after:gregtech; after:Forestry; after:MagicBees; after:CoFHCore; after:Growthcraft; after:Railcraft; after:CompactWindmills; after:ForbiddenMagic; after:MorePlanet; after:PneumaticCraft; after:ExtraUtilities; after:Thaumcraft; after:rftools; after:simplyjetpacks; after:BigReactors; after:EnderIO;")
+@Mod(modid = CORE.MODID, name = CORE.name, version = "The Version to play. ;)", dependencies = "required-after:Forge; after:PlayerAPI; after:dreamcraft; after:IC2; after:ihl; after:psychedelicraft; after:gregtech; after:Forestry; after:MagicBees; after:CoFHCore; after:Growthcraft; after:Railcraft; after:CompactWindmills; after:ForbiddenMagic; after:MorePlanet; after:PneumaticCraft; after:ExtraUtilities; after:Thaumcraft; after:rftools; after:simplyjetpacks; after:BigReactors; after:EnderIO;")
public class GTplusplus implements ActionListener {
@Mod.Instance(CORE.MODID)
@@ -164,7 +165,7 @@ public class GTplusplus implements ActionListener {
public void preInit(final FMLPreInitializationEvent event) {
Utils.LOG_INFO("Loading " + CORE.name + " V" + CORE.VERSION);
CORE.DEVENV = (Boolean) Launch.blackboard.get("fml.deobfuscatedEnvironment");
- Utils.LOG_INFO("Latest is " + CORE.MASTER_VERSION + ". Updated? " + Utils.isModUpToDate());
+ Utils.LOG_INFO("Latest is " + CORE.MASTER_VERSION + ". Updated? " + VersionUtils.isModUpToDate());
Utils.LOG_INFO("User's Country: " + CORE.USER_COUNTRY);
// FirstCall();
diff --git a/src/Java/gtPlusPlus/GTplusplus_Secondary.java b/src/Java/gtPlusPlus/GTplusplus_Secondary.java
index e9888ded70..f032b67688 100644
--- a/src/Java/gtPlusPlus/GTplusplus_Secondary.java
+++ b/src/Java/gtPlusPlus/GTplusplus_Secondary.java
@@ -21,7 +21,7 @@ import net.minecraft.world.chunk.IChunkProvider;
@ChildMod(parent = CORE.MODID, mod = @Mod(modid = "GT++DarkWorld",
name = "GT++ Dark World",
-version = CORE.VERSION,
+version = "The Version to play. ;)",
dependencies = "after:Miscutils;after:Gregtech",
customProperties = @CustomProperty(k = "cofhversion", v = "true")))
public class GTplusplus_Secondary implements IFuelHandler, IWorldGenerator{
diff --git a/src/Java/gtPlusPlus/core/handler/events/LoginEventHandler.java b/src/Java/gtPlusPlus/core/handler/events/LoginEventHandler.java
index b787acd02d..e12608d488 100644
--- a/src/Java/gtPlusPlus/core/handler/events/LoginEventHandler.java
+++ b/src/Java/gtPlusPlus/core/handler/events/LoginEventHandler.java
@@ -9,6 +9,7 @@ import gtPlusPlus.core.proxy.ClientProxy;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.player.PlayerCache;
import gtPlusPlus.core.util.player.PlayerUtils;
+import gtPlusPlus.core.util.version.VersionUtils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
@@ -41,9 +42,7 @@ public class LoginEventHandler {
if (!CORE.isModUpToDate){
Utils.LOG_INFO("You're not using the latest recommended version of GT++, consider updating.");
- if (!CORE.MASTER_VERSION.toLowerCase().equals("offline")) {
- Utils.LOG_INFO("Latest version is: "+CORE.MASTER_VERSION);
- }
+ Utils.LOG_INFO("Latest version is: "+VersionUtils.getVersionObjectAsString(CORE.MASTER_VERSION));
Utils.LOG_INFO("You currently have: "+CORE.VERSION);
ShortTimer(this.localPlayerRef, 20);
}
diff --git a/src/Java/gtPlusPlus/core/lib/CORE.java b/src/Java/gtPlusPlus/core/lib/CORE.java
index d0e767ef3d..3d243b44ff 100644
--- a/src/Java/gtPlusPlus/core/lib/CORE.java
+++ b/src/Java/gtPlusPlus/core/lib/CORE.java
@@ -3,10 +3,10 @@ package gtPlusPlus.core.lib;
import java.util.*;
import gregtech.api.GregTech_API;
-import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.geo.GeoUtils;
import gtPlusPlus.core.util.gregtech.recipehandlers.GregtechRecipe;
-import gtPlusPlus.core.util.networking.NetworkUtils;
+import gtPlusPlus.core.util.version.Version;
+import gtPlusPlus.core.util.version.VersionUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
import gtPlusPlus.xmod.gregtech.api.interfaces.internal.IGregtech_RecipeAdder;
import gtPlusPlus.xmod.gregtech.api.objects.XSTR;
@@ -29,10 +29,14 @@ public class CORE {
public static final String name = "GT++";
public static final String MODID = "miscutils";
- public static final String VERSION = "1.5.0-Beta";
- public static final String MASTER_VERSION = NetworkUtils.getContentFromURL("https://raw.githubusercontent.com/draknyte1/GTplusplus/master/Recommended.txt").toLowerCase();
+
+ //Version Objects
+ public static final Version VERSION = new Version(1, 5, 5, Version.SUFFIX.Release);
+ public static final Version MASTER_VERSION = VersionUtils.getVersionObjectFromGithub();
+ public static final String VERSION_STRING = VersionUtils.getVersionObjectAsString(VERSION);
+
public static final String USER_COUNTRY = GeoUtils.determineUsersCountry();
- public static boolean isModUpToDate = Utils.isModUpToDate();
+ public static boolean isModUpToDate = VersionUtils.isModUpToDate();
public static boolean DEBUG = false;
public static final boolean LOAD_ALL_CONTENT = false;
public static final int GREG_FIRST_ID = 760;
diff --git a/src/Java/gtPlusPlus/core/util/Utils.java b/src/Java/gtPlusPlus/core/util/Utils.java
index b31c248e22..23f5ab5507 100644
--- a/src/Java/gtPlusPlus/core/util/Utils.java
+++ b/src/Java/gtPlusPlus/core/util/Utils.java
@@ -51,18 +51,6 @@ public class Utils {
}
}
- public static boolean isModUpToDate(){
-
- if (CORE.MASTER_VERSION.toLowerCase().equals("offline")){
- return false;
- }
-
- if (CORE.MASTER_VERSION.equals(CORE.VERSION.toLowerCase())){
- return true;
- }
- return false;
- }
-
public static TC_AspectStack getTcAspectStack (final TC_Aspects aspect, final long size){
return getTcAspectStack(aspect.name(), (int) size);
}
diff --git a/src/Java/gtPlusPlus/core/util/version/Version.java b/src/Java/gtPlusPlus/core/util/version/Version.java
new file mode 100644
index 0000000000..592ad3445e
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/util/version/Version.java
@@ -0,0 +1,100 @@
+package gtPlusPlus.core.util.version;
+
+public class Version {
+
+ final int Major;
+ final int Minor;
+ final int Minor2;
+ final String Suffix;
+ final int SuffixID;
+
+ public Version(int Major, int Minor, int Minor2, SUFFIX Suffix){
+ this.Major = Major;
+ this.Minor = Minor;
+ this.Minor2 = Minor2;
+ this.Suffix = Suffix.getSuffix();
+ this.SuffixID = Suffix.ordinal();
+ }
+
+ public boolean isCurrentVersionNewer(Version this, Version comparingTo){
+
+ if (this.Major > comparingTo.Major){
+ return true;
+ }
+ else if (this.Major < comparingTo.Major){
+ return false;
+ }
+ else {
+ if (this.Minor > comparingTo.Minor){
+ return true;
+ }
+ else if (this.Minor < comparingTo.Minor){
+ return false;
+ }
+ else {
+ if (this.Minor2 > comparingTo.Minor2){
+ return true;
+ }
+ else if (this.Minor2 < comparingTo.Minor2){
+ return false;
+ }
+ else {
+ if (this.SuffixID > comparingTo.SuffixID){
+ return true;
+ }
+ else if (this.SuffixID < comparingTo.SuffixID){
+ return false;
+ }
+ else {
+ return false;
+ }
+ }
+ }
+ }
+ }
+
+ public boolean isVersionSame(Version comparingTo){
+ if (this.SuffixID == comparingTo.SuffixID){
+ return true;
+ }
+ else {
+ return false;
+ }
+ }
+
+ public boolean isUpdateRequired(Version comparingTo){
+ if (isVersionSame(comparingTo)){
+ return false;
+ }
+ else if (isCurrentVersionNewer(comparingTo)){
+ return false;
+ }
+ else {
+ return true;
+ }
+ }
+
+ public String getVersionAsString(){
+ return (this.Major+"."+this.Minor+"."+this.Minor2+"-"+this.Suffix);
+ }
+
+
+ public static enum SUFFIX {
+ Alpha("Alpha"),
+ Beta("Beta"),
+ Prerelease("Pre-Release"),
+ Release("Release");
+
+ private String nameSuffix;
+ private SUFFIX (final String suffix){
+ this.nameSuffix = suffix;
+ }
+
+ public String getSuffix(){
+ return this.nameSuffix;
+ }
+
+ }
+
+}
+
diff --git a/src/Java/gtPlusPlus/core/util/version/VersionUtils.java b/src/Java/gtPlusPlus/core/util/version/VersionUtils.java
new file mode 100644
index 0000000000..69de4a927d
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/util/version/VersionUtils.java
@@ -0,0 +1,46 @@
+package gtPlusPlus.core.util.version;
+
+import java.util.Arrays;
+
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.networking.NetworkUtils;
+import gtPlusPlus.core.util.version.Version.SUFFIX;
+
+public class VersionUtils {
+
+ public static Version getVersionObjectFromGithub(){
+ String str = NetworkUtils.getContentFromURL("https://raw.githubusercontent.com/draknyte1/GTplusplus/master/Recommended.txt").toLowerCase();
+ String versionNumber = str.substring(0, str.indexOf('-'));
+ Object[] version = Arrays.stream(versionNumber.split("\\.")).map(Integer::parseInt).toArray(size -> new Object[size]);
+ String versionType = str.substring(str.indexOf('-') + 1, str.length()).toLowerCase();
+
+ SUFFIX suffix;
+ if (versionType.toLowerCase().equals("alpha")){
+ suffix = SUFFIX.Alpha;
+ }
+ else if (versionType.toLowerCase().equals("beta")){
+ suffix = SUFFIX.Beta;
+ }
+ else if (versionType.toLowerCase().equals("prerelease")){
+ suffix = SUFFIX.Prerelease;
+ }
+ else {
+ suffix = SUFFIX.Release;
+ }
+ Utils.LOG_INFO("Recommended Version of GT++ [According to Master Version File] is "+version[0]+"."+version[1]+"."+version[2]+"-"+suffix.getSuffix()+".");
+ return new Version((int)version[0], (int)version[1], (int)version[2], suffix);
+ }
+
+ public static String getVersionObjectAsString(Version version){
+ return (version.Major+"."+version.Minor+"."+version.Minor2+"-"+version.Suffix);
+ }
+
+ public static boolean isModUpToDate(){
+ if (CORE.VERSION.isUpdateRequired(CORE.MASTER_VERSION)){
+ return false;
+ }
+ return true;
+ }
+
+}
diff --git a/src/resources/mcmod.info b/src/resources/mcmod.info
index 0f0384a41c..c1a58fc343 100644
--- a/src/resources/mcmod.info
+++ b/src/resources/mcmod.info
@@ -5,7 +5,7 @@
"description": "Adds a few various Multiblocks, Machines, etc to Gregtech and a plethora of other mods (Nearly 30!)",
"credits": "",
"logoFile": "",
- "version": "1.5.0-Beta",
+ "version": "1.5.5-Release",
"mcversion": "1.7.10",
"url": "https://github.com/draknyte1/GTplusplus/wiki",
"updateUrl": "https://github.com/draknyte1/GTplusplus/releases/latest",