- Please make sure that your feature is something that should be in a core mod.
- Please check that your feature/bug fix isn't already fixed on the main branch/in an open pull-request.
- Please make sure that your feature idea complies with the Hypixel Rules. (See these Hypixel forum posts for extra information: Mods in SkyBlock, QoL Modifications, Modifications Sending Invalid Clicks)
- Install Java Development Kit version 17 Eclipse Temurin Download for convenience, however any JDK will do.
- Install Git. Windows download (not required as many IDE's come pre-installed with a git clone ability)
- Install an IDE, such as Jetbrains IntelliJ IDEA.
- Fork the SkyBlock-Core repository using the fork button on top right of the page and name the repository SkyBlock-Core
- Clone the forked repository using
git clone https://github.com/<YourUsername>/SkyBlock-Core
.- After you've committed all the necessary changes, make a pull request to the main branch of SkyBlock-Core
- Use the main branch as a way to pull the latest changes from the main repository.
- Set your project SDK and Gradle JVM to your JDK 17.
- For gradle, this can be done by searching for
gradle jvm
in the CTRL + SHIFT + A dialog in IntelliJ. - For your project SDK, this can be done in the module settings (CTRL + ALT + SHIFT + S) in IntelliJ.
- For gradle, this can be done by searching for
- If you don't have the minecraft sources installed, you can run the
genSources
gradle task. - Run the
Minecraft Client
task to make sure everything works.- Note: If IntelliJ tells you there's an error in the configuration, set the module to
SkyBlock-Core.main
.
- Note: If IntelliJ tells you there's an error in the configuration, set the module to
Use DevAuth. You do not need to download the jar, just follow the configuration instructions in the DevAuth README
Hot reloading is possible, to do that, you can run the Minecraft Client
task with the IntelliJ debugger. Though hot-reloading can sometimes cause issues, so restarting will sometime be required.
- Every pull request requires at least 2 approvals before it is able to be merged.
- Only contributors (people added as a contributor - would previously have been able to merge commits) are able to approve pull requests.
- If you push to someone else's fork after reviewing their PR, someone else must review your changes before the PR is able to be merged.
- All conversations must be resolved before the PR is mergeable. These can be resolved by any contributor. Conversations are explicitly comments on code, not in the main pull request thread.
- If a new commit is added to a pull request, all approvals are dismissed, and new approvals are needed before it can be merged (this prevents unreviewed code being added after approvals).
- Maintainer (or contributor) does not allow anyone to write directly to the codebase.
- Any code change will have been seen (and approved) by at least 3 pairs of eyeballs (including the original writer) before it is able to be merged.
- Contributor role is able to be given freely to (somewhat competent) developers without worrying about potential ramifications - reviews are still required, contributor just allows them to approve changes and merge once 2+ reviews have been given to the final PR.
These are not advisories - GitHub will not allow you to merge a pull request without these being met. If you're confused about why you can't merge a PR, GitHub gives you a nice step-by-step breakdown of what you need to do at the bottom of the PR's page.
© 2023 SkyBlock-Central. Subject to the Apache License 2.0.