So i tried to test the ship made completly out of cosmic energy in combat just to see how he fight but i get a big error :
4843935 [Thread-2] ERROR com.fs.starfarer.combat.CombatMain - java.lang.NullPointerException: Cannot invoke "com.fs.starfarer.api.loading.WeaponSlotAPI.computePosition(com.fs.starfarer.api.combat.CombatEntityAPI)" because "this.attractor" is null
java.lang.NullPointerException: Cannot invoke "com.fs.starfarer.api.loading.WeaponSlotAPI.computePosition(com.fs.starfarer.api.combat.CombatEntityAPI)" because "this.attractor" is null
at com.fs.starfarer.api.impl.combat.MoteControlScript.isLocationInRange(MoteControlScript.java:487) ~[starfarer.api.jar:?]
at com.fs.starfarer.api.impl.combat.MoteControlScript.isMouseInRange(MoteControlScript.java:481) ~[starfarer.api.jar:?]
at com.fs.starfarer.api.impl.combat.MoteControlScript.getInfoText(MoteControlScript.java:437) ~[starfarer.api.jar:?]
at com.fs.starfarer.E.B.new.update(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.E.B.OOoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.advanceImpl(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.ui.thissuper.advance(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.ui.o000.advanceImpl(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.ui.thissuper.advance(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.combat.CombatState.traverse(Unknown Source) ~[port_obf.jar:?]
at com.fs.state.AppDriver.begin(Unknown Source) ~[port.common_obf.jar:?]
at com.fs.starfarer.combat.CombatMain.main(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.StarfarerLauncher.super(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source) ~[port_obf.jar:?]
at java.base/java.lang.Thread.run(Thread.java:1575) [?:?]
good luck

Edit : it's about the special of the ship as far as i can understand
Edit 2 : asked chatGPT for the error :
This Java error is a NullPointerException. This means that a method call was made on an object that is null. In this case, the object in question is this.attractor in class com.fs.starfarer.api.impl.combat.MoteControlScript on line 487.
The error occurs when the isLocationInRange method tries to call the computePosition method on this.attractor, but this.attractor is null.
Here is the details of the error:
java.lang.NullPointerException: Cannot invoke "com.fs.starfarer.api.loading.WeaponSlotAPI.computePosition(com.fs.starfarer.api.combat.CombatEntityAPI)" because "this.attractor" is null
at com.fs.starfarer.api.impl.combat.MoteControlScript.isLocationInRange(MoteControlScript.java:487) ~[starfarer.api.jar:?]
The call stack trace then shows the methods that were called before this error occurred, which can help trace the problem.
To resolve this error, you need to ensure that this.attractor is not null at the time the isLocationInRange method is called. This may involve checking where this.attractor is initialized in the code, and making sure it is correctly instantiated before being used.
Edit 3 : i tested the Battleship DunDun and the hornet, they work perfectly and are powerfull