I figured this would be handy for those who make AI only ships but also useful for those that want to make it so someone can change a blueprint on the fly before finishing it. Now here's how the blank part blocks work.
Blank Weapons Computer: Holds a spot for a weapons computer in a blueprint. Can have any number of slaved Blank weapons modules.
Blank Weapons Module: Holds a spot for a weapons module in a blueprint.
Blank SupportTools Computer: Holds a spot for a Support computer in a blueprint. Can have any number of slaved Blank Support modules.
Blank SupportTools Module: Holds a spot for a Support Module in a blueprint.
Blank Effect Computer: Holds a spot for a Effect computer in a blueprint. Can have any number of slaved Blank Effect modules.
Blank Effect Module: Holds a spot for a effect module in a blueprint.
Blank Ship Docking Zone: Holds a spot for a docked ship blueprint. This will auto dock the entity on spawn. The blueprint selected must be able to fit in the zone without colliding with any part of the main entity it is docked to.
Blank Turret Docking Zone: Holds a spot for a docked turret blueprint. This will auto dock the entity on spawn. The blueprint selected must be able to fit in the zone without colliding with any part of the main entity it is docked to.
Blank Docked Part Zone: Holds a spot for a docked part blueprint. This will auto dock the entity on spawn. The blueprint selected must be able to fit in the zone without colliding with any part of the main entity it is docked to. What I mean by docked part is that sometimes people build modular ships out of many docked parts or have parts that can be changed out with others depending on what they are up too.
Blank Block Synchronizer: This lets you make sure what it is slaved to is the same thing. So when slaved to a group of Blank Weapons Computers it makes sure that once a weapons computer has been picked for that group that all must be the same along with an Blank Weapons Modules that are slaved to them. This is even more handy for the Blank Zones in the fact it makes sure the same BP goes into each of the slaved zones. Now a Synchronizer can only slave to one kind of blank at a time. So if it has weapons computers slaved it can only be slaved to more weapons computers, if slaved with a Blank Ship Docking Zone it can only be slaved with more Blank Ship Docking Zones.
One thing to note about Blanks is if you don't provide any blanks of the same kind to hold their place if left empty when spawning the BP all blank blocks are removed totally. Now if their spots are filled with anything that can replace them this isn't going to be an issue but if you don't provide replacements or more blank blocks to hold their spots you'll have to go through a ship, turret, station and manually put things in.
I may have gotten a bit redundant up there with the zones but it does have meaning. The blueprint selected must be able to fit in the zone without colliding with any part of the main entity it is docked to. This means that the blueprint you pick the fill the spot must be able to do so and not exceed the zone size in a given direction or collide with anything within the zone when docked. The reason for this is to prevent generation-ception from happening but also not cause other issues like the collision system having a nervous breakdown trying to get 2 or more entities out of each other.
Note that the computers can be slaved to each other like you can with normal computers like weapons to weapons to effect or any other combination you like. Keep in mind though the game is going to look for what can go there based on the slaving combination you have so a primary + primary + effect will = the game bringing up the things that can have that. Another example would be Support + Primary = game hunts down any valid combos for that. The list goes on and players or the AI can come up with any valid combos they like.
Now as for what the AI does when it tries to spawn a BP with blank parts on it the first time. The Game will general all valid combos and store them in another folder in the blueprints folder. They'll still be in the catalog but unless the Admin or server owner sets it otherwise the generated BPs will be set to private so they don't clog up the list. The Game will ignore blueprints that have blank parts in them by default as valid spawnables because of this as to prevent lag from happening.
One interesting thing that could be done here is instead of having 20 Isanths you could have say 5 or 6 and still get all 20 you wanted plus any number of valid combos more depending on what you are up to. Another thing these could be handy for is letting players have a bit more choice in what they put into the blueprint. Now the game will not auto fill blank slots of any kind when you tell it to fill what it can from your inventory. You have to at least select what should be in those blank slots before it will do that since it doesn't know what to put there until you tell it what to put there. At that point it will auto fill once it has enough info to do so.
For example if you put a cannon computer in a blank weapons computer spot on the BP it will turn all connected weapons modules to cannon modules since it now has enough info to know what now goes there. Same thing if you were to put a cannon module into a weapons module spot, the computer and any connected modules will change from blank to cannon in this case since the info for what goes there is no longer unknown.
It's the same way with the zones. In the case of the zones though if the BP in question that is being selected to fill the zone doesn't have a Rail Docker on it or some other means to dock that it is not a valid selection and shouldn't show up in the first place on the list. It is the same with anything that cannot fit into the zone or can fit but ends up colliding with something in that position.
Any ideas? The main reason I'd find this useful is because it would make it so I don't have to make so many versions of the same ship or turret and it shortens build times if used correctly.
Blank Weapons Computer: Holds a spot for a weapons computer in a blueprint. Can have any number of slaved Blank weapons modules.
Blank Weapons Module: Holds a spot for a weapons module in a blueprint.
Blank SupportTools Computer: Holds a spot for a Support computer in a blueprint. Can have any number of slaved Blank Support modules.
Blank SupportTools Module: Holds a spot for a Support Module in a blueprint.
Blank Effect Computer: Holds a spot for a Effect computer in a blueprint. Can have any number of slaved Blank Effect modules.
Blank Effect Module: Holds a spot for a effect module in a blueprint.
Blank Ship Docking Zone: Holds a spot for a docked ship blueprint. This will auto dock the entity on spawn. The blueprint selected must be able to fit in the zone without colliding with any part of the main entity it is docked to.
Blank Turret Docking Zone: Holds a spot for a docked turret blueprint. This will auto dock the entity on spawn. The blueprint selected must be able to fit in the zone without colliding with any part of the main entity it is docked to.
Blank Docked Part Zone: Holds a spot for a docked part blueprint. This will auto dock the entity on spawn. The blueprint selected must be able to fit in the zone without colliding with any part of the main entity it is docked to. What I mean by docked part is that sometimes people build modular ships out of many docked parts or have parts that can be changed out with others depending on what they are up too.
Blank Block Synchronizer: This lets you make sure what it is slaved to is the same thing. So when slaved to a group of Blank Weapons Computers it makes sure that once a weapons computer has been picked for that group that all must be the same along with an Blank Weapons Modules that are slaved to them. This is even more handy for the Blank Zones in the fact it makes sure the same BP goes into each of the slaved zones. Now a Synchronizer can only slave to one kind of blank at a time. So if it has weapons computers slaved it can only be slaved to more weapons computers, if slaved with a Blank Ship Docking Zone it can only be slaved with more Blank Ship Docking Zones.
One thing to note about Blanks is if you don't provide any blanks of the same kind to hold their place if left empty when spawning the BP all blank blocks are removed totally. Now if their spots are filled with anything that can replace them this isn't going to be an issue but if you don't provide replacements or more blank blocks to hold their spots you'll have to go through a ship, turret, station and manually put things in.
I may have gotten a bit redundant up there with the zones but it does have meaning. The blueprint selected must be able to fit in the zone without colliding with any part of the main entity it is docked to. This means that the blueprint you pick the fill the spot must be able to do so and not exceed the zone size in a given direction or collide with anything within the zone when docked. The reason for this is to prevent generation-ception from happening but also not cause other issues like the collision system having a nervous breakdown trying to get 2 or more entities out of each other.
Note that the computers can be slaved to each other like you can with normal computers like weapons to weapons to effect or any other combination you like. Keep in mind though the game is going to look for what can go there based on the slaving combination you have so a primary + primary + effect will = the game bringing up the things that can have that. Another example would be Support + Primary = game hunts down any valid combos for that. The list goes on and players or the AI can come up with any valid combos they like.
Now as for what the AI does when it tries to spawn a BP with blank parts on it the first time. The Game will general all valid combos and store them in another folder in the blueprints folder. They'll still be in the catalog but unless the Admin or server owner sets it otherwise the generated BPs will be set to private so they don't clog up the list. The Game will ignore blueprints that have blank parts in them by default as valid spawnables because of this as to prevent lag from happening.
One interesting thing that could be done here is instead of having 20 Isanths you could have say 5 or 6 and still get all 20 you wanted plus any number of valid combos more depending on what you are up to. Another thing these could be handy for is letting players have a bit more choice in what they put into the blueprint. Now the game will not auto fill blank slots of any kind when you tell it to fill what it can from your inventory. You have to at least select what should be in those blank slots before it will do that since it doesn't know what to put there until you tell it what to put there. At that point it will auto fill once it has enough info to do so.
For example if you put a cannon computer in a blank weapons computer spot on the BP it will turn all connected weapons modules to cannon modules since it now has enough info to know what now goes there. Same thing if you were to put a cannon module into a weapons module spot, the computer and any connected modules will change from blank to cannon in this case since the info for what goes there is no longer unknown.
It's the same way with the zones. In the case of the zones though if the BP in question that is being selected to fill the zone doesn't have a Rail Docker on it or some other means to dock that it is not a valid selection and shouldn't show up in the first place on the list. It is the same with anything that cannot fit into the zone or can fit but ends up colliding with something in that position.
Any ideas? The main reason I'd find this useful is because it would make it so I don't have to make so many versions of the same ship or turret and it shortens build times if used correctly.