The documentation suggests that scripts.scale can be used on attachables, but I haven’t been able to get it to work.
I’m attempting to work around an issue where villagers currently can't equip armor/head items and/or fail to render them. I've made adjustments to the villager behavior file to allow me to interact with them to equip a creeper head (which, due to the bug, fails to render), and then I created a custom attachable and successfully got it to render on a villager, but I can’t adjust its size—scripts.scale does not appear to have any effect.
For comparison, I tested the same creeper head on a custom nitwit-based entity (not a true villager) using the native slot.armor.head behavior. That renders at the expected size. On the villager, however, I have to rely on the attachable for rendering, and it appears smaller. It honestly doesn't look bad smaller, but because I can't access the vanilla attachable to make the custom nitwit's creeper head appear smaller, I'm trying to make my custom attachable for vilagers appear larger so that they match.
Scaling the geometry directly isn’t a good solution, since it distorts the model rather than scaling it cleanly.
At this point, I’m just trying to determine whether attachables can actually be scaled at runtime, or if scripts.scale is not functional in this context.
{
"format_version": "1.10.0",
"minecraft:attachable": {
"description": {
"identifier": "daggerbyte:creeper_head.villager",
"item": {
"minecraft:creeper_head": "query.owner_identifier == 'minecraft:villager_v2' || query.owner_identifier == 'minecraft:pillager' || query.owner_identifier == 'minecraft:evocation_illager' || query.owner_identifier == 'minecraft:zombie_villager_v2' || query.owner_identifier == 'minecraft:vindicator' || query.owner_identifier == 'minecraft:witch' || query.owner_identifier == 'minecraft:wandering_trader' || query.owner_identifier == 'minecraft:npc'"
},
"materials": {
"default": "armor"
},
"geometry": {
"default": "geometry.mob_head"
},
"scripts": {
// "scale": "1.1"
"scale": "2.0"
},
"textures": {
"default": "textures/entity/skulls/creeper"
},
"render_controllers": [
"controller.render.creeper_head"
]
}
}
}