Mods / Entity Color Tint

Tags: #Creatures #Graphics
Author: PureWinter
Side: Both
Created: Sep 12th at 9:23 AM
Last modified: Nov 4th at 3:42 AM
Downloads: 4423
Follow Unfollow 190

Recommended download (for Vintage Story 1.21.1 - 1.21.5):
entitycolortint_2.1.3.zip  1-click install


Ever noticed how all deer and rabbits are just..identical?
Wish they were a little different from each other without being unnatural?

This mod subtly gives all animals a slight individual color shift (that persists through growth stages), but has a big impact in game for the 'natural' feel, like it belongs there.
Automatically works on mod-added entities as well. (Like equus, FOTSA, wyverns from draconis, etc.)



100% compatible with mods that add color variants/additional animal variants or affect animal breeding/genetics because this does NOT assign or modify any textures at all- it uses watched attributes and uses no 'actual' breeding logic or harmony patches- it creates its own data beacons and passes them off when animals are born, looking for its nearby parents in the process.



Shouldn't turn white animals pink or red, keeps the vast majority of animals a very natural color with just subtle variation so they are not clones. (Out of the box, VANILLA animals are pre-configured. Mod animals will default to a tint type unless you manually assign it one, more on that below in configging. You can config for a whole server, and users can config locally client side if they disagree with what someone set for a server and want their own look.)

 

All vanilla animals have various color types they can show and how variable each 'gene' affects them:
 SoftHue, Gray, Dark, White, Mutant (Breed Only)

 

Infrequently, a particularly darker, redder, grayer, or brighter individual may spawn as well. Breeding those may result in even DARKER or brighter individuals. :)

                          ---------Breeding and Mutations---------

 

 


Colors may average between parents or push beyond a parent's color, producing tints you cannot find in the wild. You can compound them to ridiculously stupid appearances over generations for fun if you want to.

When breeding (all) animals, there is a 2.5% (configgable!) chance of a mutant offspring that has crazy (and unnatural) colors. You can compound them by continuing to breed them.

Because these affect attributes/watched attributes it will probably tint elk saddles as well- but shouldn't really 'conflict' with modded animals. It will continue to affect modded-in animals, however with a 'default' assignment which is 'soft hue'. I have included several useful configs that allow you to 'opt out' of client loading of colors on a server using this mod, or only for specific species. You can disable unnatural mutations or mutations for animals using 'arctic' color logic to prevent polar bears and arctic hares and foxes turning purple, lol. 

*Chickens (and probably other things that hatch from eggs) are not considered to have parents so they kind of just get their own separate handler that applies a mutation chance. The other 'normal' babies scan for nearby adults when determining their pedigree. 

*Since this mod searches young animals by type 'cub' 'foal' etc, it may miss a mod-added baby. In that case it should apply the tint when they grow up. (But traits wont be breedable, they get a wild tint.) I added the vast majority of common animal name variations though!


                           ---------Configs---------


-See the spawned config file after launching in game once to see full list of options.
Options that require some explaining:

4 modes are included for entities to better control how they appear (or don't appear) on both client and server.
Mode: Arctic     - Makes the entity use grayscale light/darker variants so NO pink/weird color tints on white!! 
Disable             - Disables entity color tinting for this entity entirely. (Server side so global.)
DisableRender - Ignores server preferences and the client loads vanilla textures for this species, even if everyone else sees tinted, you don't!
Custom            - Use tinting but make a species appear the way you want to client side, regardless what the server is doing.

 

 

                                    --CONFIG EXAMPLES --

 

"Rules": [
{ "Pattern": "coolfauna:fennec-*", "Side": "Server", "Mode": "Disable" },
{ "Pattern": "photomobs:peacock-*","Side": "Client", "Mode": "DisableRender" },
{ "Pattern": "othermod:yak-*", "Side": "Both", "Mode": "Arctic" },
{ "Pattern": "game:bear-adult-panda","Side": "Server","Mode": "Disable" },
{ "Pattern": "game:raccoon-*", "Side": "Server", "Mode": "Custom",
"Custom": { "WeightGray": 0.50, "Gray": { "Min": 0.65, "Max": 1.08 } } },
{ "Pattern": "game:deer-*", "Side": "Client", "Mode": "Custom",
"Custom": { "WeightWhite": 0.20, "White": { "Min": 1.08, "Max": 1.22 } } },

{
"Pattern": "game:fox-adult-red",
"Side": "Server",
"Mode": "Custom",
"Custom": {
"WeightSoftHue": 0.30,
"WeightGray": 0.55,
"WeightDark": 0.10,
"WeightWhite": 0.05,
"Gray": { "Min": 0.60, "Max": 1.10 }}},

{
"Pattern": "othermod:yak-*",
"Side": "Both",
"Mode": "Arctic"
}
]


---------Troubleshoot---------
May need to delete Vintage Story's cache in AppData\Roaming\VintagestoryData\Cache
^Mostly the shader, but.

Mod Version Mod IdentifierFor Game version Downloads Released Changelog Download 1-click mod install*
2.1.3 entitycolortint
1.21.1 - 1.21.5
1271 Nov 4th at 3:42 AM entitycolortint_2.1.3.zip 1-click install

Fixed player color

2.1.2 entitycolortint 2400 Sep 15th at 9:30 PM entitycolortint_2.1.2.zip 1-click install

Fixes the rave chicken apocolypse and returns wild animal babies to their normal tints.
Chickens are now fixed and working with this mod as intended with a more carefully handled 'orpha spawn' system. :) - Which carries over to hatchable entities from other mods if named in a way this mod automatically detects. (hatchling, baby, young, kit, cub, so on and so forth I included a ton of wordings to try finding them.)

2.1.1 entitycolortint 171 Sep 15th at 6:28 AM entitycolortint_2.1.1.zip 1-click install

-Hotfix to switch from 'testing and debugging' probabilities to intended release values. [Older release removed to prevent people accidentally downloading it.]
Safe to add to existing worlds. (Even existing tinted ones.) Delete old mod version before upgrading to this one. 

Additions
• Breed for lighter/darker over generations, beyond what you can find in the wild.
• Small chance of mutant colors on every birth.
• Mutants can compound into even more extreme variants (and with each other) into strange colors over generations.
• Many config options for controlling rendering on both client and server, and setting your own probabilities or rules.

Bug Fixes
• Babies now keep their exact tint aging up, even when mutated.
• Added handler for 'parentless' species, still not really working for chickens though.


-Updating shouldn't affect saves that already have tinted animals in, they should remain as they were and continue on!

1.0.0 entitycolortint 577 Sep 12th at 9:59 AM Empty entitycolortint_1.1.1.zip 1-click install

38 Comments (oldest first | newest first)

💬 Critteronimo, Nov 9th at 11:32 PM

PureWinter Oh I still want dark to be an option, I was wanting to change just how dark the tint of an animal could get (if possible). 

Would the dark min/max setting in the config be what im looking for?

 

Lil bit of context (cause I've gotta overexplain 😅) - The main one I want to change a bit is the horses from the Equus mod, I'd still like them to be able to have the dark tint but not get as dark. The white spots on some turn grey when they have a dark tint and it looks a bit odd. 
If I can't change the darkness of the tint I'll just blacklist the horses like you mentioned.

 

(Though I might have to go make custom configs, like you showed, for a few critters so I can have even more variety! 🤩 Eg. black jaguars or white lions from the FotSA mods) 

 

Thanks for the reply 😁

💬 PureWinter , Nov 8th at 9:04 AM

Critteronimo Blacklist your modded creatures in config, load the save (they should have no tint) then save and quit. Now set up a custom tint for that species

{ "Pattern": "modid:creaturename-*", "Side": "Server", "Mode": "Custom", 

"Custom": {
"WeightSoftHue": 0.30,
"WeightGray": 0.55,
"WeightDark": 0.0,
"WeightWhite": 0.05,
"Gray": { "Min": 0.60, "Max": 1.10 }}},

This will prevent dark from being an option. Soft hue can sometimes color shift, gray removes about 80%-90% of color and lightens a bit, white can be a bit brighter.
Try your species in creative mode and when happy with base spawning of them, run your main world again and they should be assigned a new color (with dark not being an option.) You can still breed them to change colors though so keep an eye on that. 🙃

💬 Critteronimo, Nov 8th at 5:19 AM

Really nice mod, I love seeing the variety! Is there a way to make the dark animals slightly less dark though? Some of my modded creatures get a lil too dark

💬 PureWinter , Oct 13th at 10:45 PM

Sameal In a past version I had accidentally released a copy of the mod that still had my debugging values on. Animals that hatch from eggs (like chickens) have a different mechanic than other entities so I had struggled to get the mod working for them. The most recent update sets the values to release conditions instead of debugging, lol

Sorry about that.

💬 Sameal, Oct 13th at 10:30 PM (modified Oct 13th at 10:31 PM)

nope I'll update now didn't realize 

💬 PureWinter , Oct 13th at 10:28 PM

Sameal Are you using the latest version of the mod?

💬 Sameal, Oct 13th at 10:26 PM

I love the idea of this mod and I think it's a problem on my side but why do I get like pink chickens or blue chickens ?

💬 SleepyLor, Oct 11th at 9:02 PM

I have the same proble Aceldama mentioned, i am personally tinted a darker color, as if i was shaded, i thought it was the shaders bugging out but when i remove this mod the "shadow" cast on me is gone

 

💬 PureWinter , Sep 28th at 7:13 PM (modified Sep 28th at 7:13 PM)

Aceldama Okay I've had the mod on my public server for a while now and I don't see what you mean so I've come to the conclusion one of two things are happening to you:
1) You died and your character respawned. (if you are cyan colored and producing light, it's not this mod.)
2) You are stuck red from damage being taken and the game not setting you back. (Rare known vanilla bug.)

If you can describe which colors you are seeing, to who, and when, I can fix it. :D

------

Ikkus Tyyyssmmm :D !!

💬 Ikkus, Sep 28th at 4:51 AM

Thanks, I really love this mod. It enriches the world so much.

💬 PureWinter , Sep 18th at 6:02 AM

Jayro It should be since my color values are stored in attributes and Sekelsta's is using regular textures. My breeding behavior does NOT touch -any- vanilla breeding logic and is done completely differently from Sekelsta's elegant solution. (We are part of the same discord and this mod makes her wither looooool.) Mine spawns an invisible beacon of information which is picked up by the adult animal spawning in its place when the baby despawns- thus the attributes get picked up, and nothing else is touched. 
TLDR: Yes. But just run them together and check honestly.

💬 Jayro, Sep 18th at 2:34 AM

Is it compatible with Detailed Animals?

💬 PureWinter , Sep 17th at 11:39 PM

BuddDwyer There's still a 2.5% chance mutant babies spawn from their parents in the wild. Babies in the wild -should- also scan for nearby adults when determining their own color, so they sometimes go higher/lower/mutate. Lucky you I guess. Disable mutants if you don't want them and only want natural colors. :)

Aceldama Omg I never thought to even check and look if it effects player that's funny. UuuhI'llll look into that soon whaaat xD


💬 Aceldama, Sep 17th at 2:14 PM

not sure if this is intentional behaviour, but it applies to players too, lol? what would be the rule for disabling this?

💬 BuddDwyer, Sep 17th at 1:37 PM

I just saw a newly spawned bright magenta Angora goat kid, on 2.1.2

💬 Aillun, Sep 16th at 11:13 PM

No more fantasy chickens, seems to work now ! Thank you :) 

💬 PureWinter , Sep 15th at 9:33 PM

Aillun Thanks for mod testing, should be fixed now. Chickens are working as intended (tinting chicks and adults) in the wild. 
Delete old configs before installing new version!

💬 PureWinter , Sep 15th at 7:04 PM

YES. CHICKENS WORK THEN. Huh they just refused on my testing/breeding creative, time to fix the wild spawning n'stuff. Stay tuned.

💬 Aillun, Sep 15th at 12:49 PM

Hello PureWinter,
I tried the new version of your mod in creative to test it before putting it in my server. (2.1.1)

Everything has a normal range of colors (more or less tinted dark or light) but the chicken ... 
They are all a different fantasy color (tried to put a screenshot but was not able to), all green or blue or pink 

I'm not sure it's intented to be so rainbow at this frequency when downloadind your mod without modifying configs aha ? 

💬 aaren, Sep 15th at 7:16 AM

PureWinter: lmao okay, will do. Definitely helped me find chickens out in the wild at least. Great mod btw. Thanks!

💬 PureWinter , Sep 15th at 7:13 AM (modified Sep 15th at 7:18 AM)

aaren Hi download the hotfix I uploaded just 8 minutes after that- I had accidentally left debugging values in, that's all! ETA: Animals in already spawned worlds will maintain the odd colors after downloading the hotfix though. If they had been tinted, and you installed the debugger version of the mod, they wouldn't get a NEW tint. But newly spawned animals would. Maybe wipe the weird colors out if you're comitted to a world, but new ones wont continue to spawn with the hotfix. 🙃

💬 PureWinter , Sep 14th at 12:35 PM

smt923 Good to know it doesn't work backwards compatible. (Everything before a certain version was .net 7 so makes sense, they are compiled differently.) I don't plan to add old version support so I recommend updating to the correct version of the game.

💬 smt923, Sep 14th at 8:58 AM

PureWinter it's weird, i get an error on startup and don't see any variation on chickens or goats or anything, i see a few boars that look different but maybe that's just a vanilla difference i never picked up on before? im honestly not sure.. here's the error:

 

Crash Report
14.9.2025 09:47:05 [Error] [entitycolortint] An exception was thrown when trying to load assembly:
14.9.2025 09:47:05 [Error] [entitycolortint] Exception: Could not load file or assembly 'System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified. at System.ModuleHandle.ResolveType(QCallModule module, Int32 typeToken, IntPtr* typeInstArgs, Int32 typeInstCount, IntPtr* methodInstArgs, Int32 methodInstCount, ObjectHandleOnStack type) at System.ModuleHandle.ResolveTypeHandle(Int32 typeToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext) at System.Reflection.RuntimeModule.ResolveType(Int32 metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments) at System.Reflection.CustomAttribute.FilterCustomAttributeRecord(MetadataToken caCtorToken, MetadataImport& scope, RuntimeModule decoratedModule, MetadataToken decoratedToken, RuntimeType attributeFilterType, Boolean mustBeInheritable, ListBuilder`1& derivedAttributes, RuntimeType& attributeType, IRuntimeMethodInfo& ctorWithParameters, Boolean& isVarArg) at System.Reflection.CustomAttribute.AddCustomAttributes(ListBuilder`1& attributes, RuntimeModule decoratedModule, Int32 decoratedMetadataToken, RuntimeType attributeFilterType, Boolean mustBeInheritable, ListBuilder`1 derivedAttributes) at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType) at System.Attribute.GetCustomAttributes(Assembly element, Type attributeType, Boolean inherit) at System.Attribute.GetCustomAttribute(Assembly element, Type attributeType, Boolean inherit) at System.Reflection.CustomAttributeExtensions.GetCustomAttribute[T](Assembly element) at Vintagestory.Common.ModContainer.<>c__DisplayClass36_0.<LoadAssembly>b__1(Assembly ass) in VintagestoryLib\Common\API\ModContainer.cs:line 457 at System.Linq.Enumerable.WhereEnumerableIterator`1.ToList() at Vintagestory.Common.ModContainer.LoadAssembly(ModCompilationContext compilationContext, ModAssemblyLoader loader) in VintagestoryLib\Common\API\ModContainer.cs:line 454

 

 

💬 PureWinter , Sep 13th at 10:22 PM

smt923 It was made for 1.21.1 but let me know if it works for past versions, thanks. :) Just..make a new creative world, spawn some boars. If they are different colors, yay.

💬 smt923, Sep 13th at 8:22 AM

this sounds like a fun thing to try - any chance of a 1.20 build if this won't already work on 1.20.12? 

💬 PureWinter , Sep 13th at 12:09 AM

jayu ARGB color written to attributes and WatchedAttributes so they persist and sync server to client. Directly sets entity.ColorRender

Echoweaver :D Probably the best use for it, lol

Nabbs Right??? :)

 

💬 Aillun, Sep 12th at 10:56 PM

ohohoh i'm even more interested :p 

💬 Nabbs, Sep 12th at 9:26 PM

this should be in  the base game

💬 jayu, Sep 12th at 7:14 PM

Great idea! How does this work? Does it bake a texture on top of the entity texture?

💬 PureWinter , Sep 12th at 4:19 PM

FatRefrigerator Yes it retroactively applies the tinting to existing animals and simply remove sit when you uninstall it. You will sometimes see a touch of 'pop in' of color due to something like lazy-loading where it scans in slow pulses to catch up with anything that didn't get a tint. 

LunaGore This doesn't add new textures but I'm currently testing a breeding and mutation release that averages each value that was combined to make the color, against the parents, and may (a bit unusually) swing above or below what you can 'find in the wild' this way. So you can breed towards true jet black or brighter. I also added rare mutations that do absurd things like as-white/black as possible, purple, pink, blue, green. lol
(The mutations have a config to prevent them if you don't want to breed green horses for fun.)

Aillun Small world, I was literally working on that last night!! And today! No 'promises' but I'm definitely making attempts to do just that, a system where the farther into generations you are, the more liklihood you have of white spots appearing, as the more domesticated a species become, the more piebald begins to appear. It would probably be a separate mod though since they do different things.

💬 FatRefrigerator, Sep 12th at 3:57 PM

I'm assuming this is safe to add/remove from worlds with no issues?

💬 Echoweaver, Sep 12th at 1:32 PM

This is an awesome idea. Immersive and practical too. I can't tell the difference between my livestock without using the tooltip.

💬 LunaGore, Sep 12th at 1:04 PM

Any albino rarity like what we can get with elk?

💬 animatiV, Sep 12th at 11:53 AM

I have to check this out!

💬 Aillun, Sep 12th at 11:08 AM

I will!

I was wondering, with this system, if you could put like a bunch of texture with white spots on it, to simulate piedbaldism by putting them randomly to some creature, for example. Not asking anything, just curious :p

💬 ChiefKrogan, Sep 12th at 11:05 AM

Ooooh those look very neat. Man now I will be torn between using this and "Detailed Animals" as I don't think they would be compatible since DA changes models a bit.

💬 PureWinter , Sep 12th at 10:29 AM

Aillun Thank you. :) 
I'm testing the 'color mutation by breeding' right now so stop by in a few days haha

💬 Aillun, Sep 12th at 10:26 AM

Oh wow, what a perfect idea, I wanted something like that so much. :D thank you! 

 (edit comment delete)
Основной веб-сайт | Почтовый сервер | FTP сервер | Административная панель | API интерфейс | Content Delivery Network | Статические файлы | Ресурсы сайта | Изображения | Файловое хранилище | Блог | Интернет-магазин | Техническая поддержка | Справочная система | Документация | Форум | Новости | Загрузки | Демонстрация | Тестовая среда | Приложение | Медиа контент | Разработка | Промежуточная среда | Бета версия | Безопасная зона | Вход в систему | Панель управления | Портал | Система управления контентом