aboutsummaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-08-23 02:26:35 +0200
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-08-23 02:26:35 +0200
commitccd0cf095acf789b0acd9910cb7f830f995f325c (patch)
tree429fa68b083781c7cea280c4dca36cef910ea42e /CONTRIBUTING.md
parented246f5f564e7c4778b35c426ed4ef2d8fbd2a47 (diff)
downloadskyhanni-ccd0cf095acf789b0acd9910cb7f830f995f325c.tar.gz
skyhanni-ccd0cf095acf789b0acd9910cb7f830f995f325c.tar.bz2
skyhanni-ccd0cf095acf789b0acd9910cb7f830f995f325c.zip
Updated CONTRIBUTING.md
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md71
1 files changed, 64 insertions, 7 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 6de14399a..f6df5d4a2 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,19 +1,76 @@
# How to Contribute
-This tutorial explains how to set up a development environment to work on SkyHanni. We use [IntelliJ](https://www.jetbrains.com/idea/) as an example.
+This tutorial explains how to set up a development environment to work on SkyHanni. We
+use [IntelliJ](https://www.jetbrains.com/idea/) as an example.
## Basics
+
SkyHanni is a 1.8.9 Forge mod, written in [Kotlin](https://kotlinlang.org/) and [Java](https://www.java.com/en/).
-We use a [gradle config](https://gradle.org/) to build the mod,
+We use a [gradle config](https://gradle.org/) to build the mod,
written in [Kotlin DSL](https://docs.gradle.org/current/userguide/kotlin_dsl.html).
-This development environment uses [DevAuth](https://github.com/DJtheRedstoner/DevAuth) to allow connecting to Hypixel while debugging in IntelliJ.
-
## Setup
### Download IntelliJ
+
- Download IntelliJ from [JetBrains Website](https://www.jetbrains.com/idea/download/).
-- Use Community Edition.
-- ![image](https://github.com/hannibal002/SkyHanni/assets/24389977/68b9044c-42d0-44ba-85f7-9848a35a27b2)
+- Use Community Edition. (Scroll down a bit)
+
+### Downloading SkyHanni source code
+
+- Create an account on GitHub
+ - Go to https://github.com/hannibal002/SkyHanni
+ - Click on the Fork button to create a fork
+ - leave the settings unchanged
+ - click on "create fork"
+- Open IntelliJ
+ - Log in into your GitHub account with intellij
+ - Go to "new" -> "project from version control"
+ - Select SkyHanni from the list
+ - Open the project
+
+### Setting up IntelliJ
+
+SkyHannis' gradle configuration is very similar to the one used in **NotEnoughUpdates**, you can just follow their
+guide:
+https://github.com/NotEnoughUpdates/NotEnoughUpdates/blob/master/CONTRIBUTING.md
+
+## Additional Tools
+
+### [Dev Auth](https://github.com/DJtheRedstoner/DevAuth)
+
+What is Dev Auth? It is a tool that allows you to log in to your minecraft account inside IntelliJ. That way you can
+debug and test code live on Hypixel, without the need to compile a jar, move it into a mods folder and start the
+minecraf launcher manually.
+
+- Gradle already downloads dev auth for you.
+- You only need to create a configuration folder:
+ - Navigate to `C:\Users\<your username>`
+ - Create a new folder `.devauth`
+ - Naviga to `C:\Users\<your username>\.devauth`
+ - Create a new file `config.toml`
+ - Paste this text in the file: (Don't change anyhting)
+
+```
+defaultEnabled = true
+
+defaultAccount = "main"
+
+[accounts.main]
+type = "microsoft"
+```
+
+- Start minecraft inside IntelliJ normal.
+ - You should see a link in the console.
+ - Click on the link, verify yourself with the mojang account.
+ - You are done. The verify process will reappear every couple of days (as your session token does expire)
+
+### Hot Swapping
+
+What is Hot Swapping? This allows you to reload edited code while debugging to remove the need to restart
+the whole game every time.
+We [dcevm](https://dcevm.github.io/) to hot swap SkyHanni.
+
+Follow this tutorial:
-In Progress - more later
+https://forums.minecraftforge.net/topic/82228-1152-3110-intellij-and-gradlew-forge-hotswap-and-dcevm-tutorial/ \ No newline at end of file