@@ -0,0 +1,1508 @@
+package com.github.to2mbn.jmccc.mcdownloader.provider.forge;%0A%0Aimport java.util.Objects;%0Aimport org.json.JSONObject;%0A%0Apublic class ForgeVersion %7B%0A%09%0A%09public static ForgeVersion fromJson(JSONObject json) %7B%0A%09%09return new ForgeVersion(json.getString(%22mcversion%22), json.getString(%22version%22), json.getInt(%22build%22));%0A%09%7D%0A%0A%09private String minecraftVersion;%0A%09private String forgeVersion;%0A%09private int buildNumber;%0A%0A%09public ForgeVersion(String minecraftVersion, String forgeVersion, int buildNumber) %7B%0A%09%09Objects.requireNonNull(minecraftVersion);%0A%09%09Objects.requireNonNull(forgeVersion);%0A%09%09this.minecraftVersion = minecraftVersion;%0A%09%09this.forgeVersion = forgeVersion;%0A%09%09this.buildNumber = buildNumber;%0A%09%7D%0A%0A%09public String getMinecraftVersion() %7B%0A%09%09return minecraftVersion;%0A%09%7D%0A%0A%09public String getForgeVersion() %7B%0A%09%09return forgeVersion;%0A%09%7D%0A%0A%09public int getBuildNumber() %7B%0A%09%09return buildNumber;%0A%09%7D%0A%0A%09public String getVersionName() %7B%0A%09%09return minecraftVersion + %22-forge%22 + minecraftVersion + %22-%22 + forgeVersion;%0A%09%7D%0A%0A%09@Override%0A%09public String toString() %7B%0A%09%09return getVersionName();%0A%09%7D%0A%0A%09@Override%0A%09public int hashCode() %7B%0A%09%09return Objects.hash(minecraftVersion, forgeVersion, buildNumber);%0A%09%7D%0A%0A%09@Override%0A%09public boolean equals(Object obj) %7B%0A%09%09if (obj == this) %7B%0A%09%09%09return true;%0A%09%09%7D%0A%09%09if (obj instanceof ForgeVersion) %7B%0A%09%09%09ForgeVersion another = (ForgeVersion) obj;%0A%09%09%09return minecraftVersion.equals(another.minecraftVersion) && forgeVersion.equals(forgeVersion) && buildNumber == another.buildNumber;%0A%09%09%7D%0A%09%09return false;%0A%09%7D%0A%0A%7D%0A

add ForgeVersion