From 3a70a81bea5e517f548a3c564e2711ded982fe5d Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal00212@users.noreply.github.com> Date: Wed, 6 Sep 2023 21:01:40 +0200 Subject: more CONTRIBUTING.md things --- CONTRIBUTING.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'CONTRIBUTING.md') diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fc635335e..44fa69dd0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -57,7 +57,9 @@ For more information, see https://github.com/NotEnoughUpdates/NotEnoughUpdates ## Config -SkyHanni uses the config system from NEU. +SkyHanni stores the config (settings and user data) as a json object in a single text file. +For rendering the /sh config (categories, toggles, search, etc.), +SkyHanni uses **MoulConfig**, the same config system as NotEnoughUpdates. For more information, see https://github.com/NotEnoughUpdates/MoulConfig @@ -103,11 +105,11 @@ We use the [auto update library](https://repo.nea.moe/#/releases/moe/nea/libauto - Use the coding conventions for [Kotlin](https://kotlinlang.org/docs/coding-conventions.html) and [Java](https://www.oracle.com/java/technologies/javase/codeconventions-contents.html). - Do not copy features from other mods. Exceptions: - - Paid only mods. - - Mods that have reached the end of life. (Rip SBA, Dulkir and Soopy) - - The mod has, according to Hypixel rules, illegal features ("cheat mod"). + - Mods that are paid to use. + - Mods that have reached their end of life. (Rip SBA, Dulkir and Soopy) + - The mod has, according to Hypixel rules, illegal features ("cheat mod/client"). - If you can improve the existing feature in a meaningful way. -- All classes should be written in Kotlin, with a few exceptions: +- All new classes should be written in Kotlin, with a few exceptions: - Config files in `at.hannibal2.skyhanni.config.features` - Mixin classes in `at.hannibal2.skyhanni.mixins.transformers` - Java classes that represent JSON data objects in `at.hannibal2.skyhanni.utils.jsonobjects` @@ -125,6 +127,7 @@ We use the [auto update library](https://repo.nea.moe/#/releases/moe/nea/libauto - Replace it with `?:` (ff null return this). - This will most likely not be possible to avoid when working with obects from java. - Don't forget to add `@FeatureToggle` to new standalone features (not options to that feature) in the config. +- Do not use `e.printStackTrace()`, use `CopyErrorCommand.logError(e, "explanation for users")` instead. # Additional Useful Developement Tools -- cgit