From 2a959e2e4f4a3a55110fbdc8f822d098feb7e446 Mon Sep 17 00:00:00 2001 From: Jacobwasbeast Date: Sun, 8 Mar 2026 21:02:43 -0500 Subject: [PATCH] fix(runtime): preserve namespace tag for missing item fallback --- WeaveLoaderRuntime/src/WorldIdRemap.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/WeaveLoaderRuntime/src/WorldIdRemap.cpp b/WeaveLoaderRuntime/src/WorldIdRemap.cpp index 9429ece..a358247 100644 --- a/WeaveLoaderRuntime/src/WorldIdRemap.cpp +++ b/WeaveLoaderRuntime/src/WorldIdRemap.cpp @@ -255,6 +255,14 @@ namespace WorldIdRemap if (!itemTag) return; + // Never let placeholder IDs overwrite a previously saved real namespace. + if (namespacedId == kMissingItemId || namespacedId == kMissingBlockId) + { + std::wstring existingNamespace; + if (TryGetCompoundString(itemTag, kNamespaceTagKey, &existingNamespace) && !existingNamespace.empty()) + return; + } + const std::wstring namespacedWide(namespacedId.begin(), namespacedId.end()); if (!PutCompoundString(itemTag, kNamespaceTagKey, namespacedWide)) return;