Dynamic Skins
Dynamic Skins lets a client swap player skins according to conditions set in a JavaScript configuration file, and it runs only on the client.
What it does
Once the mod is installed and the game has been launched a single time, a file named dynamic-skins.js appears in the configuration folder. Its location is printed in the logs on first launch. The file holds a simple JavaScript API that replaces player skins based on conditions the author writes. Skin replacement happens only on the client, so a server does not need the mod and players who join without it see the normal skins.
Changes show only in the in-game skin selector, the mods tab list and the social interactions screen. The configuration runs once for each player rendered every frame, while the file itself is read only at initialisation and cached in memory. Edits take effect after a reload, either through the Reload configuration button on the Dynamic Skins page of Mod Menu or by running the reload command. Skins are referenced by resource location in the form namespace:path/to/image.png, so custom images are supplied through a resource pack.
Dynamic Skins requires Fabric API and Rhino, and Mod Menu is optional for the reload button. Builds are published for Fabric and Quilt, with 1.2.1 for 1.20.1 as the latest file, under the MIT License, and the source code is open source.
Key features
Conditional skin selection
Skins are chosen by conditions evaluated in the configuration, so the skin shown can depend on the player and the situation.
State that persists
A value can be stored and kept across both players and frames, which allows skins to change over time.
Animated skins
A skin can cycle through a series of image frames, for example skins:01.png through skins:32.png, to form an animation.
Reloadable configuration
Changes to the configuration apply after a reload, from Mod Menu or the reload command, without restarting the game.
Compatibility
Latest build for each game version and loader.
Only full game releases are shown. This mod publishes no snapshot builds.
Requirements
Dependencies declared by the latest file for each loader.
Required 2
Optional 1
How it compares
SpecialSkin is a Fabric-only mod for 1.20.1 – 1.20.4 that works on the client alone, under the MIT License, and it is open source. Dynamic Textures is a Fabric-only mod for 1.20.1 that also works on the client alone, under the MIT License, and it is open source. ClovSkins is published for Fabric and Quilt across 1.21.3 – 26.2, is not open source, and works on either side, and neither side needs it.
| Mod | Loaders | Game versions | Environment | Updated |
|---|---|---|---|---|
| Dynamic Skins | Fabric and Quilt | 1.20.1 | Client-side only | 2024-08-06 |
| SpecialSkin | Fabric | 1.20.1 – 1.20.4 | Client-side only | 2023-12-19 |
| Dynamic Textures | Fabric | 1.20.1 | Client-side only | 2024-03-12 |
| ClovSkins | Fabric and Quilt | 1.21.3 – 26.2 | Client or server, optional | 2026-08-14 |
Questions
Does Dynamic Skins need Fabric API and Rhino?
Does the server need Dynamic Skins?
How are custom skins supplied to Dynamic Skins?
In the catalog
Dynamic Skins is one of 36,990 Utility mods on ModsFinder, and one of 25,772 Utility mods for Fabric. 34,764 mods support Minecraft 1.20.1.
More from diacritics-owo
Similar mods
What the author says
Set your skin dynamically based on conditions (client-only for now) After installing the mod and launching the game once, a file called dynamic-skins.js will be written to the configuration folder (if you don't know where that is, Dynamic Skins will helpfully tell you the file path in the logs on the first launch).
Official listing
- Modrinth page
- modrinth.com/mod/dynamic-skins
- Owner
- diacritics-owo
- Published
- 2024-07-28
- Updated on Modrinth
- 2024-08-06
- Facts verified
- 2026-10-15
