Development: Difference between revisions
m
Improved the page
OrderedSet (talk | contribs) (Add link to my git management page) |
m (Improved the page) |
||
Line 1:
== Introduction ==
Everyone can contribute to GTNH in one way or another. One possible way is to expand/improve the source code of the mods. To get started, you first need a vision for what you want to do. If you have no idea you can look through [[https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues|Github issues]] and try to adress some. If you do have a vision and are unsure wether its good or want to hear more opinisions on it you can discuss it with others in a new issue or on discord.
== Getting started ==
If you found a mod that you want to edit, create a fork of it first, by pressing the fork-button on its GitHub page. After that you can clone your fork to a local repository and import it into your IDE and get started on development. If you are unsure how to do things, try to look up how similar things are already done.
=== From Scratch ===
# Create a new GitHub repository and clone it
# Choose and download a [https://files.minecraftforge.net/net/minecraftforge/forge/ Forge] MDK and extract the contents of the ZIP-archive into the directory, where you cloned your repository to (If you are developing for Minecraft 1.7.10, you can use SinTh0r4s' [https://github.com/GTNewHorizons/ExampleMod1.7.10/releases/tag/latest-packages]-template).
# Edit your project details (name, version, dependecies, etc.).
#Execute <code>gradlew setupDecompWorkspace eclipse</code> / <code>gradlew setupDecompWorkspace idea</code> in the root directory of your project
# In Eclipse / IntelliJ IDEA, import your workspace as a Gradle project.
# Done.
=== From an existing Repository ===
# Clone the repository
#Execute <code>gradlew setupDecompWorkspace eclipse</code> / <code>gradlew setupDecompWorkspace idea</code> in the root directory of your project
# In Eclipse / IntelliJ IDEA, import your workspace as an existing Gradle project.
#If the import fails, you may have to adjust the Gradle version and/or buildscript. If you are developing for Minecraft 1.7.10, read [https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/master/docs/migration.md this guide].
#Execute <code>./gradlew genIntellijRuns</code> if you are using InteliJ to run the project inside your IDE.
# Done.
=== Common issues ===
* If even after you executed the <code>gradlw setupDecompWorkspace</code> command your IDE tells you that stuff is missing, try to reload gradle.
* You need Java 8 (64 bit) for development. If you have multiple Java versions installed you may need to set the JAVA_HOME environment variable to the location of your Java 8 installation.
=== Git Configuration ===
If you would like to avoid signing commits with your real name, see here: [[Managing Git Identities]]
==Tools==
All applications that are grouped together can do about the same. This does not mean that you can pick any one of them, as they differ in functionality, style, performace and customizability. It is recommended you look at what they can do and try each one out, so you can decide which application you want to use for which use case.
Line 44 ⟶ 77:
*[https://java-decompiler.github.io/ Java Decompiler]
*[https://github.com/glowredman/MCPMappingViewer MCP Mapping Viewer]
==Maven/Jenkins Selection==
Line 399 ⟶ 409:
* Debugging that config should show up loading the hot swap agent at the beginning of the logs
* If you have custom jvm args in the configs, make sure to remove all gc-related options as dcevm is works only with the default gc
|