Replicator in a Replicator == Too many nodes

Hi,
I want to make a series of “bins” holding some buttons.

To do this I am using a replicator which creates several containers (the “bins”).

Inside each of these bins is another replicator to create the buttons.

The tables are made with a script DAT. What I am realizing is that when the buttons go to be made (when the inner replicator fires) the master operator has already been made (containing buttons).

So when the container replicants are made there are extra buttons from the initial replicator.
Recreating the OPs does not get rid of the operators that were already inherited from the replication.
Is there a way to prevent this from happening?

I have realized that by turning off cooking for the replicator component in the second level or replicators I can sometimes prevent this, still though it feels like a bit of a bug that extra components exist from a prior replicant set.

On the topmost replicator that creates the bins, I would use the replicator callback script (the DAT that is docked to the Replicator COMP) to trigger “Re-create all operators” on the replicators inside that create the buttons.

Hey Ben,

Thanks for the advice, however, that still doesn’t work. I attached an example file here: Basically you can see that because there are existing OPs (in this case buttons) that were made when the bin was replicated, they are essentially disconnected from the replicator.

Recreating all the ops doesn’t remove those initial nodes.

We have been experimenting with some allowCooking trickery but it would be great to get another perspective.
weird_replicator.toe (5.84 KB)

Okay I see that now in your example. There are 100 ways to hack a system, here’s one way to get this to work. In this case the problem is that your replicator’s Master Operator (container1) was replicating before it was used. So a quick fix that would work is making sure the Select DAT in container1 has nothing in it until it is replicated. I did that by clearing its “DAT” parameter and then in the replicator callback set the Select DAT’s DAT parameter to grab from the correct location. It works now.

You get a Script DAT error on startup, but it does not affect the behavior. You could get rid of that using a try-accept in your Script DAT.

Hope it helps.
weird_replicator.2.toe (5.77 KB)

Thanks a lot for sticking with my question and following up. Glad I could explain it and thanks for your input!