Custom Block Megapack
Prepare to be blown away. I've poured every ounce of usefulness into some custom block libraries that I believe will drastically improve the quality of advanced projects. I don't just mean any simple blocks like exponents and whatnot - if you're looking for those, go to my other block pack: https://scratch.mit.edu/projects/12676518/
This... this is where the really advanced stuff goes, and I will do my best to improve it further. For now, here are the works I'm proud to have made:
- Custom block library for a two-dimensional dynamic array. Includes tons of functions for manipulations and selections. I will someday make a 3D and perhaps a generic multi-dimensional array...
- Custom block library that creates Key-Value pairs in parallel lists. Sometimes called a hash map or a hash table in some languages. It is quite easy to make and doesn't use case sensing, so be aware.
- An array of 1D arrays in which each "row" is dynamic, meaning it can hold any number of values independent of its cousins, and all configured to work in one list.
- String version is experimental, doesn't work, so don't use it.
- Tested and successfully working with any kind of JSON object.
- Includes parsing, stringifying, prettifying, getting, setting, adding, deleting of elements.
- Definitely one of the most impressive things I've done.
- Custom block library for working with Extensive Markup Language.
- Not tested completely but soon I'll find out. Never hurts to try. Use at your own risk until this note is deleted.
- Includes parsing, stringifying, prettifying, getting, setting, adding, deleting of elements and attribute nodes.
- Easy inventory management for any RPG.
- Adding, removing, counting, and checking
- Now you can create disposable counters, string buffers, and lists (one per recursion level only)
- Example infix evaluation script included
- A psuedo-implementation of classes that allows you to create a Class with any number of attributes, assign default values to attributes, and create Instances of those Classes.
- You declare/initialize attributes following a simple syntax: attribute=value,attribute2=value2, and so on (be careful, the comma is used to separate attribute-value pairs)
- Even includes some blocks you didn't think you would need.
I realize after merging my new libraries into this project, I have quite a few inconsistencies with labeling. I will try to fix that...