diff options
author | Linnea Gräf <nea@nea.moe> | 2024-01-29 00:30:39 +0100 |
---|---|---|
committer | Linnea Gräf <nea@nea.moe> | 2024-01-29 00:30:39 +0100 |
commit | b015117a8a7d8471980f23439d0524dcd69f2cdc (patch) | |
tree | 053533bfa72f6dc8cde072259c9d80b02b536516 | |
download | moddevwiki-b015117a8a7d8471980f23439d0524dcd69f2cdc.tar.gz moddevwiki-b015117a8a7d8471980f23439d0524dcd69f2cdc.tar.bz2 moddevwiki-b015117a8a7d8471980f23439d0524dcd69f2cdc.zip |
Initial commit
-rw-r--r-- | docs/ide-setup.md | 64 | ||||
-rw-r--r-- | docs/index.md | 10 | ||||
-rw-r--r-- | includes/shared_links.md | 1 | ||||
-rw-r--r-- | mkdocs.yml | 58 |
4 files changed, 133 insertions, 0 deletions
diff --git a/docs/ide-setup.md b/docs/ide-setup.md new file mode 100644 index 0000000..3a03277 --- /dev/null +++ b/docs/ide-setup.md @@ -0,0 +1,64 @@ +# Setting up + +This is a slightly rewritten version of [SBMW's Getting started article](https://sbmw.ca/development/getting-started/). That one was also written by me, and contains roughly the same info. + +!!!note + 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, pacman or [sdkman](https://sdkman.io/)). 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 JDK (*not JRE*) for version 17](https://adoptium.net/temurin/releases?version=17) + - [A Java JDK (*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](https://www.jetbrains.com/idea/). 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/download/other.html). + + +## 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 the [SkyBlock Mod Wiki][mod-list]. You can typically ask around in the Discord for help, which 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 your own 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/nea89o/Forge1.8.9Template/). 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. + + If you *must* you can also manually use the `make-my-own.sh` script, but only on Linux, and there are no guarantees for it to work. + +## 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 :simple-gradle: 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. You can find those next to the :material-play:. If you can't find it, check the :material-folder:`.idea/runConfigurations` folder. If you can find a file there, you just need to restart IntelliJ. + +Always use these run configs instead the `runClient` task in the gradle tab. The gradle task ***does 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/docs/index.md b/docs/index.md new file mode 100644 index 0000000..6fc0cfa --- /dev/null +++ b/docs/index.md @@ -0,0 +1,10 @@ +# Welcome to nea89s Modding Wiki + +This wiki is aimed at mod developers for Minecraft 1.8.9 and those that want to be. More specifically, this wiki is here for client mods for Hypixels [SkyBlock](https://wiki.hypixel.net/Main_Page). + +First a word of warning: Modding isn't always for the faint of heart. Mojang doesn't really intend for people to mod their game, so there isn't exactly a lot of documentation laying around. What little documentation you will find is probably for newer versions and most mod dev forums either can't or don't want to help you with an [8 year old minecraft version](https://howoldisminecraft189.today/). But while starting with a mod as your first programming project isn't great and it helps to know your ways around Java as well, if you are passionate then I believe you can do it! + +Despite all that, there is still a community around modding SkyBlock. You don't have to go into this alone, you can always join up with an existing modding team, which also helps beating the ratting allegations. Check out [existing mods and their communities][mod-list]! Almost everything is more fun with other people, and learning from other people will never be replaced by a cold, heartless wiki such as this one. + +If you get all that and you are still in, then let's [start with the IDE set up](ide-setup.md). + diff --git a/includes/shared_links.md b/includes/shared_links.md new file mode 100644 index 0000000..b3a43fa --- /dev/null +++ b/includes/shared_links.md @@ -0,0 +1 @@ +[mod-list]: https://sbmw.ca/mod-lists/skyblock-mod-list/ diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..1957ac0 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,58 @@ +site_name: Legacy Modding Wiki by nea89 + +theme: + name: material + features: + - content.code.annotate + - content.code.copy + - content.tooltips + +markdown_extensions: + - abbr + - admonition + - attr_list + - def_list + - footnotes + - md_in_html + - toc: + permalink: true + - pymdownx.arithmatex: + generic: true + - pymdownx.betterem: + smart_enable: all + - pymdownx.caret + - pymdownx.details + - pymdownx.emoji: + emoji_generator: !!python/name:material.extensions.emoji.to_svg + emoji_index: !!python/name:material.extensions.emoji.twemoji + - pymdownx.highlight: + anchor_linenums: true + line_spans: __span + pygments_lang_class: true + - pymdownx.inlinehilite + - pymdownx.keys + - pymdownx.magiclink: + normalize_issue_symbols: true + repo_url_shorthand: true + user: squidfunk + repo: mkdocs-material + - pymdownx.mark + - pymdownx.saneheaders + - pymdownx.smartsymbols + - pymdownx.snippets: + auto_append: + - includes/shared_links.md + - pymdownx.superfences: + custom_fences: + - name: mermaid + class: mermaid + format: !!python/name:pymdownx.superfences.fence_code_format + - pymdownx.tabbed: + alternate_style: true + combine_header_slug: true + slugify: !!python/object/apply:pymdownx.slugs.slugify + kwds: + case: lower + - pymdownx.tasklist: + custom_checkbox: true + - pymdownx.tilde
\ No newline at end of file |