Skip to content

[Feature] Same model with texture variations #387

Description

@Mirazez

🐞 Feature Description

Add a support for changing texture of all bones, which it use (now it need to fully clone model and change texture - it takes up a lot of memory in resourcepack). I think it will works in resource pack with parent model and models, where will change just a texture.

🧪 Example / Mock-up (Optional)

For getting an unique id (like group) for changable texture - make name of textures like
Changable:

  first:koenigsegg_agera_r_white // Can change with 'koenigsegg_agera_r_red'
  first:koenigsegg_agera_r_red // Can change with 'koenigsegg_agera_r_white'
  unique_texture_what_does_not_change // Static texture

As a default changable texture will take a first texture in group

Of course it need to make integration in api for TrackerUpdateAction and MythicMobs

  tracker.update(
    TrackerUpdateAction.changeDynamicTexture("first", "koegnisegg_agera_r_red"),
    BonePredicate.TRUE
  )

🌍 Environment (Optional but Helpful)

  • Server software & version: Folia 1.21.8
  • BetterModel version: 2.0.0
  • Java version: 1.21.8

Disclaimer

The following environments are not supported, and feature requests relying on these conditions will not be considered:

- Informal / modified launchers (e.g., Feather Client)
- Closed-source mods/plugins (Optifine, ItemsAdder, Nexo, etc.)
- Hybrid server platforms (e.g., Arclight)
- Legacy server versions (1.21.1 or lower)
- Bedrock Edition
- Extremely outdated CPU / hardware
- Features fundamentally **impossible on server-side** due to engine or protocol limitations

Metadata

Metadata

Assignees

Labels

help wantedExtra attention is needed

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions