ShovelUtils
Shovel Utils is an extension focused mostly on injecting and modifying sprites and assets inside the project, as well as several other functions.
Disclaimer: Modifying and importing assets can be dangerous, and has the potential to corrupt your project. Be careful!
Importing Assets
Shovel Utils offers an easy way to import several types of assets, including sprites, costumes, sounds, extensions, and even full projects.
This goes for all blocks that fetch from a link: If you're experiences errors and are not able to import an asset from a link, check your console! You may be running into a CORS error. To resolve this, use a proxy like corsproxy.io.
Imports a sprite into the project using a DataURI or link. Be mindful of sprite names; having two or more sprites with the same name can cause issues.
Imports a costume from a PNG, Bitmap, or JPEG. Does not work with SVGS. The costume imports into the current sprite/backdrop the user has selected.
Imports a sound from any Scratch-compatible sound file. The sound imports into the current sprite/backdrop the user has selected.
Imports a full project from a link. This project will completely replace the contents of the current one. If the project is unsandboxed, it will ask permission before swapping contents.
Imports any extension from a link. Extensions from the Extension Gallery can run unsandboxed, and don't require permission to import.
Other Ways to Modify The Project
Aside from importing assets, Shovel Utils provides multiple miscellaneous features to modify and straight up delete parts of your projects.
Sets the selected sprite in the editor. You can also set your input to "Stage" to set the selected target to the backdrop. This does work packaged, however will not have a visual effect.
Gets the names of all the sprites (and the stage) as a JSON array. This can then be parsed using the JSON Extension.
Emulates a green flag click on a project, even if the green flag isn't present.
Deletes a costume from the specified sprite. If the costume doesn't exist, the block simply doesn't do anything.
Deletes a the specified sprite. If the user has the "Sprite Deletion Confirmation" addon enabled and the project is unpackaged, it will ask permission before deleting sprites.
Miscellaneous Features
Aside from project modification, there's several utility blocks present in Shovel Utils.
Get the accurate FPS, or frames per second, of the current project. This is not the same as the "framerate limit" block from Runtime Options, as the block in Shovel Utils accounts for lag.
Get the values of a list, exported as a JSON array. If the specified list has not been created yet, or is empty, the block will return empty.
Sets the values of lists. Accepts JSON arrays as inputs. If the specified list has not been created yet, the block simply doesn't do anything.
Gets the brightness of a hex value. Reports a whole number between 0 and 255. To transfer this to a value between 0 and 100 (what TurboWarp uses), divide the output of the block by 2.55 and round.