<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<div class="paragraph">
<p>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 day. The
Oklahoma
City Java User Group would like to invite you and 0 or more of
your pint-sized and precocious progeny to our July session where
we’ll be
offering an introduction to programming using Minecraft modding
as the goal.</p>
</div>
<div class="paragraph">
<p><strong>What will we be doing?</strong> 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 we develop (and RUN!) simple Minecraft mods.</p>
</div>
<div class="paragraph">
<p><strong>Will my <em>CHILD<Relationship></em> be an
expert programmer or modder when we’re done?</strong> 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.</p>
</div>
<div class="paragraph">
<p><strong>How old does you mini-me need to be?</strong> 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.</p>
</div>
<div class="paragraph">
<p><strong>Is there anything we need to install before we come?</strong>
There certainly is! Our time will be limited, so it would be
extremely helpful
to have a basic, working environment already set up. 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 <a href="http://netbeans.org" class="bare">http://netbeans.org</a>.
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.</p>
</div>
<div class="paragraph">
<p><strong>This sounds great? When and where is it?!</strong> 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
(<a href="https://goo.gl/maps/tD26c" class="bare">https://goo.gl/maps/tD26c</a>).
You can park in the dirt lot Hudson, just north of Park Place.
Do not park ON Park Place, as I own both
that and Boardwalk, and my improvements there are guaranteed to
ruin you.</p>
</div>
<div class="paragraph">
<p><strong>That’s right during lunch. What’s wrong with you
people?</strong> Nothing that some free pizza can’t solve, so
bring your appetite!</p>
</div>
<div class="paragraph">
<p><strong>What should we bring to the session?</strong> To
participate, you will obviously need a laptop to work on, with
one per laptop per child (no
government organizations/programs, please) 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. :)</p>
</div>
<div class="paragraph">
<p><strong>Is there anything else we need to know?</strong> That’s
about it. Come prepared to have fun and learn. And don’t forget
your questions!</p>
</div>
<div class="paragraph">
<p>We’re pretty excited about this session and hope to see LOTS of
kids come out for a fun time.</p>
</div>
<hr>
<div style="font-size: 48pt; color: #FF0000; font-weight: bold;">Detailed
Pre-Meeting Instructions</div>
<div class="paragraph">
<p>I made that really large for two reasons: 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 <strong>can</strong>
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 very fast. :)</p>
</div>
<div class="paragraph">
<p><strong>What do you need to download then?</strong> These three
things:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Java - <a
href="http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html"
class="bare">http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html</a>.
You will need the Java SDK, and I would suggest the latest
version, which is currently Java SE 8u45. Download the
installer appropriate for your platform and install it.</p>
</li>
<li>
<p>NetBeans - <a href="https://netbeans.org/downloads/"
class="bare">https://netbeans.org/downloads/</a> - You
will need the Java SE version. Again, get the installer
appropriate for your platform and install it.</p>
</li>
<li>
<p>Minecraft Forge - <a
href="http://files.minecraftforge.net/maven/net/minecraftforge/forge/1.8-11.14.1.1341/forge-1.8-11.14.1.1341-src.zip"
class="bare">http://files.minecraftforge.net/maven/net/minecraftforge/forge/1.8-11.14.1.1341/forge-1.8-11.14.1.1341-src.zip</a>
- There are platform-specific installers, but I’d just get
this zip</p>
</li>
</ol>
</div>
<div class="paragraph">
<p>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:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="bash">$ cd ~
$ mkdir MinecraftMods
$ cd MinecraftMods
$ unzip $PATH_TO_ZIP/forge-1.8-11.14.1.1341-src.zip</code></pre>
</div>
</div>
<div class="paragraph">
<p>Wherever you’ve extracted the archive, you will need to open a
shell (or command prompt) and run this command in that
directory:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="bash">$ ./gradlew setupDecompWorkspace --refresh-dependencies</code></pre>
</div>
</div>
<div class="paragraph">
<p>(Windows users can leave off the leading ./)</p>
</div>
<div class="paragraph">
<p>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 it 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.</p>
</div>
<div class="paragraph">
<p><strong>Whew! That’s kind of hard to follow!</strong> Well,
yeah. If you’re like me and like to see pictures, you can see
these same instructions on the NetBeans
blog at <a
href="https://blogs.oracle.com/geertjan/entry/seamless_minecraft_forge_in_netbeans"
class="bare">https://blogs.oracle.com/geertjan/entry/seamless_minecraft_forge_in_netbeans</a>.</p>
</div>
<div class="paragraph">
<p><strong>But I don’t like NetBeans. I like pain!</strong> There
may be some Eclipse fans out there. If you just have to use
Eclipse, you can generate the
Eclipse project files by running <code>gradlew eclipse</code>.</p>
</div>
<div class="paragraph">
<p><strong>NetBeans is nice and all, but I prefer to buy things.
Can I use IDEA?</strong> Sure! Just run <code>gradlew idea</code>
to generate the project files.</p>
</div>
<div class="paragraph">
<p><strong>Is that "all"?</strong> 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 (<a
href="http://okcjug.org/contact-us" class="bare">http://okcjug.org/contact-us</a>)
or, worst-case scenario, wait until the day of the JUG and
get help there (though it would help to arrive early ;).</p>
</div>
<pre class="moz-signature" cols="72">--
Jason Lee
<a class="moz-txt-link-freetext" href="http://cubtracker.com">http://cubtracker.com</a>
<a class="moz-txt-link-freetext" href="http://blogs.steeplesoft.com">http://blogs.steeplesoft.com</a>
<a class="moz-txt-link-freetext" href="http://twitter.com/jasondlee">http://twitter.com/jasondlee</a>
<a class="moz-txt-link-freetext" href="http://blogs.steeplesoft.com/+">http://blogs.steeplesoft.com/+</a>
<a class="moz-txt-link-freetext" href="http://blogs.steeplesoft.com/in">http://blogs.steeplesoft.com/in</a></pre>
</body>
</html>