def create_with_empty_states(num_states: int = 1):
        initial_state = BasicSimulation()
        states = BasicSimulationList(initial_state)
        for _ in range(num_states - 1):
            states.states.append(copy.deepcopy(initial_state))

        return states
 def __init__(
     self, initial_state: BasicSimulation = BasicSimulation()) -> None:
     self._working_state: BasicSimulation = initial_state
     self.states: List[BasicSimulation] = [
         copy.deepcopy(self._working_state)
     ]
     self._b_blocks = 0
     self._s_blocks = 0
     self._last_check = 0
     self.robot_updates = 0
     self.scaffold_placements = 0
     self.build_placements = 0
     self.block_updates = 0