From b66dcf78f163bdea288b0b7bff8484cb5743702e Mon Sep 17 00:00:00 2001
From: apple502j <33279053+apple502j@users.noreply.github.com>
Date: Thu, 1 Feb 2024 04:32:38 +0900
Subject: [PATCH] Fix duplicate resource pack names (#3557)

---
 .../fabric/impl/resource/loader/ModNioResourcePack.java        | 3 ++-
 .../fabric/impl/resource/loader/ModResourcePackCreator.java    | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/impl/resource/loader/ModNioResourcePack.java b/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/impl/resource/loader/ModNioResourcePack.java
index e1c42d447..db8e0d7cb 100644
--- a/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/impl/resource/loader/ModNioResourcePack.java
+++ b/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/impl/resource/loader/ModNioResourcePack.java
@@ -94,7 +94,8 @@ public class ModNioResourcePack implements ResourcePack, ModResourcePack {
 
 		if (paths.isEmpty()) return null;
 
-		ModNioResourcePack ret = new ModNioResourcePack(id, mod, paths, type, activationType, modBundled);
+		String packId = subPath == null ? id : id + "_" + subPath;
+		ModNioResourcePack ret = new ModNioResourcePack(packId, mod, paths, type, activationType, modBundled);
 
 		return ret.getNamespaces(type).isEmpty() ? null : ret;
 	}
diff --git a/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/impl/resource/loader/ModResourcePackCreator.java b/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/impl/resource/loader/ModResourcePackCreator.java
index ea3464c4d..b56ab9449 100644
--- a/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/impl/resource/loader/ModResourcePackCreator.java
+++ b/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/impl/resource/loader/ModResourcePackCreator.java
@@ -122,7 +122,7 @@ public class ModResourcePackCreator implements ResourcePackProvider {
 					? Text.translatable("pack.name.fabricMod", pack.getFabricModMetadata().getName())
 					: Text.translatable("pack.name.fabricMod.subPack", pack.getFabricModMetadata().getName(), Text.translatable("resourcePack." + subPath + ".name"));
 			ResourcePackProfile profile = ResourcePackProfile.create(
-					subPath == null ? pack.getName() : pack.getName() + "_" + subPath,
+					pack.getName(),
 					displayName,
 					subPath == null,
 					new ModResourcePackFactory(pack),