<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    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. :)<br>
    <br>
    <br>
    -----<br>
    <br>
    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. <br>
    <br>
    <b>What will be doing?</b> 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.<br>
    <br>
    <b>Will my <i>CHILD<Relationship></i> be an expert programmer
      or modder when we're done?</b> 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.<br>
    <br>
    <b>How old does you mini-me need to be?</b> 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. <br>
    <br>
    <b>Is there anything we need to install before we come?</b> 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 <a class="moz-txt-link-freetext" href="http://netbeans.org">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.<br>
    <br>
    <b>This sounds great? When and where is it?!</b> 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
      class="moz-txt-link-freetext" href="https://goo.gl/maps/tD26c">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 Boardwalk, and my
    improvements there are guaranteed to ruin you.<br>
    <br>
    <b>What should we bring to the session?</b> 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. :)<br>
    <br>
    <b>That's right during lunch. What's wrong with you people?</b>
    Nothing that some free pizza can't solve, so bring your appetites!<br>
    <br>
    <b>Is there anything else we need to know?</b> That's about it. Come
    prepared to have fun and learn. And don't forget your questions!<br>
    <br>
    We're pretty excited about this session and hope to see LOTS of kids
    come out for a fun time.<br>
    <br>
    <font color="#ff0000"><big><big><big><big><big><b>Detailed
                  Pre-Meeting Instructions</b></big></big></big></big></big></font><br>
    <br>
    <br>
    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. :)<br>
    <br>
    What do you need to download then? These three things:<br>
    <ol>
      <li>Java - <a class="moz-txt-link-freetext"
href="http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html">http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html</a>.
        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.</li>
      <li>NetBeans - <a class="moz-txt-link-freetext"
          href="https://netbeans.org/downloads/">https://netbeans.org/downloads/</a>
        - You will need the Java SE version. Again, get the installer
        appropriate for you platform and install it.</li>
      <li>Minecraft Forge - <a class="moz-txt-link-freetext"
href="http://files.minecraftforge.net/maven/net/minecraftforge/forge/1.8-11.14.1.1341/forge-1.8-11.14.1.1341-src.zip">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</li>
    </ol>
    <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:<br>
    </p>
    <blockquote>
      <p>$ cd ~<br>
        $ mkdir MinecraftMods<br>
        $ cd MinecraftMods<br>
        $ unzip $PATH_TO_ZIP/forge-1.8-11.14.1.1341-src.zip<br>
      </p>
    </blockquote>
    <p>Wherever you've extracted, you will need to open a shell (or
      command prompt) and run this command in that directory:<br>
    </p>
    <blockquote>
      <p>$ ./gradlew setupDecompWorkspace --refresh-dependencies<br>
      </p>
    </blockquote>
    <p>(Windows users can leave off the leading ./)<br>
    </p>
    <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 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.<br>
    </p>
    <p><b>Whew! That's kind of hard to follow!</b> If you're like me and
      like to see pictures, you can see these same instructions on the
      NetBeans blog at
      <a class="moz-txt-link-freetext"
href="https://blogs.oracle.com/geertjan/entry/seamless_minecraft_forge_in_netbeans">https://blogs.oracle.com/geertjan/entry/seamless_minecraft_forge_in_netbeans</a>.<br>
    </p>
    <p><b>But I don't like NetBeans. I like pain!</b> There may be some
      Eclipse fans out there. If just <i>have</i> to use Eclipse, you
      can generate the Eclipse project files by running "gradlew
      eclipse".<br>
    </p>
    <p><b>NetBeans is nice and all, but I prefer to buy things. Can I
        use IDEA?</b> Sure! Just run "gradlew idea" to generate the
      project files. <br>
    </p>
    <p><b>Is that "all"?</b> 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
        class="moz-txt-link-freetext"
        href="http://okcjug.org/contact-us">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 ;).<br>
    </p>
    <p><br>
    </p>
    <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>