What is Blue?

Blue is a mod for Scratch 2.0 that is currently in development.

Just like the old mods for Scratch 1.4 such as Insanity, Panther and Explore, this is a mod based on the modern Scratch 2.0 by MIT. It can be used within the web browser, or an offline version is coming soon.

The beta is now available for testing! Please try it out and give me suggestions here so I can continue to work on updates.

Try out the beta here!

What will be in Blue?

Here are some blocks that I will put into blue. (If they are grey in the beta, then I haven't coded them yet)

					load file [ ] to list [list v] :: motion//Imports a txt file into a list

					copy [ ] to clipboard :: motion//Copies text to the clipboard
					(clipboard :: motion)//Returns the clipboard
					move [variable v] to x: (10) y: (10) :: variables//Moves a variable watcher

					set [variable v] color to [#0099ff] :: variables//Changes the color of a variable watcher

					set [variable v] style to [normal v] :: variables//Changes the style of a variable watcher (normal, large, slider)

					set [list v] color to [#0099ff] :: list//Changes the color of a list watcher
					(internal volume :: sound)//Returns the internal volume of Scratch
					(length of sound [sound v] :: sound)//Returns the length of a sound (in seconds)
					(distance to x: (10) y: (10) :: sensing)//Returns the distance to a set of coordinates
					point towards x: (10) y: (10) :: motion//Points towards a set of coordinates
					<internet connection? :: motion>//Reports true or false (boolean)
					<fullscreen mode? :: motion>//Reports true or false (boolean)
					(read url [www.google.com] :: motion)//Returns the source code of a web page
					(read line (1) of url [www.google.com] :: motion)//Returns a single line of a web pages' souce code
					stop [all and press green flag v] :: control//Stops everything and then presses the green flag
					define custom reporter
					::custom cstart cap
					{report[]::custom-arg cap}::cend
					define custom boolean
					::custom cstart cap
					{report<>::custom-arg cap}::cend

					make [draggable v] :: motion//Makes the sprite draggable or not
					<draggable? :: motion>//Reports if the sprite is draggable (boolean)
					(dialog ask with title [ ] and message [ ] :: motion)//Asks the user a question, then reports the answer
					(custom dialog [ ]◀ ▶ :: motion)//Coming soon!

What I have already coded in

					(letters (1) to (3) of [world] :: operators)//Returns letters between two points in a string
					open url [www.google.com] :: motion//Opens a url

					for each [v v] in (10) :: control cstart//See http://scratch.mit.edu/projects/25582648/
					while < > :: control cstart//Runs a script while a boolean is true
					(clone count :: control)//Returns the total number of clones in a project
					(counter :: control)//Basically acts as a variable controlled by the following two blocks
					clear counter :: control//Clears the counter

					incr counter :: control//Increases the counter by 1

					hide all sprites :: looks//Hides all the sprites (only works from stage)

					set cursor to [normal v] :: motion//Sets the cursor type (see the alpha for all cursors!)

					save [ ] to text file :: motion//Saves text to a txt file

					load text from text file :: motion//Saves the text from a txt file to the file contents variable below
					(file contents :: motion)//Returns the contents of the last file loaded with the block above
					([color v] effect :: looks)//Returns the effect value of the current object
					([ ] ^ [ ] :: operators)//Index notation
					([pi v] :: operators)//Reports the constant (pi, e or the golden ratio)
					<true :: operators>//Reports true (boolean)
					<false :: operators>//Reports false (boolean)
					<(50) % chance of true :: operators>//A chance of reporting true or false (boolean)
					[fullscreen v] mode :: motion//Sets the screen mode (fullscreen, normal, small stage)
					([true] as a boolean:: operators)//Will always report true unless string is false
					<visible? :: looks>//Reports if the sprite is visible (boolean)
					<pen down? :: pen>//Reports if the pen is down or not (boolean)
					(pen hue :: pen)//Reports the pen color (as an integer)
					(pen shade :: pen)//Reports the pen shade
					(pen size :: pen)//Reports the pen size
					<[haystack] contains [needle] :: operators>//Reports if a string contains another string (boolean)
					([uppercase v] [meow] :: operators)//Reports the altered string (uppercase, lowercase, reverse, shuffle and trim blanks of)
					(times [a] is in [raincoat] :: operators)//Reports the number of instances of the first string in the second
					(replace letters (2) to (4) of [crust] with [a] :: operators)//Replaces the letters between two points
					(replace every [m] in [mat] with [c] :: operators)//Replaces every instance of a string with another string
					(repeat [do] (2) times :: operators)//Repeats a string a given number of times
					(ascii for [A] :: operators)//Returns the ascii code for a letter
					(ascii [65] as string :: operators)//Returns the string for an ascii value
					([ ] ≤ [ ] :: operators)//Self-explanatory
					([ ] ≥ [ ] :: operators)//Self-explanatory
					<[5] is [a number v] :: operators>//Reports true or false if the input is the type selected (number, string, boolean or color)
					<case sensitive [meow] = [Meow] :: operators>//Reports if the strings match with case sensitivity enabled (boolean)
					<if < > then [ ] else [ ] :: operators>//Acts like an if block, but as a single reporter
					[activate v] turbo mode :: motion//Self-explanatory (activate, deactivate and toggle)
					<turbo mode? :: motion>//Reports true or false if turbo mode is on (boolean)
					set max. clone count to (300) :: motion//Sets the maximum clone count, and confirming with a dialog
					(max. clone count :: motion)//Reports the maximum clone count
					dialog notify with title [ ] and message [ ] :: motion//Notifies the user with a dialog box
					<dialog confirm with title [ ] and message [ ] :: motion>//Confirms with the user using a dialog box, then reports true or false

Known bugs

How can you help?

There are multiple ways you can contribute to the project. You can check out the beta version and contact me about any bugs, problems or new block ideas. You can also paste one of the following codes into your Scratch forum signature to show your support.

Big version: [center][url=http://blue.gwiddle.co.uk][img]http://i67.tinypic.com/29cb6hg.jpg[/img][/url][/center]

Small version: [url=http://blue.gwiddle.co.uk][img]http://i65.tinypic.com/jacm6c.jpg[/img][/url]