Discuss Scratch
- Discussion Forums
- » Developing Scratch Extensions
- » Creating *Unsandboxed* extensions for Scratch 3.0
- MyScratchedAccount
- Scratcher
1000+ posts
Creating *Unsandboxed* extensions for Scratch 3.0
I reported it to be stickiedWAIT THIS TOO JRJHRNJUJRNR This got stickyed to O-O
Links:
—
Give An Internet - - My Profile - My Best Project Of The Week - Am I Online? - on wiki, go to my talk
—
Scratched//Boy/Him/He////Likes Apples//Coder //
—-
Go to Codin[co
- GXI__1
- Scratcher
65 posts
Creating *Unsandboxed* extensions for Scratch 3.0
cool
My browser / operating system: Windows NT 10.0, Chrome 102.0.0.0, No Flash version detected
- cuttlfish59
- Scratcher
26 posts
Creating *Unsandboxed* extensions for Scratch 3.0
.
Last edited by cuttlfish59 (March 31, 2023 23:00:11)
Sincerely
cuttlfish59
- showierdata9978
- Scratcher
100+ posts
Creating *Unsandboxed* extensions for Scratch 3.0
Can somebody tell me step by step how to load unsandboxed addons? I'm not familiar with javascript, so most of this thread doesn't make sense to me.
You might want to look at the unsandboxed extension directory, and turbowarp unsandboxed exts
High School Sophomore
I DO NOT CHECK SCRATCH UNLESS I AM EXTREMELY BOARD.
You can find me in a lot of places under the same username
- Error83
- Scratcher
52 posts
Creating *Unsandboxed* extensions for Scratch 3.0
If anyone can make a log in log out cloud extension I would have a happy life lmao.
Who is hyped for the NEXUS PROJECT?
I am.Don't spread hate.
Be kind. Children are watching.
- cuttlfish59
- Scratcher
26 posts
Creating *Unsandboxed* extensions for Scratch 3.0
It wouldn't be hard to make if you had an extension that allowed cloud lists or had a separate server. If anyone can make a log in log out cloud extension I would have a happy life lmao.
Sincerely
cuttlfish59
- showierdata9978
- Scratcher
100+ posts
Creating *Unsandboxed* extensions for Scratch 3.0
It wouldn't be hard to make if you had an extension that allowed cloud lists or had a separate server. If anyone can make a log in log out cloud extension I would have a happy life lmao.
cloudlink be like:
High School Sophomore
I DO NOT CHECK SCRATCH UNLESS I AM EXTREMELY BOARD.
You can find me in a lot of places under the same username
- cuttlfish59
- Scratcher
26 posts
Creating *Unsandboxed* extensions for Scratch 3.0
Does Cloudlink have list capability?It wouldn't be hard to make if you had an extension that allowed cloud lists or had a separate server. If anyone can make a log in log out cloud extension I would have a happy life lmao.
cloudlink be like:
Sincerely
cuttlfish59
- showierdata9978
- Scratcher
100+ posts
Creating *Unsandboxed* extensions for Scratch 3.0
yeah, its jsonDoes Cloudlink have list capability?It wouldn't be hard to make if you had an extension that allowed cloud lists or had a separate server. If anyone can make a log in log out cloud extension I would have a happy life lmao.
cloudlink be like:
High School Sophomore
I DO NOT CHECK SCRATCH UNLESS I AM EXTREMELY BOARD.
You can find me in a lot of places under the same username
- cuttlfish59
- Scratcher
26 posts
Creating *Unsandboxed* extensions for Scratch 3.0
WHAT!?! I'll have to start using it more.yeah, its jsonDoes Cloudlink have list capability?It wouldn't be hard to make if you had an extension that allowed cloud lists or had a separate server. If anyone can make a log in log out cloud extension I would have a happy life lmao.
cloudlink be like:
Sincerely
cuttlfish59
- RadTrentasei
- New to Scratch
3 posts
Creating *Unsandboxed* extensions for Scratch 3.0
Hi there,
I am building an extension following the Turbbowarp documentation and I've got some doubts. The extension is working OK with Turbowarp.
How to actually port it to scratch?
I know there is not button to load an unsandboxed extention, so what would be the procedure? I am expecting to clone the Scratch-vm, add the extension in the folder and then what?
I am not yet considering to upload as ‘official’ release. I am targeting for now a custom scratch deployment with the extension.
Thanks
I am building an extension following the Turbbowarp documentation and I've got some doubts. The extension is working OK with Turbowarp.
How to actually port it to scratch?
I know there is not button to load an unsandboxed extention, so what would be the procedure? I am expecting to clone the Scratch-vm, add the extension in the folder and then what?
I am not yet considering to upload as ‘official’ release. I am targeting for now a custom scratch deployment with the extension.
Thanks
Last edited by RadTrentasei (April 14, 2023 08:59:40)
- cuttlfish59
- Scratcher
26 posts
Creating *Unsandboxed* extensions for Scratch 3.0
I don't think you can upload unsandboxed extensions to scratch. However, you could possibly use the Hi there,Turbowarp Packager to generate a file. If that doesn't work, there might be a way to just generate a link to it. Please tell me what works because I am trying to make a project that uses unsandboxed extensions so if we could find a way that would be great.
I am building an extension following the Turbbowarp documentation and I've got some doubts. The extension is working OK with Turbowarp.
How to actually port it to scratch?
I know there is not button to load an unsandboxed extention, so what would be the procedure? I am expecting to clone the Scratch-vm, add the extension in the folder and then what?
I am not yet considering to upload as ‘official’ release. I am targeting for now a custom scratch deployment with the extension.
Thanks
Sincerely
cuttlfish59
- RadTrentasei
- New to Scratch
3 posts
Creating *Unsandboxed* extensions for Scratch 3.0
Yes, Scratch does not have the option to load custom extensions. As you have said Turbowarp does and indeed we are working on the development using Turbowarp and following the documentation. As I've said I am able already to load it and works -almost- perfectly. I say almost because if I load it from Safari it does not load it, while from chrome and the desktop app works perfectly. This is a minor problem for me.
I have no problems submitting the extension via Turbowarp repository. The only thing is that it will be a Turbowarp extension, not a Scratch one right?
I am just curious on how to at least test it with Scracth.
I know there is a documentation now, but I could not find a way to create a development environment for Scratch.
EDIT: I've tried the packager but, if I am not wrong, is not doing what I need. I need to export a file with the extension loaded but with still access to the block palette and being able to modify the algorithm. The way the packager works is by returning the ‘outcome’ of the algorithm. I am happy to be wrong here .
I have no problems submitting the extension via Turbowarp repository. The only thing is that it will be a Turbowarp extension, not a Scratch one right?
I am just curious on how to at least test it with Scracth.
I know there is a documentation now, but I could not find a way to create a development environment for Scratch.
EDIT: I've tried the packager but, if I am not wrong, is not doing what I need. I need to export a file with the extension loaded but with still access to the block palette and being able to modify the algorithm. The way the packager works is by returning the ‘outcome’ of the algorithm. I am happy to be wrong here .
Last edited by RadTrentasei (April 18, 2023 15:56:45)
- cuttlfish59
- Scratcher
26 posts
Creating *Unsandboxed* extensions for Scratch 3.0
I tried to find a link generator and did (I think) but it was blocked by parental controls. You might be able to just put the HTML code from the packager into the instructions and copy-paste into the website using developer tools. Yes, Scratch does not have the option to load custom extensions. As you have said Turbowarp does and indeed we are working on the development using Turbowarp and following the documentation. As I've said I am able already to load it and works -almost- perfectly. I say almost because if I load it from Safari it does not load it, while from chrome and the desktop app works perfectly. This is a minor problem for me.
I have no problems submitting the extension via Turbowarp repository. The only thing is that it will be a Turbowarp extension, not a Scratch one right?
I am just curious on how to at least test it with Scracth.
I know there is a documentation now, but I could not find a way to create a development environment for Scratch.
EDIT: I've tried the packager but, if I am not wrong, is not doing what I need. I need to export a file with the extension loaded but with still access to the block palette and being able to modify the algorithm. The way the packager works is by returning the ‘outcome’ of the algorithm. I am happy to be wrong here .
PS. Just wondering, what does your extension do?
Sincerely
cuttlfish59
- RadTrentasei
- New to Scratch
3 posts
Creating *Unsandboxed* extensions for Scratch 3.0
It's a very simple extension TBH. I work for a networking company and it's been many years that I do volunteering activities with scratch. The idea now is to build an extension that interacts with real (actually virtual) networking devices to start introducing networking concepts to children.
Actually what I am doing is consuming API from an external component that takes of all the stuff that come when accessing network devices. This incredibly simplifies the Scratch extension.
I don't want to go too much OT so I will stop here . Long story short I am looking at ways on how to ‘distribute’ the extension in case the Turbowarp does not accepts the PR.
Actually what I am doing is consuming API from an external component that takes of all the stuff that come when accessing network devices. This incredibly simplifies the Scratch extension.
I don't want to go too much OT so I will stop here . Long story short I am looking at ways on how to ‘distribute’ the extension in case the Turbowarp does not accepts the PR.
- cuttlfish59
- Scratcher
26 posts
Creating *Unsandboxed* extensions for Scratch 3.0
Cool. I wish I knew JavaScript so that I could make unsandboxed extensions. It's a very simple extension TBH. I work for a networking company and it's been many years that I do volunteering activities with scratch. The idea now is to build an extension that interacts with real (actually virtual) networking devices to start introducing networking concepts to children.
Actually what I am doing is consuming API from an external component that takes of all the stuff that come when accessing network devices. This incredibly simplifies the Scratch extension.
I don't want to go too much OT so I will stop here . Long story short I am looking at ways on how to ‘distribute’ the extension in case the Turbowarp does not accepts the PR.
Sincerely
cuttlfish59
- Roblox888i
- Scratcher
1000+ posts
Creating *Unsandboxed* extensions for Scratch 3.0
How do i make my own extenstion on a managed chromebook with github blocked.
Below this little line ^ is my signature, you can edit it by going to scratch.mit.edu/discuss/settings/YOURUSERHERE/ also highlight a part and do CNTRL+SHIFT+DOWN to scroll down.
Roblox888i
===========================================================================================================
| Ocular Profile | Scratch Profile | ScratchStats Profile | Github Profile |
===========================================================================================================
===========================================================================================================
| Ocular Profile | Scratch Profile | ScratchStats Profile | Github Profile |
=================================
| | Scratch Wiki Profile | |===========================================================================================================
REST OF SIGNATURE NOT DONE
- DIEGODIVINOMAESTRO
- Scratcher
500+ posts
Creating *Unsandboxed* extensions for Scratch 3.0
Hello, if anyone wants to make an extension I could be the designer. I'm a designer and I can help you
- AzulAlt
- Scratcher
13 posts
Creating *Unsandboxed* extensions for Scratch 3.0
About unsandboxed extensionsso we could do blocks like
unsandboxed extensions are scratch extensions that have full access to the scratch VM
benifits to unsandboxed mode
- Your extension has access to the scratch VM
- Your extension runs faster (usually)
- You have access to all browser api's
Some Examples
Everything in Scratch 3.0 *Unsandboxed* Extension Directory
The Guide itself
Precursor
The Creating extensions for Scratch 3.0 thread by NitroCipher is a precursor to this thread, and shows how to make scratch extentons that are sandboxed. but also does into detail on how to set your environment and extension class up
How to load unsandboxed extentions// major credit to CST for this (I did modify it some to allow sandboxed if you only want the speed boost (: const extensionClass = YourExt; if (Scratch) { if (Scratch.extensions.unsandboxed) { Scratch.extensions.register(new extensionClass(Scratch.vm)); } else { // comment out if you use VM things Scratch.extensions.register(new extensionClass()); // throw new Error("YourExt cannot run in sandboxed mode."); } } else if (globalThis.vm) { // Support loading the extension "the old way" // (running the code in something like the browser console // or E羊icques' load_plugin URL parameter) const extensionInstance = new extensionClass(globalThis.vm); const serviceName = globalThis.vm.extensionManager._registerInternalExtension( extensionInstance ); globalThis.vm.extensionManager._loadedExtensions.set( extensionInstance.getInfo().id, serviceName ); } else { throw new Error("Scratch Not detected"); // no idea if there is anything else i can do here };
Scratch VM Docs
There Is currently documentation of the Scratch VM, but it uses jsdoc. The Docs are not helpful. The url is here
Warning: it is on github pages, which is blocked by most schools
another good source of documentation is Turbowarp's type repo . Its helpful because you can load it into your TypeScript aware IDE and see all the vm's types and internals in intelisense.
Browser API Docs
The Most trusted Browser API docs are made by Mozilla. (the company that owns firefox). here are some useful links for making scratch extentions.
- https://developer.mozilla.org/en-US/docs/Web/API
- https://developer.mozilla.org/en-US/docs/Web/JavaScript
- https://developer.mozilla.org/en-US/docs/Web
The name of the web documentation is mdn (mozilla developer network) web docs. it has a github and a website.
FAQ
this is incredibly interesting, unsandboxed extensions seem really useful. why haven't i heard of this??
Because before a few weeks ago, you had to use internal Scratch.extentions.* methods
<sprite [ sprite1 ] is real? :: extension>and more other things?
add [sprite v] named [ sprite2] :: extension
when something happends :: extension hat
Last edited by AzulAlt (March 24, 2024 17:59:15)
This is AzulSignature (AzulAlt's Signature) i make games. Also Games in other websites like The Random Snake Game!
And also scratchblocks blocks. fake quotes!
when u respond :: sensing hat
make [me v] say [yes] :: looks
when <everyone questions why i said (thing i said :: looks) :: #fff000> :: control{
say [yes]
make [everyone v] say [huh] :: looks
ok its end :: control
- game_master81
- Scratcher
1 post
Creating *Unsandboxed* extensions for Scratch 3.0
so i think this is good
- Discussion Forums
- » Developing Scratch Extensions
- » Creating *Unsandboxed* extensions for Scratch 3.0