Space Engineers

Space Engineers

69 ratings
Projector2Assembler
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
457.083 KB
21 Aug, 2018 @ 2:41pm
14 Oct, 2024 @ 12:03pm
28 Change Notes ( view )

Subscribe to download
Projector2Assembler

Description
Queue all the components needed to build a blueprint on your assembler.

-----------

Projector2Assembler by Juggernaut93

With some code by nihilus from here:
https://forum.keenswh.com/threads/adding-needed-projector-bp-components-to-assembler.7396730/#post-1287067721

CHECK ALSO: Projector2LCD (also by Juggernaut93) to show info about missing components, ingots and ores.
Link: https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=1500259551

MODS COMPATIBILITY
  • By default the script is not compatible with mods adding new blocks or modifying their needed components.
  • The script can be made compatible with mods that modify or add new block definitions (but without adding new kinds of components to be assembled in an Assembler) running the following app: https://github.com/Juggernaut93/Projector2Assembler/releases
  • Run the .exe file and follow the instructions on screen. A file will be created with the line of text that needs to be added to the script.
  • The app should be runnable on Windows 10 without additional dependencies.
  • On older versions of Windows this package might be needed: https://www.microsoft.com/en-US/download/details.aspx?id=48145
  • If you have problems running the .exe app, you can run the .py executable using Python on the command line.

SETUP
  • You obviously need a programming block, a projector, an assembler
  • Run the script with this argument: ProjectorName;AssemblerName;lightArmor;staggeringFactor;fewFirst;onlyRemaining
    • All parameters are optional and can be left empty.
    • ProjectorName (default: Projector) is the name of the projector with the blueprint you want to build
    • AssemblerName (default: Assembler) is the name of the assembler that will produce the needed components
    • lightArmor is true (default) or false and tells the script to assume all the armor blocks listed by the projector are respectively Light Armor Blocks or Heavy Armor Blocks
    • staggeringFactor is a positive integer (10 by default) that tells the script how to stagger the production
    • fewFirst is true (default) or false and tells the script to queue the components in the assembler sorted by amount. If false, the order is undefined (currently it's alphabetical, but it's not guaranteed to stay the same in the future)
    • onlyRemaining is true or false (default) and tells the script whether to check for the components already in stock in the entire grid and to only queue the missing components in the assembler.
    By default the script doesn't check for subgrids. You can turn the feature on by setting the variable inventoryFromSubgrids to true. WARNING: queuing more than one blueprint at a time with this option on would result in the available components being subtracted by each blueprint, use CAREFULLY

HOW IT WORKS
  • The script gets from the projector the remaining blocks to build. Unfortunately, the projector is not precise about the type of armor blocks to build and only gives a generic "armor blocks". You can then specify if you want to assume all the blocks are light or heavy armor blocks, but keep in mind that the script will overproduce if you specify heavy blocks but not all your blocks are full cubes and/or you also have light blocks; it will (probably) underproduce if you specify light blocks but you have many heavy armor blocks.
  • The script then sorts the components needed to build such blocks (if you set fewFirst to true) by ascending amount and will divide the amount of components by staggeringFactor. It will then tell the assembler to produce the obtained amount of components staggeringFactor times.
  • EXAMPLE:
    • your blueprint requires 3000 steel plates, 1500 construction components and 300 metal grids
    • you run the script with fewFirst = true and staggeringFactor = 10
    • the script will tell the assembler to build 30 metal grids, 150 construction components and
      300 steel plates 10 times
    • This will ensure your welding process won't be blocked by the lack of a single component that might have ended up at the end of the queue, and you will get a nice proportion of each component without waiting too much
67 Comments
stsrwarsfan54 16 Jun @ 10:05pm 
how does one set it up, im getting confused, run the ProjectorName argument, but it says it can't find it, even tho i have the projector and it's named projector, ive even tried renaming it to projectorname
mageg4 6 May @ 6:36am 
It works for some things. It seems like the hydrogen system is causing my issues. My planet side atoms thrusters vehicles are fine. My space side hydrogen build throws an unknown block exception and the .exe script doesn’t work.
Datarak 2 May @ 10:31am 
It is not working as of 2.05.2025.
bevhilk | FP 12 Mar @ 7:23am 
Works, as of 12.03.2025. cheers man, great script!
minemanyt70 8 Jan @ 4:29pm 
I can not get it to work I have a projector, and a assembler, but the program freeks out whenever I put in the start up code
Iteration: Al Terra 21 Nov, 2024 @ 1:40pm 
Thank you!!! This is the only mod like this that actually works. Life saver :steamhappy:
YggdrasSoftGaming 19 Nov, 2024 @ 7:32am 
So..... the program for adding new blocks is saying that my save has mods that add new components.... the only thing that adds new components in said save is the Contact update... which adds prototech components. Is there any chance you could update both the script and the program for the Contact update?
Glew 11 Aug, 2024 @ 3:55am 
Working for 1.204.0 as of 08/11/2024
https://pastebin.com/0YhCK9ff
LRSDX 22 Jan, 2024 @ 10:32am 
don't work
Juggernaut93  [author] 20 Nov, 2023 @ 12:14pm 
I have updated the script quickly, without extensive testing. Please tell me if it works correctly.