Lex doesn't like this.

Revert "Fix up MC version compatibility checking to be a little less verbose."

This reverts commit 1927fd76e2.
This commit is contained in:
cpw committed 2017-08-06 20:30:16 -02:30
1 parent 1927fd76e2
commit cc30c679e4
3 files changed
+17 -24

No files matched your search

@@ -31,17 +31,15 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import net.minecraftforge.fml.common.versioning.DefaultArtifactVersion;
import net.minecraftforge.fml.common.versioning.VersionRange;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import com.google.common.io.ByteStreams;
import com.google.gson.Gson;
import net.minecraftforge.fml.common.FMLLog;
import net.minecraftforge.fml.common.InjectedModContainer;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.ModContainer;
@@ -62,7 +60,6 @@ public class ForgeVersion
//This number is incremented every time Jenkins builds Forge, and never reset. Should always be 0 in the repo code.
public static final int buildVersion = 0;
// This is the minecraft version we're building for - used in various places in Forge/FML code
// Update version compatibility list below if there is SRG compatibility between this version and some previous versions
public static final String mcVersion = "1.12.1";
// This is the MCP data version we're using
public static final String mcpVersion = "9.41";
@@ -71,12 +68,6 @@ public class ForgeVersion
@SuppressWarnings("unused")
private static String target = null;
/*
* Version compatibility. Add new version strings for each version we're SRG compatible with.
* Reset the list to empty only when incompatible changes occur.
*/
private static String[] extraCompatibleVersions = { "1.12" };
private static final Logger log = LogManager.getLogger("ForgeVersionCheck");
public static int getMajorVersion()
@@ -116,15 +107,6 @@ public class ForgeVersion
return String.format("%d.%d.%d.%d", majorVersion, minorVersion, revisionVersion, buildVersion);
}
// We add in the current version (we're compatible with it) and test additional versions for compatibility
private static List<DefaultArtifactVersion> COMPATIBLE_VERSIONS = Stream.concat(Stream.of(mcVersion), Stream.of(extraCompatibleVersions))
.map(s -> new DefaultArtifactVersion("dummy", s)).collect(Collectors.toList());
// Tests the mod supplied version range for compatibility with our version compatibility list
public static boolean testMinecraftVersionCompatibility(VersionRange modVersion) {
return COMPATIBLE_VERSIONS.stream().anyMatch(modVersion::containsVersion);
}
public static enum Status
{
PENDING(),
@@ -67,6 +67,7 @@ import java.util.function.Function;
import com.google.common.base.Strings;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableList.Builder;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ListMultimap;
@@ -255,7 +256,16 @@ public class FMLModContainer implements ModContainer
}
String mcVersionString = (String)descriptor.get("acceptedMinecraftVersions");
if ("[1.8.8]".equals(mcVersionString)) mcVersionString = "[1.8.8,1.8.9]"; // MC 1.8.8 and 1.8.9 is forward SRG compatible so accept these versions by default.
if ("[1.9.4]".equals(mcVersionString) ||
"[1.9,1.9.4]".equals(mcVersionString) ||
"[1.9.4,1.10)".equals(mcVersionString) ||
"[1.10]".equals(mcVersionString))
mcVersionString = "[1.9.4,1.10.2]";
if ("[1.11]".equals(mcVersionString))
mcVersionString = "[1.11,1.11.2]";
if ("[1.12]".equals(mcVersionString))
mcVersionString = "[1.12,1.12.1]";
if (!Strings.isNullOrEmpty(mcVersionString))
{
minecraftAccepted = VersionParser.parseRange(mcVersionString);
@@ -26,6 +26,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
@@ -34,7 +35,6 @@ import java.util.Properties;
import java.util.Set;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.ForgeVersion;
import net.minecraftforge.common.capabilities.CapabilityManager;
import net.minecraftforge.common.config.ConfigManager;
import net.minecraftforge.common.crafting.CraftingHelper;
@@ -62,6 +62,7 @@ import org.apache.commons.io.IOUtils;
import org.apache.logging.log4j.Level;
import com.google.common.base.CharMatcher;
import java.util.function.Function;
import com.google.common.base.Joiner;
import com.google.common.base.Splitter;
import com.google.common.collect.ArrayListMultimap;
@@ -237,9 +238,9 @@ public class Loader
ArrayListMultimap<String, String> reqList = ArrayListMultimap.create();
for (ModContainer mod : getActiveModList())
{
if (!ForgeVersion.testMinecraftVersionCompatibility(mod.acceptableMinecraftVersionRange()))
if (!mod.acceptableMinecraftVersionRange().containsVersion(minecraft.getProcessedVersion()))
{
FMLLog.log.fatal("The mod {} does not wish to run in Minecraft version {}. It is compatible with {}. You will have to remove it to play.", mod.getModId(), getMCVersionString(), mod.acceptableMinecraftVersionRange());
FMLLog.log.fatal("The mod {} does not wish to run in Minecraft version {}. You will have to remove it to play.", mod.getModId(), getMCVersionString());
WrongMinecraftVersionException ret = new WrongMinecraftVersionException(mod, getMCVersionString());
FMLLog.log.fatal(ret.getMessage());
wrongMinecraftExceptions.add(ret);