* [Windows/Mac download link](http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html). Scroll down, accept the `Oracle Binary Code License Agreement for Java SE`, and download it (if you have a 64-bit OS, please download the 64-bit version).
* Linux: Installation methods for certain popular flavors of Linux are listed below. If your distribution is not listed, follow the instructions specific to your package manager or install it manually [here](http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html).
* For `Variable Value`, input something similar to `C:\Program Files\Java\jdk1.7.0_45` exactly as shown (or wherever your Java JDK installation is), and click `Ok`.
* Append `;%JAVA_HOME%\bin` EXACTLY AS SHOWN and click `Ok`. Make sure the location is correct; double-check just to make sure.
3. Open up your command line and run `javac`. If it spews out a bunch of possible options and the usage, then you're good to go. If not, either try the steps again or check the [FAQ](#faq).
####Setup Gradle
Gradle is used to execute the various build tasks when compiling EE3.
* Unzip the package and put it wherever you want, eg `C:\Gradle`.
* Linux: Installation methods for certain popular flavors of Linux are listed below. If your distribution is not listed, follow the instructions specific to your package manager or install it manually [here](http://www.gradle.org/downloads).
* Gentoo: `emerge dev-java/gradle-bin`
* Archlinux: You'll have to install it from the [AUR](https://aur.archlinux.org/packages/gradle)
* Go back to `Environment Variables` and then create a new system variable.
* For `Variable Name`, input `GRADLE_HOME`.
* For `Variable Value`, input something similar to `C:\Gradle-1.10` exactly as shown (or wherever your Gradle installation is), and click `Ok`.
* Scroll down to `Path` again, and append `;%GRADLE_HOME%\bin` EXACTLY AS SHOWN and click `Ok`. Once again, double-check the location.
3. Open up your command line and run `gradle`. If it says "Welcome to Gradle [version].", then you're good to go. If not, either try the steps again or check the [FAQ](#faq).
####Setup Git
Git is used to clone EE3 and update your local copy.
2.*Optional*: Download and install a Git GUI client, such as Github for Windows/Mac, SmartGitHg, TortoiseGit, etc. A nice list is available [here](http://git-scm.com/downloads/guis).
2. Navigate to a place where you want to download EE3's source (eg `C:\Github\Equivalent-Exchange-3\`) by executing `cd [folder location]`. This location is known as `mcdev` from now on.
3. Execute `git clone https://github.com/pahimar/Equivalent-Exchange-3.git`. This will download EE3's source into `mcdev`.
4. Right now, you should have a directory that looks something like:
1. If you haven't already, create a Github account.
2. Click the `Fork` icon located at the top-right of this page (below your username).
3. Make the changes that you want to and commit them.
* If you're making changes locally, you'll have to do `git commit -a` and `git push` in your command line.
4. Click `Pull Request` at the right-hand side of the gray bar directly below your fork's name.
5. Click `Click to create a pull request for this comparison`, enter your PR's title, and create a detailed description telling pahimar what you changed.
6. Click `Send pull request`, and wait for feedback!
4. Enter your Issue's title (something that summarizes your issue), and then create a detailed description ("Hey pahimar, could you add/change xxx?" or "Hey, found an exploit: stuff").
**Q:** `javac` or `gradle` keeps giving me an error!
**A:** Make sure the locations you typed are correct. For example, if you typed `C:\Java` for `JAVA_HOME`, make sure `C:\Java` exists, and there's a `bin` folder inside of it.
**A:** Somebody probably commented and solved your issue, or it was opened a long time ago. If it's a PR, check to see if there's a commit message right before it was closed. If so, pahimar either pulled your PR or found a different way to do it.