From 943fa03de28ed923a10100e7e094e69364acc2e9 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Tue, 28 Jun 2022 03:23:21 +0800 Subject: Fix potential crash --- .../main/java/me/shedaniel/rei/mixin/fabric/MixinTagLoader.java | 7 +++++-- 1 file 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 { @Inject(method = "build", at = @At("RETURN")) private void loadPost(Map map, CallbackInfoReturnable>> cir) { - HashBiMap> biMap = HashBiMap.create(cir.getReturnValue()); + Map, ResourceLocation> inverseMap = new HashMap<>(cir.getReturnValue().size()); + for (Map.Entry> entry : cir.getReturnValue().entrySet()) { + inverseMap.put(entry.getValue(), entry.getKey()); + } ResourceKey> 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 { entryIterator.remove(); if (registry != null) { - ResourceLocation tagLoc = biMap.inverse().get(tag); + ResourceLocation tagLoc = inverseMap.get(tag); if (tagLoc != null) { TagNodes.RawTagData rawTagData = entry.getValue(); -- cgit