Planned future additions:
- Add compatibility with the Lord of the Rings mod (fix a few edge cases with the printer)
- Add the Fairplay mode to the base build script
Changes from Original:
- Store Coordinates per world/server. No more re-entering coordinates for large builds!
- README update
Compiling Schematica - for those that want the latest unreleased features
Contributing - for those that want to help out
The Java JDK is used to compile Schematica.
- Download and install the Java JDK.
- Download link. Select the appropriate version for your OS
- Set up the environment.
- Windows: Set environment variables for the JDK.
- Go to
Control Panel\System and Security\System
, and click onAdvanced System Settings
on the left-hand side. - Click on
Environment Variables
. - Under
System Variables
, clickNew
. - For
Variable Name
, inputJAVA_HOME
. - For
Variable Value
, input something similar toC:\Program Files\Java\8u332
exactly as shown (or wherever your Java JDK installation is), and clickOk
. - Scroll down to a variable named
Path
, and double-click on it. - Append
;%JAVA_HOME%\bin
EXACTLY AS SHOWN and clickOk
. Make sure the location is correct; double-check just to make sure.
- Go to
- Windows: Set environment variables for the JDK.
- 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 try the steps again.
Git is used to clone Schematica and update your local copy.
- Download and install Git here.
- Optional Download and install a Git GUI client, such as Github for Windows/Mac, SmartGitHg, TortoiseGit, etc. A nice list is available here.
Import this repository. or, if you're planning modifications, a fork. IntelliJ will automatically execute the gradlew setupDevWorkspace
task. After that there's a high chance the following error is thrown: Could not find :forgeBin:1.7.10-10.13.4.1614-1.7.10.
or something similar. If that happens, execute ./gradlew setupDecompWorkspace
in your terminal. After this refresh gradle, and you should be ready to go.
This section assumes that you're using the command-line version of Git.
- Open up your command line.
- Navigate to a place where you want to download Schematica's source (eg
C:\Development\Github\Minecraft\
) by executingcd [folder location]
. This location is known asmcdev
from now on. - Execute
git clone [email protected]:Lunatrius/Schematica.git
. This will download Schematica's source intomcdev
. - Right now, you should have a directory that looks something like:
mcdev
\-Schematica
\-Schematica's files (should have build.gradle)
If you use IntelliJ IDEA you can skip step one
- Execute
gradlew setupDevWorkspace
. This sets up Forge and downloads the necessary libraries to build Schematica. This might take some time, be patient.- You will generally only have to do this once until the Forge version in
build.properties
changes.
- You will generally only have to do this once until the Forge version in
- Execute
gradlew build
. If you did everything right,BUILD SUCCESSFUL
will be displayed after it finishes. This should be relatively quick.- If you see
BUILD FAILED
, check the error output (it should be right aroundBUILD FAILED
), fix everything (if possible), and try again.
- If you see
- Go to
mcdev\Schematica\build\libs
.- You should see a
.jar
file namedSchematica-#.#.#-#.#.#.#-universal.jar
.
- You should see a
- Copy the jar into your Minecraft mods folder, and you are done!
In order to get the most up-to-date builds, you'll have to periodically update your local repository.
- Open up your command line.
- Navigate to
mcdev
in the console. - Make sure you have not made any changes to the local repository, or else there might be issues with Git.
- If you have, try reverting them to the status that they were when you last updated your repository.
- Execute
git pull master
. This pulls all commits from the official repository that do not yet exist on your local repository and updates it.
So you found a bug in the code? Think you can make it more efficient? Want to help in general? Great!
- If you haven't already, create a GitHub account.
- Click the
Fork
icon located at the top-right of this page (below your username). - Make the changes that you want to and commit them.
- If you're making changes locally, you'll have to do
git add -A
,git commit
andgit push
in your command line.
- If you're making changes locally, you'll have to do
- Click
Pull Request
at the right-hand side of the gray bar directly below your fork's name. - Click
Click to create a pull request for this comparison
, enter your pull request title, and create a detailed description explaining what you changed. - Click
Send pull request
, and wait for feedback!
I use this IDEA formatting. To be short:
- spaces for indentation
- braces on same lines
When you finish up your PR you'll want to squash them into a single commit (unless it makes sense to have them split).
- Make sure your working directory is clean by executing
git status
. - Execute
git rebase -i HEAD~X
whereX
is the amount of your commits. This will make sure you squash only your own commits. - You should now see a list of all your commits, prefixed with
pick
. Change all instances ofpick
(excluding the first!) intosquash
or simplys
. Then save/quit the editor once. - A second screen should show up, displaying all the commit messages (you may edit them, delete or add some). After your done save/quit the editor again.
- If git successfully rebased things simply push your cleaned up commits by executing
git push -f
.
Crashing? Have a suggestion? Found a bug? Create an issue now!
- Make sure your issue hasn't already been answered or fixed. Also think about whether your issue is a valid one before submitting it.
- Go to the issues page.
- Click
New Issue
right belowStar
andFork
. - Enter your issue title (something that summarizes your issue), and then add a detailed description ("Hey, could you add/change xxx?" or "Hey, found an exploit: stuff").
- If you are reporting a bug, make sure you include the following:
- Version (can be found in the mcmod.info file or in the mod list)
- ForgeModLoader log (please use gists for large amounts of text!)
- Detailed description of the bug
- If you are reporting a bug, make sure you include the following:
- Click
Submit new issue
, and wait for feedback!
Shamelessly based off this README off pahimar's version.