RaspberryJamMod starter kit

77 views
Skip to first unread message

Alexander Pruss

unread,
Jun 11, 2015, 8:08:37 PM6/11/15
to adventures-in-...@googlegroups.com
I just made a starter kit for Windows single-user using my RaspberryJamMod. Go to https://github.com/arpruss/raspberryjammod/releases and grab the installer exe file.

You need to first install Minecraft and Forge for 1.8, but other than that it includes everything else: a Python 2.7 interpreter, the mod, a link to IDLE (with working directory set to where the scripts are), and a lot of sample scripts (in %appdata%\.minecraft\mcpipy). If you already have Python, you can skip installing it.

I've been using RaspberryJamMod to teaching coding this week, and it's worked well enough on my two groups of thirteen students (middle-school and high-school, respectively). So the mod seems reliable enough in a production setting.

Instead of using IDLE, I was using Visual Studio 2013 with Python Tools, because the Intellisense works great with the scripts. (The install of VS, however, is incredibly slow: it took about two hours to download and install even over our university's fast connection.) 

Bob Irving

unread,
Sep 8, 2015, 4:37:22 PM9/8/15
to Adventures in Minecraft Forum
Hi Alexander and other interested souls,

What advantages would this give in a class setting over the AdventuresInMinecraft RaspberryJam for Windows solution, which uses Bukkit?

I did it last spring with the download from the AIM website, and it worked pretty well, though we had to do crazy stuff to get Bukkit running in my lab -- some permissions were interfering. Or that other way round.

Bob Irving
Porter-Gaud School
Charleston, SC

Alexander Pruss

unread,
Sep 9, 2015, 10:47:54 AM9/9/15
to Adventures in Minecraft Forum
1. Probably easier for students to start a new world when testing a new program. I assume there are some commands they can type into the Bukkit interface to start a new world, but it's really easy and familiar for them in Minecraft. I remember from my students' screens that their worlds would get all cluttered with structures generated by their code and they'd need new superflat worlds for testing new code quite often. I would routinely tell kids "Start a new superflat world" when they developing a new bit of code. 
2. No need to start a separate server app each session. 
3. Much faster getBlock*() performance.
4. The "/py script" Minecraft command supported by RJM is a handy way to start scripts (and include commandline arguments as needed). This makes scripts feel more seamlessly integrated into the Minecraft environment. Once you write a script, you no longer need IDLE or a commandline to start the script. And you can even start the script from a command block. Basically, with the "/py script" command, the kids can feel like they're extending Minecraft. 
5. The "/py script" command together with my updated mcpi/*.py scripts is designed to work particularly well in multiuser contexts. For instance, if one kid opens their world to LAN, then other kids can try out that kid's scripts with "/py script". Moreover, there is magic behind the scenes that makes player.*() commands in the script work with each player correctly with no change to the script code. So, for instance, a kid can make a script that launches a missile in whatever direction they are facing. Another kid can connect and use the same script and they can have a battle.
6. world.spawnEntity() command allows one to do things that can't be done with AIM. For instance, you can add an object to the user's inventory, or spawn and control a monster.
7. Most scripts (i.e., scripts that don't use mc.getHeight()) Just Work in the Nether and the End as well.
8. For those students who are used to installing mods, installing RJM at home might be easier. For other students, installing AIM at home might be easier.
9. Read-only protected mode. A buggy or ill-advised script can really mess up a world that you've been designing. (Most of the scripts we were doing were scripts that programmatically generated different structures rather than implemented games.) You can set the mod in read-only mode, and while you'll be able to see the blocks that the script would draw, the actual results aren't saved to the world. (It's kind of hard to explain...) So you can test and debug your code to draw, say, a giant Death Star without messing up your world, and then go and turn off the read-only mode. This is probably not all that useful given that you can also easily start up a scratch world.

Alexander Pruss

unread,
Sep 9, 2015, 9:27:26 PM9/9/15
to Adventures in Minecraft Forum
10. Options to detect left-click and click with something other than a sword. These open some new possibilities, because you can use them to watch what exactly the user is drawing or erasing.

For instance, these options power my symmetry.py script, which lets you draw objects satisfying all sorts of symmetries by watching for clicks.

This image is drawn with: /py symmetry 90 t 3 0 1 0, simply by drawing a few squiggles on the ground level. (90 degree rotational symmetry, plus vertical triplicate translation.)
Reply all
Reply to author
Forward
0 new messages