Skip to content

Commit 03d6562

Browse files
[Incomplete] fixing missing advancement icon model forwarding
1 parent 1cba6c7 commit 03d6562

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

gm4/plugins/resource_pack.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,9 @@ def beet_default(ctx: Context):
359359
VanillaTemplate.vanilla = Vanilla(ctx)
360360
VanillaTemplate.vanilla.minecraft_version = '1.21.4'
361361
VanillaTemplate.vanilla_jar = VanillaTemplate.vanilla.mount("assets/minecraft/items")
362+
AdvancementIconTemplate.vanilla = Vanilla(ctx)
363+
AdvancementIconTemplate.vanilla.minecraft_version = '1.21.4'
364+
AdvancementIconTemplate.vanilla_jar = AdvancementIconTemplate.vanilla.mount("assets/minecraft/items")
362365

363366
yield
364367
tl.warn_unused_translations()
@@ -1044,12 +1047,16 @@ def process(self, config: ModelData, models_container: NamespaceProxy[Model]):
10441047
class AdvancementIconTemplate(TemplateOptions):
10451048
name = "advancement"
10461049
forward: Optional[str]
1050+
vanilla: ClassVar[Vanilla] # mounted to by beet plugin since it requires context access
1051+
vanilla_jar: ClassVar[ClientJar]
10471052

10481053
# NOTE since advancements are all in the gm4 namespace, so are these models. This template ignores the 'model' field of ModelData
10491054
def process(self, config: ModelData, models_container: NamespaceProxy[Model]) -> list[Model]:
10501055
advancement_name = config.reference.split("/")[-1]
10511056
if not self.forward:
1052-
self.forward = f"minecraft:item/{config.item.entries()[0]}"
1057+
item = config.item.entries()[0]
1058+
self.forward = self.vanilla_jar.assets.item_models[add_namespace(item, "minecraft")].data.get("model", {}).get("model", "") # type: ignore ; json access is string
1059+
10531060
m = models_container[f"gm4:gui/advancements/{advancement_name}"] = Model({
10541061
"parent": self.forward
10551062
})

0 commit comments

Comments
 (0)