aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinnea Gräf <roman.graef@gmail.com>2023-09-19 00:30:58 +0200
committerGitHub <noreply@github.com>2023-09-18 18:30:58 -0400
commita8d8bdb0be0565d6247f4471f0905c19fd7fbae4 (patch)
tree825b69e8ca0a15459374af8b78ba791d97cb4119
parent7e3dacf2b930ed98274fb0fad187545bf8931dba (diff)
downloadSkyBlockModWiki-a8d8bdb0be0565d6247f4471f0905c19fd7fbae4.tar.gz
SkyBlockModWiki-a8d8bdb0be0565d6247f4471f0905c19fd7fbae4.tar.bz2
SkyBlockModWiki-a8d8bdb0be0565d6247f4471f0905c19fd7fbae4.zip
Add basic mod development tutorial (#2)
-rw-r--r--docs/development/getting-started.md60
-rw-r--r--mkdocs.yml3
2 files changed, 63 insertions, 0 deletions
diff --git a/docs/development/getting-started.md b/docs/development/getting-started.md
new file mode 100644
index 0000000..160ab03
--- /dev/null
+++ b/docs/development/getting-started.md
@@ -0,0 +1,60 @@
+# Getting Started with Mod Development
+
+!!!note
+ This tutorial is aimed at people who already know the basics of coding (preferably in Java). This is also a tutorial for 1.8.9 mod development. For newer versions you will need to find another tutorial.
+
+Downloads in this tutorial are provided as a convenience, if you know what you are doing you can find these downloads somewhere else (in a package manager like chocolatey or pacman for example). If you decide to go that route, please make sure that you download the exact same Software and not something similar.
+
+## Setting up a Java Development Environment
+
+Minecraft mods are written in Java and as such you will need a Java Development Setup. You will need *both*
+
+ - [A Java SDK (*not JRE*) for version 17](https://adoptium.net/temurin/releases?version=17)
+ - [A Java SDK (*not JRE*) for version 8](https://adoptium.net/temurin/releases?version=8)
+
+## Setting up an Integrated Development Environment
+
+There is pretty much only one IDE for mod development, which is IntelliJ. In theory it is also possible to code in VSCode, Vim or Eclipse, but doing so is difficult to set up and not recommended. Even if you are already familiar with one of these IDEs, switching to IntelliJ is pretty much mandatory.
+
+IntelliJ has a free community edition, as well as a paid ultimate edition, both available for download [here](https://www.jetbrains.com/idea/).
+
+
+## Setting up GitHub
+
+Although not strictly neccessary, it is recommended that you create a [GitHub](https://github.com) Account. This tutorial will assume you have one. If you do not have a GitHub Account you might need to find some more manual work arounds for some things.
+
+## Deciding on a Project
+
+### Contributing to an existing Project
+
+If you want to contribute to an existing project, find that project on GitHub and Discord. You can usually find both linked on their page on this Wiki. You can typically ask around in the Discord for help, and it will help you to get up to speed with whether they will accept a feature you are planning to contribute. Once all of that is cleared, you can create a Fork on GitHub. You will then do everything with the forked repository as you would do with a normal repository, and once you are done create a pull request in the original repository you are planning to contribute to.
+
+### Creating a new Project
+
+Go to [Forge1.8.9Template](https://github.com/romangraef/Forge1.8.9Template/) (made by nea89). Click on "Use this template" and "Create a new Repository". Find a good name for your mod. If you want to code your mod in Kotlin or make a 1.12 mod you will need to tick "Include all branches". Don't worry about it too much, you can change this later with a little bit of effort.
+
+!!! warning
+ Do not clone the template repository directly (or download a zip of the template repository). When using the "Use this template" option on GitHub, there is some additional processing being done to insure your repository is fully set up.
+
+## Setting up your IDE
+
+IntelliJ has a built in option for cloning a project. Chose "New" then "Project from Version Control". Log into GitHub and clone the project.
+
+Once the project is done cloning, you need to head into your gradle settings (the elephant on the right of your workspace, then click on the cogwheel) and change the gradle JVM to be a version 17 JDK.
+
+Next go into your Project Settings (CTRL+ALT+SHIFT+S) and set the Project SDK to be a version 8 JDK.
+
+Finally click on the reload button in the gradle tab on the right from earlier.
+
+You should now have generated a Run Config in IntelliJ. Always use these run configs, instead of using the `runClient` task in the gradle tab. That one *will not work*.
+
+## Common Issues
+
+### No matching variant of dev.architectury:architectury-pack200:0.1.3 was found.
+
+This error indicates that your Java Version does not support architectury. Fix this by setting your gradle JDK to 17
+
+
+
+
+
diff --git a/mkdocs.yml b/mkdocs.yml
index 3dfab8c..fcbd80a 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -37,3 +37,6 @@ nav:
- Mod Lists:
- SkyBlock Mod List: 'mod-lists/skyblock-mod-list.md'
- General Mod List: 'mod-lists/general-mod-list.md'
+ - Development:
+ - Getting started with Mod Development: 'development/getting-started.md'
+