diff options
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r-- | CONTRIBUTING.md | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d10b3863..f77d0334 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,8 +5,8 @@ Ever since Moulberry has stopped working on NEU, other contributors have been wo ## Before you contribute -- Please check your feature / bug isn't already fixed in one of our pre-releases, on the [development branch](https://github.com/NotEnoughUpdates/NotEnoughUpdates/tree/master/) or in an open [pull request](https://github.com/NotEnoughUpdates/NotEnoughUpdates/pulls) -- Consider joining our [Discord](https://discord.gg/moulberry) to check in on newest developments by other people, or to get help with problems you encounter. +- Please check your feature / bug wasn't already fixed in one of our pre-releases, on the [development branch](https://github.com/NotEnoughUpdates/NotEnoughUpdates/tree/master/) or in an open [pull request](https://github.com/NotEnoughUpdates/NotEnoughUpdates/pulls) +- Consider joining our [Discord](https://discord.gg/moulberry) to check in on the newest developments by other people, or to get help with problems you encounter. - Please check that your feature idea complies with the [Hypixel Rules](https://hypixel.net/rules). (See these Hypixel forum posts for extra information: [Mods in SkyBlock](https://hypixel.net/threads/regarding-the-recent-announcement-with-mods-in-skyblock.4045481/), [QoL Modifications](https://hypixel.net/threads/update-to-disallowed-modifications-qol-modifications.4043482/), [Modifications Sending Invalid Clicks](https://hypixel.net/threads/update-regarding-modifications-sending-invalid-clicks.5130489/)) - Make sure that your feature idea is not already implemented in another non-paid mod. (E.g. Dungeon Solver) @@ -14,7 +14,7 @@ Ever since Moulberry has stopped working on NEU, other contributors have been wo ### Software prerequisites -- Install a Java Development Kit (You will need both version 8 and version 17) [Eclipse Temurin Download](https://adoptium.net/temurin/releases) for convenience, however any JDK will do. +- Install a Java Development Kit (You will need both version 8 and version 17) [Eclipse Temurin Download](https://adoptium.net/temurin/releases) for convenience, however, any JDK will do. - Install Git. [Windows download](https://git-scm.com/download/win) - Install an IDE, such as [Jetbrains IntelliJ IDEA](https://www.jetbrains.com/idea/download). @@ -23,15 +23,15 @@ Ever since Moulberry has stopped working on NEU, other contributors have been wo - Fork the NEU repository using the fork button on top right of the page and name the repo NotEnoughUpdates. - Clone the forked repository using `git clone https://github.com/<YourUserName>/NotEnoughUpdates`. - Make sure to create new branches for features you are working on and not commit to the master branch of your repository. -- After you have committed all of the necessary changes make a pull request on that branch. +- After you have committed all the necessary changes, make a pull request on that branch. - Use the master branch as a way to pull the latest changes from the NEU repo. -- Import that folder as a Gradle Project in your IDE (IntelliJ should autodetect it as gradle if you select the `NotEnoughUpdates` folder in the Open dialog) +- Import that folder as a Gradle Project in your IDE (IntelliJ should autodetect it as Gradle if you select the `NotEnoughUpdates` folder in the Open dialog) - Set your project SDK to your 1.8 JDK. This can be done in the modules settings (CTRL+ALT+SHIFT+S) in IntelliJ. - Set your gradle JVM to your 1.17 JDK. This can be done by searching for `gradle jvm` in the CTRL+SHIFT+A dialog in IntelliJ. -- Run the `gen<IntelliJ/Eclipse>Runs` gradle task. In IntelliJ that can be done in the gradle tab on the right side of your IDE. +- Run the `gen<IntelliJ/Eclipse>Runs` gradle task. In IntelliJ that can be done in the Gradle tab on the right side of your IDE. - Optionally, run the `genSources` gradle task. - Run the `Minecraft Client` to make sure that everything works. - - Note: if you are using OSX, remove the `XstartOnFirstThread` JVM option + - Note: if you are using macOS, remove the `XstartOnFirstThread` JVM option ## Logging into Hypixel in a development environment @@ -41,9 +41,9 @@ Use [DevAuth](https://github.com/DJtheRedstoner/DevAuth). You do **not** need to Hot Reloading is possible by launching using the IntelliJ debugger and having [DCEVM 1.8](https://dcevm.github.io/) installed to your JVM. Then you can run a regular build and confirm the reload prompt. This can cause issues (especially with commands), so restarting is sometimes still necessary. -> Warning: Depending on your system configuration, you may need to install DCEVM onto an existing JVM. In that case you need to install a Java 1.8 JVM, specifically version 1.8u181 (although some newer versions up until 1.8u265 *may* work). These old JVM versions may require an Oracle account to download and you can find them [here](https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html). +> Warning: Depending on your system configuration, you may need to install DCEVM onto an existing JVM. In that case, you need to install a Java 1.8 JVM, specifically version 1.8u181 (although some newer versions up until 1.8u265 *may* work). These old JVM versions may require an Oracle account to download, and you can find them [here](https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html). -For quicker hot swapping or if the above does not work you can install [Single Hotswap](https://plugins.jetbrains.com/plugin/14832-single-hotswap). With this you can hot swap a single java class instead of rebuilding the entire project.This still requires DCEVM. +For quicker hot swapping or if the above does not work, you can install [Single Hotswap](https://plugins.jetbrains.com/plugin/14832-single-hotswap). With this, you can hot swap a single java class instead of rebuilding the entire project. This still requires DCEVM. ## Creating a new Release <details> @@ -56,7 +56,7 @@ For quicker hot swapping or if the above does not work you can install [Single H > - A Full Release is sent to all users, regardless of update stream. > - A Pre Release is only sent to users who have opted into receiving beta updates. > - A Hotfix is only sent to users who have *not* opted into receiving beta updates. -> - Therefore when a bug is fixed in a hotfix update, it should *also* be fixed in a separate prerelease update. +> - Therefore, when a bug is fixed in a hotfix update, it should *also* be fixed in a separate prerelease update. > On the other hand, not all bugs fixed in a prerelease update need to be also dispatched in a hotfix. ### Creating a new Full Release @@ -72,9 +72,9 @@ public static final int PRE_VERSION_ID = 0; /* Reset the PRE_VERSION_ID back to public static final int HOTFIX_VERSION_ID = 0; /* Reset the HOTFIX_VERSION_ID back to 0 */ ``` -- Build a jar from this, either using the CI in github actions, or using `gradle remapJar` directly. +- Build a jar from this, either using the CI in GitHub actions, or using `gradle remapJar` directly. - If building locally, make sure that all your changes are in version control so that the commit hash is set correctly (A non `dirty` jar) -- Create a github release (marked as full release). This should also simultaneously create a tag on which to base future hotfixes. +- Create a GitHub release (marked as full release). This should also simultaneously create a tag on which to base future hotfixes. - Edit the `update.json` in the repository and change ```json5 @@ -84,7 +84,7 @@ public static final int HOTFIX_VERSION_ID = 0; /* Reset the HOTFIX_VERSION_ID ba "update_msg": "§7§m§l--------------------§6§l[§c§lNEU§6§l]§7§m§l--------------------\n\n§7A new version, v§6{version}§7, is now available!\n ", /* Update the version name. Remove old patch notes; Optionally add in a short new patch note. */ "pre_version": "0.0", /* Reset to 0.0 */ "pre_version_id": 0, /* Reset to 0 */ - "update_link": "https://github.com/NotEnoughUpdates/NotEnoughUpdates/releases/tag/<VERSIONNAME>", /* Change download link to the github release */ + "update_link": "https://github.com/NotEnoughUpdates/NotEnoughUpdates/releases/tag/<VERSIONNAME>", /* Change download link to the GitHub release */ "update_direct": "https://github.com/NotEnoughUpdates/NotEnoughUpdates/releases/download/<VERSIONNAME>/NotEnoughUpdates-<VERSIONNAME>.jar", /* Change direct link to a direct download link */ } ``` @@ -92,9 +92,9 @@ public static final int HOTFIX_VERSION_ID = 0; /* Reset the HOTFIX_VERSION_ID ba - Launch the game in an older version with this new repo locally to test the messages look first, then push to the central NEU repo (both `master` and `dangerous`) - Create an announcement in discord [#neu-download](https://discord.com/channels/516977525906341928/693586404256645231). -### Creating a pre release +### Creating a pre-release -> Pre Releases are intended to be mostly feature complete, mostly bug free releases that either don't have enough changes to justify a new Full Release, or have outstanding PRs that are probably merged soon. +> Pre-releases are intended to be mostly feature complete, mostly bug free releases that either don't have enough changes to justify a new Full Release, or have outstanding PRs that are probably merged soon. - Edit `NotEnoughUpdates.java` and change @@ -104,9 +104,9 @@ public static final int VERSION_ID = 20200; /* Same as VERSION name */ public static final int PRE_VERSION_ID = 1; /* Increment the PRE_VERSION_ID */ ``` -- Build a jar from this, either using the CI in github actions, or using `gradle remapJar` directly. +- Build a jar from this, either using the CI in GitHub actions, or using `gradle remapJar` directly. - If building locally, make sure that all your changes are in version control so that the commit hash is set correctly (A non `dirty` jar) -- Create a github release (marked as pre release) +- Create a GitHub release (marked as pre-release) - Edit the `update.json` in the repository and change ```json5 @@ -116,7 +116,7 @@ public static final int PRE_VERSION_ID = 1; /* Increment the PRE_VERSION_ID */ "pre_update_msg": "§7§m§l--------------------§5§l[§c§lNEU§5§l]§7§m§l--------------------\n\n§7A new pre-release, v§52.0-PRE{pre_version}§7, is now available!\n ", /* Update the version name. Remove old patch notes; Optionally add in a short new patch note. */ "pre_version": "0.0", /* Set to a new string (preferably increase the major version every time, except for hotfixes on the prerelease stream) */ "pre_version_id": 0, /* Set to PRE_VERSION_ID from java */ - "pre_update_link": "https://github.com/NotEnoughUpdates/NotEnoughUpdates/releases/tag/<VERSIONNAME>", /* Change download link to the github release */ + "pre_update_link": "https://github.com/NotEnoughUpdates/NotEnoughUpdates/releases/tag/<VERSIONNAME>", /* Change download link to the GitHub release */ "pre_update_direct": "https://github.com/NotEnoughUpdates/NotEnoughUpdates/releases/download/<VERSIONNAME>/NotEnoughUpdates-<VERSIONNAME>.jar", /* Change direct link to a direct download link */ } ``` @@ -126,7 +126,7 @@ public static final int PRE_VERSION_ID = 1; /* Increment the PRE_VERSION_ID */ ### Creating a Hotfix -> Hotfixes spring off of a Full Release and intend to fix bugs and security flaws. They can, but ideally shouldn't, contain features from pre releases and are intended as a drop in replacement of the current full release of NEU. These bug fixes should ideally also be released as a prerelease in tandem with the hotfix. +> Hotfixes spring off of a Full Release and intend to fix bugs and security flaws. They can, but ideally shouldn't, contain features from pre-releases and are intended as a drop in replacement of the current full release of NEU. These bug fixes should ideally also be released as a pre-release in tandem with the hotfix. - Edit `NotEnoughUpdates.java` and change @@ -137,10 +137,10 @@ public static final int PRE_VERSION_ID = 0; /* The PRE_VERSION_ID should still b public static final int HOTFIX_VERSION_ID = 1; /* Increment the HOTFIX_VERSION_ID */ ``` -- Build a jar from this, either using the CI in github actions, or using `gradle remapJar` directly. +- Build a jar from this, either using the CI in GitHub actions, or using `gradle remapJar` directly. - If building locally, make sure that all your changes are in version control so that the commit hash is set correctly (A non `dirty` jar) -- Create a github release (marked as full release) -- Edit the previous FULL release on github with a link to the new release. +- Create a GitHub release (marked as full release) +- Edit the previous FULL release on GitHub with a link to the new release. - Edit the `update.json` in the repository and change ```json5 @@ -148,7 +148,7 @@ public static final int HOTFIX_VERSION_ID = 1; /* Increment the HOTFIX_VERSION_I "version": "2.1.0-REL", /* This version should still remain the same as the last full release */ "version_id": 20100, /* Same as version */ "update_msg": "§7§m§l--------------------§6§l[§c§lNEU§6§l]§7§m§l--------------------\n\n§7A new version, v§6{version}§7, is now available!\n ", /* Update the version name. Don't remove old patch notes; Optionally add in a short new patch note. Indicate that there is a hotfix present */ - "update_link": "https://github.com/NotEnoughUpdates/NotEnoughUpdates/releases/tag/<VERSIONNAME>", /* Change download link to the github release */ + "update_link": "https://github.com/NotEnoughUpdates/NotEnoughUpdates/releases/tag/<VERSIONNAME>", /* Change download link to the GitHub release */ "update_direct": "https://github.com/NotEnoughUpdates/NotEnoughUpdates/releases/download/<VERSIONNAME>/NotEnoughUpdates-<VERSIONNAME>.jar", /* Change direct link to a direct download link */ } ``` |