Controls+
Hello all! It's been a while since this extension had been in development, for 4 months if I remember, but here it is, the finished product, Controls+!
Here's the roster:
This is a finished product, but I would happily accept any suggestions to add.
I would like to ask you guys if I should rename these blocks:
I'm not sure about those titles, but if you guys have better suggestions for those, let me know!
TODO:
- Add documentation
- Change banner
👍 reactions help a lot!
You're controlling :trollface:
@SharkPool-SP, Lmao, on god bro
forever if is just a while loop, your execute and run case blocks have seemingly no difference, all of the switch case blocks break in the palette and your outer loop function is buggy, also why is there pre existing blocks in here
blocks that alr exist: forever if: just a while loop but terminal greenflag block: lilys toolbox and shovelutils counter blocks: hacked blocks, and these can be found elsewhere
UPDATE
Added two new blocks:
for each [VARIABLE] in [LIST], and for each [VARIABLE] in [LIST] from [VALUE]
Every loop, it'll set the variable to the corresponding item value from the chosen list.
Removed wait [FRAMES] frames or until [CONDITIONAL], since the negative branch method is useless for it, waiting frames uses util.yieldTick() to wait a frame, so using util.startBranch() won't work. So using those methods would make the block useless.
Shortened the name of for each [VARIABLE] in [TIMES] starting from [VALUE] to for each [VARIABLE] in [TIMES] from [VALUE]
Used the negative branch method for the wait [SECONDS] seconds or until [CONDITIONAL] block to make it work.
I would love Garbo to add this, and List Tools :D
Controls+ Update
Rearranged two blocks, and made the run green flag block Terminal:
UPDATE
New block: restart script
This block, when run, will fetch the entire script it's in and restart it.
UPDATE
Added some new icons and utilized the new branchIconURI option!
UPDATE
Added a new block called do... while [CONDITIONAL]
This block runs the code within the loop at least once, and if the conditional is true, it'll keep looping till it is false. If it is false after the first run, it'll continue the rest of the script.
Major Update
This update is pretty big, here's what we have:
- A good rewrite of the Switch Case function to fix every bug, it works perfectly now. Thanks UnLuckyPanda on Discord for notifying me about the bugs.
- Addition of the
(switch value)reporter. (finally) - Removal of both
forever ifblocks. They were too niche. - Added
color3to complete the Controls color scheme - Utilized the new
extensionsoption for blocks to sync the block colors to the Controls Category. *** - Utilized
branchIconURI: ""to make thewait [SECONDS] seconds or until [CONDITIONAL]block look normal. *** - Rearranged some blocks.
*** (Currently works in the merge upstream test and will work normally when merge upstream is officially added)
Update
while
script
run
script
This block, while the first script runs, will loop the second script until the first one finishes! (I'm going to be using this block so much brooo)
UPDATE
Added some new icons and utilized the new
branchIconURIoption!
is this still the icon because the outline on the arrow looks a bit weird
UPDATE
Added some new icons and utilized the new
branchIconURIoption!is this still the icon because the outline on the arrow looks a bit weird
@JeremyGamer13, yes, it is still the icon?
Doesn't the do... while [CONDITIONAL] block already exist in Turbowarp and Scratch as while [CONDITIONAL]?
Also, the counter blocks can easily be replicated with a variable.
Doesn't the
do... while [CONDITIONAL]block already exist in Turbowarp and Scratch aswhile [CONDITIONAL]?
@GreexHead, Nope, this block will have a guaranteed chance to run the script. It'll run the script first, then checks if it should loop. While checks if it should loop, and then decide loop or not.
Doesn't the
do... while [CONDITIONAL]block already exist in Turbowarp and Scratch aswhile [CONDITIONAL]?@GreexHead, Nope, this block will have a guaranteed chance to run the script. It'll run the script first, then checks if it should loop. While checks if it should loop, and then decide loop or not.
Oh, thanks for the correction!
Doesn't the
do... while [CONDITIONAL]block already exist in Turbowarp and Scratch aswhile [CONDITIONAL]?@GreexHead, Nope, this block will have a guaranteed chance to run the script. It'll run the script first, then checks if it should loop. While checks if it should loop, and then decide loop or not.
Oh, thanks for the correction!
@GreexHead, no problem!
Oh yeah, one more thing...
Can you please add a [STATE] loop terminal block? It has two options: exit and continue.
@GreexHead, may you elaborate?
@GreexHead, may you elaborate?
I'll let Blockly documentation explain.
@GreexHead, I understand break and continue, I had tried implementing it, but it's way too hard to implement, but what is the [STATE] loop terminal block you mention?
@GreexHead, I understand break and continue, I had tried implementing it, but it's way too hard to implement, but what is the [STATE] loop terminal block you mention?
Said block has both break and continue as options.
@GreexHead, no like, what does the block do?
okay actually scratch that have break and continue as seperate blocks
okay actually scratch that have break and continue as seperate blocks
these blocks are above his current skill level
but it's way too hard to implement
okay actually scratch that have break and continue as seperate blocks
these blocks are above his current skill level
but it's way too hard to implement
Why'd you say it like that lmao?
Update
Allowed dropping if then else reporter anywhere for QOL
The (if <_> then ( ) else ( )) block seems like more of an operator block than a controls block. Along with this, multiple extensions add their own implementation of it.
The
(if <_> then ( ) else ( ))block seems like more of an operator block than a controls block. Along with this, multiple extensions add their own implementation of it.
@ZXMushroom63, I added to my extension because it fits the scope perfectly, and allows dropping anywhere unlike other implements. Most other implements are utility extensions, which we are all trying to work together to split up and build in them into separate extensions.
@ZXMushroom63, I added to my extension because it fits the scope perfectly, and allows dropping anywhere unlike other implements. Most other implements are utility extensions, which we are all trying to work together to split up and build in them into separate extensions.
Fair enough. It is useful to be able to drop the block in boolean inputs.
