Qon wrote:doc wrote:I created another mod similar to this one. The old version is here, but I have a much improved 0.1.0 version which I haven't released yet (moving house slightly got in the way) :
viewtopic.php?f=93&t=24053
It is basically the same idea but the mechanics of how it works are slightly different, hopefully a bit more flexible.
Your mod doesn't use circuit, has no deconstructor and needs physical blueprints. Which means it is a hassle to make repeating structures (need to somehow move the blueprint from one chest to the next within your blueprint), multiplying structure (you only have 1 blueprint item which can't be copied), no "walkers" (because no deconstructor), no circuit, which means you have to do tricks with smart inserters delivering the blueprint instead since those can have circuit conditions. It's just very limited at the moment and not really useful. But it has great potential! And it actually does something without crashing q:
Yep, right now you are correct. But I have plans for some parts of this, I actually just expanded on this in the description. Let me just address those points:
1. Needing physical blueprints. I actually think this is the right way to implement this. To me the logistical puzzles are what Factorio is about. Designing a method for your blueprint to move to the next deployer is an interesting challenge, but it is actually pretty easy to remove it with an inserter and belt it along to the next deployer. I'm not entirely sure what other method would make sense, but further suggestions are welcomed.
2. Multiplying structure. The plan is a "Blueprint Printer" assembler. This will support one recipe, "Clone Blueprint". So it requires two blueprints, one of them should be blank, it will output the original blueprint and a new clone -- something like that at least. This is a priority to get implemented, hopefully I will have something this weekend.
3. Deleting structures. Yes, also planned. The idea is to have a second version of the Deployer, called "Destructive Deployer". This will schedule any conflicting entities for destruction, as well as deploying the new blueprint. Someone else in the original thread suggested a different type of anchor, e.g. "Destructive Anchor". This could achieve the same effect but you couldn''t create and destroy in the same operation which in my opinion would be less useful. The reason I want to have different entities (rather than e.g. a GUI setting) is so you can design your deployments around which behaviour you want, and custom GUI settings can't be stored in blueprints. Of course maybe players will only really ever want the destructive deployment, but I think it could be useful to have both, and destructive deployment could be really dangerous. Like, you could wipe out your entire base by accident
4. Using circuit. The deployer inherits from smart chest meaning you can at least detect whether it has a blueprint or not, and I was thinking about making it emit some kind of flag to detect when deployment has finished. Using a circuit condition to *trigger* deployment is trickier ... the problem is requiring a base entity to inherit from that has both properties: a) being able to have an entity inserted b) being able to control it via circuit conditions (and being able to select the condition in a GUI, and being able to store that condition in subsequent blueprints...)! Basically I need a base entity that has *both* the properties of a smart inserter *and* the properties of a chest. I could maybe invent a new signal instead, so you wouldn't be able to pick your own, you'd need combinators to generate that specific signal. I would also like to wait on this one until 0.13 is released so I can see what the changes to circuit networks are ... maybe there will be something new that enables this. Please tell me if you have any ideas, yes this would be a nice thing to support. Although I don't see that having to use a smart inserter is actually a bad problem, the point of Factorio is to build complex machines from lots of components. I am trying to provide the simplest solution to enable the scenario, if you have to use it in combination with other machines then that might actually be a good puzzle ...
Anyway thanks for your feedback and yes I agree there is a lot of potential with this concept!
Edit: Just had a closer read of
https://www.factorio.com/blog/post/fff-138 - and the great news there is that 0.13 will indeed make it extremely easy to support circuit conditions on any entity, so I'll be adding this feature for sure once the release arrives.
Edit 2: After thinking about this so much again I decided to tinker and implemented the Destructive Deployer, this is the 0.2.0 release on the original thread, so at least part of the above is done already
