Discuss Scratch
- Discussion Forums
- » Developing Scratch Extensions
- » Creating extensions for Scratch 3.0
- sephiroth76
- New to Scratch
14 posts
Creating extensions for Scratch 3.0
I use sheeptester to test the extension, not the local development version from github. may be this is because that code doesn't workI believe that warning is actually normal (it's a bug in the current version of scratch-gui). You can ignore it. If your code isn't working, you'll need to share the full extension file here (and an explanation of what you want it to do, and what's actually happening instead).Extensions actually can read data from sprites. Use the “util.target” variable:myExtensionFunction (util) { const {x, y} = util.target; // etc }
If you want to access data for every sprite, use “vm.runtime.targets”:const sprites = vm.targets.filter(target => !target.isStage); const data = sprites.map(sprite => ({x: sprite.x, y: sprite.x}); sendData(data); // or whatever your code is :P
to use this code do I have to import something?
This gave me this error:
Warning: Failed prop type: Invalid prop `monitors` of type `OrderedMap` supplied to `MonitorList`, expected instance of `OrderedMap`.
…
BTW, you can use the tag [code] to format text like code (monospace):[code]
...
[/code]
- sephiroth76
- New to Scratch
14 posts
Creating extensions for Scratch 3.0
your question is not so clear. How do you download the code as a .js?
you can download the full source code of scratch3 (js) from this: link https://github.com/LLK/
however, you can test your js extension here
https://sheeptester.github.io/scratch-gui/?url=https://sheeptester.github.io/javascripts/Nitroblocks.js
if you are developing an extension and you don't want to fork locally your scratch3 app.
Last edited by sephiroth76 (May 27, 2019 09:56:23)
- lktornado360
- Scratcher
36 posts
Creating extensions for Scratch 3.0
I mean like how to first guy saidyour question is not so clear. How do you download the code as a .js?
you can download the full source code of scratch3 (js) from this: link https://github.com/LLK/
however, you can test your js extension here
https://sheeptester.github.io/scratch-gui/?url=https://sheeptester.github.io/javascripts/Nitroblocks.js
if you are developing an extension and you don't want to fork locally your scratch3 app.
Save this code to your computer as a js file, in my case it is NitroBlock_3.js
“Heluim is inert, it does not react to anything. This makes it perfect to help create a safe atmosphere for welding.” & “Atomic Number: 2; Formula: He; Atomic Weight: 4.002602; State at 20° C: gas; Boiling point: -268.928° C; Melting point: unknown; % in the Universe: 23; % in the Earth's crust: 0.00000055; % in Earths's oceans: 0.00000000072; % in humans: none.”
–The Periodic Table by Sean Callery and Miranda Smith
- cawdd
- Scratcher
100+ posts
Creating extensions for Scratch 3.0
I actually found stuff like this on the Scratch 3.0 source code extension example. How do you add an extension to a project in Scratch 3?
Hi! This Is my signature!
- Jonathan50
- Scratcher
1000+ posts
Creating extensions for Scratch 3.0
The documentation for the extension interface is now here.
All of the extensions provided by Scratch are “internal extensions”. The rest will run in ridiculous web workers.
All of the extensions provided by Scratch are “internal extensions”. The rest will run in ridiculous web workers.
Last edited by Jonathan50 (June 3, 2019 04:05:01)
Not yet a Knight of the Mu Calculus.
- The_Imagineer_
- Scratcher
100+ posts
Creating extensions for Scratch 3.0
but how would you run it
im back baby
- chop2008
- Scratcher
15 posts
Creating extensions for Scratch 3.0
I had no idea that you can make custom scratch extensions. Thanks for this new change. can you publish your scratch projects with custom extensions?
- chop2008
- Scratcher
15 posts
Creating extensions for Scratch 3.0
Last edited by chop2008 (June 23, 2019 02:50:13)
- lktornado360
- Scratcher
36 posts
Creating extensions for Scratch 3.0
Not yet I had no idea that you can make custom scratch extensions. Thanks for this new change. can you publish your scratch projects with custom extensions?
“Heluim is inert, it does not react to anything. This makes it perfect to help create a safe atmosphere for welding.” & “Atomic Number: 2; Formula: He; Atomic Weight: 4.002602; State at 20° C: gas; Boiling point: -268.928° C; Melting point: unknown; % in the Universe: 23; % in the Earth's crust: 0.00000055; % in Earths's oceans: 0.00000000072; % in humans: none.”
–The Periodic Table by Sean Callery and Miranda Smith
- KimPlayz4LK
- Scratcher
6 posts
Creating extensions for Scratch 3.0
To make it in .js file, click on File on the top, download, and when the PC will ask you where save it, enter:
'File.js'. The .js is wery important, because it showing the format of the file.
Soo, try it. But i tryed it, and look what happened! All was not in javascript! You'll see… Good luck!
'File.js'. The .js is wery important, because it showing the format of the file.
Soo, try it. But i tryed it, and look what happened! All was not in javascript! You'll see… Good luck!
- Jonathan50
- Scratcher
1000+ posts
Creating extensions for Scratch 3.0
Scratch projects are not JavaScript code. To make a Scratch extension, you will want to write it in a text editor like Notepad (which comes with Windows) or TextEdit (which comes with macOS.) You could learn JavaScript To make it in .js file, click on File on the top, download, and when the PC will ask you where save it, enter:here.
'File.js'. The .js is wery important, because it showing the format of the file.
Soo, try it. But i tryed it, and look what happened! All was not in javascript! You'll see… Good luck!
Not yet a Knight of the Mu Calculus.
- KimPlayz4LK
- Scratcher
6 posts
Creating extensions for Scratch 3.0
Sorry, but i know JavaScript little bit… But more.
- fruccolo
- Scratcher
1 post
Creating extensions for Scratch 3.0
Hello to everybody,
I'm tryingo to develop an extension for a device that has inside Arduino and i'd want to open a socket with it. I have some trouble to require npm module like socket.io. In wich folder i have to execute the npm install command to find the module with require('socket.io') string?
I'm tryingo to develop an extension for a device that has inside Arduino and i'd want to open a socket with it. I have some trouble to require npm module like socket.io. In wich folder i have to execute the npm install command to find the module with require('socket.io') string?
Last edited by fruccolo (July 1, 2019 13:08:15)
- Jonathan50
- Scratcher
1000+ posts
Creating extensions for Scratch 3.0
I guess you're writing both a client Scratch extension and a Node.js server which it must be used with? Hello to everybody,This tutorial has the details on how to make a server using Socket.IO; you can just make a folder for your extension and install the Socket.IO server there. In the client you should hopefully be able to load the Socket.IO client with something along the lines of
I'm tryingo to develop an extension for a device that has inside Arduino and i'd want to open a socket with it. I have some trouble to require npm module like socket.io. In wich folder i have to execute the npm install command to find the module with require('socket.io') string?
importScripts('/socket.io/socket.io.js')
Not yet a Knight of the Mu Calculus.
- psicinfoscratch
- New to Scratch
8 posts
Creating extensions for Scratch 3.0
your own url for the extension. In your case it would be https://sheeptester.github.io/scratch-gui/?url=https://cottignolima.github.io/scratch_extension/test.jsHi, …you have to
I've tried, just to test the structure, to take the same js file, and called https://sheeptester.github.io/scratch-gui/?url=https://raw.githubusercontent.com/sarini68/hello-world/master/tests1.js but nothing happens, while if I call
https://sheeptester.github.io/scratch-gui/?url=https://nitrocipher.github.io/ext2to3/ext-test.js? it works.
Could you please explain to me why? thanks
- Sheep_maker
- Scratcher
1000+ posts
Creating extensions for Scratch 3.0
According to the console, its MIME type is text/plain instead of text/javascript, so the browser thinks it isn't a JS file that should be executed (for security reasons)your own url for the extension. In your case it would be https://sheeptester.github.io/scratch-gui/?url=https://cottignolima.github.io/scratch_extension/test.jsHi, …you have to
I've tried, just to test the structure, to take the same js file, and called https://sheeptester.github.io/scratch-gui/?url=https://raw.githubusercontent.com/sarini68/hello-world/master/tests1.js but nothing happens, while if I call
https://sheeptester.github.io/scratch-gui/?url=https://nitrocipher.github.io/ext2to3/ext-test.js? it works.
Could you please explain to me why? thanks
You should turn on Github pages in your repository settings (Options > Github Pages > set Source to “master branch”), and then it should work if you use https://sarini68.github.io/hello-world/tests1.js
- Sheep_maker This is a kumquat-free signature. :P
This is my signature. It appears below all my posts. Discuss it on my profile, not the forums. Here's how to make your own.
.postsignature { overflow: auto; } .scratchblocks { overflow-x: auto; overflow-y: hidden; }
- psicinfoscratch
- New to Scratch
8 posts
Creating extensions for Scratch 3.0
According to the console, its MIME type is text/plain instead of text/javascript, so the browser thinks it isn't a JS file that should be executed (for security reasons)your own url for the extension. In your case it would be https://sheeptester.github.io/scratch-gui/?url=https://cottignolima.github.io/scratch_extension/test.jsHi, …you have to
I've tried, just to test the structure, to take the same js file, and called https://sheeptester.github.io/scratch-gui/?url=https://raw.githubusercontent.com/sarini68/hello-world/master/tests1.js but nothing happens, while if I call
https://sheeptester.github.io/scratch-gui/?url=https://nitrocipher.github.io/ext2to3/ext-test.js? it works.
Could you please explain to me why? thanks
You should turn on Github pages in your repository settings (Options > Github Pages > set Source to “master branch”), and then it should work if you use https://sarini68.github.io/hello-world/tests1.js
Now it works, thanks!
Could I ask you why apparently some of your blocks (from the example https://nitrocipher.github.io/ext2to3/ext-test.js? ) do not return anything? I am intending, in particular, “javascript”, “prompt user with” and “get data from url”
- Sheep_maker
- Scratcher
1000+ posts
Creating extensions for Scratch 3.0
Unofficial extensions are run in a web worker, which doesn't have access to functions such as alert or prompt, which the alert _, prompt user with _, and the default value for the javascript _ block use Now it works, thanks!
Could I ask you why apparently some of your blocks (from the example https://nitrocipher.github.io/ext2to3/ext-test.js? ) do not return anything? I am intending, in particular, “javascript”, “prompt user with” and “get data from url”
The default value for the get data from url: _ block, "http://google.com ," wouldn't work for two reasons:
- it's served on http sites, and now https sites cannot request anything from a http site for security reasons
- Google doesn't allow other web pages to fetch it for security reasons
- Sheep_maker This is a kumquat-free signature. :P
This is my signature. It appears below all my posts. Discuss it on my profile, not the forums. Here's how to make your own.
.postsignature { overflow: auto; } .scratchblocks { overflow-x: auto; overflow-y: hidden; }
- NitroCipher
- Scratcher
500+ posts
Creating extensions for Scratch 3.0
-snip-Now it works, thanks!
Could I ask you why apparently some of your blocks (from the example https://nitrocipher.github.io/ext2to3/ext-test.js? ) do not return anything? I am intending, in particular, “javascript”, “prompt user with” and “get data from url”
Hi, glad to hear that it works! The reason these blocks don't work is due to Scratch using web workers to isolate javascript. In this case, javascript is unable to use a few functions such as eval, window/document variables, and ajax.
I hope my post helped you in some way! Post count: 500+
Current project: [s3Blocks: scratchblocks rewritten for Scratch 3.0] ::#4b4a60 //https://scratch.mit.edu/discuss/topic/290031/ Basically done!This is my signature identifier “aWFtbml0cm9jaXBoZXI=”