config: validation: true GrammarRules: active: true AvoidBritishSpelling: # custom rule to prefer american spellings over british ones active: true FormattingRules: active: true CustomCommentSpacing: active: true style: MagicNumber: # I, Linnea Gräf, of sound mind and body, disagree with disabling this rule active: false UnusedParameter: active: true ignoreAnnotated: - 'SubscribeEvent' - 'HandleEvent' - 'Mod.EventHandler' ReturnCount: active: true max: 5 excludeGuardClauses: true ignoreAnnotated: - 'SubscribeEvent' - 'HandleEvent' - 'Mod.EventHandler' MaxLineLength: active: true maxLineLength: 140 excludeCommentStatements: true LoopWithTooManyJumpStatements: active: true maxJumpCount: 3 UnnecessaryAbstractClass: # gets horrendously messed up with Event classes active: false UnusedPrivateMember: # gets tripped up by API methods active: false UnusedPrivateProperty: # loops that don't use their iterator active: true allowedNames: "^(unused|_)$" UseCheckOrError: active: false ForbiddenComment: # every TODO gets flagged active: false DestructuringDeclarationWithTooManyEntries: # too aggressive active: true maxDestructuringEntries: 5 formatting: MaximumLineLength: # ktlint - handled by detekt active: false MultiLineIfElse: active: false ArgumentListWrapping: # ktlint - way too aggressive active: false NoBlankLineBeforeRbrace: # pedantic active: false NoConsecutiveBlankLines: # pedantic active: false NoEmptyFirstLineInMethodBlock: # pedantic active: false ParameterListWrapping: # pedantic, can be useful in compact code active: false CommentSpacing: # handled by custom rule active: false SpacingBetweenDeclarationsWithAnnotations: # nah active: false SpacingBetweenDeclarationsWithComments: # also nah active: false complexity: CyclomaticComplexMethod: # default threshold of 15, caught almost every complex method active: true threshold: 25 ignoreAnnotated: - 'SubscribeEvent' - 'HandleEvent' - 'Mod.EventHandler' LongParameterList: # too aggressive, classes can need a lot of params active: false NestedBlockDepth: # too aggressive active: false TooManyFunctions: # ktlint - also way too aggressive by default (11 on all file types) active: true thresholdInFiles: 15 thresholdInClasses: 20 thresholdInInterfaces: 20 thresholdInObjects: 20 thresholdInEnums: 11 ignoreAnnotated: - 'SkyHanniModule' ComplexCondition: # aggressive by default, at a complexity of 4 active: true threshold: 6 LongMethod: # default max length of 60, caught way too much active: true threshold: 100 ignoreAnnotated: - 'SubscribeEvent' - 'HandleEvent' - 'Mod.EventHandler' exceptions: SwallowedException: # there are valid reasons to do this active: false ThrowingExceptionsWithoutMessageOrCause: # again, valid reasons active: false TooGenericExceptionCaught: # sometimes you just need to catch Exception active: false TooGenericExceptionThrown: # we don't have our own custom exceptions active: false naming: ConstructorParameterNaming: # pedantic active: false potential-bugs: DoubleMutabilityForCollection: # went crazy about all the mutable collections active: false HasPlatformType: # false positives on config get() methods active: false