diff --git a/build.gradle b/build.gradle index 21c68c1..ee304c3 100644 --- a/build.gradle +++ b/build.gradle @@ -20,7 +20,7 @@ plugins { id "net.minecraftforge.gradle.forge" version "2.0.2" } */ -version = "1.10.2-1.7" +version = "1.10.2-1.7b" group= "wanion.unidict" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "UniDict" diff --git a/src/main/java/wanion/unidict/common/Reference.java b/src/main/java/wanion/unidict/common/Reference.java index 923488b..680281e 100644 --- a/src/main/java/wanion/unidict/common/Reference.java +++ b/src/main/java/wanion/unidict/common/Reference.java @@ -14,7 +14,7 @@ public final class Reference { public static final String MOD_ID = "UniDict"; public static final String MOD_NAME = MOD_ID; - public static final String MOD_VERSION = "1.10.2-1.7"; + public static final String MOD_VERSION = "1.10.2-1.7b"; public static final char SLASH = separatorChar; public static final String MC_VERSION = "[1.10.2]"; diff --git a/src/main/java/wanion/unidict/resource/Resource.java b/src/main/java/wanion/unidict/resource/Resource.java index 2559f16..8c609c6 100644 --- a/src/main/java/wanion/unidict/resource/Resource.java +++ b/src/main/java/wanion/unidict/resource/Resource.java @@ -77,8 +77,9 @@ public int getChildrenCount() public Resource filteredClone(final TIntList kindList) { final TIntObjectMap newChildrenMap = new TIntObjectHashMap<>(); + final TIntSet kindSet = new TIntHashSet(kindList); childrenMap.forEachEntry((child, container) -> { - if (childrenExists(kindList)) + if (kindSet.contains(child)) newChildrenMap.put(child, container); return true; }); diff --git a/src/main/java/wanion/unidict/resource/UniResourceHandler.java b/src/main/java/wanion/unidict/resource/UniResourceHandler.java index ca51c10..19319da 100644 --- a/src/main/java/wanion/unidict/resource/UniResourceHandler.java +++ b/src/main/java/wanion/unidict/resource/UniResourceHandler.java @@ -9,6 +9,7 @@ */ import com.google.common.collect.Sets; +import gnu.trove.list.TIntList; import gnu.trove.map.hash.THashMap; import gnu.trove.map.hash.TIntObjectHashMap; import gnu.trove.set.TLongSet; @@ -143,7 +144,8 @@ private void createResources() }); apiResourceMap.put(resourceName, new Resource(resourceName, kindMap)); }); - Config.metalsToUnify.stream().filter(apiResourceMap::containsKey).forEach(resourceName -> resourceMap.put(resourceName, apiResourceMap.get(resourceName).filteredClone(Resource.kindNamesToKindList(Config.childrenOfMetals.toArray(new String[Config.childrenOfMetals.size()]))).setSortOfChildren(true))); + final TIntList kindList = Resource.kindNamesToKindList(Config.childrenOfMetals.toArray(new String[Config.childrenOfMetals.size()])); + Config.metalsToUnify.stream().filter(apiResourceMap::containsKey).forEach(resourceName -> resourceMap.put(resourceName, apiResourceMap.get(resourceName).filteredClone(kindList).setSortOfChildren(true))); if (!Config.customUnifiedResources.isEmpty()) { Config.customUnifiedResources.forEach((resourceName, kinds) -> { final Resource customResource = resourceMap.containsKey(resourceName) ? resourceMap.get(resourceName) : new Resource(resourceName); diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index db4dc71..05fee3f 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -3,7 +3,7 @@ "modid": "UniDict", "name": "UniDict", "description": "a mod about unifying all the things.", - "version": "1.7", + "version": "1.7b", "mcversion": "${mcversion}", "url": "http://minecraft.curseforge.com/projects/unidict", "updateUrl": "",