<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">

<!--
    This configuration file was written by the eclipse-cs plugin configuration editor
-->
<!--
    Checkstyle-Configuration: BuildCraft
    Description: none
-->
<module name="Checker"> 
  <property name="severity" value="error"/>
  <module name="SuppressionCommentFilter">
    <property name="offCommentFormat" value="CHECKSTYLE.OFF\: ([\w\|]+)"/>
    <property name="onCommentFormat" value="CHECKSTYLE.ON\: ([\w\|]+)"/>
    <property name="checkFormat" value="$1"/>
  </module>
  <module name="TreeWalker">
    <module name="MissingOverride"/>
    <module name="RedundantImport"/>
    <module name="UnusedImports"/>
    <module name="AvoidStarImport"/>
    <module name="MethodName">
      <property name="format" value="^[a-z][a-zA-Z0-9_]*$"/>
    </module>
    <module name="ImportOrder">
      <property name="groups" value="java,com,org,io,joptsimple,gnu,net.minecraft,cpw,net.minecraftforge,cofh,buildcraft"/>
    </module>
    <module name="WhitespaceAround">
      <property name="tokens" value="ASSIGN,BAND,BAND_ASSIGN,BOR,BOR_ASSIGN,BSR,BSR_ASSIGN,BXOR,BXOR_ASSIGN,COLON,DIV,DIV_ASSIGN,EQUAL,GE,GT,LAND,LE,LITERAL_ASSERT,LITERAL_CATCH,LITERAL_DO,LITERAL_ELSE,LITERAL_FINALLY,LITERAL_FOR,LITERAL_IF,LITERAL_RETURN,LITERAL_SYNCHRONIZED,LITERAL_TRY,LITERAL_WHILE,LOR,LT,MINUS,MINUS_ASSIGN,MOD,MOD_ASSIGN,NOT_EQUAL,PLUS,PLUS_ASSIGN,QUESTION,SL,SLIST,SL_ASSIGN,SR,SR_ASSIGN,STAR,STAR_ASSIGN,LITERAL_ASSERT,TYPE_EXTENSION_AND,WILDCARD_TYPE"/>
      <property name="allowEmptyConstructors" value="true"/>
      <property name="allowEmptyMethods" value="true"/>
    </module>
    <module name="ModifierOrder"/>
    <module name="RedundantModifier"/>
    <module name="NeedBraces"/>
    <module name="RightCurly"/>
    <module name="LeftCurly"/>
    <module name="ParenPad"/>
    <module name="TypecastParenPad">
      <property name="tokens" value="RPAREN,TYPECAST"/>
    </module>
    <module name="WhitespaceAfter"/>
    <module name="GenericWhitespace"/>
    <module name="EmptyForInitializerPad"/>
    <module name="EmptyForIteratorPad"/>
    <module name="NoWhitespaceAfter">
      <property name="tokens" value="BNOT,DEC,DOT,INC,LNOT,UNARY_MINUS,UNARY_PLUS"/>
    </module>
    <module name="NoWhitespaceBefore">
      <property name="allowLineBreaks" value="true"/>
      <property name="tokens" value="SEMI,DOT,POST_DEC,POST_INC"/>
    </module>
    <module name="DefaultComesLast"/>
    <module name="DeclarationOrder"/>
    <module name="EmptyStatement"/>
    <module name="EqualsAvoidNull"/>
    <module name="FallThrough"/>
    <module name="HiddenField">
      <property name="tokens" value="VARIABLE_DEF"/>
    </module>
    <module name="ModifiedControlVariable"/>
    <module name="NoClone"/>
    <module name="NoFinalizer"/>
    <module name="PackageDeclaration"/>
    <module name="ParameterAssignment"/>
    <module name="SimplifyBooleanReturn"/>
    <module name="StringLiteralEquality"/>
    <module name="UnnecessaryParentheses"/>
    <module name="OneStatementPerLine"/>
    <module name="FinalClass"/>
    <module name="HideUtilityClassConstructor"/>
    <module name="MemberName"/>
    <module name="MethodTypeParameterName"/>
    <module name="PackageName">
      <property name="format" value="^[a-z]+(\.[a-z][a-z0-9_]*)*$"/>
    </module>
    <module name="ParameterName"/>
    <module name="TypeName"/>
    <module name="LocalFinalVariableName"/>
    <module name="LocalVariableName"/>
    <module name="ArrayTypeStyle"/>
    <module name="UpperEll"/>
    <module name="OuterTypeFilename"/>
    <module name="FileContentsHolder"/>
    <module name="RegexpSinglelineJava">
        <property name="format" value="System\.(out|err)\.print(ln|f){0,1}\(.*\)"/>
        <property name="ignoreComments" value="true"/>
        <property name="message" value="Standard output/error stream should not be used."/>
    </module>
  </module>
</module>
