Discuss Scratch
- Discussion Forums
- » Suggestions
- » Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)
- reallysoftuser
-
1000+ posts
Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)

Alternatively, “Containers” or “Packages”
———————————————————————————————————————————
If you've ever used the app Siri Shortcuts then you know how variables work in there.
They can hold more than just numbers and strings.
They can hold entire lists, images, audio, and more.
Something I also like in Siri Shortcuts is base64 encoding, where you can encode text, images, audio, you get the point
I would like a combination of both of these in Scratch, which we can call Packs.
Basically, variables but they can hold audio, images, text by encoding it.
Since they could possibly be abused, they would have the same restrictions as cloud variables if you're a new scratcher.
However, if you're viewing a project using packages, they will still work as intended. You will not be able to use the blocks in “See Inside” if you're a new scratcher, though.
———————————————————————————————————————————
The Blocks
encode [sample text] to [my package v] :: #C0C0C0 // used to encode text and numbers to base64, or set a package to base64 encodeed text
encode [costume1 v] to [my package v] :: #C0C0C0 // used to encode costumes to base64
encode [pop v] to [my package v] :: #C0C0C0 // used to encode audio to base64
(decode [my package v] :: #C0C0C0) // used to decode text and numbers, returns the decodeed text or number
start sound [my package v] :: #C0C0C0 // play an encodeed sound
play sound [my package v] until done :: #C0C0C0 // ditto
switch costume to [my package v] :: #C0C0C0 // switch costume to encodeed image
And finally, cloud packages!
(decode [my package ☁ v] :: #C0C0C0)
(decode package [my package ☁ v] from project [https://scratch-mit-edu.ezproxyberklee.flo.org/projects/46130596/]:: #C0C0C0)
close package [package1 v]:: #C0C0C0 // when a package is closed, it cannot be read by using the "decode package from project" block
open package [package1 v]:: #C0C0C0
———————————————————————————————————————————
Stealing, no thanks!
Once you deliver a package from one users project to another's, it will give full credit to the project and user you received the package from, on your project's page, similar to a remix.
This does not happen if you're using packages from your own project.
———————————————————————————————————————————
Why would this be useful?
Good question! It would be useful because it could reduce project size, transfer data from one project to another, create databases, and even more!
How to work around the asset size limit using packages
encode [oversized wav v] to [my package v] :: #C0C0C0
// delete the original wav file
forever
play sound [my package v] until done :: #C0C0C0
end
// now you can listen to your favorite music without worrying about project size
And delivering a package from one project to another…
encode (decode package [my package ☁ v] from project [https://scratch-mit-edu.ezproxyberklee.flo.org/projects/46130596/]:: #C0C0C0) to [my package v] :: #C0C0C0 // transferring data
———————————————————————————————————————————

This is one of the most original suggestions I have ever seen, almost like the sun effect extension. I support this. But these blocks could be easily abused to steal stuff so if they can reach into projects you don't own, no support. If they can't Full support. Added more blocks for Cloud Functionality! The “decode container from project” block allows you to transfer costumes, audio and strings from one project to another!
You could make entire databases with this!Added more blocks for Cloud Functionality! The “decode container from project” block allows you to transfer costumes, audio and strings from one project to another!
You could make entire databases with this!
Support because of this. However, I'm not really sure if that would allow you to make databases unless you used cloud variables, so there would still be significantly limited storage.Support. This would be nice for playing audios with large sizes and much more.
Last edited by reallysoftuser (May 3, 2022 19:43:44)
- NormalMaker
-
500+ posts
Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)
How many things can one ‘container’ hold?
Also, I'm pretty sure you got the idea from here.
Also, I'm pretty sure you got the idea from here.
Last edited by NormalMaker (March 24, 2021 15:11:54)
- reallysoftuser
-
1000+ posts
Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)
Good question. It can only hold 1 costume, audio, or string. How many things can one ‘container’ hold?
- reallysoftuser
-
1000+ posts
Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)
Added more blocks for Cloud Functionality! The “decrypt container from project” block allows you to transfer costumes, audio and strings from one project to another!
You could make entire databases with this!
You could make entire databases with this!
Last edited by reallysoftuser (March 24, 2021 15:24:07)
- ThatExplosivePigeon
-
100+ posts
Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)
This is one of the most original suggestions I have ever seen, almost like the sun effect extension. I support this. But these blocks could be easily abused to steal stuff so if they can reach into projects you don't own, no support. If they can't Full support. Added more blocks for Cloud Functionality! The “decrypt container from project” block allows you to transfer costumes, audio and strings from one project to another!
You could make entire databases with this!
- reallysoftuser
-
1000+ posts
Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)
WorkaroundThis is one of the most original suggestions I have ever seen, almost like the sun effect extension. I support this. But these blocks could be easily abused to steal stuff so if they can reach into projects you don't own, no support. If they can't Full support. Added more blocks for Cloud Functionality! The “decrypt container from project” block allows you to transfer costumes, audio and strings from one project to another!
You could make entire databases with this!
close container [container1 v]:: #C0C0C0 // when a container is closed, it cannot be read by using the "decrypt container from project" block
open container [container1 v]:: #C0C0C0
- ScratchCatHELLO
-
1000+ posts
Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)
Added more blocks for Cloud Functionality! The “decrypt container from project” block allows you to transfer costumes, audio and strings from one project to another!
You could make entire databases with this!
Support because of this. However, I'm not really sure if that would allow you to make databases unless you used cloud variables, so there would still be significantly limited storage.
- reallysoftuser
-
1000+ posts
Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)
I changed the name from “Containers” to “Packages.”
The posts above this one are from before the rename.
The posts above this one are from before the rename.
- Bacteria999
-
1000+ posts
Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)
This is one of the most original suggestions I have ever seen, almost like the sun effect extension. I support this. But these blocks could be easily abused to steal stuff so if they can reach into projects you don't own, no support. If they can't Full support. Added more blocks for Cloud Functionality! The “decrypt container from project” block allows you to transfer costumes, audio and strings from one project to another!
You could make entire databases with this!
Well, what if I told you that this might be the first case of suggestion plagiarism?Added more blocks for Cloud Functionality! The “decrypt container from project” block allows you to transfer costumes, audio and strings from one project to another!
You could make entire databases with this!
Support because of this. However, I'm not really sure if that would allow you to make databases unless you used cloud variables, so there would still be significantly limited storage.
- the2000
-
1000+ posts
Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)
Well, what if I told you that this might be the first case of suggestion plagiarism?Or maybe it's just a duplicate. Though I guess they are pretty similar suggestions…
- Bacteria999
-
1000+ posts
Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)
He appeared in my thread before he made this suggestion. Also, he sometimes announces his suggestion in mine. But I don't mind, the competition is funWell, what if I told you that this might be the first case of suggestion plagiarism?Or maybe it's just a duplicate. Though I guess they are pretty similar suggestions…

Last edited by Bacteria999 (March 24, 2021 17:15:09)
- dhfbei8987
-
1000+ posts
Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)
Wow, the syntax is complex! Support! Decrypting, encrypting (I'm still learning), would be pretty useful! Added more blocks for Cloud Functionality! The “decrypt container from project” block allows you to transfer costumes, audio and strings from one project to another!
You could make entire databases with this!
- the2000
-
1000+ posts
Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)
Could've just been subconsciously copying you, but yeah that is pretty sus ngl.He appeared in my thread before he made this suggestion. Also, he sometimes announces his suggestion in mine. But I don't mind, the competition is fun Or maybe it's just a duplicate. Though I guess they are pretty similar suggestions….
(why did I say that)
- reallysoftuser
-
1000+ posts
Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)
It's not a duplicate. His suggestion is fundamentally different from mine, has less blocks, would be implemented differently, and all of the blocks in his suggestion are differentWell, what if I told you that this might be the first case of suggestion plagiarism?Or maybe it's just a duplicate. Though I guess they are pretty similar suggestions…
Last edited by reallysoftuser (March 24, 2021 17:43:54)
- ScratchCatHELLO
-
1000+ posts
Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)
I changed the name from “Containers” to “Packages.”
The posts above this one are from before the rename.
that's even more confusing because it's really easy to confuse that with custom extensions
- goldenlion06
-
500+ posts
Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)
useful, but this is suggested a lot, and how could boxes/storage/containers NOT use data from inside. lets say there is one sound that is 40kb. and another picture is 60kb. how could that be compacted into 20kb or however much the package is worth in data?
- Futurebot5
-
1000+ posts
Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)
This is almost exactly the same as Bacteria999's topic, I'd call it a dupe.
- reallysoftuser
-
1000+ posts
Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)
This is almost exactly the same as Bacteria999's topic, I'd call it a dupe.
Plus, this suggestion is actually game changing, especially with the cloud functionality and the encrypting/decryptingIt's not a duplicate. His suggestion is fundamentally different from mine, has less blocks, would be implemented differently, and all of the blocks in his suggestion are differentWell, what if I told you that this might be the first case of suggestion plagiarism?Or maybe it's just a duplicate. Though I guess they are pretty similar suggestions…
- reallysoftuser
-
1000+ posts
Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)
useful, but this is suggested a lot
I have never seen someone suggest a block that lets you encrypt a string/costume/audio file, upload it to the cloud, and transfer it to another project using a block
- Futurebot5
-
1000+ posts
Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)
Cloud is a Plus, this suggestion is actually game changing, especially with the cloud functionality and the encrypting/decryptingdupe.
- Discussion Forums
- » Suggestions
-
» Packs (Better Variables + Cloud Variables, Store Base64 Encoded Data, Work Around the Project Size Limit)