Skip to content

Conversation

@LordCat0
Copy link

@LordCat0 LordCat0 commented Dec 2, 2025

This adds the ability for extensions to have the "requiredExtensions" attribute in the extensions info in which the VM will attempt to load the extensions if not already added. Below is a mock-up extension I used in which everything seems to work as expected.

(async Scratch => {
    class Extension {
        getInfo(){return {
            id: "testing",
            name: "Testing EXT",
            blocks: [],
            requiredExtensions: [
                "pen",
                "motion",
                "https://sharkpools-extensions.vercel.app/extension-code/Turbo-Skins.js",
                "https://extensions.turbowarp.org/fetch.js",
                "https://extensions.turbowarp.org/runtime-options.js"
            ]
        }}
    }
    Scratch.extensions.register(new Extension);
})(Scratch);

Copy link
Member

@CubesterYT CubesterYT left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yum

@LordCat0
Copy link
Author

LordCat0 commented Dec 2, 2025

@CubesterYT I think I fixed the coreExtensions list

Copy link
Member

@CubesterYT CubesterYT left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

j

Copy link
Member

@CubesterYT CubesterYT left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm lowk not gonna test this code and assume everything works great, yolo.

@CubesterYT CubesterYT merged commit 1b58840 into develop Dec 2, 2025
0 of 2 checks passed
@CubesterYT CubesterYT deleted the required-extensions branch December 2, 2025 02:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants