extensions icon indicating copy to clipboard operation
extensions copied to clipboard

Controls+

Open CubesterYT opened this issue 2 years ago • 33 comments

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: image

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: image

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!

CubesterYT avatar Dec 05 '23 23:12 CubesterYT

You're controlling :trollface:

SharkPool-SP avatar Dec 05 '23 23:12 SharkPool-SP

@SharkPool-SP, Lmao, on god bro

CubesterYT avatar Dec 05 '23 23:12 CubesterYT

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

yuri-kiss avatar Dec 05 '23 23:12 yuri-kiss

UPDATE Added two new blocks: for each [VARIABLE] in [LIST], and for each [VARIABLE] in [LIST] from [VALUE] image 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.

CubesterYT avatar Dec 07 '23 02:12 CubesterYT

I would love Garbo to add this, and List Tools :D

ghost avatar Dec 07 '23 08:12 ghost

Controls+ Update Rearranged two blocks, and made the run green flag block Terminal: image

CubesterYT avatar Dec 07 '23 22:12 CubesterYT

UPDATE

New block: restart script

image

This block, when run, will fetch the entire script it's in and restart it.

CubesterYT avatar Dec 20 '23 23:12 CubesterYT

UPDATE

Added some new icons and utilized the new branchIconURI option! image

CubesterYT avatar Dec 25 '23 21:12 CubesterYT

UPDATE

Added a new block called do... while [CONDITIONAL] image

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.

CubesterYT avatar Dec 27 '23 21:12 CubesterYT

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 if blocks. They were too niche.
  • Added color3 to complete the Controls color scheme
  • Utilized the new extensions option for blocks to sync the block colors to the Controls Category. ***
  • Utilized branchIconURI: "" to make the wait [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)

CubesterYT avatar Jan 01 '24 00:01 CubesterYT

Update

image

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)

CubesterYT avatar Jan 03 '24 00:01 CubesterYT

UPDATE

Added some new icons and utilized the new branchIconURI option! image

is this still the icon because the outline on the arrow looks a bit weird

JeremyGamer13 avatar Jan 03 '24 08:01 JeremyGamer13

UPDATE

Added some new icons and utilized the new branchIconURI option! image

is this still the icon because the outline on the arrow looks a bit weird

@JeremyGamer13, yes, it is still the icon?

CubesterYT avatar Jan 03 '24 16:01 CubesterYT

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.

GreexHead avatar Jan 06 '24 14:01 GreexHead

Doesn't the do... while [CONDITIONAL] block already exist in Turbowarp and Scratch as while [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.

CubesterYT avatar Jan 06 '24 14:01 CubesterYT

Doesn't the do... while [CONDITIONAL] block already exist in Turbowarp and Scratch as while [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 avatar Jan 06 '24 14:01 GreexHead

Doesn't the do... while [CONDITIONAL] block already exist in Turbowarp and Scratch as while [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!

CubesterYT avatar Jan 06 '24 14:01 CubesterYT

Oh yeah, one more thing... Can you please add a [STATE] loop terminal block? It has two options: exit and continue.

GreexHead avatar Jan 06 '24 14:01 GreexHead

@GreexHead, may you elaborate?

CubesterYT avatar Jan 06 '24 14:01 CubesterYT

@GreexHead, may you elaborate?

I'll let Blockly documentation explain. image

GreexHead avatar Jan 06 '24 14:01 GreexHead

@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?

CubesterYT avatar Jan 06 '24 15:01 CubesterYT

@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 avatar Jan 06 '24 15:01 GreexHead

@GreexHead, no like, what does the block do?

CubesterYT avatar Jan 06 '24 15:01 CubesterYT

okay actually scratch that have break and continue as seperate blocks

GreexHead avatar Jan 06 '24 15:01 GreexHead

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

yuri-kiss avatar Jan 06 '24 21:01 yuri-kiss

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?

CubesterYT avatar Jan 06 '24 21:01 CubesterYT

Update

Allowed dropping if then else reporter anywhere for QOL image

CubesterYT avatar Jan 14 '24 01:01 CubesterYT

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 avatar Jan 17 '24 06:01 ZXMushroom63

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.

CubesterYT avatar Jan 17 '24 11:01 CubesterYT

@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.

ZXMushroom63 avatar Jan 17 '24 11:01 ZXMushroom63