├── settings.gradle ├── lib └── lambda-2.06.xx-dev-api.jar ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── README.md ├── src └── main │ ├── resources │ └── plugin_info.json │ └── kotlin │ ├── ElytraBotPlugin.kt │ ├── ElytraBotCommand.kt │ ├── AStar.kt │ └── ElytraBotModule.kt ├── LICENSE ├── gradlew.bat ├── .gitignore ├── gradlew └── .editorconfig /settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'ElytraBot' -------------------------------------------------------------------------------- /lib/lambda-2.06.xx-dev-api.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambda-plugins/ElytraBot/HEAD/lib/lambda-2.06.xx-dev-api.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambda-plugins/ElytraBot/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | kotlin.code.style=official 2 | org.gradle.jvmargs=-Xmx3G 3 | modGroup=com.lambda 4 | modVersion=1.0 5 | kotlin_version=1.5.10 6 | kotlinx_coroutines_version=1.5.0-RC 7 | org.gradle.parallel=true -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ElytraBot 2 | 3 | ElytraBot (a fork of cookieclient's elytrabot) is an A* path finder ment to be used on elytras. All it is, is just A* with some code to target the deisred position and then so logic to use a firework rocket when the velocity of the player gets too low. 4 | -------------------------------------------------------------------------------- /src/main/resources/plugin_info.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ElytraBot", 3 | "version": "1.0", 4 | "authors": [ 5 | "bebeli555", 6 | "czho", 7 | "Constructor" 8 | ], 9 | "description": "AStar elytra bot", 10 | "main_class": "ElytraBotPlugin", 11 | "min_api_version": "2.05.01" 12 | } -------------------------------------------------------------------------------- /src/main/kotlin/ElytraBotPlugin.kt: -------------------------------------------------------------------------------- 1 | import com.lambda.client.plugin.api.Plugin 2 | 3 | internal object ElytraBotPlugin : Plugin() { 4 | 5 | override fun onLoad() { 6 | // Load any modules, commands, or HUD elements here 7 | modules.add(ElytraBotModule) 8 | commands.add(ElytraBotCommand) 9 | 10 | } 11 | 12 | override fun onUnload() {} 13 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 cz 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/main/kotlin/ElytraBotCommand.kt: -------------------------------------------------------------------------------- 1 | import com.lambda.client.command.ClientCommand 2 | import com.lambda.client.util.text.MessageSendHelper 3 | import net.minecraft.util.math.BlockPos 4 | 5 | object ElytraBotCommand : ClientCommand( 6 | name = "elytrabot", 7 | description = "Commands for elytrabot" 8 | ) { 9 | init { 10 | literal("goto") { 11 | 12 | int("x/y") { xArg -> 13 | executeSafe("Set goal to a Y level.") { 14 | MessageSendHelper.sendChatMessage("You need at specify x and z pos") 15 | } 16 | 17 | int("y/z") { yArg -> 18 | executeSafe("Set goal to X Z.") { 19 | ElytraBotModule.goal = BlockPos(xArg.value, 0, yArg.value) 20 | ElytraBotModule.enable() 21 | 22 | } 23 | 24 | 25 | } 26 | } 27 | } 28 | literal("goal", "coordinates") { 29 | literal("clear") { 30 | executeSafe("Clear the current goal.") { 31 | ElytraBotModule.goal = null 32 | } 33 | } 34 | 35 | int("x/y") { xArg -> 36 | executeSafe("Not enough arguments") { 37 | MessageSendHelper.sendChatMessage("You need at specify x and z pos") 38 | } 39 | 40 | int("y/z") { yArg -> 41 | executeSafe("Set goal to X Z.") { 42 | ElytraBotModule.goal = BlockPos(xArg.value, 0, yArg.value) 43 | } 44 | } 45 | } 46 | 47 | 48 | } 49 | literal("path") { 50 | literal("clear") { 51 | executeSafe("clears current path") { 52 | ElytraBotModule.goal = null 53 | ElytraBotModule.disable() 54 | } 55 | } 56 | executeSafe("Paths to goal postition") { 57 | ElytraBotModule.enable() 58 | } 59 | 60 | } 61 | 62 | } 63 | } -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- 1 | @rem 2 | @rem Copyright 2015 the original author or authors. 3 | @rem 4 | @rem Licensed under the Apache License, Version 2.0 (the "License"); 5 | @rem you may not use this file except in compliance with the License. 6 | @rem You may obtain a copy of the License at 7 | @rem 8 | @rem https://www.apache.org/licenses/LICENSE-2.0 9 | @rem 10 | @rem Unless required by applicable law or agreed to in writing, software 11 | @rem distributed under the License is distributed on an "AS IS" BASIS, 12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | @rem See the License for the specific language governing permissions and 14 | @rem limitations under the License. 15 | @rem 16 | 17 | @if "%DEBUG%" == "" @echo off 18 | @rem ########################################################################## 19 | @rem 20 | @rem Gradle startup script for Windows 21 | @rem 22 | @rem ########################################################################## 23 | 24 | @rem Set local scope for the variables with windows NT shell 25 | if "%OS%"=="Windows_NT" setlocal 26 | 27 | set DIRNAME=%~dp0 28 | if "%DIRNAME%" == "" set DIRNAME=. 29 | set APP_BASE_NAME=%~n0 30 | set APP_HOME=%DIRNAME% 31 | 32 | @rem Resolve any "." and ".." in APP_HOME to make it shorter. 33 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi 34 | 35 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 36 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" 37 | 38 | @rem Find java.exe 39 | if defined JAVA_HOME goto findJavaFromJavaHome 40 | 41 | set JAVA_EXE=java.exe 42 | %JAVA_EXE% -version >NUL 2>&1 43 | if "%ERRORLEVEL%" == "0" goto execute 44 | 45 | echo. 46 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 47 | echo. 48 | echo Please set the JAVA_HOME variable in your environment to match the 49 | echo location of your Java installation. 50 | 51 | goto fail 52 | 53 | :findJavaFromJavaHome 54 | set JAVA_HOME=%JAVA_HOME:"=% 55 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 56 | 57 | if exist "%JAVA_EXE%" goto execute 58 | 59 | echo. 60 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 61 | echo. 62 | echo Please set the JAVA_HOME variable in your environment to match the 63 | echo location of your Java installation. 64 | 65 | goto fail 66 | 67 | :execute 68 | @rem Setup the command line 69 | 70 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 71 | 72 | 73 | @rem Execute Gradle 74 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* 75 | 76 | :end 77 | @rem End local scope for the variables with windows NT shell 78 | if "%ERRORLEVEL%"=="0" goto mainEnd 79 | 80 | :fail 81 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 82 | rem the _cmd.exe /c_ return code! 83 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 84 | exit /b 1 85 | 86 | :mainEnd 87 | if "%OS%"=="Windows_NT" endlocal 88 | 89 | :omega 90 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by https://www.gitignore.io/api/linux,gradle,eclipse,windows,forgegradle,intellij+all,emacs,vim 2 | 3 | # Logs 4 | run/ 5 | scripts/jar-shrink/log.txt 6 | logs/ 7 | 8 | ### Eclipse ### 9 | .metadata 10 | bin/ 11 | tmp/ 12 | *.tmp 13 | *.bak 14 | *.swp 15 | *~.nib 16 | local.properties 17 | .settings/ 18 | .loadpath 19 | .recommenders 20 | kami_Client.launch 21 | kami_Server.launch 22 | client_Client.launch 23 | client_Server.launch 24 | .classpath 25 | .project 26 | 27 | # External tool builders 28 | .externalToolBuilders/ 29 | 30 | # Locally stored "Eclipse launch configurations" 31 | *.launch 32 | 33 | # PyDev specific (Python IDE for Eclipse) 34 | *.pydevproject 35 | 36 | # CDT-specific (C/C++ Development Tooling) 37 | .cproject 38 | 39 | # CDT- autotools 40 | .autotools 41 | 42 | # Java annotation processor (APT) 43 | .factorypath 44 | 45 | # PDT-specific (PHP Development Tools) 46 | .buildpath 47 | 48 | # sbteclipse plugin 49 | .target 50 | 51 | # Tern plugin 52 | .tern-project 53 | 54 | # TeXlipse plugin 55 | .texlipse 56 | 57 | # STS (Spring Tool Suite) 58 | .springBeans 59 | 60 | # Code Recommenders 61 | .recommenders/ 62 | 63 | # Annotation Processing 64 | .apt_generated/ 65 | 66 | # Scala IDE specific (Scala & Java development for Eclipse) 67 | .cache-main 68 | .scala_dependencies 69 | .worksheet 70 | 71 | ### Eclipse Patch ### 72 | 73 | # Annotation Processing 74 | .apt_generated 75 | 76 | ### Emacs ### 77 | # -*- mode: gitignore; -*- 78 | *~ 79 | \#*\# 80 | /.emacs.desktop 81 | /.emacs.desktop.lock 82 | *.elc 83 | auto-save-list 84 | tramp 85 | .\#* 86 | 87 | # Org-mode 88 | .org-id-locations 89 | *_archive 90 | 91 | # flymake-mode 92 | *_flymake.* 93 | 94 | # eshell files 95 | /eshell/history 96 | /eshell/lastdir 97 | 98 | # elpa packages 99 | /elpa/ 100 | 101 | # reftex files 102 | *.rel 103 | 104 | # AUCTeX auto folder 105 | /auto/ 106 | 107 | # cask packages 108 | .cask/ 109 | dist/ 110 | 111 | # Flycheck 112 | flycheck_*.el 113 | 114 | # server auth directory 115 | /server/ 116 | 117 | # projectiles files 118 | .projectile 119 | 120 | # directory configuration 121 | .dir-locals.el 122 | 123 | ### Intellij+all ### 124 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm 125 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 126 | 127 | # User-specific stuff 128 | .idea/**/workspace.xml 129 | .idea/**/tasks.xml 130 | .idea/**/usage.statistics.xml 131 | .idea/**/dictionaries 132 | .idea/**/shelf 133 | 134 | # Sensitive or high-churn files 135 | .idea/**/dataSources/ 136 | .idea/**/dataSources.ids 137 | .idea/**/dataSources.local.xml 138 | .idea/**/sqlDataSources.xml 139 | .idea/**/dynamic.xml 140 | .idea/**/uiDesigner.xml 141 | .idea/**/dbnavigator.xml 142 | 143 | # Gradle 144 | .idea/**/gradle.xml 145 | .idea/**/libraries 146 | 147 | # Building 148 | classes 149 | 150 | # Gradle and Maven with auto-import 151 | # When using Gradle or Maven with auto-import, you should exclude module files, 152 | # since they will be recreated, and may cause churn. Uncomment if using 153 | # auto-import. 154 | # .idea/modules.xml 155 | # .idea/*.iml 156 | # .idea/modules 157 | 158 | # CMake 159 | cmake-build-*/ 160 | 161 | # Mongo Explorer plugin 162 | .idea/**/mongoSettings.xml 163 | 164 | # File-based project format 165 | *.iws 166 | 167 | # IntelliJ 168 | out/ 169 | 170 | # mpeltonen/sbt-idea plugin 171 | .idea_modules/ 172 | 173 | # JIRA plugin 174 | atlassian-ide-plugin.xml 175 | 176 | # Cursive Clojure plugin 177 | .idea/replstate.xml 178 | 179 | # Crashlytics plugin (for Android Studio and IntelliJ) 180 | com_crashlytics_export_strings.xml 181 | crashlytics.properties 182 | crashlytics-build.properties 183 | fabric.properties 184 | 185 | # Editor-based Rest Client 186 | .idea/httpRequests 187 | 188 | ### Intellij+all Patch ### 189 | # Ignores the whole .idea folder and all .iml files 190 | # See https://github.com/joeblau/gitignore.io/issues/186 and https://github.com/joeblau/gitignore.io/issues/360 191 | 192 | .idea/ 193 | 194 | # Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023 195 | 196 | *.iml 197 | modules.xml 198 | .idea/misc.xml 199 | *.ipr 200 | 201 | ### Linux ### 202 | 203 | # temporary files which can be created if a process still has a handle open of a deleted file 204 | .fuse_hidden* 205 | 206 | # KDE directory preferences 207 | .directory 208 | 209 | # Linux trash folder which might appear on any partition or disk 210 | .Trash-* 211 | 212 | # .nfs files are created when an open file is removed but is still being accessed 213 | .nfs* 214 | 215 | ### Vim ### 216 | # Swap 217 | [._]*.s[a-v][a-z] 218 | [._]*.sw[a-p] 219 | [._]s[a-rt-v][a-z] 220 | [._]ss[a-gi-z] 221 | [._]sw[a-p] 222 | 223 | # Session 224 | Session.vim 225 | 226 | # Temporary 227 | .netrwhist 228 | # Auto-generated tag files 229 | tags 230 | # Persistent undo 231 | [._]*.un~ 232 | 233 | ### Windows ### 234 | # Windows thumbnail cache files 235 | Thumbs.db 236 | ehthumbs.db 237 | ehthumbs_vista.db 238 | 239 | # Dump file 240 | *.stackdump 241 | 242 | # Folder config file 243 | [Dd]esktop.ini 244 | 245 | # Recycle Bin used on file shares 246 | $RECYCLE.BIN/ 247 | 248 | # Windows Installer files 249 | *.cab 250 | *.msi 251 | *.msix 252 | *.msm 253 | *.msp 254 | 255 | # Windows shortcuts 256 | *.lnk 257 | 258 | ### Gradle ### 259 | .gradle 260 | /build/ 261 | 262 | # Ignore Gradle GUI config 263 | gradle-app.setting 264 | 265 | # Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) 266 | !gradle-wrapper.jar 267 | 268 | # Cache of project 269 | .gradletasknamecache 270 | 271 | # # Work around https://youtrack.jetbrains.com/issue/IDEA-116898 272 | # gradle/wrapper/gradle-wrapper.properties 273 | 274 | # End of https://www.gitignore.io/api/linux,gradle,eclipse,windows,forgegradle,intellij+all,emacs,vim 275 | /target/ 276 | 277 | # macOS system generate files 278 | .DS_Store -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # 4 | # Copyright 2015 the original author or authors. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | ############################################################################## 20 | ## 21 | ## Gradle start up script for UN*X 22 | ## 23 | ############################################################################## 24 | 25 | # Attempt to set APP_HOME 26 | # Resolve links: $0 may be a link 27 | PRG="$0" 28 | # Need this for relative symlinks. 29 | while [ -h "$PRG" ] ; do 30 | ls=`ls -ld "$PRG"` 31 | link=`expr "$ls" : '.*-> \(.*\)$'` 32 | if expr "$link" : '/.*' > /dev/null; then 33 | PRG="$link" 34 | else 35 | PRG=`dirname "$PRG"`"/$link" 36 | fi 37 | done 38 | SAVED="`pwd`" 39 | cd "`dirname \"$PRG\"`/" >/dev/null 40 | APP_HOME="`pwd -P`" 41 | cd "$SAVED" >/dev/null 42 | 43 | APP_NAME="Gradle" 44 | APP_BASE_NAME=`basename "$0"` 45 | 46 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 47 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' 48 | 49 | # Use the maximum available, or set MAX_FD != -1 to use that value. 50 | MAX_FD="maximum" 51 | 52 | warn () { 53 | echo "$*" 54 | } 55 | 56 | die () { 57 | echo 58 | echo "$*" 59 | echo 60 | exit 1 61 | } 62 | 63 | # OS specific support (must be 'true' or 'false'). 64 | cygwin=false 65 | msys=false 66 | darwin=false 67 | nonstop=false 68 | case "`uname`" in 69 | CYGWIN* ) 70 | cygwin=true 71 | ;; 72 | Darwin* ) 73 | darwin=true 74 | ;; 75 | MINGW* ) 76 | msys=true 77 | ;; 78 | NONSTOP* ) 79 | nonstop=true 80 | ;; 81 | esac 82 | 83 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 84 | 85 | 86 | # Determine the Java command to use to start the JVM. 87 | if [ -n "$JAVA_HOME" ] ; then 88 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 89 | # IBM's JDK on AIX uses strange locations for the executables 90 | JAVACMD="$JAVA_HOME/jre/sh/java" 91 | else 92 | JAVACMD="$JAVA_HOME/bin/java" 93 | fi 94 | if [ ! -x "$JAVACMD" ] ; then 95 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 96 | 97 | Please set the JAVA_HOME variable in your environment to match the 98 | location of your Java installation." 99 | fi 100 | else 101 | JAVACMD="java" 102 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 103 | 104 | Please set the JAVA_HOME variable in your environment to match the 105 | location of your Java installation." 106 | fi 107 | 108 | # Increase the maximum file descriptors if we can. 109 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then 110 | MAX_FD_LIMIT=`ulimit -H -n` 111 | if [ $? -eq 0 ] ; then 112 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 113 | MAX_FD="$MAX_FD_LIMIT" 114 | fi 115 | ulimit -n $MAX_FD 116 | if [ $? -ne 0 ] ; then 117 | warn "Could not set maximum file descriptor limit: $MAX_FD" 118 | fi 119 | else 120 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 121 | fi 122 | fi 123 | 124 | # For Darwin, add options to specify how the application appears in the dock 125 | if $darwin; then 126 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 127 | fi 128 | 129 | # For Cygwin or MSYS, switch paths to Windows format before running java 130 | if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then 131 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 132 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 133 | 134 | JAVACMD=`cygpath --unix "$JAVACMD"` 135 | 136 | # We build the pattern for arguments to be converted via cygpath 137 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 138 | SEP="" 139 | for dir in $ROOTDIRSRAW ; do 140 | ROOTDIRS="$ROOTDIRS$SEP$dir" 141 | SEP="|" 142 | done 143 | OURCYGPATTERN="(^($ROOTDIRS))" 144 | # Add a user-defined pattern to the cygpath arguments 145 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 146 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 147 | fi 148 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 149 | i=0 150 | for arg in "$@" ; do 151 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 152 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 153 | 154 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 155 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 156 | else 157 | eval `echo args$i`="\"$arg\"" 158 | fi 159 | i=`expr $i + 1` 160 | done 161 | case $i in 162 | 0) set -- ;; 163 | 1) set -- "$args0" ;; 164 | 2) set -- "$args0" "$args1" ;; 165 | 3) set -- "$args0" "$args1" "$args2" ;; 166 | 4) set -- "$args0" "$args1" "$args2" "$args3" ;; 167 | 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 168 | 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 169 | 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 170 | 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 171 | 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 172 | esac 173 | fi 174 | 175 | # Escape application args 176 | save () { 177 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done 178 | echo " " 179 | } 180 | APP_ARGS=`save "$@"` 181 | 182 | # Collect all arguments for the java command, following the shell quoting and substitution rules 183 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" 184 | 185 | exec "$JAVACMD" "$@" 186 | -------------------------------------------------------------------------------- /src/main/kotlin/AStar.kt: -------------------------------------------------------------------------------- 1 | import net.minecraft.client.Minecraft 2 | import net.minecraft.init.Blocks 3 | import net.minecraft.util.math.BlockPos 4 | import kotlin.math.abs 5 | import kotlin.math.sqrt 6 | 7 | object AStar { 8 | private var check = false 9 | 10 | /** 11 | * Generates a path to the given goal. 12 | * @goal The goal it will path to 13 | * @positions The nearby positions that can possibly by added to the open list 14 | * @checkPositions The positions it will check not to be solid when iterating the above list 15 | */ 16 | fun generatePath(mc: Minecraft, start: BlockPos, goal: BlockPos, positions: Array, checkPositions: ArrayList, loopAmount: Int): ArrayList { 17 | AStarNode.nodes.clear() 18 | var current = start 19 | var closest = current 20 | val open = ArrayList() 21 | val closed = ArrayList() 22 | var noClosest = 0 23 | for (i in 0 until loopAmount) { 24 | //Check if were in the goal 25 | if (current == goal) { 26 | check = false 27 | return getPath(current) 28 | } 29 | 30 | //Get the pos with lowest f cost from open list and put it to closed list 31 | var lowestFCost = Int.MAX_VALUE.toDouble() 32 | open.forEach { 33 | val fCost = fCost(it, goal, start) 34 | if (fCost < lowestFCost) { 35 | lowestFCost = fCost 36 | current = it 37 | } 38 | } 39 | 40 | //Update the lists 41 | closed.add(current) 42 | open.remove(current) 43 | getOpen(mc, positions, checkPositions, current, start, open, closed)?.let { 44 | open.addAll(it) 45 | } 46 | 47 | //Set the closest pos. 48 | if (lowestFCost < fCost(closest, goal, start)) { 49 | closest = current 50 | noClosest = 0 51 | } else { 52 | noClosest++ 53 | 54 | //If there hasent been a closer pos found in x times then break 55 | if (noClosest > 200) { 56 | break 57 | } 58 | } 59 | } 60 | 61 | //If there was no path found to the goal then return path to the closest pos. 62 | //As the goal is probably out of render distance. 63 | return if (!check) { 64 | check = true 65 | generatePath(mc, start, closest, positions, checkPositions, loopAmount) 66 | } else { 67 | check = false 68 | ArrayList() 69 | } 70 | } 71 | 72 | /** 73 | * Adds the nearby positions to the open list. And updates the best parent for the AStarNodes 74 | */ 75 | private fun getOpen(mc: Minecraft, positions: Array, checkPositions: ArrayList, current: BlockPos, start: BlockPos, open: ArrayList, closed: ArrayList): ArrayList? { 76 | val list = ArrayList() 77 | val positions2 = ArrayList() 78 | positions.forEach { 79 | positions2.add(current.add(it.x, it.y, it.z)) 80 | } 81 | outer@ for (pos in positions2) { 82 | if (!mc.world.getBlockState(pos).material.isSolid && !closed.contains(pos)) { 83 | val checkPositions2 = ArrayList() 84 | checkPositions.forEach { 85 | checkPositions2.add(pos.add(it.x, it.y, it.z)) 86 | } 87 | for (check in checkPositions2) { 88 | if (ElytraBotModule.travelMode == ElytraBotModule.ElytraBotMode.Highway && !mc.world.getChunk(check).isLoaded) { 89 | return null 90 | } 91 | if (mc.world.getBlockState(check).material.isSolid || !mc.world.getChunk(check).isLoaded) { 92 | continue@outer 93 | } 94 | if (mc.world.getBlockState(check).block == Blocks.LAVA && ElytraBotModule.avoidLava) { 95 | continue@outer 96 | } 97 | 98 | } 99 | var n = AStarNode.getNodeFromBlockpos(pos) 100 | if (n == null) { 101 | n = AStarNode(pos) 102 | } 103 | if (!open.contains(pos)) { 104 | list.add(pos) 105 | } 106 | if (n.parent == null || gCost(current, start) < gCost(n.parent, start)) { 107 | n.parent = current 108 | } 109 | } 110 | } 111 | return list 112 | } 113 | 114 | /** 115 | * Calculates the f cost between pos and goal 116 | */ 117 | private fun fCost(pos: BlockPos, goal: BlockPos, start: BlockPos): Double { 118 | // H cost 119 | val dx = (goal.x - pos.x).toDouble() 120 | val dz = (goal.z - pos.z).toDouble() 121 | val h = sqrt(dx * dx + dz * dz) 122 | return gCost(pos, start) + h 123 | } 124 | 125 | /** 126 | * Calculates the G Cost 127 | */ 128 | private fun gCost(pos: BlockPos?, start: BlockPos): Double { 129 | val dx = (start.x - pos!!.x).toDouble() 130 | val dy = (start.y - pos.y).toDouble() 131 | val dz = (start.z - pos.z).toDouble() 132 | return sqrt(abs(dx) + abs(dy) + abs(dz)) 133 | } 134 | 135 | /** 136 | * Gets the path by backtracing the closed list with the AStarNode things 137 | */ 138 | private fun getPath(current: BlockPos): ArrayList { 139 | val path = ArrayList() 140 | try { 141 | var n = AStarNode.getNodeFromBlockpos(current) 142 | if (n == null) { 143 | n = AStarNode.nodes[AStarNode.nodes.size - 1] 144 | } 145 | path.add(n.pos) 146 | while (n?.parent != null) { 147 | path.add(n.parent!!) 148 | n = AStarNode.getNodeFromBlockpos(n.parent) 149 | } 150 | } catch (e: IndexOutOfBoundsException) { 151 | //Ingored. The path is zero in lenght 152 | } 153 | return path 154 | } 155 | 156 | /** 157 | * Used for backtracing the closed list to get the actual path 158 | */ 159 | class AStarNode(var pos: BlockPos) { 160 | var parent: BlockPos? = null 161 | 162 | companion object { 163 | var nodes = ArrayList() 164 | fun getNodeFromBlockpos(pos: BlockPos?): AStarNode? { 165 | for (node in nodes) { 166 | if (node.pos == pos) { 167 | return node 168 | } 169 | } 170 | return null 171 | } 172 | } 173 | 174 | init { 175 | nodes.add(this) 176 | } 177 | } 178 | } -------------------------------------------------------------------------------- /src/main/kotlin/ElytraBotModule.kt: -------------------------------------------------------------------------------- 1 | import com.lambda.client.event.SafeClientEvent 2 | import com.lambda.client.manager.managers.HotbarManager 3 | import com.lambda.client.manager.managers.HotbarManager.serverSideItem 4 | import com.lambda.client.manager.managers.HotbarManager.spoofHotbar 5 | import com.lambda.client.manager.managers.PlayerPacketManager.sendPlayerPacket 6 | import com.lambda.client.mixin.extension.tickLength 7 | import com.lambda.client.mixin.extension.timer 8 | import com.lambda.client.module.Category 9 | import com.lambda.client.plugin.api.PluginModule 10 | import com.lambda.client.util.MovementUtils.speed 11 | import com.lambda.client.util.TickTimer 12 | import com.lambda.client.util.TimeUnit 13 | import com.lambda.client.util.items.* 14 | import com.lambda.client.util.math.Direction 15 | import com.lambda.client.util.math.Vec2f 16 | import com.lambda.client.util.math.VectorUtils 17 | import com.lambda.client.util.math.VectorUtils.distanceTo 18 | import com.lambda.client.util.math.VectorUtils.multiply 19 | import com.lambda.client.util.math.VectorUtils.toVec3d 20 | import com.lambda.client.util.text.MessageSendHelper.sendChatMessage 21 | import com.lambda.client.util.threads.defaultScope 22 | import com.lambda.client.util.threads.runSafe 23 | import com.lambda.client.util.threads.runSafeR 24 | import com.lambda.client.util.threads.safeListener 25 | import com.lambda.client.util.world.getGroundPos 26 | import kotlinx.coroutines.launch 27 | import net.minecraft.init.Items 28 | import net.minecraft.init.SoundEvents 29 | import net.minecraft.item.ItemStack 30 | import net.minecraft.network.play.client.CPacketEntityAction 31 | import net.minecraft.network.play.client.CPacketPlayerTryUseItem 32 | import net.minecraft.util.EnumHand 33 | import net.minecraft.util.SoundCategory 34 | import net.minecraft.util.math.BlockPos 35 | import net.minecraft.util.math.MathHelper 36 | import net.minecraft.util.math.Vec3d 37 | import net.minecraftforge.fml.common.gameevent.TickEvent 38 | import kotlin.math.abs 39 | import kotlin.math.atan2 40 | import kotlin.math.sqrt 41 | 42 | 43 | internal object ElytraBotModule : PluginModule( 44 | name = "ElytraBot", 45 | category = Category.MOVEMENT, 46 | description = "Baritone like Elytra bot module, credit CookieClient", 47 | pluginMain = ElytraBotPlugin 48 | ) { 49 | 50 | 51 | private var path = mutableListOf() 52 | var goal: BlockPos? = null 53 | private var previous: BlockPos? = null 54 | private var lastSecondPos: BlockPos? = null 55 | 56 | private var jumpY = -1.0 57 | private var packetsSent = 0 58 | private var lagbackCounter = 0 59 | private var useBaritoneCounter = 0 60 | private var lagback = false 61 | private var blocksPerSecond = 0.0 62 | private var blocksPerSecondCounter = 0 63 | private val blocksPerSecondTimer = TickTimer(TimeUnit.MILLISECONDS) 64 | private val packetTimer = TickTimer(TimeUnit.MILLISECONDS) 65 | private val fireworkTimer = TickTimer(TimeUnit.MILLISECONDS) 66 | private val takeoffTimer = TickTimer(TimeUnit.MILLISECONDS) 67 | 68 | enum class ElytraBotMode { 69 | Highway, Overworld 70 | } 71 | 72 | enum class ElytraBotTakeOffMode { 73 | SlowGlide, Jump 74 | } 75 | 76 | enum class ElytraBotFlyMode { 77 | Firework 78 | } 79 | 80 | var travelMode by setting("Travel Mode", ElytraBotMode.Overworld) 81 | private var takeoffMode by setting("Takeoff Mode", ElytraBotTakeOffMode.Jump) 82 | private var elytraMode by setting("Flight Mode", ElytraBotFlyMode.Firework) 83 | private val highPingOptimize by setting("High Ping Optimize", false) 84 | private val minTakeoffHeight by setting("Min Takeoff Height", 0.5f, 0.0f..1.5f, 0.1f, { !highPingOptimize }) 85 | private val spoofHotbar by setting("Spoof Hotbar", true) 86 | private val aStarRadius by setting("AStarRadius", 3f, 1f..10f, 0.5f) 87 | private val minElytraVelocity by setting("MinElytraVelocity", 1.0, 0.1..5.0, 0.1) 88 | private val aStarLoops by setting("aStarLoops", 500, 1..1000, 1) 89 | private val interacting by setting("Rotation Mode", RotationMode.VIEW_LOCK) 90 | // private val elytraFlySpeed by setting("Elytra Speed", 1f, 0.1f..20.0f, 0.25f, { ElytraMode != ElytraBotFlyMode.Firework }) 91 | private val elytraFlyManeuverSpeed by setting("Maneuver Speed", 1f, 0.0f..10.0f, 0.25f) 92 | private val fireworkDelay by setting("Firework Delay", 1f, 0.0f..10.0f, 0.25f, { elytraMode == ElytraBotFlyMode.Firework }) 93 | // var pathfinding by setting("Pathfinding", true) 94 | var avoidLava by setting("AvoidLava", true) 95 | private var directional by setting("Directional", false) 96 | // private var toggleOnPop by setting("ToggleOnPop", false) 97 | // private val maxY by setting("Max Y", 1f, 0.0f..300.0f, 0.25f) 98 | 99 | @Suppress("UNUSED") 100 | private enum class RotationMode { 101 | OFF, SPOOF, VIEW_LOCK 102 | } 103 | 104 | init { 105 | onEnable { 106 | runSafeR { 107 | if (directional) { 108 | //Calculate the direction so it will put it to diagonal if the player is on diagonal highway. 109 | goal = BlockPos(Direction.fromEntity(player).directionVec.multiply(6942069)) 110 | } else { if (goal == null) { 111 | sendChatMessage("You need a goal position") 112 | disable() 113 | } 114 | } 115 | blocksPerSecondTimer.reset() 116 | } 117 | } 118 | 119 | onDisable { 120 | runSafe { 121 | path = mutableListOf() 122 | useBaritoneCounter = 0 123 | lagback = false 124 | lagbackCounter = 0 125 | blocksPerSecond = 0.0 126 | blocksPerSecondCounter = 0 127 | lastSecondPos = null 128 | jumpY = -1.0 129 | } 130 | } 131 | 132 | safeListener { 133 | if (goal == null) { 134 | disable() 135 | sendChatMessage("You need a goal position") 136 | return@safeListener 137 | } 138 | 139 | //Check if the goal is reached and then stop 140 | goal?.let { 141 | if (player.positionVector.distanceTo(it.toVec3d()) < 15) { 142 | world.playSound(player.position, SoundEvents.ENTITY_PLAYER_LEVELUP, SoundCategory.AMBIENT, 100.0f, 18.0f, true) 143 | sendChatMessage("$chatName Goal reached!.") 144 | disable() 145 | return@safeListener 146 | } 147 | } 148 | 149 | //Check if there is an elytra equipped if not then equip it or toggle off if no elytra in inventory 150 | if (player.inventory.armorInventory[2].item != Items.ELYTRA || 151 | isItemBroken(player.inventory.armorInventory[2])) { 152 | sendChatMessage("$chatName You need an elytra.") 153 | disable() 154 | return@safeListener 155 | } 156 | 157 | //Toggle off if no fireworks while using firework mode 158 | if (elytraMode == ElytraBotFlyMode.Firework && 159 | player.inventorySlots.countItem(Items.FIREWORKS) <= 0) { 160 | sendChatMessage("You need fireworks as your using firework mode") 161 | disable() 162 | return@safeListener 163 | } 164 | 165 | //Wait still if in unloaded chunk 166 | if (!world.getChunk(player.position).isLoaded) { 167 | //setStatus("We are in unloaded chunk. Waiting") 168 | player.setVelocity(0.0, 0.0, 0.0) 169 | return@safeListener 170 | } 171 | 172 | if (!player.isElytraFlying) { 173 | // if (packetsSent < 20) setStatus("Trying to takeoff") 174 | fireworkTimer.reset() 175 | 176 | // Jump if on ground 177 | if (player.onGround) { 178 | jumpY = player.posY 179 | generatePath() 180 | player.jump() 181 | } else { 182 | if (takeoffMode == ElytraBotTakeOffMode.SlowGlide) { 183 | player.setVelocity(0.0, -0.04, 0.0) 184 | } else { 185 | takeoff() 186 | } 187 | } 188 | return@safeListener 189 | } else { 190 | mc.timer.tickLength = 50.0f 191 | packetsSent = 0 192 | 193 | // If we arent moving anywhere then activate use baritone 194 | val speed = player.speed 195 | 196 | if (elytraMode == ElytraBotFlyMode.Firework) { 197 | // Prevent lagback on 2b2t by not clicking on fireworks. I hope hause would fix hes plugins tho 198 | if (speed > 3) { 199 | lagback = true 200 | } 201 | 202 | //Remove lagback thing after it stops and click on fireworks again. 203 | if (lagback) { 204 | if (speed < 1) { 205 | lagbackCounter++ 206 | if (lagbackCounter > 3) { 207 | lagback = false 208 | lagbackCounter = 0 209 | } 210 | } else { 211 | lagbackCounter = 0 212 | } 213 | } 214 | 215 | //Click on fireworks 216 | if (player.speed < minElytraVelocity && !lagback && fireworkTimer.tick((fireworkDelay * 1000).toInt())) { 217 | activateFirework() 218 | } 219 | } 220 | } 221 | 222 | //Generate more path 223 | if (path.size <= 20 || isNextPathTooFar()) { 224 | generatePath() 225 | } 226 | 227 | //Distance how far to remove the upcoming path. 228 | //The higher it is the smoother the movement will be but it will need more space. 229 | var distance = 12 230 | if (travelMode == ElytraBotMode.Highway) { 231 | distance = 2 232 | } 233 | 234 | //Remove passed positions from path 235 | val removePositions = ArrayList() 236 | path.forEach { pos -> 237 | if (player.position.distanceSq(pos) <= distance) { 238 | removePositions.add(pos) 239 | } 240 | } 241 | removePositions.forEach { pos -> 242 | path.remove(pos) 243 | previous = pos 244 | } 245 | if (path.isNotEmpty() && elytraMode == ElytraBotFlyMode.Firework) { 246 | path.lastOrNull()?.let { pathPos -> 247 | val pos = Vec3d(pathPos).add(0.5, 0.5, 0.5) 248 | 249 | val eyesPos = Vec3d(player.posX, player.posY + player.getEyeHeight(), player.posZ) 250 | val diffX = pos.x - eyesPos.x 251 | val diffY = pos.y - eyesPos.y 252 | val diffZ = pos.z - eyesPos.z 253 | val diffXZ = sqrt(diffX * diffX + diffZ * diffZ) 254 | val yaw = Math.toDegrees(atan2(diffZ, diffX)).toFloat() - 90f 255 | val pitch = (-Math.toDegrees(atan2(diffY, diffXZ))).toFloat() 256 | 257 | val rotation = Vec2f(player.rotationYaw + MathHelper.wrapDegrees(yaw - player.rotationYaw), player.rotationPitch + MathHelper.wrapDegrees(pitch - player.rotationPitch)) 258 | 259 | when (interacting) { 260 | RotationMode.SPOOF -> { 261 | sendPlayerPacket { 262 | rotate(rotation) 263 | } 264 | } 265 | RotationMode.VIEW_LOCK -> { 266 | player.rotationYaw = rotation.x 267 | player.rotationPitch = rotation.y 268 | } 269 | else -> { 270 | // RotationMode.OFF 271 | } 272 | } 273 | } 274 | } 275 | } 276 | } 277 | 278 | private fun isItemBroken(itemStack: ItemStack): Boolean { // (100 * damage / max damage) >= (100 - 70) 279 | return if (itemStack.maxDamage == 0) { 280 | false 281 | } else { 282 | itemStack.maxDamage - itemStack.itemDamage <= 3 283 | } 284 | } 285 | 286 | //Generate path 287 | private fun SafeClientEvent.generatePath() { 288 | //The positions the AStar algorithm is allowed to move from current. 289 | val positions = arrayOf(BlockPos(1, 0, 0), BlockPos(-1, 0, 0), BlockPos(0, 0, 1), BlockPos(0, 0, -1), 290 | BlockPos(1, 0, 1), BlockPos(-1, 0, -1), BlockPos(-1, 0, 1), BlockPos(1, 0, -1), 291 | BlockPos(0, -1, 0), BlockPos(0, 1, 0)) 292 | 293 | val checkPositions = when (travelMode) { 294 | ElytraBotMode.Highway -> { 295 | val list = arrayOf(BlockPos(1, 0, 0), BlockPos(-1, 0, 0), BlockPos(0, 0, 1), BlockPos(0, 0, -1), 296 | BlockPos(1, 0, 1), BlockPos(-1, 0, -1), BlockPos(-1, 0, 1), BlockPos(1, 0, -1)) 297 | ArrayList(list.asList()) 298 | } 299 | ElytraBotMode.Overworld -> { 300 | VectorUtils.getBlockPosInSphere(Vec3d.ZERO, aStarRadius) 301 | } 302 | } 303 | 304 | if (path.isEmpty() || isNextPathTooFar() || player.onGround) { 305 | var start = when { 306 | travelMode == ElytraBotMode.Overworld -> { 307 | player.position.add(0, 4, 0) 308 | } 309 | abs(jumpY - player.posY) <= 2 -> { 310 | BlockPos(player.posX, jumpY + 1, player.posZ) 311 | } 312 | else -> { 313 | player.position.add(0, 1, 0) 314 | } 315 | } 316 | if (isNextPathTooFar()) { 317 | start = player.position 318 | } 319 | goal?.let { 320 | path = AStar.generatePath(mc, start, it, positions, checkPositions, aStarLoops) 321 | } 322 | } else { 323 | goal?.let { 324 | path = AStar.generatePath(mc, path[0], it, positions, checkPositions, aStarLoops) 325 | } 326 | } 327 | } 328 | 329 | private fun SafeClientEvent.takeoff() { 330 | /* Pause Takeoff if server is lagging, player is in water/lava, or player is on ground */ 331 | val timerSpeed = if (highPingOptimize) 400.0f else 200.0f 332 | val height = if (highPingOptimize) 0.0f else minTakeoffHeight 333 | val closeToGround = player.posY <= world.getGroundPos(player).y + height && !mc.isSingleplayer 334 | 335 | if (player.motionY < 0 && !highPingOptimize || player.motionY < -0.02) { 336 | if (closeToGround) { 337 | mc.timer.tickLength = 25.0f 338 | return 339 | } 340 | 341 | if (!mc.isSingleplayer) mc.timer.tickLength = timerSpeed * 2.0f 342 | connection.sendPacket(CPacketEntityAction(player, CPacketEntityAction.Action.START_FALL_FLYING)) 343 | } else if (highPingOptimize && !closeToGround) { 344 | mc.timer.tickLength = timerSpeed 345 | } 346 | } 347 | 348 | private fun SafeClientEvent.activateFirework() { 349 | if (player.heldItemMainhand.item != Items.FIREWORKS) { 350 | if (spoofHotbar) { 351 | val slot = if (player.serverSideItem.item == Items.FIREWORKS) HotbarManager.serverSideHotbar 352 | else player.hotbarSlots.firstItem(Items.FIREWORKS)?.hotbarSlot 353 | 354 | slot?.let { 355 | spoofHotbar(it, 1000L) 356 | } 357 | } else { 358 | if (player.serverSideItem.item != Items.FIREWORKS) { 359 | player.hotbarSlots.firstItem(Items.FIREWORKS)?.let { 360 | swapToSlot(it) 361 | } 362 | } 363 | } 364 | } 365 | connection.sendPacket(CPacketPlayerTryUseItem(EnumHand.MAIN_HAND)) 366 | } 367 | 368 | private fun SafeClientEvent.isNextPathTooFar(): Boolean { 369 | return path.lastOrNull()?.let { 370 | player.position.distanceTo(it) > 15 371 | } ?: run { 372 | false 373 | } 374 | } 375 | 376 | } -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | [*] 2 | charset = utf-8 3 | end_of_line = lf 4 | indent_size = 4 5 | indent_style = space 6 | insert_final_newline = false 7 | max_line_length = 120 8 | tab_width = 4 9 | ij_continuation_indent_size = 8 10 | ij_formatter_off_tag = @formatter:off 11 | ij_formatter_on_tag = @formatter:on 12 | ij_formatter_tags_enabled = false 13 | ij_smart_tabs = false 14 | ij_visual_guides = none 15 | ij_wrap_on_typing = false 16 | 17 | [*.css] 18 | ij_css_align_closing_brace_with_properties = false 19 | ij_css_blank_lines_around_nested_selector = 1 20 | ij_css_blank_lines_between_blocks = 1 21 | ij_css_brace_placement = end_of_line 22 | ij_css_enforce_quotes_on_format = false 23 | ij_css_hex_color_long_format = false 24 | ij_css_hex_color_lower_case = false 25 | ij_css_hex_color_short_format = false 26 | ij_css_hex_color_upper_case = false 27 | ij_css_keep_blank_lines_in_code = 2 28 | ij_css_keep_indents_on_empty_lines = false 29 | ij_css_keep_single_line_blocks = false 30 | ij_css_properties_order = font, font-family, font-size, font-weight, font-style, font-variant, font-size-adjust, font-stretch, line-height, position, z-index, top, right, bottom, left, display, visibility, float, clear, overflow, overflow-x, overflow-y, clip, zoom, align-content, align-items, align-self, flex, flex-flow, flex-basis, flex-direction, flex-grow, flex-shrink, flex-wrap, justify-content, order, box-sizing, width, min-width, max-width, height, min-height, max-height, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, padding-left, table-layout, empty-cells, caption-side, border-spacing, border-collapse, list-style, list-style-position, list-style-type, list-style-image, content, quotes, counter-reset, counter-increment, resize, cursor, user-select, nav-index, nav-up, nav-right, nav-down, nav-left, transition, transition-delay, transition-timing-function, transition-duration, transition-property, transform, transform-origin, animation, animation-name, animation-duration, animation-play-state, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, text-align, text-align-last, vertical-align, white-space, text-decoration, text-emphasis, text-emphasis-color, text-emphasis-style, text-emphasis-position, text-indent, text-justify, letter-spacing, word-spacing, text-outline, text-transform, text-wrap, text-overflow, text-overflow-ellipsis, text-overflow-mode, word-wrap, word-break, tab-size, hyphens, pointer-events, opacity, color, border, border-width, border-style, border-color, border-top, border-top-width, border-top-style, border-top-color, border-right, border-right-width, border-right-style, border-right-color, border-bottom, border-bottom-width, border-bottom-style, border-bottom-color, border-left, border-left-width, border-left-style, border-left-color, border-radius, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius, border-image, border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat, outline, outline-width, outline-style, outline-color, outline-offset, background, background-color, background-image, background-repeat, background-attachment, background-position, background-position-x, background-position-y, background-clip, background-origin, background-size, box-decoration-break, box-shadow, text-shadow 31 | ij_css_space_after_colon = true 32 | ij_css_space_before_opening_brace = true 33 | ij_css_use_double_quotes = true 34 | ij_css_value_alignment = do_not_align 35 | 36 | [*.java] 37 | ij_continuation_indent_size = 4 38 | ij_java_align_consecutive_assignments = false 39 | ij_java_align_consecutive_variable_declarations = false 40 | ij_java_align_group_field_declarations = false 41 | ij_java_align_multiline_annotation_parameters = false 42 | ij_java_align_multiline_array_initializer_expression = false 43 | ij_java_align_multiline_assignment = false 44 | ij_java_align_multiline_binary_operation = false 45 | ij_java_align_multiline_chained_methods = false 46 | ij_java_align_multiline_extends_list = false 47 | ij_java_align_multiline_for = true 48 | ij_java_align_multiline_method_parentheses = false 49 | ij_java_align_multiline_parameters = true 50 | ij_java_align_multiline_parameters_in_calls = false 51 | ij_java_align_multiline_parenthesized_expression = false 52 | ij_java_align_multiline_records = true 53 | ij_java_align_multiline_resources = true 54 | ij_java_align_multiline_ternary_operation = false 55 | ij_java_align_multiline_text_blocks = false 56 | ij_java_align_multiline_throws_list = false 57 | ij_java_align_subsequent_simple_methods = false 58 | ij_java_align_throws_keyword = false 59 | ij_java_annotation_parameter_wrap = off 60 | ij_java_array_initializer_new_line_after_left_brace = false 61 | ij_java_array_initializer_right_brace_on_new_line = false 62 | ij_java_array_initializer_wrap = off 63 | ij_java_assert_statement_colon_on_next_line = false 64 | ij_java_assert_statement_wrap = off 65 | ij_java_assignment_wrap = off 66 | ij_java_binary_operation_sign_on_next_line = false 67 | ij_java_binary_operation_wrap = off 68 | ij_java_blank_lines_after_anonymous_class_header = 0 69 | ij_java_blank_lines_after_class_header = 0 70 | ij_java_blank_lines_after_imports = 1 71 | ij_java_blank_lines_after_package = 1 72 | ij_java_blank_lines_around_class = 1 73 | ij_java_blank_lines_around_field = 0 74 | ij_java_blank_lines_around_field_in_interface = 0 75 | ij_java_blank_lines_around_initializer = 1 76 | ij_java_blank_lines_around_method = 1 77 | ij_java_blank_lines_around_method_in_interface = 1 78 | ij_java_blank_lines_before_class_end = 0 79 | ij_java_blank_lines_before_imports = 1 80 | ij_java_blank_lines_before_method_body = 0 81 | ij_java_blank_lines_before_package = 0 82 | ij_java_block_brace_style = end_of_line 83 | ij_java_block_comment_at_first_column = true 84 | ij_java_call_parameters_new_line_after_left_paren = false 85 | ij_java_call_parameters_right_paren_on_new_line = false 86 | ij_java_call_parameters_wrap = off 87 | ij_java_case_statement_on_separate_line = true 88 | ij_java_catch_on_new_line = false 89 | ij_java_class_annotation_wrap = split_into_lines 90 | ij_java_class_brace_style = end_of_line 91 | ij_java_class_count_to_use_import_on_demand = 5 92 | ij_java_class_names_in_javadoc = 1 93 | ij_java_do_not_indent_top_level_class_members = false 94 | ij_java_do_not_wrap_after_single_annotation = false 95 | ij_java_do_while_brace_force = never 96 | ij_java_doc_add_blank_line_after_description = true 97 | ij_java_doc_add_blank_line_after_param_comments = false 98 | ij_java_doc_add_blank_line_after_return = false 99 | ij_java_doc_add_p_tag_on_empty_lines = true 100 | ij_java_doc_align_exception_comments = true 101 | ij_java_doc_align_param_comments = true 102 | ij_java_doc_do_not_wrap_if_one_line = false 103 | ij_java_doc_enable_formatting = true 104 | ij_java_doc_enable_leading_asterisks = true 105 | ij_java_doc_indent_on_continuation = false 106 | ij_java_doc_keep_empty_lines = true 107 | ij_java_doc_keep_empty_parameter_tag = true 108 | ij_java_doc_keep_empty_return_tag = true 109 | ij_java_doc_keep_empty_throws_tag = true 110 | ij_java_doc_keep_invalid_tags = true 111 | ij_java_doc_param_description_on_new_line = false 112 | ij_java_doc_preserve_line_breaks = false 113 | ij_java_doc_use_throws_not_exception_tag = true 114 | ij_java_else_on_new_line = false 115 | ij_java_enum_constants_wrap = off 116 | ij_java_extends_keyword_wrap = off 117 | ij_java_extends_list_wrap = off 118 | ij_java_field_annotation_wrap = off 119 | ij_java_finally_on_new_line = false 120 | ij_java_for_brace_force = never 121 | ij_java_for_statement_new_line_after_left_paren = false 122 | ij_java_for_statement_right_paren_on_new_line = false 123 | ij_java_for_statement_wrap = off 124 | ij_java_generate_final_locals = false 125 | ij_java_generate_final_parameters = false 126 | ij_java_if_brace_force = never 127 | ij_java_imports_layout = *, |, javax.**, java.**, |, $* 128 | ij_java_indent_case_from_switch = true 129 | ij_java_insert_inner_class_imports = false 130 | ij_java_insert_override_annotation = true 131 | ij_java_keep_blank_lines_before_right_brace = 2 132 | ij_java_keep_blank_lines_between_package_declaration_and_header = 2 133 | ij_java_keep_blank_lines_in_code = 2 134 | ij_java_keep_blank_lines_in_declarations = 2 135 | ij_java_keep_control_statement_in_one_line = true 136 | ij_java_keep_first_column_comment = true 137 | ij_java_keep_indents_on_empty_lines = false 138 | ij_java_keep_line_breaks = true 139 | ij_java_keep_multiple_expressions_in_one_line = false 140 | ij_java_keep_simple_blocks_in_one_line = false 141 | ij_java_keep_simple_classes_in_one_line = false 142 | ij_java_keep_simple_lambdas_in_one_line = false 143 | ij_java_keep_simple_methods_in_one_line = false 144 | ij_java_label_indent_absolute = false 145 | ij_java_label_indent_size = 0 146 | ij_java_lambda_brace_style = end_of_line 147 | ij_java_layout_static_imports_separately = true 148 | ij_java_line_comment_add_space = false 149 | ij_java_line_comment_at_first_column = true 150 | ij_java_method_annotation_wrap = split_into_lines 151 | ij_java_method_brace_style = end_of_line 152 | ij_java_method_call_chain_wrap = off 153 | ij_java_method_parameters_new_line_after_left_paren = false 154 | ij_java_method_parameters_right_paren_on_new_line = false 155 | ij_java_method_parameters_wrap = off 156 | ij_java_modifier_list_wrap = false 157 | ij_java_names_count_to_use_import_on_demand = 3 158 | ij_java_new_line_after_lparen_in_record_header = false 159 | ij_java_packages_to_use_import_on_demand = java.awt.*, javax.swing.* 160 | ij_java_parameter_annotation_wrap = off 161 | ij_java_parentheses_expression_new_line_after_left_paren = false 162 | ij_java_parentheses_expression_right_paren_on_new_line = false 163 | ij_java_place_assignment_sign_on_next_line = false 164 | ij_java_prefer_longer_names = true 165 | ij_java_prefer_parameters_wrap = false 166 | ij_java_record_components_wrap = normal 167 | ij_java_repeat_synchronized = true 168 | ij_java_replace_instanceof_and_cast = false 169 | ij_java_replace_null_check = true 170 | ij_java_replace_sum_lambda_with_method_ref = true 171 | ij_java_resource_list_new_line_after_left_paren = false 172 | ij_java_resource_list_right_paren_on_new_line = false 173 | ij_java_resource_list_wrap = off 174 | ij_java_rparen_on_new_line_in_record_header = false 175 | ij_java_space_after_closing_angle_bracket_in_type_argument = false 176 | ij_java_space_after_colon = true 177 | ij_java_space_after_comma = true 178 | ij_java_space_after_comma_in_type_arguments = true 179 | ij_java_space_after_for_semicolon = true 180 | ij_java_space_after_quest = true 181 | ij_java_space_after_type_cast = true 182 | ij_java_space_before_annotation_array_initializer_left_brace = false 183 | ij_java_space_before_annotation_parameter_list = false 184 | ij_java_space_before_array_initializer_left_brace = false 185 | ij_java_space_before_catch_keyword = true 186 | ij_java_space_before_catch_left_brace = true 187 | ij_java_space_before_catch_parentheses = true 188 | ij_java_space_before_class_left_brace = true 189 | ij_java_space_before_colon = true 190 | ij_java_space_before_colon_in_foreach = true 191 | ij_java_space_before_comma = false 192 | ij_java_space_before_do_left_brace = true 193 | ij_java_space_before_else_keyword = true 194 | ij_java_space_before_else_left_brace = true 195 | ij_java_space_before_finally_keyword = true 196 | ij_java_space_before_finally_left_brace = true 197 | ij_java_space_before_for_left_brace = true 198 | ij_java_space_before_for_parentheses = true 199 | ij_java_space_before_for_semicolon = false 200 | ij_java_space_before_if_left_brace = true 201 | ij_java_space_before_if_parentheses = true 202 | ij_java_space_before_method_call_parentheses = false 203 | ij_java_space_before_method_left_brace = true 204 | ij_java_space_before_method_parentheses = false 205 | ij_java_space_before_opening_angle_bracket_in_type_parameter = false 206 | ij_java_space_before_quest = true 207 | ij_java_space_before_switch_left_brace = true 208 | ij_java_space_before_switch_parentheses = true 209 | ij_java_space_before_synchronized_left_brace = true 210 | ij_java_space_before_synchronized_parentheses = true 211 | ij_java_space_before_try_left_brace = true 212 | ij_java_space_before_try_parentheses = true 213 | ij_java_space_before_type_parameter_list = false 214 | ij_java_space_before_while_keyword = true 215 | ij_java_space_before_while_left_brace = true 216 | ij_java_space_before_while_parentheses = true 217 | ij_java_space_inside_one_line_enum_braces = false 218 | ij_java_space_within_empty_array_initializer_braces = false 219 | ij_java_space_within_empty_method_call_parentheses = false 220 | ij_java_space_within_empty_method_parentheses = false 221 | ij_java_spaces_around_additive_operators = true 222 | ij_java_spaces_around_assignment_operators = true 223 | ij_java_spaces_around_bitwise_operators = true 224 | ij_java_spaces_around_equality_operators = true 225 | ij_java_spaces_around_lambda_arrow = true 226 | ij_java_spaces_around_logical_operators = true 227 | ij_java_spaces_around_method_ref_dbl_colon = false 228 | ij_java_spaces_around_multiplicative_operators = true 229 | ij_java_spaces_around_relational_operators = true 230 | ij_java_spaces_around_shift_operators = true 231 | ij_java_spaces_around_type_bounds_in_type_parameters = true 232 | ij_java_spaces_around_unary_operator = false 233 | ij_java_spaces_within_angle_brackets = false 234 | ij_java_spaces_within_annotation_parentheses = false 235 | ij_java_spaces_within_array_initializer_braces = false 236 | ij_java_spaces_within_braces = false 237 | ij_java_spaces_within_brackets = false 238 | ij_java_spaces_within_cast_parentheses = false 239 | ij_java_spaces_within_catch_parentheses = false 240 | ij_java_spaces_within_for_parentheses = false 241 | ij_java_spaces_within_if_parentheses = false 242 | ij_java_spaces_within_method_call_parentheses = false 243 | ij_java_spaces_within_method_parentheses = false 244 | ij_java_spaces_within_parentheses = false 245 | ij_java_spaces_within_record_header = false 246 | ij_java_spaces_within_switch_parentheses = false 247 | ij_java_spaces_within_synchronized_parentheses = false 248 | ij_java_spaces_within_try_parentheses = false 249 | ij_java_spaces_within_while_parentheses = false 250 | ij_java_special_else_if_treatment = true 251 | ij_java_subclass_name_suffix = Impl 252 | ij_java_ternary_operation_signs_on_next_line = false 253 | ij_java_ternary_operation_wrap = off 254 | ij_java_test_name_suffix = Test 255 | ij_java_throws_keyword_wrap = off 256 | ij_java_throws_list_wrap = off 257 | ij_java_use_external_annotations = false 258 | ij_java_use_fq_class_names = false 259 | ij_java_use_relative_indents = false 260 | ij_java_use_single_class_imports = true 261 | ij_java_variable_annotation_wrap = off 262 | ij_java_visibility = public 263 | ij_java_while_brace_force = never 264 | ij_java_while_on_new_line = false 265 | ij_java_wrap_comments = false 266 | ij_java_wrap_first_method_in_call_chain = false 267 | ij_java_wrap_long_lines = false 268 | 269 | [*.nbtt] 270 | max_line_length = 150 271 | ij_continuation_indent_size = 4 272 | ij_nbtt_keep_indents_on_empty_lines = false 273 | ij_nbtt_space_after_colon = true 274 | ij_nbtt_space_after_comma = true 275 | ij_nbtt_space_before_colon = true 276 | ij_nbtt_space_before_comma = false 277 | ij_nbtt_spaces_within_brackets = false 278 | ij_nbtt_spaces_within_parentheses = false 279 | 280 | [*.properties] 281 | ij_properties_align_group_field_declarations = false 282 | ij_properties_keep_blank_lines = false 283 | ij_properties_key_value_delimiter = equals 284 | ij_properties_spaces_around_key_value_delimiter = false 285 | 286 | [*.sass] 287 | indent_size = 2 288 | ij_sass_align_closing_brace_with_properties = false 289 | ij_sass_blank_lines_around_nested_selector = 1 290 | ij_sass_blank_lines_between_blocks = 1 291 | ij_sass_brace_placement = 0 292 | ij_sass_enforce_quotes_on_format = false 293 | ij_sass_hex_color_long_format = false 294 | ij_sass_hex_color_lower_case = false 295 | ij_sass_hex_color_short_format = false 296 | ij_sass_hex_color_upper_case = false 297 | ij_sass_keep_blank_lines_in_code = 2 298 | ij_sass_keep_indents_on_empty_lines = false 299 | ij_sass_keep_single_line_blocks = false 300 | ij_sass_properties_order = font, font-family, font-size, font-weight, font-style, font-variant, font-size-adjust, font-stretch, line-height, position, z-index, top, right, bottom, left, display, visibility, float, clear, overflow, overflow-x, overflow-y, clip, zoom, align-content, align-items, align-self, flex, flex-flow, flex-basis, flex-direction, flex-grow, flex-shrink, flex-wrap, justify-content, order, box-sizing, width, min-width, max-width, height, min-height, max-height, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, padding-left, table-layout, empty-cells, caption-side, border-spacing, border-collapse, list-style, list-style-position, list-style-type, list-style-image, content, quotes, counter-reset, counter-increment, resize, cursor, user-select, nav-index, nav-up, nav-right, nav-down, nav-left, transition, transition-delay, transition-timing-function, transition-duration, transition-property, transform, transform-origin, animation, animation-name, animation-duration, animation-play-state, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, text-align, text-align-last, vertical-align, white-space, text-decoration, text-emphasis, text-emphasis-color, text-emphasis-style, text-emphasis-position, text-indent, text-justify, letter-spacing, word-spacing, text-outline, text-transform, text-wrap, text-overflow, text-overflow-ellipsis, text-overflow-mode, word-wrap, word-break, tab-size, hyphens, pointer-events, opacity, color, border, border-width, border-style, border-color, border-top, border-top-width, border-top-style, border-top-color, border-right, border-right-width, border-right-style, border-right-color, border-bottom, border-bottom-width, border-bottom-style, border-bottom-color, border-left, border-left-width, border-left-style, border-left-color, border-radius, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius, border-image, border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat, outline, outline-width, outline-style, outline-color, outline-offset, background, background-color, background-image, background-repeat, background-attachment, background-position, background-position-x, background-position-y, background-clip, background-origin, background-size, box-decoration-break, box-shadow, text-shadow 301 | ij_sass_space_after_colon = true 302 | ij_sass_space_before_opening_brace = true 303 | ij_sass_use_double_quotes = true 304 | ij_sass_value_alignment = 0 305 | 306 | [*.scss] 307 | indent_size = 2 308 | ij_scss_align_closing_brace_with_properties = false 309 | ij_scss_blank_lines_around_nested_selector = 1 310 | ij_scss_blank_lines_between_blocks = 1 311 | ij_scss_brace_placement = 0 312 | ij_scss_enforce_quotes_on_format = false 313 | ij_scss_hex_color_long_format = false 314 | ij_scss_hex_color_lower_case = false 315 | ij_scss_hex_color_short_format = false 316 | ij_scss_hex_color_upper_case = false 317 | ij_scss_keep_blank_lines_in_code = 2 318 | ij_scss_keep_indents_on_empty_lines = false 319 | ij_scss_keep_single_line_blocks = false 320 | ij_scss_properties_order = font, font-family, font-size, font-weight, font-style, font-variant, font-size-adjust, font-stretch, line-height, position, z-index, top, right, bottom, left, display, visibility, float, clear, overflow, overflow-x, overflow-y, clip, zoom, align-content, align-items, align-self, flex, flex-flow, flex-basis, flex-direction, flex-grow, flex-shrink, flex-wrap, justify-content, order, box-sizing, width, min-width, max-width, height, min-height, max-height, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, padding-left, table-layout, empty-cells, caption-side, border-spacing, border-collapse, list-style, list-style-position, list-style-type, list-style-image, content, quotes, counter-reset, counter-increment, resize, cursor, user-select, nav-index, nav-up, nav-right, nav-down, nav-left, transition, transition-delay, transition-timing-function, transition-duration, transition-property, transform, transform-origin, animation, animation-name, animation-duration, animation-play-state, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, text-align, text-align-last, vertical-align, white-space, text-decoration, text-emphasis, text-emphasis-color, text-emphasis-style, text-emphasis-position, text-indent, text-justify, letter-spacing, word-spacing, text-outline, text-transform, text-wrap, text-overflow, text-overflow-ellipsis, text-overflow-mode, word-wrap, word-break, tab-size, hyphens, pointer-events, opacity, color, border, border-width, border-style, border-color, border-top, border-top-width, border-top-style, border-top-color, border-right, border-right-width, border-right-style, border-right-color, border-bottom, border-bottom-width, border-bottom-style, border-bottom-color, border-left, border-left-width, border-left-style, border-left-color, border-radius, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius, border-image, border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat, outline, outline-width, outline-style, outline-color, outline-offset, background, background-color, background-image, background-repeat, background-attachment, background-position, background-position-x, background-position-y, background-clip, background-origin, background-size, box-decoration-break, box-shadow, text-shadow 321 | ij_scss_space_after_colon = true 322 | ij_scss_space_before_opening_brace = true 323 | ij_scss_use_double_quotes = true 324 | ij_scss_value_alignment = 0 325 | 326 | [*.styl] 327 | indent_size = 2 328 | ij_stylus_align_closing_brace_with_properties = false 329 | ij_stylus_blank_lines_around_nested_selector = 1 330 | ij_stylus_blank_lines_between_blocks = 1 331 | ij_stylus_brace_placement = 0 332 | ij_stylus_enforce_quotes_on_format = false 333 | ij_stylus_hex_color_long_format = false 334 | ij_stylus_hex_color_lower_case = false 335 | ij_stylus_hex_color_short_format = false 336 | ij_stylus_hex_color_upper_case = false 337 | ij_stylus_keep_blank_lines_in_code = 2 338 | ij_stylus_keep_indents_on_empty_lines = false 339 | ij_stylus_keep_single_line_blocks = false 340 | ij_stylus_properties_order = font, font-family, font-size, font-weight, font-style, font-variant, font-size-adjust, font-stretch, line-height, position, z-index, top, right, bottom, left, display, visibility, float, clear, overflow, overflow-x, overflow-y, clip, zoom, align-content, align-items, align-self, flex, flex-flow, flex-basis, flex-direction, flex-grow, flex-shrink, flex-wrap, justify-content, order, box-sizing, width, min-width, max-width, height, min-height, max-height, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, padding-left, table-layout, empty-cells, caption-side, border-spacing, border-collapse, list-style, list-style-position, list-style-type, list-style-image, content, quotes, counter-reset, counter-increment, resize, cursor, user-select, nav-index, nav-up, nav-right, nav-down, nav-left, transition, transition-delay, transition-timing-function, transition-duration, transition-property, transform, transform-origin, animation, animation-name, animation-duration, animation-play-state, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, text-align, text-align-last, vertical-align, white-space, text-decoration, text-emphasis, text-emphasis-color, text-emphasis-style, text-emphasis-position, text-indent, text-justify, letter-spacing, word-spacing, text-outline, text-transform, text-wrap, text-overflow, text-overflow-ellipsis, text-overflow-mode, word-wrap, word-break, tab-size, hyphens, pointer-events, opacity, color, border, border-width, border-style, border-color, border-top, border-top-width, border-top-style, border-top-color, border-right, border-right-width, border-right-style, border-right-color, border-bottom, border-bottom-width, border-bottom-style, border-bottom-color, border-left, border-left-width, border-left-style, border-left-color, border-radius, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius, border-image, border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat, outline, outline-width, outline-style, outline-color, outline-offset, background, background-color, background-image, background-repeat, background-attachment, background-position, background-position-x, background-position-y, background-clip, background-origin, background-size, box-decoration-break, box-shadow, text-shadow 341 | ij_stylus_space_after_colon = true 342 | ij_stylus_space_before_opening_brace = true 343 | ij_stylus_use_double_quotes = true 344 | ij_stylus_value_alignment = 0 345 | 346 | [.editorconfig] 347 | ij_editorconfig_align_group_field_declarations = false 348 | ij_editorconfig_space_after_colon = false 349 | ij_editorconfig_space_after_comma = true 350 | ij_editorconfig_space_before_colon = false 351 | ij_editorconfig_space_before_comma = false 352 | ij_editorconfig_spaces_around_assignment_operators = true 353 | 354 | [{*.ant, *.fxml, *.jhm, *.jnlp, *.jrxml, *.pom, *.rng, *.tld, *.wsdl, *.xml, *.xsd, *.xsl, *.xslt, *.xul}] 355 | ij_xml_align_attributes = true 356 | ij_xml_align_text = false 357 | ij_xml_attribute_wrap = normal 358 | ij_xml_block_comment_at_first_column = true 359 | ij_xml_keep_blank_lines = 2 360 | ij_xml_keep_indents_on_empty_lines = false 361 | ij_xml_keep_line_breaks = true 362 | ij_xml_keep_line_breaks_in_text = true 363 | ij_xml_keep_whitespaces = false 364 | ij_xml_keep_whitespaces_around_cdata = preserve 365 | ij_xml_keep_whitespaces_inside_cdata = false 366 | ij_xml_line_comment_at_first_column = true 367 | ij_xml_space_after_tag_name = false 368 | ij_xml_space_around_equals_in_attribute = false 369 | ij_xml_space_inside_empty_tag = false 370 | ij_xml_text_wrap = normal 371 | 372 | [{*.ats, *.ts}] 373 | ij_continuation_indent_size = 4 374 | ij_typescript_align_imports = false 375 | ij_typescript_align_multiline_array_initializer_expression = false 376 | ij_typescript_align_multiline_binary_operation = false 377 | ij_typescript_align_multiline_chained_methods = false 378 | ij_typescript_align_multiline_extends_list = false 379 | ij_typescript_align_multiline_for = true 380 | ij_typescript_align_multiline_parameters = true 381 | ij_typescript_align_multiline_parameters_in_calls = false 382 | ij_typescript_align_multiline_ternary_operation = false 383 | ij_typescript_align_object_properties = 0 384 | ij_typescript_align_union_types = false 385 | ij_typescript_align_var_statements = 0 386 | ij_typescript_array_initializer_new_line_after_left_brace = false 387 | ij_typescript_array_initializer_right_brace_on_new_line = false 388 | ij_typescript_array_initializer_wrap = off 389 | ij_typescript_assignment_wrap = off 390 | ij_typescript_binary_operation_sign_on_next_line = false 391 | ij_typescript_binary_operation_wrap = off 392 | ij_typescript_blacklist_imports = rxjs/Rx, node_modules/**, **/node_modules/**, @angular/material, @angular/material/typings/** 393 | ij_typescript_blank_lines_after_imports = 1 394 | ij_typescript_blank_lines_around_class = 1 395 | ij_typescript_blank_lines_around_field = 0 396 | ij_typescript_blank_lines_around_field_in_interface = 0 397 | ij_typescript_blank_lines_around_function = 1 398 | ij_typescript_blank_lines_around_method = 1 399 | ij_typescript_blank_lines_around_method_in_interface = 1 400 | ij_typescript_block_brace_style = end_of_line 401 | ij_typescript_call_parameters_new_line_after_left_paren = false 402 | ij_typescript_call_parameters_right_paren_on_new_line = false 403 | ij_typescript_call_parameters_wrap = off 404 | ij_typescript_catch_on_new_line = false 405 | ij_typescript_chained_call_dot_on_new_line = true 406 | ij_typescript_class_brace_style = end_of_line 407 | ij_typescript_comma_on_new_line = false 408 | ij_typescript_do_while_brace_force = never 409 | ij_typescript_else_on_new_line = false 410 | ij_typescript_enforce_trailing_comma = keep 411 | ij_typescript_extends_keyword_wrap = off 412 | ij_typescript_extends_list_wrap = off 413 | ij_typescript_field_prefix = _ 414 | ij_typescript_file_name_style = relaxed 415 | ij_typescript_finally_on_new_line = false 416 | ij_typescript_for_brace_force = never 417 | ij_typescript_for_statement_new_line_after_left_paren = false 418 | ij_typescript_for_statement_right_paren_on_new_line = false 419 | ij_typescript_for_statement_wrap = off 420 | ij_typescript_force_quote_style = false 421 | ij_typescript_force_semicolon_style = false 422 | ij_typescript_function_expression_brace_style = end_of_line 423 | ij_typescript_if_brace_force = never 424 | ij_typescript_import_merge_members = global 425 | ij_typescript_import_prefer_absolute_path = global 426 | ij_typescript_import_sort_members = true 427 | ij_typescript_import_sort_module_name = false 428 | ij_typescript_import_use_node_resolution = true 429 | ij_typescript_imports_wrap = on_every_item 430 | ij_typescript_indent_case_from_switch = true 431 | ij_typescript_indent_chained_calls = true 432 | ij_typescript_indent_package_children = 0 433 | ij_typescript_jsdoc_include_types = false 434 | ij_typescript_jsx_attribute_value = braces 435 | ij_typescript_keep_blank_lines_in_code = 2 436 | ij_typescript_keep_first_column_comment = true 437 | ij_typescript_keep_indents_on_empty_lines = false 438 | ij_typescript_keep_line_breaks = true 439 | ij_typescript_keep_simple_blocks_in_one_line = false 440 | ij_typescript_keep_simple_methods_in_one_line = false 441 | ij_typescript_line_comment_add_space = true 442 | ij_typescript_line_comment_at_first_column = false 443 | ij_typescript_method_brace_style = end_of_line 444 | ij_typescript_method_call_chain_wrap = off 445 | ij_typescript_method_parameters_new_line_after_left_paren = false 446 | ij_typescript_method_parameters_right_paren_on_new_line = false 447 | ij_typescript_method_parameters_wrap = off 448 | ij_typescript_object_literal_wrap = on_every_item 449 | ij_typescript_parentheses_expression_new_line_after_left_paren = false 450 | ij_typescript_parentheses_expression_right_paren_on_new_line = false 451 | ij_typescript_place_assignment_sign_on_next_line = false 452 | ij_typescript_prefer_as_type_cast = false 453 | ij_typescript_prefer_explicit_types_function_expression_returns = false 454 | ij_typescript_prefer_explicit_types_function_returns = false 455 | ij_typescript_prefer_explicit_types_vars_fields = false 456 | ij_typescript_prefer_parameters_wrap = false 457 | ij_typescript_reformat_c_style_comments = false 458 | ij_typescript_space_after_colon = true 459 | ij_typescript_space_after_comma = true 460 | ij_typescript_space_after_dots_in_rest_parameter = false 461 | ij_typescript_space_after_generator_mult = true 462 | ij_typescript_space_after_property_colon = true 463 | ij_typescript_space_after_quest = true 464 | ij_typescript_space_after_type_colon = true 465 | ij_typescript_space_after_unary_not = false 466 | ij_typescript_space_before_async_arrow_lparen = true 467 | ij_typescript_space_before_catch_keyword = true 468 | ij_typescript_space_before_catch_left_brace = true 469 | ij_typescript_space_before_catch_parentheses = true 470 | ij_typescript_space_before_class_lbrace = true 471 | ij_typescript_space_before_class_left_brace = true 472 | ij_typescript_space_before_colon = true 473 | ij_typescript_space_before_comma = false 474 | ij_typescript_space_before_do_left_brace = true 475 | ij_typescript_space_before_else_keyword = true 476 | ij_typescript_space_before_else_left_brace = true 477 | ij_typescript_space_before_finally_keyword = true 478 | ij_typescript_space_before_finally_left_brace = true 479 | ij_typescript_space_before_for_left_brace = true 480 | ij_typescript_space_before_for_parentheses = true 481 | ij_typescript_space_before_for_semicolon = false 482 | ij_typescript_space_before_function_left_parenth = true 483 | ij_typescript_space_before_generator_mult = false 484 | ij_typescript_space_before_if_left_brace = true 485 | ij_typescript_space_before_if_parentheses = true 486 | ij_typescript_space_before_method_call_parentheses = false 487 | ij_typescript_space_before_method_left_brace = true 488 | ij_typescript_space_before_method_parentheses = false 489 | ij_typescript_space_before_property_colon = false 490 | ij_typescript_space_before_quest = true 491 | ij_typescript_space_before_switch_left_brace = true 492 | ij_typescript_space_before_switch_parentheses = true 493 | ij_typescript_space_before_try_left_brace = true 494 | ij_typescript_space_before_type_colon = false 495 | ij_typescript_space_before_unary_not = false 496 | ij_typescript_space_before_while_keyword = true 497 | ij_typescript_space_before_while_left_brace = true 498 | ij_typescript_space_before_while_parentheses = true 499 | ij_typescript_spaces_around_additive_operators = true 500 | ij_typescript_spaces_around_arrow_function_operator = true 501 | ij_typescript_spaces_around_assignment_operators = true 502 | ij_typescript_spaces_around_bitwise_operators = true 503 | ij_typescript_spaces_around_equality_operators = true 504 | ij_typescript_spaces_around_logical_operators = true 505 | ij_typescript_spaces_around_multiplicative_operators = true 506 | ij_typescript_spaces_around_relational_operators = true 507 | ij_typescript_spaces_around_shift_operators = true 508 | ij_typescript_spaces_around_unary_operator = false 509 | ij_typescript_spaces_within_array_initializer_brackets = false 510 | ij_typescript_spaces_within_brackets = false 511 | ij_typescript_spaces_within_catch_parentheses = false 512 | ij_typescript_spaces_within_for_parentheses = false 513 | ij_typescript_spaces_within_if_parentheses = false 514 | ij_typescript_spaces_within_imports = false 515 | ij_typescript_spaces_within_interpolation_expressions = false 516 | ij_typescript_spaces_within_method_call_parentheses = false 517 | ij_typescript_spaces_within_method_parentheses = false 518 | ij_typescript_spaces_within_object_literal_braces = false 519 | ij_typescript_spaces_within_object_type_braces = true 520 | ij_typescript_spaces_within_parentheses = false 521 | ij_typescript_spaces_within_switch_parentheses = false 522 | ij_typescript_spaces_within_type_assertion = false 523 | ij_typescript_spaces_within_union_types = true 524 | ij_typescript_spaces_within_while_parentheses = false 525 | ij_typescript_special_else_if_treatment = true 526 | ij_typescript_ternary_operation_signs_on_next_line = false 527 | ij_typescript_ternary_operation_wrap = off 528 | ij_typescript_union_types_wrap = on_every_item 529 | ij_typescript_use_chained_calls_group_indents = false 530 | ij_typescript_use_double_quotes = true 531 | ij_typescript_use_explicit_js_extension = global 532 | ij_typescript_use_path_mapping = always 533 | ij_typescript_use_public_modifier = false 534 | ij_typescript_use_semicolon_after_statement = true 535 | ij_typescript_var_declaration_wrap = normal 536 | ij_typescript_while_brace_force = never 537 | ij_typescript_while_on_new_line = false 538 | ij_typescript_wrap_comments = false 539 | 540 | [{*.bash, *.sh, *.zsh}] 541 | indent_size = 2 542 | tab_width = 2 543 | ij_shell_binary_ops_start_line = false 544 | ij_shell_keep_column_alignment_padding = false 545 | ij_shell_minify_program = false 546 | ij_shell_redirect_followed_by_space = false 547 | ij_shell_switch_cases_indented = false 548 | 549 | [{*.cjs, *.js}] 550 | ij_continuation_indent_size = 4 551 | ij_javascript_align_imports = false 552 | ij_javascript_align_multiline_array_initializer_expression = false 553 | ij_javascript_align_multiline_binary_operation = false 554 | ij_javascript_align_multiline_chained_methods = false 555 | ij_javascript_align_multiline_extends_list = false 556 | ij_javascript_align_multiline_for = true 557 | ij_javascript_align_multiline_parameters = true 558 | ij_javascript_align_multiline_parameters_in_calls = false 559 | ij_javascript_align_multiline_ternary_operation = false 560 | ij_javascript_align_object_properties = 0 561 | ij_javascript_align_union_types = false 562 | ij_javascript_align_var_statements = 0 563 | ij_javascript_array_initializer_new_line_after_left_brace = false 564 | ij_javascript_array_initializer_right_brace_on_new_line = false 565 | ij_javascript_array_initializer_wrap = off 566 | ij_javascript_assignment_wrap = off 567 | ij_javascript_binary_operation_sign_on_next_line = false 568 | ij_javascript_binary_operation_wrap = off 569 | ij_javascript_blacklist_imports = rxjs/Rx, node_modules/**, **/node_modules/**, @angular/material, @angular/material/typings/** 570 | ij_javascript_blank_lines_after_imports = 1 571 | ij_javascript_blank_lines_around_class = 1 572 | ij_javascript_blank_lines_around_field = 0 573 | ij_javascript_blank_lines_around_function = 1 574 | ij_javascript_blank_lines_around_method = 1 575 | ij_javascript_block_brace_style = end_of_line 576 | ij_javascript_call_parameters_new_line_after_left_paren = false 577 | ij_javascript_call_parameters_right_paren_on_new_line = false 578 | ij_javascript_call_parameters_wrap = off 579 | ij_javascript_catch_on_new_line = false 580 | ij_javascript_chained_call_dot_on_new_line = true 581 | ij_javascript_class_brace_style = end_of_line 582 | ij_javascript_comma_on_new_line = false 583 | ij_javascript_do_while_brace_force = never 584 | ij_javascript_else_on_new_line = false 585 | ij_javascript_enforce_trailing_comma = keep 586 | ij_javascript_extends_keyword_wrap = off 587 | ij_javascript_extends_list_wrap = off 588 | ij_javascript_field_prefix = _ 589 | ij_javascript_file_name_style = relaxed 590 | ij_javascript_finally_on_new_line = false 591 | ij_javascript_for_brace_force = never 592 | ij_javascript_for_statement_new_line_after_left_paren = false 593 | ij_javascript_for_statement_right_paren_on_new_line = false 594 | ij_javascript_for_statement_wrap = off 595 | ij_javascript_force_quote_style = false 596 | ij_javascript_force_semicolon_style = false 597 | ij_javascript_function_expression_brace_style = end_of_line 598 | ij_javascript_if_brace_force = never 599 | ij_javascript_import_merge_members = global 600 | ij_javascript_import_prefer_absolute_path = global 601 | ij_javascript_import_sort_members = true 602 | ij_javascript_import_sort_module_name = false 603 | ij_javascript_import_use_node_resolution = true 604 | ij_javascript_imports_wrap = on_every_item 605 | ij_javascript_indent_case_from_switch = true 606 | ij_javascript_indent_chained_calls = true 607 | ij_javascript_indent_package_children = 0 608 | ij_javascript_jsx_attribute_value = braces 609 | ij_javascript_keep_blank_lines_in_code = 2 610 | ij_javascript_keep_first_column_comment = true 611 | ij_javascript_keep_indents_on_empty_lines = false 612 | ij_javascript_keep_line_breaks = true 613 | ij_javascript_keep_simple_blocks_in_one_line = false 614 | ij_javascript_keep_simple_methods_in_one_line = false 615 | ij_javascript_line_comment_add_space = true 616 | ij_javascript_line_comment_at_first_column = false 617 | ij_javascript_method_brace_style = end_of_line 618 | ij_javascript_method_call_chain_wrap = off 619 | ij_javascript_method_parameters_new_line_after_left_paren = false 620 | ij_javascript_method_parameters_right_paren_on_new_line = false 621 | ij_javascript_method_parameters_wrap = off 622 | ij_javascript_object_literal_wrap = on_every_item 623 | ij_javascript_parentheses_expression_new_line_after_left_paren = false 624 | ij_javascript_parentheses_expression_right_paren_on_new_line = false 625 | ij_javascript_place_assignment_sign_on_next_line = false 626 | ij_javascript_prefer_as_type_cast = false 627 | ij_javascript_prefer_explicit_types_function_expression_returns = false 628 | ij_javascript_prefer_explicit_types_function_returns = false 629 | ij_javascript_prefer_explicit_types_vars_fields = false 630 | ij_javascript_prefer_parameters_wrap = false 631 | ij_javascript_reformat_c_style_comments = false 632 | ij_javascript_space_after_colon = true 633 | ij_javascript_space_after_comma = true 634 | ij_javascript_space_after_dots_in_rest_parameter = false 635 | ij_javascript_space_after_generator_mult = true 636 | ij_javascript_space_after_property_colon = true 637 | ij_javascript_space_after_quest = true 638 | ij_javascript_space_after_type_colon = true 639 | ij_javascript_space_after_unary_not = false 640 | ij_javascript_space_before_async_arrow_lparen = true 641 | ij_javascript_space_before_catch_keyword = true 642 | ij_javascript_space_before_catch_left_brace = true 643 | ij_javascript_space_before_catch_parentheses = true 644 | ij_javascript_space_before_class_lbrace = true 645 | ij_javascript_space_before_class_left_brace = true 646 | ij_javascript_space_before_colon = true 647 | ij_javascript_space_before_comma = false 648 | ij_javascript_space_before_do_left_brace = true 649 | ij_javascript_space_before_else_keyword = true 650 | ij_javascript_space_before_else_left_brace = true 651 | ij_javascript_space_before_finally_keyword = true 652 | ij_javascript_space_before_finally_left_brace = true 653 | ij_javascript_space_before_for_left_brace = true 654 | ij_javascript_space_before_for_parentheses = true 655 | ij_javascript_space_before_for_semicolon = false 656 | ij_javascript_space_before_function_left_parenth = true 657 | ij_javascript_space_before_generator_mult = false 658 | ij_javascript_space_before_if_left_brace = true 659 | ij_javascript_space_before_if_parentheses = true 660 | ij_javascript_space_before_method_call_parentheses = false 661 | ij_javascript_space_before_method_left_brace = true 662 | ij_javascript_space_before_method_parentheses = false 663 | ij_javascript_space_before_property_colon = false 664 | ij_javascript_space_before_quest = true 665 | ij_javascript_space_before_switch_left_brace = true 666 | ij_javascript_space_before_switch_parentheses = true 667 | ij_javascript_space_before_try_left_brace = true 668 | ij_javascript_space_before_type_colon = false 669 | ij_javascript_space_before_unary_not = false 670 | ij_javascript_space_before_while_keyword = true 671 | ij_javascript_space_before_while_left_brace = true 672 | ij_javascript_space_before_while_parentheses = true 673 | ij_javascript_spaces_around_additive_operators = true 674 | ij_javascript_spaces_around_arrow_function_operator = true 675 | ij_javascript_spaces_around_assignment_operators = true 676 | ij_javascript_spaces_around_bitwise_operators = true 677 | ij_javascript_spaces_around_equality_operators = true 678 | ij_javascript_spaces_around_logical_operators = true 679 | ij_javascript_spaces_around_multiplicative_operators = true 680 | ij_javascript_spaces_around_relational_operators = true 681 | ij_javascript_spaces_around_shift_operators = true 682 | ij_javascript_spaces_around_unary_operator = false 683 | ij_javascript_spaces_within_array_initializer_brackets = false 684 | ij_javascript_spaces_within_brackets = false 685 | ij_javascript_spaces_within_catch_parentheses = false 686 | ij_javascript_spaces_within_for_parentheses = false 687 | ij_javascript_spaces_within_if_parentheses = false 688 | ij_javascript_spaces_within_imports = false 689 | ij_javascript_spaces_within_interpolation_expressions = false 690 | ij_javascript_spaces_within_method_call_parentheses = false 691 | ij_javascript_spaces_within_method_parentheses = false 692 | ij_javascript_spaces_within_object_literal_braces = false 693 | ij_javascript_spaces_within_object_type_braces = true 694 | ij_javascript_spaces_within_parentheses = false 695 | ij_javascript_spaces_within_switch_parentheses = false 696 | ij_javascript_spaces_within_type_assertion = false 697 | ij_javascript_spaces_within_union_types = true 698 | ij_javascript_spaces_within_while_parentheses = false 699 | ij_javascript_special_else_if_treatment = true 700 | ij_javascript_ternary_operation_signs_on_next_line = false 701 | ij_javascript_ternary_operation_wrap = off 702 | ij_javascript_union_types_wrap = on_every_item 703 | ij_javascript_use_chained_calls_group_indents = false 704 | ij_javascript_use_double_quotes = true 705 | ij_javascript_use_explicit_js_extension = global 706 | ij_javascript_use_path_mapping = always 707 | ij_javascript_use_public_modifier = false 708 | ij_javascript_use_semicolon_after_statement = true 709 | ij_javascript_var_declaration_wrap = normal 710 | ij_javascript_while_brace_force = never 711 | ij_javascript_while_on_new_line = false 712 | ij_javascript_wrap_comments = false 713 | 714 | [{*.comp, *.frag, *.fsh, *.geom, *.glsl, *.shader, *.tesc, *.tese, *.vert, *.vsh}] 715 | ij_glsl_keep_indents_on_empty_lines = false 716 | 717 | [{*.gant, *.gradle, *.groovy, *.gy}] 718 | ij_groovy_align_group_field_declarations = false 719 | ij_groovy_align_multiline_array_initializer_expression = false 720 | ij_groovy_align_multiline_assignment = false 721 | ij_groovy_align_multiline_binary_operation = false 722 | ij_groovy_align_multiline_chained_methods = false 723 | ij_groovy_align_multiline_extends_list = false 724 | ij_groovy_align_multiline_for = true 725 | ij_groovy_align_multiline_list_or_map = true 726 | ij_groovy_align_multiline_method_parentheses = false 727 | ij_groovy_align_multiline_parameters = true 728 | ij_groovy_align_multiline_parameters_in_calls = false 729 | ij_groovy_align_multiline_resources = true 730 | ij_groovy_align_multiline_ternary_operation = false 731 | ij_groovy_align_multiline_throws_list = false 732 | ij_groovy_align_named_args_in_map = true 733 | ij_groovy_align_throws_keyword = false 734 | ij_groovy_array_initializer_new_line_after_left_brace = false 735 | ij_groovy_array_initializer_right_brace_on_new_line = false 736 | ij_groovy_array_initializer_wrap = off 737 | ij_groovy_assert_statement_wrap = off 738 | ij_groovy_assignment_wrap = off 739 | ij_groovy_binary_operation_wrap = off 740 | ij_groovy_blank_lines_after_class_header = 0 741 | ij_groovy_blank_lines_after_imports = 1 742 | ij_groovy_blank_lines_after_package = 1 743 | ij_groovy_blank_lines_around_class = 1 744 | ij_groovy_blank_lines_around_field = 0 745 | ij_groovy_blank_lines_around_field_in_interface = 0 746 | ij_groovy_blank_lines_around_method = 1 747 | ij_groovy_blank_lines_around_method_in_interface = 1 748 | ij_groovy_blank_lines_before_imports = 1 749 | ij_groovy_blank_lines_before_method_body = 0 750 | ij_groovy_blank_lines_before_package = 0 751 | ij_groovy_block_brace_style = end_of_line 752 | ij_groovy_block_comment_at_first_column = true 753 | ij_groovy_call_parameters_new_line_after_left_paren = false 754 | ij_groovy_call_parameters_right_paren_on_new_line = false 755 | ij_groovy_call_parameters_wrap = off 756 | ij_groovy_catch_on_new_line = false 757 | ij_groovy_class_annotation_wrap = split_into_lines 758 | ij_groovy_class_brace_style = end_of_line 759 | ij_groovy_class_count_to_use_import_on_demand = 5 760 | ij_groovy_do_while_brace_force = never 761 | ij_groovy_else_on_new_line = false 762 | ij_groovy_enum_constants_wrap = off 763 | ij_groovy_extends_keyword_wrap = off 764 | ij_groovy_extends_list_wrap = off 765 | ij_groovy_field_annotation_wrap = split_into_lines 766 | ij_groovy_finally_on_new_line = false 767 | ij_groovy_for_brace_force = never 768 | ij_groovy_for_statement_new_line_after_left_paren = false 769 | ij_groovy_for_statement_right_paren_on_new_line = false 770 | ij_groovy_for_statement_wrap = off 771 | ij_groovy_if_brace_force = never 772 | ij_groovy_import_annotation_wrap = 2 773 | ij_groovy_imports_layout = *, |, javax.**, java.**, |, $* 774 | ij_groovy_indent_case_from_switch = true 775 | ij_groovy_indent_label_blocks = true 776 | ij_groovy_insert_inner_class_imports = false 777 | ij_groovy_keep_blank_lines_before_right_brace = 2 778 | ij_groovy_keep_blank_lines_in_code = 2 779 | ij_groovy_keep_blank_lines_in_declarations = 2 780 | ij_groovy_keep_control_statement_in_one_line = true 781 | ij_groovy_keep_first_column_comment = true 782 | ij_groovy_keep_indents_on_empty_lines = false 783 | ij_groovy_keep_line_breaks = true 784 | ij_groovy_keep_multiple_expressions_in_one_line = false 785 | ij_groovy_keep_simple_blocks_in_one_line = false 786 | ij_groovy_keep_simple_classes_in_one_line = true 787 | ij_groovy_keep_simple_lambdas_in_one_line = true 788 | ij_groovy_keep_simple_methods_in_one_line = true 789 | ij_groovy_label_indent_absolute = false 790 | ij_groovy_label_indent_size = 0 791 | ij_groovy_lambda_brace_style = end_of_line 792 | ij_groovy_layout_static_imports_separately = true 793 | ij_groovy_line_comment_add_space = false 794 | ij_groovy_line_comment_at_first_column = true 795 | ij_groovy_method_annotation_wrap = split_into_lines 796 | ij_groovy_method_brace_style = end_of_line 797 | ij_groovy_method_call_chain_wrap = off 798 | ij_groovy_method_parameters_new_line_after_left_paren = false 799 | ij_groovy_method_parameters_right_paren_on_new_line = false 800 | ij_groovy_method_parameters_wrap = off 801 | ij_groovy_modifier_list_wrap = false 802 | ij_groovy_names_count_to_use_import_on_demand = 3 803 | ij_groovy_parameter_annotation_wrap = off 804 | ij_groovy_parentheses_expression_new_line_after_left_paren = false 805 | ij_groovy_parentheses_expression_right_paren_on_new_line = false 806 | ij_groovy_prefer_parameters_wrap = false 807 | ij_groovy_resource_list_new_line_after_left_paren = false 808 | ij_groovy_resource_list_right_paren_on_new_line = false 809 | ij_groovy_resource_list_wrap = off 810 | ij_groovy_space_after_assert_separator = true 811 | ij_groovy_space_after_colon = true 812 | ij_groovy_space_after_comma = true 813 | ij_groovy_space_after_comma_in_type_arguments = true 814 | ij_groovy_space_after_for_semicolon = true 815 | ij_groovy_space_after_quest = true 816 | ij_groovy_space_after_type_cast = true 817 | ij_groovy_space_before_annotation_parameter_list = false 818 | ij_groovy_space_before_array_initializer_left_brace = false 819 | ij_groovy_space_before_assert_separator = false 820 | ij_groovy_space_before_catch_keyword = true 821 | ij_groovy_space_before_catch_left_brace = true 822 | ij_groovy_space_before_catch_parentheses = true 823 | ij_groovy_space_before_class_left_brace = true 824 | ij_groovy_space_before_closure_left_brace = true 825 | ij_groovy_space_before_colon = true 826 | ij_groovy_space_before_comma = false 827 | ij_groovy_space_before_do_left_brace = true 828 | ij_groovy_space_before_else_keyword = true 829 | ij_groovy_space_before_else_left_brace = true 830 | ij_groovy_space_before_finally_keyword = true 831 | ij_groovy_space_before_finally_left_brace = true 832 | ij_groovy_space_before_for_left_brace = true 833 | ij_groovy_space_before_for_parentheses = true 834 | ij_groovy_space_before_for_semicolon = false 835 | ij_groovy_space_before_if_left_brace = true 836 | ij_groovy_space_before_if_parentheses = true 837 | ij_groovy_space_before_method_call_parentheses = false 838 | ij_groovy_space_before_method_left_brace = true 839 | ij_groovy_space_before_method_parentheses = false 840 | ij_groovy_space_before_quest = true 841 | ij_groovy_space_before_switch_left_brace = true 842 | ij_groovy_space_before_switch_parentheses = true 843 | ij_groovy_space_before_synchronized_left_brace = true 844 | ij_groovy_space_before_synchronized_parentheses = true 845 | ij_groovy_space_before_try_left_brace = true 846 | ij_groovy_space_before_try_parentheses = true 847 | ij_groovy_space_before_while_keyword = true 848 | ij_groovy_space_before_while_left_brace = true 849 | ij_groovy_space_before_while_parentheses = true 850 | ij_groovy_space_in_named_argument = true 851 | ij_groovy_space_in_named_argument_before_colon = false 852 | ij_groovy_space_within_empty_array_initializer_braces = false 853 | ij_groovy_space_within_empty_method_call_parentheses = false 854 | ij_groovy_spaces_around_additive_operators = true 855 | ij_groovy_spaces_around_assignment_operators = true 856 | ij_groovy_spaces_around_bitwise_operators = true 857 | ij_groovy_spaces_around_equality_operators = true 858 | ij_groovy_spaces_around_lambda_arrow = true 859 | ij_groovy_spaces_around_logical_operators = true 860 | ij_groovy_spaces_around_multiplicative_operators = true 861 | ij_groovy_spaces_around_regex_operators = true 862 | ij_groovy_spaces_around_relational_operators = true 863 | ij_groovy_spaces_around_shift_operators = true 864 | ij_groovy_spaces_within_annotation_parentheses = false 865 | ij_groovy_spaces_within_array_initializer_braces = false 866 | ij_groovy_spaces_within_braces = true 867 | ij_groovy_spaces_within_brackets = false 868 | ij_groovy_spaces_within_cast_parentheses = false 869 | ij_groovy_spaces_within_catch_parentheses = false 870 | ij_groovy_spaces_within_for_parentheses = false 871 | ij_groovy_spaces_within_gstring_injection_braces = false 872 | ij_groovy_spaces_within_if_parentheses = false 873 | ij_groovy_spaces_within_list_or_map = false 874 | ij_groovy_spaces_within_method_call_parentheses = false 875 | ij_groovy_spaces_within_method_parentheses = false 876 | ij_groovy_spaces_within_parentheses = false 877 | ij_groovy_spaces_within_switch_parentheses = false 878 | ij_groovy_spaces_within_synchronized_parentheses = false 879 | ij_groovy_spaces_within_try_parentheses = false 880 | ij_groovy_spaces_within_tuple_expression = false 881 | ij_groovy_spaces_within_while_parentheses = false 882 | ij_groovy_special_else_if_treatment = true 883 | ij_groovy_ternary_operation_wrap = off 884 | ij_groovy_throws_keyword_wrap = off 885 | ij_groovy_throws_list_wrap = off 886 | ij_groovy_use_flying_geese_braces = false 887 | ij_groovy_use_fq_class_names = false 888 | ij_groovy_use_fq_class_names_in_javadoc = true 889 | ij_groovy_use_relative_indents = false 890 | ij_groovy_use_single_class_imports = true 891 | ij_groovy_variable_annotation_wrap = off 892 | ij_groovy_while_brace_force = never 893 | ij_groovy_while_on_new_line = false 894 | ij_groovy_wrap_long_lines = false 895 | 896 | [{*.gradle.kts, *.kt, *.kts, *.main.kts}] 897 | ij_continuation_indent_size = 4 898 | ij_kotlin_align_in_columns_case_branch = false 899 | ij_kotlin_align_multiline_binary_operation = false 900 | ij_kotlin_align_multiline_extends_list = false 901 | ij_kotlin_align_multiline_method_parentheses = false 902 | ij_kotlin_align_multiline_parameters = true 903 | ij_kotlin_align_multiline_parameters_in_calls = false 904 | ij_kotlin_allow_trailing_comma = false 905 | ij_kotlin_allow_trailing_comma_on_call_site = false 906 | ij_kotlin_assignment_wrap = off 907 | ij_kotlin_blank_lines_after_class_header = 0 908 | ij_kotlin_blank_lines_around_block_when_branches = 0 909 | ij_kotlin_blank_lines_before_declaration_with_comment_or_annotation_on_separate_line = 1 910 | ij_kotlin_block_comment_at_first_column = true 911 | ij_kotlin_call_parameters_new_line_after_left_paren = false 912 | ij_kotlin_call_parameters_right_paren_on_new_line = false 913 | ij_kotlin_call_parameters_wrap = off 914 | ij_kotlin_catch_on_new_line = false 915 | ij_kotlin_class_annotation_wrap = split_into_lines 916 | ij_kotlin_continuation_indent_for_chained_calls = true 917 | ij_kotlin_continuation_indent_for_expression_bodies = true 918 | ij_kotlin_continuation_indent_in_argument_lists = true 919 | ij_kotlin_continuation_indent_in_elvis = true 920 | ij_kotlin_continuation_indent_in_if_conditions = true 921 | ij_kotlin_continuation_indent_in_parameter_lists = true 922 | ij_kotlin_continuation_indent_in_supertype_lists = true 923 | ij_kotlin_else_on_new_line = false 924 | ij_kotlin_enum_constants_wrap = off 925 | ij_kotlin_extends_list_wrap = off 926 | ij_kotlin_field_annotation_wrap = off 927 | ij_kotlin_finally_on_new_line = false 928 | ij_kotlin_if_rparen_on_new_line = false 929 | ij_kotlin_import_nested_classes = false 930 | ij_kotlin_imports_layout = *, java.**, javax.**, kotlin.**, ^ 931 | ij_kotlin_insert_whitespaces_in_simple_one_line_method = true 932 | ij_kotlin_keep_blank_lines_before_right_brace = 2 933 | ij_kotlin_keep_blank_lines_in_code = 2 934 | ij_kotlin_keep_blank_lines_in_declarations = 2 935 | ij_kotlin_keep_first_column_comment = true 936 | ij_kotlin_keep_indents_on_empty_lines = false 937 | ij_kotlin_keep_line_breaks = true 938 | ij_kotlin_lbrace_on_next_line = false 939 | ij_kotlin_line_comment_add_space = false 940 | ij_kotlin_line_comment_at_first_column = true 941 | ij_kotlin_method_annotation_wrap = off 942 | ij_kotlin_method_call_chain_wrap = off 943 | ij_kotlin_method_parameters_new_line_after_left_paren = false 944 | ij_kotlin_method_parameters_right_paren_on_new_line = false 945 | ij_kotlin_method_parameters_wrap = off 946 | ij_kotlin_name_count_to_use_star_import = 5 947 | ij_kotlin_name_count_to_use_star_import_for_members = 3 948 | ij_kotlin_packages_to_use_import_on_demand = java.util.*, kotlinx.android.synthetic.**, io.ktor.** 949 | ij_kotlin_parameter_annotation_wrap = off 950 | ij_kotlin_space_after_comma = true 951 | ij_kotlin_space_after_extend_colon = true 952 | ij_kotlin_space_after_type_colon = true 953 | ij_kotlin_space_before_catch_parentheses = true 954 | ij_kotlin_space_before_comma = false 955 | ij_kotlin_space_before_extend_colon = true 956 | ij_kotlin_space_before_for_parentheses = true 957 | ij_kotlin_space_before_if_parentheses = true 958 | ij_kotlin_space_before_lambda_arrow = true 959 | ij_kotlin_space_before_type_colon = false 960 | ij_kotlin_space_before_when_parentheses = true 961 | ij_kotlin_space_before_while_parentheses = true 962 | ij_kotlin_spaces_around_additive_operators = true 963 | ij_kotlin_spaces_around_assignment_operators = true 964 | ij_kotlin_spaces_around_equality_operators = true 965 | ij_kotlin_spaces_around_function_type_arrow = true 966 | ij_kotlin_spaces_around_logical_operators = true 967 | ij_kotlin_spaces_around_multiplicative_operators = true 968 | ij_kotlin_spaces_around_range = false 969 | ij_kotlin_spaces_around_relational_operators = true 970 | ij_kotlin_spaces_around_unary_operator = false 971 | ij_kotlin_spaces_around_when_arrow = true 972 | ij_kotlin_variable_annotation_wrap = off 973 | ij_kotlin_while_on_new_line = false 974 | ij_kotlin_wrap_elvis_expressions = 1 975 | ij_kotlin_wrap_expression_body_functions = 0 976 | ij_kotlin_wrap_first_method_in_call_chain = false 977 | 978 | [{*.har, *.jsb2, *.jsb3, *.json, .babelrc, .eslintrc, .stylelintrc, bowerrc, jest.config, mcmod.info}] 979 | indent_size = 2 980 | ij_json_keep_blank_lines_in_code = 0 981 | ij_json_keep_indents_on_empty_lines = false 982 | ij_json_keep_line_breaks = true 983 | ij_json_space_after_colon = true 984 | ij_json_space_after_comma = true 985 | ij_json_space_before_colon = true 986 | ij_json_space_before_comma = false 987 | ij_json_spaces_within_braces = false 988 | ij_json_spaces_within_brackets = false 989 | ij_json_wrap_long_lines = false 990 | 991 | [{*.htm, *.html, *.sht, *.shtm, *.shtml}] 992 | ij_html_add_new_line_before_tags = body, div, p, form, h1, h2, h3 993 | ij_html_align_attributes = true 994 | ij_html_align_text = false 995 | ij_html_attribute_wrap = normal 996 | ij_html_block_comment_at_first_column = true 997 | ij_html_do_not_align_children_of_min_lines = 0 998 | ij_html_do_not_break_if_inline_tags = title, h1, h2, h3, h4, h5, h6, p 999 | ij_html_do_not_indent_children_of_tags = html, body, thead, tbody, tfoot 1000 | ij_html_enforce_quotes = false 1001 | ij_html_inline_tags = a, abbr, acronym, b, basefont, bdo, big, br, cite, cite, code, dfn, em, font, i, img, input, kbd, label, q, s, samp, select, small, span, strike, strong, sub, sup, textarea, tt, u, var 1002 | ij_html_keep_blank_lines = 2 1003 | ij_html_keep_indents_on_empty_lines = false 1004 | ij_html_keep_line_breaks = true 1005 | ij_html_keep_line_breaks_in_text = true 1006 | ij_html_keep_whitespaces = false 1007 | ij_html_keep_whitespaces_inside = span, pre, textarea 1008 | ij_html_line_comment_at_first_column = true 1009 | ij_html_new_line_after_last_attribute = never 1010 | ij_html_new_line_before_first_attribute = never 1011 | ij_html_quote_style = double 1012 | ij_html_remove_new_line_before_tags = br 1013 | ij_html_space_after_tag_name = false 1014 | ij_html_space_around_equality_in_attribute = false 1015 | ij_html_space_inside_empty_tag = false 1016 | ij_html_text_wrap = normal 1017 | ij_html_uniform_ident = false 1018 | 1019 | [{*.markdown, *.md}] 1020 | ij_markdown_force_one_space_after_blockquote_symbol = true 1021 | ij_markdown_force_one_space_after_header_symbol = true 1022 | ij_markdown_force_one_space_after_list_bullet = true 1023 | ij_markdown_force_one_space_between_words = true 1024 | ij_markdown_keep_indents_on_empty_lines = false 1025 | ij_markdown_max_lines_around_block_elements = 1 1026 | ij_markdown_max_lines_around_header = 1 1027 | ij_markdown_max_lines_between_paragraphs = 1 1028 | ij_markdown_min_lines_around_block_elements = 1 1029 | ij_markdown_min_lines_around_header = 1 1030 | ij_markdown_min_lines_between_paragraphs = 1 1031 | 1032 | [{*.yaml, *.yml}] 1033 | indent_size = 2 1034 | ij_yaml_keep_indents_on_empty_lines = false 1035 | ij_yaml_keep_line_breaks = true 1036 | ij_yaml_space_before_colon = true 1037 | ij_yaml_spaces_within_braces = true 1038 | ij_yaml_spaces_within_brackets = true 1039 | --------------------------------------------------------------------------------