Discuss Scratch

1000+ posts

Creating extensions for Scratch 3.0

NitroCipher wrote:

It would be a pain in the butt, but it might be possible for us to write a ScratchX to Ex3.0 conversion script.
This is a pretty old post, but I think this would definitely be possible, and probably not too hard…

art blog – My pronouns are they/them, btw. sparrows one word to the paragraph
7 posts

Creating extensions for Scratch 3.0

If Arduino could be supported in later versions of Scratch that would be great
define arduino main operating system
(Pin 13)
New to Scratch
8 posts

Creating extensions for Scratch 3.0

I am a software developer very interested in creating STEM based extensions for Scratch 3.0. I have already begun developing extensions for upcoming Scratch 3.0 and have some questions.


1. Currently, I am installing my extensions as ‘built in’ extensions akin to other extensions
that are distributed with ‘scratch-gui’ project. Is this still the ‘only way’ to test custom built extensions?

2. Has an official date been determined for when Scratch Team will publish ‘final’ specifications/guidelines for “unofficial” extensions?
I understand that these extensions can only be used within the ‘offline’ version of Scratch 3.0.

3. Has an official date been determined for when Scratch Team will accept ‘extension’ to be included with ‘official’ extensions?

Please advise.
New to Scratch
1 post

Creating extensions for Scratch 3.0

Now I need help.
I want to implement my extension blocks and menus to be multi lingual.
So, I read Scratch-3.0-Extensions-Specification and implemented “translation_map” option. But it didn't work. For example, It always displays the default extension name “Mincramming Junior” whatever locale is.
My source is like below…
What is wrong with it?

getInfo () {
return {
id: Scratch3Micramming1Blocks.EXTENSION_ID,
name: formatMessage({
id: ‘extensionName’,
default: ‘Mincramming Junior’,
description: ‘Extension name’
blocks: [
opcode: ‘Chat’,
text: formatMessage({
id: ‘Micramming1.ChatBlock’,
default: 'チャットする「 」',
description: ‘マインクラフトにメッセージを送ります。’
blockType: BlockType.COMMAND,
arguments: {
MSG: {
type: ArgumentType.STRING,
defaultValue: formatMessage({
id: ‘Micramming1.DefaultChat’,
default: ‘こんにちは!’,
description: ‘hello: the default’
description: ‘hello: the default’
translation_map: {
‘ja’: {
‘extensionName’: ‘マイクラミング 低学年’,
‘Chat’: 'チャットする「 」',
‘Chat.MSG_default’: ‘こんにちは!’
‘ja-Hira’: {
‘extensionName’: ‘マイクラミング ジュニア’,
‘Chat’: 'チャットする「 」',
‘Chat.MSG_default’: ‘こんにちは!’
‘en’: {
‘extensionName’: ‘Micramming Junior’,
‘Chat’: 'Send to chat ',
‘Chat.MSG_default’: ‘Hello!’

I am developing an extension with scratch-vm. And I have succeeded to make some original blocks to manipulate a Minecraft's world through Rapsberry-Pi mod.

Powered by DjangoBB

Standard | Mobile