👨💻 Contribute Guidelines
Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.
Welcome!
Section titled “Welcome!”We welcome contributions from anyone for any feature related to Hypixel Skyblock.
Feel free to ask any questions in our Discord server!
Quick Start (TL;DR)
Section titled “Quick Start (TL;DR)”✅ Fork & clone the repo
✅ Follow the code style guidelines
✅ Test your feature thoroughly
✅ Document your code
✅ Submit a PR with a clear description
✅ Join our Discord if you need help!
Code Style
Section titled “Code Style”Please follow the Fabric Development Guidelines when writing code.
- Class names:
TitleCase - Static final fields:
SCREAMING_SNAKE_CASE(except for specific exceptions) - Methods & fields:
camelCase
Code Cleanup
Section titled “Code Cleanup”Ensure you run code cleanup before submitting a PR.
IntelliJ Shortcuts:
- Code cleanup:
Command/Control + Option + L - Import cleanup:
Control + Option + O
Recommended IntelliJ Settings:
Settings -> Editor -> Code Style -> Java- Set
Wrapping and Braces -> Hard wrap atto1000 - Enable:
Keep when reformatting -> Simple blocks in one lineSimple methods in one lineSimple lambdas in one lineSimple classes in one line
Documentation
Section titled “Documentation”We require Javadocs and comments for classes and methods, except:
- Simple methods
- Getters/setters
- Boilerplate code
Please include:
- Implementation details
- Legal & illegal parameter values
- Nullability annotations
Examples of well-documented classes:
Annotations
Section titled “Annotations”Use appropriate annotations:
@org.jetbrains.annotations.Nullable@Language("RegExp")@Translatable
Mixins
Section titled “Mixins”Prefer Fabric events over mixins.
If necessary, prefer using Mixin Extras instead of invasive mixins (like redirects).
Configuration
Section titled “Configuration”All features must have configuration options!
Skyblocker uses YACL (YetAnotherConfigLib) for configs.
Steps:
- Add config fields to
SkyblockerConfig. - Add entries to the relevant category (e.g.,
DungeonsCategory). - Update the English localization in
en_us.json. - Keep config fields and localization entries in the same order to reduce confusion.
- Sort localization entries alphabetically.
Testing
Section titled “Testing”Please thoroughly test your features before submitting a PR.
We strongly recommend:
- Screenshots or showcase videos
- Clear notes if the PR has not been tested
- Adding unit tests where possible
(See ItemUtilsTest for an example)
Translating Skyblocker
Section titled “Translating Skyblocker”Skyblocker uses Weblate for translations.
All translators will:
- Be mentioned in the README
- Receive a Translator tag in our Discord server
➡️ More details on how to contribute translations are in the Translation Guide.
Thank You!
Section titled “Thank You!”Thank you for contributing to Skyblocker — we hope you enjoy working with us!