From c386ee31f60f12c50523189d33018e8fcbc6b4d6 Mon Sep 17 00:00:00 2001 From: Eclipse Date: Mon, 20 Oct 2025 08:43:59 +0000 Subject: [PATCH] Fix: allow different items with the same CMD to be mapped (#6) --- .../main/java/org/geysermc/rainbow/pack/BedrockPack.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/rainbow/src/main/java/org/geysermc/rainbow/pack/BedrockPack.java b/rainbow/src/main/java/org/geysermc/rainbow/pack/BedrockPack.java index dce3352..131bf28 100644 --- a/rainbow/src/main/java/org/geysermc/rainbow/pack/BedrockPack.java +++ b/rainbow/src/main/java/org/geysermc/rainbow/pack/BedrockPack.java @@ -1,7 +1,6 @@ package org.geysermc.rainbow.pack; -import it.unimi.dsi.fastutil.ints.IntOpenHashSet; -import it.unimi.dsi.fastutil.ints.IntSet; +import com.mojang.datafixers.util.Pair; import net.minecraft.core.Holder; import net.minecraft.core.component.DataComponentPatch; import net.minecraft.core.component.DataComponents; @@ -44,7 +43,7 @@ public class BedrockPack { private final BedrockTextures.Builder itemTextures = BedrockTextures.builder(); private final Set bedrockItems = new HashSet<>(); private final Set modelsMapped = new HashSet<>(); - private final IntSet customModelDataMapped = new IntOpenHashSet(); + private final Set> customModelDataMapped = new HashSet<>(); private final PackContext context; private final ProblemReporter reporter; @@ -95,7 +94,7 @@ public class BedrockPack { CustomModelData customModelData = stack.get(DataComponents.CUSTOM_MODEL_DATA); Float firstNumber; if (customModelData == null || (firstNumber = customModelData.getFloat(0)) == null - || !customModelDataMapped.add((firstNumber.intValue()))) { + || !customModelDataMapped.add(Pair.of(stack.getItem(), firstNumber.intValue()))) { return MappingResult.NONE_MAPPED; }