mojira.dev
MCPE-217686

Attachables overwrite client entity files

Attachable files overwrite client entity settings if if they use same id. This breaks attachables applied to minecraft:chicken, minecraft:rabbit, minecraft:cod and some other items

Steps to reproduce:
1. Create an attachable with vanilla mob id (e.g. minecraft:chicken)
2. (optional) Copy a client entity file of the mob from bedrock-samples to make sure it remains vanilla
3. Apply the pack and join any world
4. Spawn the entity (e.g., a chicken) and place the corresponding item (e.g., raw chicken) in your main hand slot

Expected behavior:
Entity model and texture remain unchanged, since attachables are made to change item visuals. Attachable model is rendered as intended

Actual behavior:
Attachable model is only rendered if min_engine_version property added to the attachable description AND entity itself is replaced by attachable’s texture and model

Works, breaks client entities:

{
    "format_version": "1.10.0",
    "minecraft:attachable": {
        "description": {
            "identifier": "minecraft:chicken",
            "min_engine_version": "1.13.0", // min_engine_version
            "materials": {
                "default": "entity_alphatest",
                "legs": "chicken_legs"
            },
            "geometry": {
                "default": "geometry.custom_chicken"
            },
            "textures": {
                "default": "textures/chicken.png"
            },
            "render_controllers": [
                "controller.render.chicken"
            ]
        }
    }
}

Doesn’t work. Both item and entity models remain unchanged

{
    "format_version": "1.10.0",
    "minecraft:attachable": {
        "description": {
            "identifier": "minecraft:chicken",
            "materials": {
                "default": "entity_alphatest",
                "legs": "chicken_legs"
            },
            "geometry": {
                "default": "geometry.custom_chicken"
            },
            "textures": {
                "default": "textures/chicken.png"
            },
            "render_controllers": [
                "controller.render.chicken"
            ]
        }
    }
}

I’ve made an example pack attached to this post. All you need is to enable it, spawn a chicken and hold a raw chicken item (chicken entity and raw chicken item both share the same id). Client entity files are vanilla files copied from bedrock-samples. As you can see, attachables also have a priority over files in entity folder

Attachments

Comments 0

No comments.

Mixerbltb

(Unassigned)

Unconfirmed

Multiple

1.21.90.20 Preview, 1.21.73 Hotfix

Retrieved