Hello mister modder,
It's my first post here, so be gentle please

I was very annoyed when I brought back to my engineer hub a fleet of approx. 100 hulls to get blueprint and, 95% of them were not reverse-engineerable, after a few minutes I wrote this little piece of python to gather a list of ship id
Spoiler
For those that want to run it:
download Python
save it as something.py somewhere along the lines of C:\Program Files (x86)\Fractal Softworks\Starsector\mods\ for optimized results/exec time
and run it in your cmd, if you have an IDE run it there, if not you should probably adjust time.sleep() to a very high number
Then copy paste it in your `C:\Program Files (x86)\Fractal Softworks\Starsector\mods\Industrial.Evolution-3.3.e\data\config\indEvo\reverse_engineering_whitelist.csv`
Spoiler
import os
import csv
import time
import sys
def print_second_column():
encodings = ['utf-8', 'latin-1', 'utf-16', 'cp1252']
last_was_empty = False # Track empty line state across all files
for root, dirs, files in os.walk('.'):
for file in files:
if file == 'ship_data.csv':
file_path = os.path.join(root, file)
processed = False
for encoding in encodings:
try:
with open(file_path, 'r', encoding=encoding, errors='ignore') as csv_file:
reader = csv.reader(csv_file)
for row in reader:
if len(row) >= 2:
value = row[1].strip()
# Skip header rows with 'id' in second column
if value == 'id':
continue
current_empty = (value == "")
# Print only if not consecutive empty
if current_empty:
if not last_was_empty:
print()
last_was_empty = True
else:
print(value)
last_was_empty = False
processed = True
break
except Exception as e:
continue
if not processed:
print(f"\n[Error] Could not process file: {file_path}", file=sys.stderr)
if __name__ == "__main__":
print_second_column()
time.sleep(5)
#no right to anyone, feel free to use it or smth, tho at your own risk ! (not much)
And I had an interrogation and a question :
XIV : you say in the FAQ that ship that should not be able to be reverse rev-engineered for tech/lore reason should not be, but so far I have thrown a handful of dominator, a legion and an onslaught, all XIV to the thing, and it keep eating it, is that right ?
Is there a way that we hypothetically remove all ship that should not be reverse-engineered ? I don't know, never modded anything, I'm just a poor CS student, but maybe there is a way, I could adapt this little program if needed