On a GTNH daily, a GregTech page shows Content from GTNH-GregTech-ru_RU-0.0.5 in the footer. The page comes from config/guidenh/DefaultGuide.zip. That resource pack holds four .lang files, no guide pages and no guidenh.page.* keys.
GuideLightweightReloadService sets the page source to "resources:" + namespace, which drops the pack identity. getSourceDisplayName in GuideScreen then scans the player's resource pack list backwards and returns the first pack declaring that namespace, so any pack shipping assets/gregtech/ takes the credit. GuideNH injects DefaultGuide into the FML pack list, and getRepositoryEntries never lists it, so DefaultGuide loses that lookup.
To reproduce: enable a resource pack containing assets/gregtech/lang/ru_RU.lang, then open a GregTech page from the default guide.
DataDrivenGuideLoader keeps the IResourcePack behind each page candidate. Passing that pack into ParsedGuidePage would remove the guessing.
On a GTNH daily, a GregTech page shows
Content from GTNH-GregTech-ru_RU-0.0.5in the footer. The page comes fromconfig/guidenh/DefaultGuide.zip. That resource pack holds four.langfiles, no guide pages and noguidenh.page.*keys.GuideLightweightReloadServicesets the page source to"resources:" + namespace, which drops the pack identity.getSourceDisplayNameinGuideScreenthen scans the player's resource pack list backwards and returns the first pack declaring that namespace, so any pack shippingassets/gregtech/takes the credit. GuideNH injects DefaultGuide into the FML pack list, andgetRepositoryEntriesnever lists it, so DefaultGuide loses that lookup.To reproduce: enable a resource pack containing
assets/gregtech/lang/ru_RU.lang, then open a GregTech page from the default guide.DataDrivenGuideLoaderkeeps theIResourcePackbehind each page candidate. Passing that pack intoParsedGuidePagewould remove the guessing.