now my mod supported your mod
https://mods.factorio.com/mod/miku-bikini-swimsuit
There's a crash (even without my mod):
Failed to load mod "miku-bikini-swimsuit": __miku-bikini-swimsuit__/lib/character_tool.lua:27: bad argument #1 of 2 to 'pairs' (table expected, got nil)
The error is in this line:
for mod, version in pairs(GEAR_GIRL_keep_default_character) do
GEAR_GIRL_keep_default_character has never been defined, so you're trying to go over the key/value pairs of nil.
When I wrote the compatibility code for Gear Girl, I had this in data,lua:
------------------------------------------------------------------------------------
-- Create table for other character-selector mods to register with Gear Girl.
------------------------------------------------------------------------------------
GEAR_GIRL_keep_default_character = GEAR_GIRL_keep_default_character or {}
This defines a global table, which can be read by all mods. I guess this worked for you because you also had the Gear Girl mod running, so the global table had already been defined by that mod. Without it, you'll get the crash.
In general, you should use a unique name for your global variables (for example, prefix them with "MIKU_": like "MIKU_keep_default_character"), to avoid confusion. However, in this case it actually would make sense to share a global variable between all character mods, so that character selector mods don't have to add themselves to the several global tables.
There's another problem: While the compatibility code in Gear Girl is mine, I don't have access to that mod (the author just accepted my patch), so I can't update it myself. But I do have access to "I, Robot" and "Among Us Character", so these will always be up to date. Lately, I've made significant changes to copying the characters:
Gear Girl will make a copy of the default character in data.lua and may overwrite the default character again with this copy in data-final-fixes.lua. If any other mod changes the default character in data-updates.lua, these changes will be lost. If Gear Girl doesn't overwrite the default character, changes to properties like running speed, mining reach etc. will not be applied to the new character. This problem has been solved in "I, Robot" and "Among Us Character": I keep track of the properties that must be changed for the new character (e.g. animations, name and localization, corpse) and in data-final-fixes.lua, I overwrite ONLY THESE properties when overwriting the default character, or copy ALL OTHER properties from default to new character. I guess it would be useful if you'd take a look at any of these mods. :-)