[Steering Committee] Draft: Introduction to Programming with Minecraft Mods

Jason Lee jason at steeplesoft.com
Mon Jun 29 19:40:21 PDT 2015


Do I have all the details correct? I CC'd Vance so we can see about 
getting this out to the Techlahoma peeps once we've finalized this rough 
draft. :)


-----

Greetings, Oklahoma City tech community! Do you have a son or daughter 
(or niece, nephew, grandchild, super-friendly neighborhood child) who 
loves Minecraft? Does said Minecraftian have an interest in learning how 
to program? If so, this is your lucky. The Oklahoma City Java User Group 
would like to invite you and 0 or more or pint-sized precocious progeny 
to our July session where we'll be offering an introduction to 
programming using Minecraft modding as the goal.

*What will be doing?* We're going to be getting an introduction to 
various programming concepts (types, variables, loops, conditionals, 
classes, etc) using the Java programming language. Having a concrete, 
usable goal is always more interesting, so we'll learn these concepts as 
develop (and RUN!) simple Minecraft mods.

*Will my /CHILD<Relationship>/ be an expert programmer or modder when 
we're done?* Probably not, but the hope is that this session will be 
enough to flatten the learning curve a bit, leaving each child 
well-equipped for further study, either self-directed or with you, as 
well as with a taste for how fun programming can be.

*How old does you mini-me need to be?* That's entirely up you. If you 
have, say, a 6 year-old who's comfortable with compilers and API docs, 
then that's old enough for us.

*Is there anything we need to install before we come?* There certainly 
is. Our time will be limited, so it would be extremely helpful to have a 
basic, working environment already setup. While you are free to use any 
IDE you want, I will be using NetBeans, the Free (and TOTALLY AWESOME) 
IDE from Oracle, which can be downloaded from http://netbeans.org. You 
will also need a working Java environment, as well as a relatively 
current copy of the Minecraft Forge plugin development kit. I'll have 
detailed instructions at the end of this email to help you set up your 
environment.

*This sounds great? When and where is it?!* In a departure from our 
normal schedule (which will be significant only for normal JUG 
attendees), we will be meeting on Monday, July 13 at 11:30AM at 
Prototek, which is located at 10th and Hudson in Oklahoma City 
(https://goo.gl/maps/tD26c). You can park in the dirt lot Hudson, just 
north of Park Place. Do not park ON Park Place, as I own both that 
Boardwalk, and my improvements there are guaranteed to ruin you.

*What should we bring to the session?* To participate, you will 
obviously need a laptop to work, with one per laptop per child being 
ideal. If you are bringing multiple wee ones and need to share, that 
would be fine. If you don't have a laptop and just want to come listen, 
that will work as well. :)

*That's right during lunch. What's wrong with you people?* Nothing that 
some free pizza can't solve, so bring your appetites!

*Is there anything else we need to know?* That's about it. Come prepared 
to have fun and learn. And don't forget your questions!

We're pretty excited about this session and hope to see LOTS of kids 
come out for a fun time.

*Detailed Pre-Meeting Instructions*


I made that really large for two reason: I really wanted to use that 
formatting bar in Thunderbird that I've ignored for so long, and I 
wanted to make sure you don't miss this part. :) You *can* come and set 
up your laptop at the meeting, but we won't have time to do that as a 
group, so we'll have to keep moving while you're setting up. If you have 
to do that, that's fine. I hope to conscript a few of the JUG leaders to 
act as workshop assistants in case anyone needs help installing the 
various pieces. Another issue is bandwidth: Prototek will let us use 
their wifi, but regardless of their bandwidth, when two dozen people 
start downloading all of the dependencies, it probably won't be fast. :)

What do you need to download then? These three things:

 1. Java -
    http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html.
    You will the Java SDK, and I would suggest the latest version, which
    is currently Java SE 8u45. Download the installer appropriate for
    you platform and install it.
 2. NetBeans - https://netbeans.org/downloads/ - You will need the Java
    SE version. Again, get the installer appropriate for you platform
    and install it.
 3. Minecraft Forge -
    http://files.minecraftforge.net/maven/net/minecraftforge/forge/1.8-11.14.1.1341/forge-1.8-11.14.1.1341-src.zip
    - There are platform-specific installers, but I'd just get this zip

With those downloaded and installed, extract the zip file (using the 
tool of your choice) in a directory. Mac and Linux users can do this:

    $ cd ~
    $ mkdir MinecraftMods
    $ cd MinecraftMods
    $ unzip $PATH_TO_ZIP/forge-1.8-11.14.1.1341-src.zip

Wherever you've extracted, you will need to open a shell (or command 
prompt) and run this command in that directory:

    $ ./gradlew setupDecompWorkspace --refresh-dependencies

(Windows users can leave off the leading ./)

Once that is done, open up NetBeans, then click File | Open Project and 
navigate to this directory. Hopefully, this directory will show up as a 
Gradle project. If it does not, you will need to install the Gradle 
plugin ( Go to Tools | Plugins and install "Gradle Support".) After a 
few seconds, you should see the project open in the Project view, with 
several nodes beneath in the tree. To test things, click on the project 
node (it should be called MinecraftMods), click Tasks, Run, and 
runClient. After a few seconds, you should see Minecraft start up. 
Congratulations, you should be ready to go.

*Whew! That's kind of hard to follow!* If you're like me and like to see 
pictures, you can see these same instructions on the NetBeans blog at 
https://blogs.oracle.com/geertjan/entry/seamless_minecraft_forge_in_netbeans.

*But I don't like NetBeans. I like pain!* There may be some Eclipse fans 
out there. If just /have/ to use Eclipse, you can generate the Eclipse 
project files by running "gradlew eclipse".

*NetBeans is nice and all, but I prefer to buy things. Can I use IDEA?* 
Sure! Just run "gradlew idea" to generate the project files.

*Is that "all"?* Should be. Pretty simple, huh? :P If you run into 
problems, try to do as much as you can before you come, and you can 
either ask for help on the JUG mailing list 
(http://okcjug.org/contact-us) or, worst-case scenario, wait until the 
day of the JUG and get help there (though it would help to arrive early ;).


-- 
Jason Lee
http://cubtracker.com
http://blogs.steeplesoft.com
http://twitter.com/jasondlee
http://blogs.steeplesoft.com/+
http://blogs.steeplesoft.com/in

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.okcjug.org/pipermail/sc-okcjug.org/attachments/20150629/e4fa351a/attachment-0001.htm>


More information about the sc mailing list