- Add ParkourGenerator.selectBlockData() hook (forced course material); BlockSelector checks it first; SingleDuelsGenerator overrides to use the player's color (16 concrete colors) and forces only DEFAULT block type - Elytra sub-modes: SpeedDemonGenerator (max-speed score), MinSpeedGenerator (min-speed check, reset on 6 slow ticks), TimeTrialGenerator (score cap), CloseGenerator (FLAT rings); + SpeedDemon/MinSpeed/TimeTrial/Close modes, registration, locales play.elytra.*, config mode-settings.* - Config.getDouble(path, default) + ConfigAccessor overload - checkstyle 0/0, PMD 0, build green
164 lines
6.1 KiB
XML
164 lines
6.1 KiB
XML
<?xml version="1.0"?>
|
|
<!DOCTYPE module PUBLIC
|
|
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
|
|
"https://checkstyle.org/dtds/configuration_1_3.dtd">
|
|
|
|
<module name="Checker">
|
|
<property name="charset" value="UTF-8"/>
|
|
<property name="severity" value="error"/>
|
|
<property name="fileExtensions" value="java"/>
|
|
|
|
<module name="BeforeExecutionExclusionFileFilter">
|
|
<property name="fileNamePattern" value=".*[\\/]src[\\/]test[\\/].*"/>
|
|
</module>
|
|
|
|
<!-- Max file size: enforces the 200-line-per-file rule (KISS / decoupling). -->
|
|
<module name="FileLength">
|
|
<property name="max" value="200"/>
|
|
</module>
|
|
|
|
<!-- Legacy files that still exceed 200 lines. Remove entries as they get
|
|
decomposed; new files must already comply and must NOT be added here. -->
|
|
<module name="SuppressionFilter">
|
|
<property name="file"
|
|
value="${config_loc}/suppressions.xml"/>
|
|
<property name="optional" value="true"/>
|
|
</module>
|
|
|
|
<module name="SuppressWarningsFilter"/>
|
|
|
|
<module name="LineLength">
|
|
<property name="max" value="150"/>
|
|
<property name="ignorePattern"
|
|
value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
|
|
</module>
|
|
|
|
<module name="TreeWalker">
|
|
<module name="SuppressWarningsHolder"/>
|
|
|
|
<module name="MethodLength">
|
|
<property name="max" value="80"/>
|
|
<property name="countEmpty" value="false"/>
|
|
</module>
|
|
|
|
<module name="CyclomaticComplexity">
|
|
<property name="max" value="20"/>
|
|
</module>
|
|
|
|
<module name="ParameterNumber">
|
|
<property name="max" value="7"/>
|
|
</module>
|
|
|
|
<module name="AvoidStarImport"/>
|
|
<module name="UnusedImports"/>
|
|
<module name="RedundantImport"/>
|
|
|
|
<module name="PackageName">
|
|
<property name="format" value="^[a-z]+(\.[a-zA-Z][a-zA-Z0-9]*)*$"/>
|
|
</module>
|
|
<module name="TypeName"/>
|
|
<module name="MethodName"/>
|
|
<module name="MemberName"/>
|
|
<module name="ParameterName"/>
|
|
<module name="LocalVariableName"/>
|
|
<module name="ConstantName">
|
|
<property name="format" value="^log$|^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"/>
|
|
</module>
|
|
|
|
<module name="NeedBraces"/>
|
|
<module name="LeftCurly"/>
|
|
<module name="RightCurly"/>
|
|
|
|
<module name="ModifierOrder"/>
|
|
<module name="RedundantModifier"/>
|
|
<module name="EmptyStatement"/>
|
|
<module name="EqualsHashCode"/>
|
|
<module name="SimplifyBooleanExpression"/>
|
|
<module name="SimplifyBooleanReturn"/>
|
|
<module name="StringLiteralEquality"/>
|
|
<module name="DefaultComesLast"/>
|
|
<module name="MultipleVariableDeclarations"/>
|
|
<module name="OneStatementPerLine"/>
|
|
<module name="FallThrough"/>
|
|
<module name="HideUtilityClassConstructor"/>
|
|
<module name="OneTopLevelClass"/>
|
|
<module name="UpperEll"/>
|
|
<module name="ArrayTypeStyle"/>
|
|
<module name="MissingSwitchDefault"/>
|
|
<module name="OuterTypeFilename"/>
|
|
|
|
<module name="EmptyBlock">
|
|
<property name="option" value="text"/>
|
|
</module>
|
|
<module name="EmptyCatchBlock">
|
|
<property name="exceptionVariableName" value="expected|ignore"/>
|
|
</module>
|
|
|
|
<module name="EqualsAvoidNull"/>
|
|
<module name="NoFinalizer"/>
|
|
<module name="NoClone"/>
|
|
<module name="PackageDeclaration"/>
|
|
|
|
<!-- ============ Complexity and size ============ -->
|
|
<module name="NPathComplexity">
|
|
<property name="max" value="50"/>
|
|
</module>
|
|
<module name="NestedIfDepth">
|
|
<property name="max" value="3"/>
|
|
</module>
|
|
<module name="NestedForDepth">
|
|
<property name="max" value="2"/>
|
|
</module>
|
|
<module name="NestedTryDepth">
|
|
<property name="max" value="2"/>
|
|
</module>
|
|
<module name="ClassDataAbstractionCoupling">
|
|
<property name="max" value="25"/>
|
|
<property name="severity" value="warning"/>
|
|
</module>
|
|
<module name="ClassFanOutComplexity">
|
|
<property name="max" value="25"/>
|
|
<property name="severity" value="warning"/>
|
|
</module>
|
|
|
|
<!-- ============ Safety and reliability ============ -->
|
|
<module name="MagicNumber">
|
|
<property name="ignoreNumbers" value="-1, 0, 1, 2"/>
|
|
<property name="ignoreHashCodeMethod" value="true"/>
|
|
<property name="ignoreAnnotation" value="true"/>
|
|
<property name="severity" value="warning"/>
|
|
</module>
|
|
<module name="Regexp">
|
|
<property name="format" value="System\.(out|err)\.print"/>
|
|
<property name="illegalPattern" value="true"/>
|
|
<property name="message" value="Use a logger instead of System.out/err"/>
|
|
</module>
|
|
<module name="Regexp">
|
|
<property name="format" value="\.printStackTrace\(\)"/>
|
|
<property name="illegalPattern" value="true"/>
|
|
<property name="message" value="Use a logger instead of printStackTrace"/>
|
|
</module>
|
|
<module name="IllegalThrows"/>
|
|
<module name="IllegalCatch">
|
|
<property name="illegalClassNames"
|
|
value="java.lang.Exception, java.lang.Throwable, java.lang.RuntimeException"/>
|
|
</module>
|
|
|
|
<!-- ============ Style and maintainability ============ -->
|
|
<module name="EmptyLineSeparator">
|
|
<property name="allowNoEmptyLineBetweenFields" value="true"/>
|
|
<property name="severity" value="warning"/>
|
|
</module>
|
|
<module name="WhitespaceAround"/>
|
|
<module name="WhitespaceAfter"/>
|
|
<module name="NoWhitespaceBefore"/>
|
|
<module name="MissingOverride"/>
|
|
<module name="MissingDeprecated">
|
|
<property name="severity" value="warning"/>
|
|
</module>
|
|
<module name="FinalLocalVariable">
|
|
<property name="validateEnhancedForLoopVariable" value="true"/>
|
|
<property name="severity" value="warning"/>
|
|
</module>
|
|
</module>
|
|
</module>
|