Hmm I do run Iron shell and of course Nex, which I just updated. Have you installed the additional hotfix to Nexerelin located beside the download link?
By "superweapon" are you referring to Mira Lendon's Superweapons Arsenal? If so, I do not run that one but I can take a look at it if so. Either way I am really perplexed because that hull mod only applies to ships that a player owns and applied when you dock at a station.
According to my understanding of your error log, it looks like a conflict occurs when the game updates your fleet status. For it to cause an issue while in space does not jive with what I know about hull mods. What really gets me is the NullPointerException. That happens when the game attempts to use one of the variables that is null, but the code tries to use it like it is not. However, CMH_JYD mainly uses stated established variables and only calls for a null variable at the very end.
package data.scripts.hullmods;
import com.fs.starfarer.api.combat.BaseHullMod;
import com.fs.starfarer.api.combat.MutableShipStatsAPI;
import com.fs.starfarer.api.combat.ShipAPI;
import com.fs.starfarer.api.combat.ShipAPI.HullSize;
import java.awt.Color;
import java.util.HashMap;
import java.util.Map;
public class CHM_JYD extends BaseHullMod {
private static final Map coom = new HashMap();
public static final float ARMOR_BONUS = 20f;
public static final float MAINTENANCE_MULT = 0.90f;
static {
coom.put(HullSize.FRIGATE, 30f);
coom.put(HullSize.DESTROYER, 25f);
coom.put(HullSize.CRUISER, 20f);
coom.put(HullSize.CAPITAL_SHIP, 15f);
coom.put(HullSize.DEFAULT, 15f);
}
@Override
public void applyEffectsBeforeShipCreation(HullSize hullSize, MutableShipStatsAPI stats, String id) {
float timeMult = 1f / ((100f + (Float) coom.get(hullSize)) / 100f);
stats.getFighterRefitTimeMult().modifyMult(id, timeMult);
stats.getMinCrewMod().modifyMult(id, MAINTENANCE_MULT);
stats.getArmorBonus().modifyFlat(id, ARMOR_BONUS);
}
@Override
public String getDescriptionParam(int index, HullSize hullSize) {
if (index == 0) return "" + ((Float) coom.get(HullSize.FRIGATE)).intValue() + "%";
if (index == 1) return "" + ((Float) coom.get(HullSize.DESTROYER)).intValue() + "%";
if (index == 2) return "" + ((Float) coom.get(HullSize.CRUISER)).intValue() + "%";
if (index == 3) return "" + ((Float) coom.get(HullSize.CAPITAL_SHIP)).intValue() + "%";
if (index == 4) return "" + (int) ((1f - MAINTENANCE_MULT) * 100f) + "%";
if (index == 5) return "" + (int) ARMOR_BONUS;
return null;
}
@Override
public Color getBorderColor() {
return new Color(147, 102, 50, 0);
}
@Override
public Color getNameColor() {
return new Color(220,185,20);
}
}
While I wait to hear back from you, I'll d/l the superweapon mod I stated above (assuming that is the correct one) and see if both mods call for similar modifications.