diff options
| author | shedaniel <daniel@shedaniel.me> | 2022-06-28 03:23:21 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2022-06-28 03:23:21 +0800 |
| commit | 943fa03de28ed923a10100e7e094e69364acc2e9 (patch) | |
| tree | c5b2f1aa120ca994f28637b5ffd2afd7f6b26753 | |
| parent | 6c0eaa5b5d59870e3830fd3f877aa43847db56c7 (diff) | |
| download | RoughlyEnoughItems-943fa03de28ed923a10100e7e094e69364acc2e9.tar.gz RoughlyEnoughItems-943fa03de28ed923a10100e7e094e69364acc2e9.tar.bz2 RoughlyEnoughItems-943fa03de28ed923a10100e7e094e69364acc2e9.zip | |
Fix potential crash
| -rw-r--r-- | fabric/src/main/java/me/shedaniel/rei/mixin/fabric/MixinTagLoader.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fabric/src/main/java/me/shedaniel/rei/mixin/fabric/MixinTagLoader.java b/fabric/src/main/java/me/shedaniel/rei/mixin/fabric/MixinTagLoader.java index 493361c56..4e1f3b020 100644 --- a/fabric/src/main/java/me/shedaniel/rei/mixin/fabric/MixinTagLoader.java +++ b/fabric/src/main/java/me/shedaniel/rei/mixin/fabric/MixinTagLoader.java @@ -58,7 +58,10 @@ public class MixinTagLoader<T> { @Inject(method = "build", at = @At("RETURN")) private void loadPost(Map<ResourceLocation, Tag.Builder> map, CallbackInfoReturnable<Map<ResourceLocation, Tag<T>>> cir) { - HashBiMap<ResourceLocation, Tag<T>> biMap = HashBiMap.create(cir.getReturnValue()); + Map<Tag<T>, ResourceLocation> inverseMap = new HashMap<>(cir.getReturnValue().size()); + for (Map.Entry<ResourceLocation, Tag<T>> entry : cir.getReturnValue().entrySet()) { + inverseMap.put(entry.getValue(), entry.getKey()); + } ResourceKey<? extends Registry<?>> resourceKey = TagNodes.TAG_DIR_MAP.get(directory); if (resourceKey == null) return; TagNodes.TAG_DATA_MAP.put(resourceKey, new HashMap<>()); @@ -77,7 +80,7 @@ public class MixinTagLoader<T> { entryIterator.remove(); if (registry != null) { - ResourceLocation tagLoc = biMap.inverse().get(tag); + ResourceLocation tagLoc = inverseMap.get(tag); if (tagLoc != null) { TagNodes.RawTagData rawTagData = entry.getValue(); |
