├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── workspace ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew.bat ├── run │ └── config │ │ └── lostcity_profiles │ │ └── cavern2.json ├── gradlew └── build.gradle ├── gradle.properties ├── settings.gradle ├── README.md ├── LICENSE ├── gradlew.bat └── gradlew /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McJtyMods/MultiWorkspace/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /workspace/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/McJtyMods/MultiWorkspace/HEAD/workspace/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Sets default memory used for gradle commands. Can be overridden by user or command line properties. 2 | # This is required to provide enough memory for the Minecraft decompilation process. 3 | org.gradle.jvmargs=-Xmx5G 4 | org.gradle.daemon=false 5 | 6 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Jan 06 19:01:39 CET 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip 7 | -------------------------------------------------------------------------------- /workspace/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Jan 06 19:01:39 CET 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-bin.zip 7 | -------------------------------------------------------------------------------- /workspace/gradle.properties: -------------------------------------------------------------------------------- 1 | # Sets default memory used for gradle commands. Can be overridden by user or command line properties. 2 | # This is required to provide enough memory for the Minecraft decompilation process. 3 | org.gradle.jvmargs=-Xmx5G 4 | org.gradle.daemon=false 5 | 6 | minecraft_version=1.16.5 7 | forge_version=36.2.19 8 | jei_version=1.16.4:7.6.1.65 9 | patchouli_version=1.16.4-53.2 10 | eleccore_version=2.1.47-Beta 11 | waila_version=1.10.6-B67_1.14.4 12 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = '1.16_tech' 2 | //include 'TheOneProbe' 3 | //include 'Ariente' 4 | //include 'ArienteWorld' 5 | include 'DeepResonance' 6 | //include 'HoloGui' 7 | //include 'InControl' 8 | //include 'FxControl' 9 | //include 'LostCities' 10 | include 'McJtyLib' 11 | //include 'RFTools' 12 | include 'RFToolsStorage' 13 | include 'RFToolsBase' 14 | include 'RFToolsControl' 15 | include 'RFToolsDimensions' 16 | include 'RFToolsPower' 17 | include 'RFToolsUtility' 18 | include 'RFToolsBuilder' 19 | //include 'Restrictions' 20 | include 'ModXNet' 21 | 22 | include 'workspace' 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MultiWorkspace 2 | Setup for a multi-mod workspace 3 | 4 | Individual mods should be 'git cloned' inside subfolders of this project. 5 | Modify settings.gradle as well as workspace/build.gradle for all your mods. 6 | Inside the mods/build.gradle you should have the following construct to make sure the mods are still compilable standalone as well as inside the multi-project: 7 | 8 | if (findProject(':McJtyLib') != null) { 9 | implementation project(':McJtyLib') 10 | } else { 11 | implementation fg.deobf (project.dependencies.create("com.github.mcjty:mcjtylib:${mcjtylib_version}") { 12 | transitive = false 13 | }) 14 | } 15 | 16 | To setup this project, just open the root (empty) build.gradle as a project in IDEA. Run genIntellijRuns and select the one for the 'workspace' module 17 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 McJtyMods 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 | -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- 1 | @if "%DEBUG%" == "" @echo off 2 | @rem ########################################################################## 3 | @rem 4 | @rem Gradle startup script for Windows 5 | @rem 6 | @rem ########################################################################## 7 | 8 | @rem Set local scope for the variables with windows NT shell 9 | if "%OS%"=="Windows_NT" setlocal 10 | 11 | set DIRNAME=%~dp0 12 | if "%DIRNAME%" == "" set DIRNAME=. 13 | set APP_BASE_NAME=%~n0 14 | set APP_HOME=%DIRNAME% 15 | 16 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 17 | set DEFAULT_JVM_OPTS= 18 | 19 | @rem Find java.exe 20 | if defined JAVA_HOME goto findJavaFromJavaHome 21 | 22 | set JAVA_EXE=java.exe 23 | %JAVA_EXE% -version >NUL 2>&1 24 | if "%ERRORLEVEL%" == "0" goto init 25 | 26 | echo. 27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 28 | echo. 29 | echo Please set the JAVA_HOME variable in your environment to match the 30 | echo location of your Java installation. 31 | 32 | goto fail 33 | 34 | :findJavaFromJavaHome 35 | set JAVA_HOME=%JAVA_HOME:"=% 36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 37 | 38 | if exist "%JAVA_EXE%" goto init 39 | 40 | echo. 41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 42 | echo. 43 | echo Please set the JAVA_HOME variable in your environment to match the 44 | echo location of your Java installation. 45 | 46 | goto fail 47 | 48 | :init 49 | @rem Get command-line arguments, handling Windows variants 50 | 51 | if not "%OS%" == "Windows_NT" goto win9xME_args 52 | 53 | :win9xME_args 54 | @rem Slurp the command line arguments. 55 | set CMD_LINE_ARGS= 56 | set _SKIP=2 57 | 58 | :win9xME_args_slurp 59 | if "x%~1" == "x" goto execute 60 | 61 | set CMD_LINE_ARGS=%* 62 | 63 | :execute 64 | @rem Setup the command line 65 | 66 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 67 | 68 | @rem Execute Gradle 69 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 70 | 71 | :end 72 | @rem End local scope for the variables with windows NT shell 73 | if "%ERRORLEVEL%"=="0" goto mainEnd 74 | 75 | :fail 76 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 77 | rem the _cmd.exe /c_ return code! 78 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 79 | exit /b 1 80 | 81 | :mainEnd 82 | if "%OS%"=="Windows_NT" endlocal 83 | 84 | :omega 85 | -------------------------------------------------------------------------------- /workspace/gradlew.bat: -------------------------------------------------------------------------------- 1 | @if "%DEBUG%" == "" @echo off 2 | @rem ########################################################################## 3 | @rem 4 | @rem Gradle startup script for Windows 5 | @rem 6 | @rem ########################################################################## 7 | 8 | @rem Set local scope for the variables with windows NT shell 9 | if "%OS%"=="Windows_NT" setlocal 10 | 11 | set DIRNAME=%~dp0 12 | if "%DIRNAME%" == "" set DIRNAME=. 13 | set APP_BASE_NAME=%~n0 14 | set APP_HOME=%DIRNAME% 15 | 16 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 17 | set DEFAULT_JVM_OPTS= 18 | 19 | @rem Find java.exe 20 | if defined JAVA_HOME goto findJavaFromJavaHome 21 | 22 | set JAVA_EXE=java.exe 23 | %JAVA_EXE% -version >NUL 2>&1 24 | if "%ERRORLEVEL%" == "0" goto init 25 | 26 | echo. 27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 28 | echo. 29 | echo Please set the JAVA_HOME variable in your environment to match the 30 | echo location of your Java installation. 31 | 32 | goto fail 33 | 34 | :findJavaFromJavaHome 35 | set JAVA_HOME=%JAVA_HOME:"=% 36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 37 | 38 | if exist "%JAVA_EXE%" goto init 39 | 40 | echo. 41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 42 | echo. 43 | echo Please set the JAVA_HOME variable in your environment to match the 44 | echo location of your Java installation. 45 | 46 | goto fail 47 | 48 | :init 49 | @rem Get command-line arguments, handling Windows variants 50 | 51 | if not "%OS%" == "Windows_NT" goto win9xME_args 52 | 53 | :win9xME_args 54 | @rem Slurp the command line arguments. 55 | set CMD_LINE_ARGS= 56 | set _SKIP=2 57 | 58 | :win9xME_args_slurp 59 | if "x%~1" == "x" goto execute 60 | 61 | set CMD_LINE_ARGS=%* 62 | 63 | :execute 64 | @rem Setup the command line 65 | 66 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 67 | 68 | @rem Execute Gradle 69 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 70 | 71 | :end 72 | @rem End local scope for the variables with windows NT shell 73 | if "%ERRORLEVEL%"=="0" goto mainEnd 74 | 75 | :fail 76 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 77 | rem the _cmd.exe /c_ return code! 78 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 79 | exit /b 1 80 | 81 | :mainEnd 82 | if "%OS%"=="Windows_NT" endlocal 83 | 84 | :omega 85 | -------------------------------------------------------------------------------- /workspace/run/config/lostcity_profiles/cavern2.json: -------------------------------------------------------------------------------- 1 | { 2 | "cities": { 3 | "cityChance": 0.01, 4 | "cityLevel3Height": 68, 5 | "cityBiomeFactorDefault": 1.0, 6 | "cityThreshold": 0.2, 7 | "cityLevel0Height": 44, 8 | "cityMinRadius": 50, 9 | "cityLevel2Height": 60, 10 | "cityBiomeFactors": [ 11 | "river=0", 12 | "frozen_river=0", 13 | "ocean=.7", 14 | "frozen_ocean=.7", 15 | "deep_ocean=.4" 16 | ], 17 | "cityLevel1Height": 52, 18 | "cityMaxRadius": 128 19 | }, 20 | "structures": { 21 | "generateRavines": true, 22 | "generateMansions": true, 23 | "preventVillagesInCities": true, 24 | "generateStrongholds": true, 25 | "maxCaveHeight": 128, 26 | "generateDungeons": true, 27 | "generateOceanMonuments": true, 28 | "generateLakes": false, 29 | "generateCaves": true, 30 | "generateVillages": false, 31 | "generateMineshafts": true, 32 | "preventLakesRavinesInCities": false, 33 | "generateScattered": true 34 | }, 35 | "client": { 36 | "horizon": 128.0, 37 | "fogDensity": 0.02, 38 | "fogBlue": 0.0, 39 | "fogRed": 0.0, 40 | "fogGreen": 0.0 41 | }, 42 | "explosions": { 43 | "explosionMinHeight": 75, 44 | "miniExplosionChance": 0.0, 45 | "destroySmallSectionsSize": 50, 46 | "destroyLoneBlocksFactor": 0.05, 47 | "explosionMaxHeight": 90, 48 | "explosionsInCitiesOnly": true, 49 | "explosionMaxRadius": 35, 50 | "explosionMinRadius": 15, 51 | "miniExplosionMaxHeight": 100, 52 | "miniExplosionMaxRadius": 12, 53 | "debrisToNearbyChunkFactor": 200, 54 | "destroyOrMoveChance": 0.4, 55 | "explosionChance": 0.0, 56 | "miniExplosionMinRadius": 5, 57 | "miniExplosionMinHeight": 60 58 | }, 59 | "lostcity": { 60 | "highwaySupports": true, 61 | "ruinChance": 0.05, 62 | "groundLevel": 40, 63 | "railwayStationsEnabled": true, 64 | "buildingChance": 0.3, 65 | "railwaysCanEnd": false, 66 | "buildingMaxFloorsChance": 6, 67 | "bedrockLayer": 1, 68 | "liquidBlock": "minecraft:water", 69 | "rubbleLayer": true, 70 | "buildingMinFloors": 0, 71 | "seaLevel": 32, 72 | "rubbleDirtScale": 3.0, 73 | "fountainChance": 0.05, 74 | "dataCenterChance": 0.1, 75 | "highwaySecondaryPerlinScale": 10.0, 76 | "spawnNotInBuilding": false, 77 | "bridgeSupports": true, 78 | "worldStyle": "standard", 79 | "buildingMaxFloors": 8, 80 | "avoidFoliage": false, 81 | "avoidGeneratedTrees": false, 82 | "buildingMinCellars": 0, 83 | "buildingFrontChance": 0.2, 84 | "baseBlock": "minecraft:stone", 85 | "ruinMaxlevelPercent": 1.0, 86 | "avoidGeneratedCactii": false, 87 | "avoidGeneratedFossils": false, 88 | "spawnBiome": "", 89 | "avoidWater": false, 90 | "building2x2Chance": 0.03, 91 | "railwaysEnabled": false, 92 | "highwayRequiresTwoCities": true, 93 | "avoidGeneratedGrass": false, 94 | "spawnCity": "", 95 | "avoidGeneratedMushrooms": false, 96 | "avoidGeneratedReeds": false, 97 | "randomLeafBlockChance": 0.1, 98 | "rubbleLeaveScale": 6.0, 99 | "vineChance": 0.009, 100 | "avoidGeneratedLakewater": false, 101 | "highwayLevelFromCities": 0, 102 | "highwayPerlinFactor": 2.0, 103 | "bridgeChance": 0.7, 104 | "ruinMinlevelPercent": 0.8, 105 | "buildingDoorwayChance": 0.6, 106 | "icon": "textures/gui/icon_cavern.png", 107 | "description": "This is a cavern type world (like the nether)", 108 | "spawnSphere": "", 109 | "avoidGeneratedFlowers": false, 110 | "allowedBiomeFactors": [], 111 | "manualBiomeMappings": [], 112 | "terrainFixUpperMinOffset": -1, 113 | "highwayDistanceMask": 7, 114 | "avoidGeneratedLilypads": false, 115 | "terrainFixUpperMaxOffset": 1, 116 | "generateLoot": true, 117 | "terrainFixLowerMaxOffset": -3, 118 | "biomeSelectionStrategy": "original", 119 | "chestWithoutLootChance": 0.2, 120 | "terrainFixLowerMinOffset": -4, 121 | "avoidGeneratedPumpkins": false, 122 | "extraDescription": "There are lights in the building but the outside is very dark. Warning! This is pretty heavy on performance!", 123 | "avoidGeneratedDesertWell": false, 124 | "landscapeType": "cavern", 125 | "generateLighting": true, 126 | "libraryChance": 0.1, 127 | "generateSpawners": true, 128 | "buildingMinFloorsChance": 4, 129 | "buildingWithoutLootChance": 0.2, 130 | "railwayDungeonChance": 0.01, 131 | "generateNether": false, 132 | "parkChance": 0.2, 133 | "corridorChance": 0.7, 134 | "randomLeafBlockThickness": 2, 135 | "buildingMaxCellars": 3, 136 | "highwayMainPerlinScale": 50.0 137 | }, 138 | "cityspheres": { 139 | "monorailOffset": -2, 140 | "outsideSurfaceVariation": 1.0, 141 | "monorailChance": 0.8, 142 | "citySphereFactor": 1.2, 143 | "singleBiome": false, 144 | "citySphereChance": 0.7, 145 | "outsideProfile": "", 146 | "sphereSurfaceVariation": 1.0, 147 | "landscapeOutside": false, 148 | "outsideGroundLevel": -1, 149 | "onlyPredefined": false 150 | } 151 | } -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | ############################################################################## 4 | ## 5 | ## Gradle start up script for UN*X 6 | ## 7 | ############################################################################## 8 | 9 | # Attempt to set APP_HOME 10 | # Resolve links: $0 may be a link 11 | PRG="$0" 12 | # Need this for relative symlinks. 13 | while [ -h "$PRG" ] ; do 14 | ls=`ls -ld "$PRG"` 15 | link=`expr "$ls" : '.*-> \(.*\)$'` 16 | if expr "$link" : '/.*' > /dev/null; then 17 | PRG="$link" 18 | else 19 | PRG=`dirname "$PRG"`"/$link" 20 | fi 21 | done 22 | SAVED="`pwd`" 23 | cd "`dirname \"$PRG\"`/" >/dev/null 24 | APP_HOME="`pwd -P`" 25 | cd "$SAVED" >/dev/null 26 | 27 | APP_NAME="Gradle" 28 | APP_BASE_NAME=`basename "$0"` 29 | 30 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 31 | DEFAULT_JVM_OPTS="" 32 | 33 | # Use the maximum available, or set MAX_FD != -1 to use that value. 34 | MAX_FD="maximum" 35 | 36 | warn () { 37 | echo "$*" 38 | } 39 | 40 | die () { 41 | echo 42 | echo "$*" 43 | echo 44 | exit 1 45 | } 46 | 47 | # OS specific support (must be 'true' or 'false'). 48 | cygwin=false 49 | msys=false 50 | darwin=false 51 | nonstop=false 52 | case "`uname`" in 53 | CYGWIN* ) 54 | cygwin=true 55 | ;; 56 | Darwin* ) 57 | darwin=true 58 | ;; 59 | MINGW* ) 60 | msys=true 61 | ;; 62 | NONSTOP* ) 63 | nonstop=true 64 | ;; 65 | esac 66 | 67 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 68 | 69 | # Determine the Java command to use to start the JVM. 70 | if [ -n "$JAVA_HOME" ] ; then 71 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 72 | # IBM's JDK on AIX uses strange locations for the executables 73 | JAVACMD="$JAVA_HOME/jre/sh/java" 74 | else 75 | JAVACMD="$JAVA_HOME/bin/java" 76 | fi 77 | if [ ! -x "$JAVACMD" ] ; then 78 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 79 | 80 | Please set the JAVA_HOME variable in your environment to match the 81 | location of your Java installation." 82 | fi 83 | else 84 | JAVACMD="java" 85 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 86 | 87 | Please set the JAVA_HOME variable in your environment to match the 88 | location of your Java installation." 89 | fi 90 | 91 | # Increase the maximum file descriptors if we can. 92 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then 93 | MAX_FD_LIMIT=`ulimit -H -n` 94 | if [ $? -eq 0 ] ; then 95 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 96 | MAX_FD="$MAX_FD_LIMIT" 97 | fi 98 | ulimit -n $MAX_FD 99 | if [ $? -ne 0 ] ; then 100 | warn "Could not set maximum file descriptor limit: $MAX_FD" 101 | fi 102 | else 103 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 104 | fi 105 | fi 106 | 107 | # For Darwin, add options to specify how the application appears in the dock 108 | if $darwin; then 109 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 110 | fi 111 | 112 | # For Cygwin, switch paths to Windows format before running java 113 | if $cygwin ; then 114 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 115 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 116 | JAVACMD=`cygpath --unix "$JAVACMD"` 117 | 118 | # We build the pattern for arguments to be converted via cygpath 119 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 120 | SEP="" 121 | for dir in $ROOTDIRSRAW ; do 122 | ROOTDIRS="$ROOTDIRS$SEP$dir" 123 | SEP="|" 124 | done 125 | OURCYGPATTERN="(^($ROOTDIRS))" 126 | # Add a user-defined pattern to the cygpath arguments 127 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 128 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 129 | fi 130 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 131 | i=0 132 | for arg in "$@" ; do 133 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 134 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 135 | 136 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 137 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 138 | else 139 | eval `echo args$i`="\"$arg\"" 140 | fi 141 | i=$((i+1)) 142 | done 143 | case $i in 144 | (0) set -- ;; 145 | (1) set -- "$args0" ;; 146 | (2) set -- "$args0" "$args1" ;; 147 | (3) set -- "$args0" "$args1" "$args2" ;; 148 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;; 149 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 150 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 151 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 152 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 153 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 154 | esac 155 | fi 156 | 157 | # Escape application args 158 | save () { 159 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done 160 | echo " " 161 | } 162 | APP_ARGS=$(save "$@") 163 | 164 | # Collect all arguments for the java command, following the shell quoting and substitution rules 165 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" 166 | 167 | # by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong 168 | if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then 169 | cd "$(dirname "$0")" 170 | fi 171 | 172 | exec "$JAVACMD" "$@" 173 | -------------------------------------------------------------------------------- /workspace/gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | ############################################################################## 4 | ## 5 | ## Gradle start up script for UN*X 6 | ## 7 | ############################################################################## 8 | 9 | # Attempt to set APP_HOME 10 | # Resolve links: $0 may be a link 11 | PRG="$0" 12 | # Need this for relative symlinks. 13 | while [ -h "$PRG" ] ; do 14 | ls=`ls -ld "$PRG"` 15 | link=`expr "$ls" : '.*-> \(.*\)$'` 16 | if expr "$link" : '/.*' > /dev/null; then 17 | PRG="$link" 18 | else 19 | PRG=`dirname "$PRG"`"/$link" 20 | fi 21 | done 22 | SAVED="`pwd`" 23 | cd "`dirname \"$PRG\"`/" >/dev/null 24 | APP_HOME="`pwd -P`" 25 | cd "$SAVED" >/dev/null 26 | 27 | APP_NAME="Gradle" 28 | APP_BASE_NAME=`basename "$0"` 29 | 30 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 31 | DEFAULT_JVM_OPTS="" 32 | 33 | # Use the maximum available, or set MAX_FD != -1 to use that value. 34 | MAX_FD="maximum" 35 | 36 | warn () { 37 | echo "$*" 38 | } 39 | 40 | die () { 41 | echo 42 | echo "$*" 43 | echo 44 | exit 1 45 | } 46 | 47 | # OS specific support (must be 'true' or 'false'). 48 | cygwin=false 49 | msys=false 50 | darwin=false 51 | nonstop=false 52 | case "`uname`" in 53 | CYGWIN* ) 54 | cygwin=true 55 | ;; 56 | Darwin* ) 57 | darwin=true 58 | ;; 59 | MINGW* ) 60 | msys=true 61 | ;; 62 | NONSTOP* ) 63 | nonstop=true 64 | ;; 65 | esac 66 | 67 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 68 | 69 | # Determine the Java command to use to start the JVM. 70 | if [ -n "$JAVA_HOME" ] ; then 71 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 72 | # IBM's JDK on AIX uses strange locations for the executables 73 | JAVACMD="$JAVA_HOME/jre/sh/java" 74 | else 75 | JAVACMD="$JAVA_HOME/bin/java" 76 | fi 77 | if [ ! -x "$JAVACMD" ] ; then 78 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 79 | 80 | Please set the JAVA_HOME variable in your environment to match the 81 | location of your Java installation." 82 | fi 83 | else 84 | JAVACMD="java" 85 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 86 | 87 | Please set the JAVA_HOME variable in your environment to match the 88 | location of your Java installation." 89 | fi 90 | 91 | # Increase the maximum file descriptors if we can. 92 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then 93 | MAX_FD_LIMIT=`ulimit -H -n` 94 | if [ $? -eq 0 ] ; then 95 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 96 | MAX_FD="$MAX_FD_LIMIT" 97 | fi 98 | ulimit -n $MAX_FD 99 | if [ $? -ne 0 ] ; then 100 | warn "Could not set maximum file descriptor limit: $MAX_FD" 101 | fi 102 | else 103 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 104 | fi 105 | fi 106 | 107 | # For Darwin, add options to specify how the application appears in the dock 108 | if $darwin; then 109 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 110 | fi 111 | 112 | # For Cygwin, switch paths to Windows format before running java 113 | if $cygwin ; then 114 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 115 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 116 | JAVACMD=`cygpath --unix "$JAVACMD"` 117 | 118 | # We build the pattern for arguments to be converted via cygpath 119 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 120 | SEP="" 121 | for dir in $ROOTDIRSRAW ; do 122 | ROOTDIRS="$ROOTDIRS$SEP$dir" 123 | SEP="|" 124 | done 125 | OURCYGPATTERN="(^($ROOTDIRS))" 126 | # Add a user-defined pattern to the cygpath arguments 127 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 128 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 129 | fi 130 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 131 | i=0 132 | for arg in "$@" ; do 133 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 134 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 135 | 136 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 137 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 138 | else 139 | eval `echo args$i`="\"$arg\"" 140 | fi 141 | i=$((i+1)) 142 | done 143 | case $i in 144 | (0) set -- ;; 145 | (1) set -- "$args0" ;; 146 | (2) set -- "$args0" "$args1" ;; 147 | (3) set -- "$args0" "$args1" "$args2" ;; 148 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;; 149 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 150 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 151 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 152 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 153 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 154 | esac 155 | fi 156 | 157 | # Escape application args 158 | save () { 159 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done 160 | echo " " 161 | } 162 | APP_ARGS=$(save "$@") 163 | 164 | # Collect all arguments for the java command, following the shell quoting and substitution rules 165 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" 166 | 167 | # by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong 168 | if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then 169 | cd "$(dirname "$0")" 170 | fi 171 | 172 | exec "$JAVACMD" "$@" 173 | -------------------------------------------------------------------------------- /workspace/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | repositories { 3 | maven { url = 'https://maven.minecraftforge.net/' } 4 | maven { url = 'https://maven.parchmentmc.org' } 5 | maven { 6 | url "https://plugins.gradle.org/m2/" 7 | } 8 | jcenter() 9 | mavenCentral() 10 | } 11 | dependencies { 12 | classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true 13 | classpath 'org.parchmentmc:librarian:1.+' 14 | classpath 'gradle.plugin.com.matthewprenger:CurseGradle:1.4.0' 15 | } 16 | } 17 | 18 | apply plugin: 'net.minecraftforge.gradle' 19 | apply plugin: 'org.parchmentmc.librarian.forgegradle' 20 | // Only edit below this line, the above code adds and enables the necessary things for Forge to be setup. 21 | apply plugin: 'eclipse' 22 | apply plugin: 'maven-publish' 23 | apply plugin: 'com.matthewprenger.cursegradle' 24 | 25 | repositories { 26 | maven { url 'https://www.dogforce-games.com/maven/' } 27 | maven { // TOP 28 | name 'tterrag maven' 29 | url "https://maven.tterrag.com/" 30 | } 31 | maven { 32 | url = "https://modmaven.k-4u.nl" 33 | } 34 | maven { // JEI 35 | url "https://dvs1.progwml6.com/files/maven" 36 | } 37 | maven { // Patchouli 38 | url "https://maven.blamejared.com" 39 | } 40 | } 41 | 42 | version = '1.0' 43 | group = 'com.yourname.modid' // http://maven.apache.org/guides/mini/guide-naming-conventions.html 44 | archivesBaseName = 'modid' 45 | 46 | sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' // Need this here so eclipse task generates correctly. 47 | 48 | minecraft { 49 | // The mappings can be changed at any time, and must be in the following format. 50 | // snapshot_YYYYMMDD Snapshot are built nightly. 51 | // stable_# Stables are built at the discretion of the MCP team. 52 | // Use non-default mappings at your own risk. they may not always work. 53 | // Simply re-run your setup task after changing the mappings to update your workspace. 54 | mappings channel: 'parchment', version: "2021.10.03-1.16.5" 55 | // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. 56 | 57 | // accessTransformer = file('build/resources/main/META-INF/accesstransformer.cfg') 58 | 59 | // Default run configurations. 60 | // These can be tweaked, removed, or duplicated as needed. 61 | runs { 62 | client { 63 | workingDirectory project.file('run') 64 | // properties 'mixin.env.disableRefMap': 'true' 65 | property 'mixin.env.remapRefMap', 'true' 66 | property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg" 67 | 68 | // Recommended logging data for a userdev environment 69 | // property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' 70 | 71 | // Recommended logging level for the console 72 | // property 'forge.logging.console.level', 'debug' 73 | 74 | mods { 75 | //TheOneProbe { 76 | //source project(':TheOneProbe').sourceSets.main 77 | //} 78 | McJtyLib { 79 | source project(':McJtyLib').sourceSets.main 80 | } 81 | //Ariente { 82 | //source project(':Ariente').sourceSets.main 83 | //} 84 | //ArienteWorld { 85 | //source project(':ArienteWorld').sourceSets.main 86 | //} 87 | DeepResonance { 88 | source project(':DeepResonance').sourceSets.main 89 | } 90 | //HoloGui { 91 | //source project(':HoloGui').sourceSets.main 92 | //} 93 | //InControl { 94 | //source project(':InControl').sourceSets.main 95 | //} 96 | //FxControl { 97 | //source project(':FxControl').sourceSets.main 98 | //} 99 | RFToolsStorage { 100 | source project(':RFToolsStorage').sourceSets.main 101 | } 102 | RFToolsBase { 103 | source project(':RFToolsBase').sourceSets.main 104 | } 105 | RFToolsControl { 106 | source project(':RFToolsControl').sourceSets.main 107 | } 108 | RFToolsDimensions { 109 | source project(':RFToolsDimensions').sourceSets.main 110 | } 111 | RFToolsPower { 112 | source project(':RFToolsPower').sourceSets.main 113 | } 114 | RFToolsBuilder { 115 | source project(':RFToolsBuilder').sourceSets.main 116 | } 117 | RFToolsUtility { 118 | source project(':RFToolsUtility').sourceSets.main 119 | } 120 | //Restrictions { 121 | //source project(':Restrictions').sourceSets.main 122 | //} 123 | //LostCities { 124 | //source project(':LostCities').sourceSets.main 125 | //} 126 | ModXNet { 127 | source project(':ModXNet').sourceSets.main 128 | } 129 | } 130 | } 131 | 132 | server { 133 | workingDirectory project.file('run') 134 | // properties 'mixin.env.disableRefMap': 'true' 135 | property 'mixin.env.remapRefMap', 'true' 136 | property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg" 137 | 138 | // Recommended logging data for a userdev environment 139 | // property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' 140 | 141 | // Recommended logging level for the console 142 | // property 'forge.logging.console.level', 'debug' 143 | 144 | mods { 145 | //TheOneProbe { 146 | //source project(':TheOneProbe').sourceSets.main 147 | //} 148 | McJtyLib { 149 | source project(':McJtyLib').sourceSets.main 150 | } 151 | //Ariente { 152 | //source project(':Ariente').sourceSets.main 153 | //} 154 | //ArienteWorld { 155 | //source project(':ArienteWorld').sourceSets.main 156 | //} 157 | DeepResonance { 158 | source project(':DeepResonance').sourceSets.main 159 | } 160 | //HoloGui { 161 | //source project(':HoloGui').sourceSets.main 162 | //} 163 | //InControl { 164 | //source project(':InControl').sourceSets.main 165 | //} 166 | //FxControl { 167 | //source project(':FxControl').sourceSets.main 168 | //} 169 | RFToolsStorage { 170 | source project(':RFToolsStorage').sourceSets.main 171 | } 172 | RFToolsBase { 173 | source project(':RFToolsBase').sourceSets.main 174 | } 175 | RFToolsControl { 176 | source project(':RFToolsControl').sourceSets.main 177 | } 178 | RFToolsDimensions { 179 | source project(':RFToolsDimensions').sourceSets.main 180 | } 181 | RFToolsPower { 182 | source project(':RFToolsPower').sourceSets.main 183 | } 184 | RFToolsBuilder { 185 | source project(':RFToolsBuilder').sourceSets.main 186 | } 187 | RFToolsUtility { 188 | source project(':RFToolsUtility').sourceSets.main 189 | } 190 | //Restrictions { 191 | //source project(':Restrictions').sourceSets.main 192 | //} 193 | //LostCities { 194 | //source project(':LostCities').sourceSets.main 195 | //} 196 | ModXNet { 197 | source project(':ModXNet').sourceSets.main 198 | } 199 | } 200 | } 201 | 202 | data { 203 | workingDirectory project.file('run') 204 | // properties 'mixin.env.disableRefMap': 'true' 205 | property 'mixin.env.remapRefMap', 'true' 206 | property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg" 207 | 208 | // Recommended logging data for a userdev environment 209 | // property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' 210 | 211 | // Recommended logging level for the console 212 | // property 'forge.logging.console.level', 'debug' 213 | args '--all', '--output', file('src/generated/resources/'), '--existing', sourceSets.main.resources.srcDirs[0] 214 | 215 | mods { 216 | //TheOneProbe { 217 | //source project(':TheOneProbe').sourceSets.main 218 | //} 219 | McJtyLib { 220 | source project(':McJtyLib').sourceSets.main 221 | } 222 | //Ariente { 223 | //source project(':Ariente').sourceSets.main 224 | //} 225 | //ArienteWorld { 226 | //source project(':ArienteWorld').sourceSets.main 227 | //} 228 | DeepResonance { 229 | source project(':DeepResonance').sourceSets.main 230 | } 231 | //HoloGui { 232 | //source project(':HoloGui').sourceSets.main 233 | //} 234 | //InControl { 235 | //source project(':InControl').sourceSets.main 236 | //} 237 | //FxControl { 238 | //source project(':FxControl').sourceSets.main 239 | //} 240 | RFToolsStorage { 241 | source project(':RFToolsStorage').sourceSets.main 242 | } 243 | RFToolsBase { 244 | source project(':RFToolsBase').sourceSets.main 245 | } 246 | RFToolsControl { 247 | source project(':RFToolsControl').sourceSets.main 248 | } 249 | RFToolsDimensions { 250 | source project(':RFToolsDimensions').sourceSets.main 251 | } 252 | RFToolsPower { 253 | source project(':RFToolsPower').sourceSets.main 254 | } 255 | RFToolsBuilder { 256 | source project(':RFToolsBuilder').sourceSets.main 257 | } 258 | RFToolsUtility { 259 | source project(':RFToolsUtility').sourceSets.main 260 | } 261 | //Restrictions { 262 | //source project(':Restrictions').sourceSets.main 263 | //} 264 | //LostCities { 265 | //source project(':LostCities').sourceSets.main 266 | //} 267 | ModXNet { 268 | source project(':ModXNet').sourceSets.main 269 | } 270 | } 271 | } 272 | } 273 | } 274 | 275 | jar { 276 | duplicatesStrategy = DuplicatesStrategy.INCLUDE 277 | } 278 | 279 | dependencies { 280 | // Specify the version of Minecraft to use, If this is any group other then 'net.minecraft' it is assumed 281 | // that the dep is a ForgeGradle 'patcher' dependency. And it's patches will be applied. 282 | // The userdev artifact is a special name and will get all sorts of transformations applied to it. 283 | minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}" 284 | 285 | compileOnly fg.deobf("mezz.jei:jei-${jei_version}:api") 286 | runtimeOnly fg.deobf("mezz.jei:jei-${jei_version}") 287 | implementation fg.deobf("vazkii.patchouli:Patchouli:${patchouli_version}") { 288 | transitive = false 289 | } 290 | 291 | // implementation fg.deobf("curse.maven:wildnature:2837635") 292 | // implementation fg.deobf("curse.maven:voxelmap:2765032") 293 | // implementation fg.deobf("curse.maven:minimap:2849263") 294 | // implementation fg.deobf("curse.maven:xaero:2836597") 295 | 296 | //implementation project(':TheOneProbe') 297 | implementation project(':McJtyLib') 298 | //implementation project(':Ariente') 299 | //implementation project(':ArienteWorld') 300 | implementation project(':DeepResonance') 301 | //implementation project(':HoloGui') 302 | //implementation project(':InControl') 303 | //implementation project(':FxControl') 304 | //implementation project(':LostCities') 305 | implementation project(':RFToolsStorage') 306 | implementation project(':RFToolsBase') 307 | implementation project(':RFToolsControl') 308 | implementation project(':RFToolsDimensions') 309 | implementation project(':RFToolsPower') 310 | implementation project(':RFToolsBuilder') 311 | implementation project(':RFToolsUtility') 312 | //implementation project(':Restrictions') 313 | implementation project(':ModXNet') 314 | } 315 | 316 | // Example for how to get properties into the manifest for reading by the runtime.. 317 | jar { 318 | manifest { 319 | attributes([ 320 | "Specification-Title": "examplemod", 321 | "Specification-Vendor": "examplemodsareus", 322 | "Specification-Version": "1", // We are version 1 of ourselves 323 | "Implementation-Title": project.name, 324 | "Implementation-Version": "${version}", 325 | "Implementation-Vendor" :"examplemodsareus", 326 | "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ") 327 | ]) 328 | } 329 | } 330 | 331 | // Example configuration to allow publishing using the maven-publish task 332 | // we define a custom artifact that is sourced from the reobfJar output task 333 | // and then declare that to be published 334 | // Note you'll need to add a repository here 335 | def reobfFile = file("$buildDir/reobfJar/output.jar") 336 | def reobfArtifact = artifacts.add('default', reobfFile) { 337 | type 'jar' 338 | builtBy 'reobfJar' 339 | } 340 | publishing { 341 | publications { 342 | mavenJava(MavenPublication) { 343 | artifact reobfArtifact 344 | } 345 | } 346 | repositories { 347 | maven { 348 | url "file:///${project.projectDir}/mcmodsrepo" 349 | } 350 | } 351 | } 352 | --------------------------------------------------------------------------------