Looks like a great guide to get started with coding with Minecraft. There have been some efforts over the years, but this looks really complete. One obstacle for schools to get started with this however, is buying all the Minecraft licenses.<p>To this end, I've been toying around a bit with an open source Minecraft clone called Minetest lately [1][2]. It's surprisingly complete, and could also have great uses in (programming) education.<p>It has a C++ core based on the Irrlicht 3D engine, but many of the game mechanics are implemented in Lua. Modifications like the examples in Teachcraft can also be built in Lua. For example, this [3] is a mod to spread flowers and mushrooms around the map.<p>The Lua language isn't used much currently in the education environment, which is mostly focused around Scratch, Python and sometimes Javascript. Then again, seeing different languages and noticing their similarities can be educational in itself.<p>Finally, I've been wondering how hard it would be to port something like Minetest to Emscripten. Irrlicht seems to be compatible already [4]. The non-JIT version of Lua is compatible as well [5]. Obstacles in Minetest that I can identify would be the heavy use of the filesystem, the use of UDP sockets and memory sharing between threads.<p>Would anyone know more about how hard porting something like this would be?<p>[1] <a href="https://github.com/minetest" rel="nofollow">https://github.com/minetest</a><p>[2] <a href="http://www.minetest.net" rel="nofollow">http://www.minetest.net</a><p>[3] <a href="https://github.com/minetest/minetest_game/blob/master/mods/flowers/init.lua" rel="nofollow">https://github.com/minetest/minetest_game/blob/master/mods/f...</a><p>[4] <a href="http://irrlicht.sourceforge.net/forum/viewtopic.php?f=2&t=51809&start=15" rel="nofollow">http://irrlicht.sourceforge.net/forum/viewtopic.php?f=2&t=51...</a><p>[5] <a href="https://github.com/vvanders/wasm_lua" rel="nofollow">https://github.com/vvanders/wasm_lua</a>
Nice! A while ago, I also worked on a Python <-> Minecraft interaction which is not based on mcpi (and RaspberryJuice), but instead spawns a full Jython based Python interpreter session server-side allowing you to directly use the full Bukkit API [1]. This allows to use various commands mcpi doesn't support, such as creating lightning, explosions, and dynamically writing events using Python, either by using a client (sending Python code over the wire) or from the chat console in Minecraft.<p>The way how mcpi works is by creating a network bridge between the RaspberryJuice plugin and Python. Commands in Python are send to the Minecraft plugin over the wire and handled there (using the Bukkit API), with output send back to the Python client. This is safer in the sense that you don't have the full Python environment running on the server and that (in theory) you can use both Python 2 and 3 (Jython support for Python 3 is not there yet). The drawback is that you can only utilize commands that are manually implemented and that the full Bukkit API is not directly exposed.<p>At one point, I also had a plan to expand this into a tutorial series but didn't really follow up on this due to a lack of time. I'd really like to do this some day, though.<p>[1]: <a href="https://github.com/Macuyiko/minecraft-python" rel="nofollow">https://github.com/Macuyiko/minecraft-python</a> and video: <a href="https://www.youtube.com/watch?v=j4JfwS5hNlw" rel="nofollow">https://www.youtube.com/watch?v=j4JfwS5hNlw</a>
I was thinking about this just yesterday, and wondering if python could be taught <i>in game</i> like ComputerCraft uses Lua, except for python.<p>Maybe certain object/data types could have a physical presence like a database could be a shelf, and hooking them up physically would create a real database will multiple tables that could be interacted with in the game. I was thinking about this more in the sense of actually helping me model applications instead of teaching, as it would just be more fun to work with. Does anyone else have interest?<p>Another way of thinking about this could be like a library with bookshelves in game that you can actually walk though, and program an in game robot to get certain books when you want certain things (querying), and it could help visualize how a database and application were set up and working together.
I remember working with a few people who had families several years back.There was a bring your kid to work day. Around mid day I saw all the kids playing minecraft on their laptops. They were probably about 8 - 12 I think. As I talked to them, they got really excited. Wanting to show off their private worlds. They had created custom modules in java, were running servers, and all these other things. This was like the lego blocks for their generation. In addition it bought a lot of STEM knowledge to boot.<p>Seeing stuff like this is really cool. Adding more to the community and growing opportunity.
This is really nice, however I wish someone makes an in-game version of this, so you don't even have to get a development environment running - just install the mod (which kids are already familiar with), jump in game and develop there.
This looks great! I run after-school coding lessons for Australian kids aged 8-12, teaching them to code Minecraft mods using scratch-like code blocks (if you're interested, its <a href="https://codemakers.com.au" rel="nofollow">https://codemakers.com.au</a>).<p>I've been looking for a solution for teaching the more advanced students who want to start using a 'real' language. I was initially looking at using Scriptcraft, but TeachCraft looks like another great option!
This looks awesome. Minecraft is a fantastic way to teach programming, and not just to kids! There is something magical about seeing code you write doing something visual that you can interact with.<p>Here's a shameless link to a thing I created a while back when I was running workshops. Minecraft-like world that runs in pure browser aimed at teaching JavaScript:<p><a href="http://webblocks.uk/" rel="nofollow">http://webblocks.uk/</a>
Kids around here mostly use Minecraft PE on tablets. I know previously this didn't work with shared servers but maybe it does now - I'm not really up to date.<p>Would these Python customized servers work with tablet Minecraft now?
Would love to try this out as my kids love Minecraft (when played at friend's houses) but:<p>"Step 1 - Install Minecraft"<p>I can't get Minecraft to work on my Windows laptop. Minecraft crashes after a few seconds with a Java error:<p>"Java (tm) Platform Binary SE has stopped working"<p>Tried searching for a cause and tried everything I could find. Perhaps someone here has some suggestions?<p><i>EDIT:</i> Re downvotes: that will teach me to post a half finished piece while I went to check on actual Java error! Not complaining - my fault entirely for posting half-assed reply which sounded aggressive.
Minor meta note: this site has almost no HTML metadata, which is probably not great for SEO but also makes it less visible when sharing on social media:<p><a href="https://developers.facebook.com/tools/debug/sharing/?q=https%3A%2F%2Fteachcraft.net%2F" rel="nofollow">https://developers.facebook.com/tools/debug/sharing/?q=https...</a><p><a href="https://cards-dev.twitter.com/validator" rel="nofollow">https://cards-dev.twitter.com/validator</a>
<a href="https://education.minecraft.net/faq/how-much-does-it-cost/" rel="nofollow">https://education.minecraft.net/faq/how-much-does-it-cost/</a><p>minecraft education is $5/year, with 'opportunities for volume licensing' which sounds affordable, but then it feels really misguided for microsoft not to give it away for free. Getting future developers to have some contact with the microsoft ecosystem is worth more than $5 i would think.
Well, I haven't played Minecraft since around 2013, but this tutorial so entertaining that I will probably install it again as soon as I get back from work today.
This reminds me of the great game called Colobot, where players could program their robots to gather resources, fight the enemies etc using Java-like language. It would be nice to have a simple API to script NPC in Minecraft too.
This is great.<p>FYI, Minecraft Pi has this facility too. My daughter loves playing with it.<p><a href="https://www.raspberrypi.org/learning/getting-started-with-minecraft-pi/worksheet/" rel="nofollow">https://www.raspberrypi.org/learning/getting-started-with-mi...</a>
This is really great. All the existing "program in minecraft" solutions were pretty hacky IMO; lots of cruft to work around, which is really bad for my target audience of middle school students.