## Do Until/While Loop This Loop repeats a set of widget as long/until a condition is/becomes true. The Loop uses a Grouped File and Recursion to repeat commands. | Do.While| | |--|--| |Condition or conditional value| a condition to test for each iteration | |then| a List of Widgets to execute each time | |testBefore| test before entering the loop if condition is true(optional) | > Until just negates the Condition **Example:** ```dart Do.Until(Tag("istrue",entity: Entity.All()),then:[ Say("repeat") ]) ⇒ execute unless entity @a[tag=istrue] run function mypack:objd/doloop1 ``` ```mcfunction # objd/doloop1 file say repeat execute unless entity @a[tag=istrue] run function mypack:objd/doloop1 ```