Hi! I'm the author of miniMAXIme, a mod that will allows players to switch their character at runtime.
While checking out your new characters, I've found two bugs that will cause a crash on loading the game. I list them in the order of occurrence:
Error while loading entity prototype "character" (character): Direction count in hr_version doesn't match normal direction count in property tree at ROOT.character.character.animations[0].idle.layers[0].hr_version
Fix (data.lua, line 152):
-- direction_count = 1,
direction_count = 4,
Error while loading entity prototype "character" (character): Animation speed in hr_version doesn't match normal animation speed in property tree at ROOT.character.character.animations[0].running_with_gun.layers[0].hr_version
Fix (data.lua, line 124):
-- animation_speed = 0.8,
animation_speed = 0.3,
Looking at your code, it seems you've used some very old mod as inspiration:
-- data.lua, lines 955ff.:
if ((data.raw["player"] ~= nil) and (data.raw["player"]["player"] ~= nil)) then
data.raw["player"]["player"]["animations"] = animations_live
end
There is no data.raw.player in Factorio 1.1, it has been replaced with data.raw.character in version 0.17.35, almost two years ago. While your code doesn't break anything, it's just not necessary. You wouldn't even need it for compatibility with old versions of Factorio because you've set "factorio_version" to 1.1 in info.json. Therefore, you could remove this part from all your character mods.
You can also remove the animations for "mining_hands", "mining_hands_mask", and "mining_hands_shadow", as they aren't used anymore.
Finally, would you mind making your characters compatible with my character selector? Basically, you should wait until the final data stage before you overwrite the default character -- and you shouldn't overwrite it when a character selector mod is active. I have two character mods myself (I, Robot, and Among Us Character as collaborator). Both of these mods work with miniMAXIme, so you could use them as examples. :-)