๐จโ๐ป Contribute Guidelines
Ce contenu nโest pas encore disponible dans votre langue.
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
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!