Hi Jon,
Thanks for the comments. Re: the problems with the latest jar, if you right-click and then save the scriptcraft.jar file to the craftbukkit/plugins directory (removing any previous scriptcraft.jar file) then run craftbukkit, it should be fine.
I'm planning to run a short workshop for about 20 kids just to introduce them to programming in javascript in minecraft (it will unfortunately be really short).
I'll have the kids connect to my own server...
Exercise 1: Simple math: /js 1 + 1, /js 5 - 3 , /js 6 / 2 etc. Purpose: demonstrate that javascript expressions can be executed at the in-game prompt.
Exercise 2: Function calls: /js echo ('Hello world'), /js echo(self) Purpose: show syntax for calling functions.
Exercise 3: Autocompletion: /js bloc <Press TAB key> (blocks and blocktype() appear as possible completions), type s then press TAB key again. A list of all possible minecraft materials appears. Type blocks.go <press TAB key> choose blocks.gold then hit enter. (result 41)
Purpose; Using the TAB key to autocomplete. demonstrate the in-game autocompletion which makes it easier to type global variables/functions without making mistakes.
Related: Materials in minecraft (like most things in the world of programming) are just numbers. blocks.gold is just another way of saying 41
Exercise 4: A little bit of alchemy: A ring of dirt blocks is set up. Students line up and pick a dirt block. The goal is to use javascript to turn the dirt block into a block of gold. (reminded of the broomstick training scene in the harry potter movie) . This is a directed exercise to introduce the Drone functions. Students must target the dirt block facing them and type /js box( blocks.gold ) to turn it into gold.
Purpose: reinforce function calls, parameters. Introduce the 'box()' method and how to build in Minecraft using the drone functions (you must target a block before invoking a drone function).
Exercise 5: (If i have time that is) More alchemy: Building across, up and deep. Introducing basic 3D geometry, the width, height and depth parameters for the box() method and what they mean. Build a yellow-brick road, 3 x 1 x 20.
This workshop is going to be short (about 45 minutes and 20 kids involved) so I don't know how much of the above I'll cover. Any comments or suggestions are welcome.
Walter