Very interesting mod! I do have one suggestion at this time.
How about adding a (non industry) buildable option at the colony, that depends upon the presence of the Red Shield (original) version; when present a list of alternative color options are available. When one of those is built, it replaces the original (and then precludes the others from showing up).
You would need some code like this to remove the original shield:
protected void buildingFinished() {
super.buildingFinished();
this.market.removeIndustry("PLANETARYSHIELD", (MarketAPI.MarketInteractionMode)null, false);
}
The new 'Industries' would just need to be copies (variations) of the original PLANETARYSHIELD, save with a different link to the color option.
You could then add entries to a custom settings.json:
"industry":{
"shield_texture_pink":"graphics/planets/planetary_shield_pink.png",
"shield_texture_blue":"graphics/planets/planetary_shield_blue.png",
}
And then you would need the industry itself (copy pasta from the original, region of interest shown below):
public class PlanetaryShield_Blue extends BaseIndustry {
[stuff]
# changes go here, otherwise would be the same as class PlanetaryShield
public static void applyVisuals(PlanetAPI planet) {
if (planet != null) {
planet.getSpec().setShieldTexture(Global.getSettings().getSpriteName("industry", "shield_texture_blue")); # blue version
planet.getSpec().setShieldThickness(0.1F);
planet.getSpec().setShieldColor(new Color(255, 255, 255, 175));
planet.applySpecChanges();
}
}