From c6cfd8c660e6e1fc4b0598ddb34786d6837e1b22 Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 28 Jun 2020 19:48:39 +0200 Subject: [PATCH] reverted gradle shenanigans, fstbmb GUI texture --- .gitignore | 8 +- .../.projects/Minecraft/.location | 0 .../org.eclipse.core.resources/.root/0.tree | Bin 1224 -> 0 bytes .../org.eclipse.core.resources.prefs | 4 - .../.settings/org.eclipse.debug.ui.prefs | 7 - .../org.eclipse.epp.usagedata.gathering.prefs | 3 - .../.settings/org.eclipse.jdt.core.prefs | 5 - .../.settings/org.eclipse.ui.editors.prefs | 4 - .../.settings/org.eclipse.ui.ide.prefs | 9 - .../.settings/org.eclipse.ui.prefs | 3 - .../.launches/Client-Full.launch.template | 18 -- .../.launches/Client-Minimal.launch.template | 23 -- .../.launches/Server-Full.launch.template | 18 -- .../.launches/Server-Minimal.launch.template | 23 -- .../launchConfigurationHistory.xml | 25 -- build.gradle | 195 +++--------- gradle/wrapper/gradle-wrapper.jar | Bin 54711 -> 51017 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- gradlew | 74 ++--- gradlew.bat | 14 +- .../java/api/hbm/energy/IBatteryItem.java | 2 +- .../textures/gui/weapon/fstbmbSchematic.png | Bin 0 -> 5580 bytes .../com/hbm/blocks/test/TestEventTester.java | 13 +- .../java/com/hbm/explosion/ExplosionNT.java | 288 ++++++++++++++++++ .../java/com/hbm/interfaces/Spaghetti.java | 2 +- src/main/java/com/hbm/lib/Library.java | 3 +- 26 files changed, 393 insertions(+), 352 deletions(-) delete mode 100644 .meta/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.location delete mode 100644 .meta/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/0.tree delete mode 100644 .meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs delete mode 100644 .meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs delete mode 100644 .meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.usagedata.gathering.prefs delete mode 100644 .meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs delete mode 100644 .meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs delete mode 100644 .meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs delete mode 100644 .meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs delete mode 100644 .meta/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Client-Full.launch.template delete mode 100644 .meta/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Client-Minimal.launch.template delete mode 100644 .meta/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Server-Full.launch.template delete mode 100644 .meta/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Server-Minimal.launch.template delete mode 100644 .meta/eclipse/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml create mode 100644 src/main/java/assets/hbm/textures/gui/weapon/fstbmbSchematic.png create mode 100644 src/main/java/com/hbm/explosion/ExplosionNT.java diff --git a/.gitignore b/.gitignore index ad6bc2b5f..a8f2e903f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,11 @@ /.gradle/ +/bin/ /build/ -/instance/ /eclipse/ +/lib/ +/.git/ +/.gradle/ +/.settings/ /.classpath -/.gradletasknamecache /.project -/.settings/org.eclipse.jdt.core.prefs diff --git a/.meta/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.location b/.meta/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.location deleted file mode 100644 index e69de29bb..000000000 diff --git a/.meta/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/0.tree b/.meta/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/0.tree deleted file mode 100644 index 897e2b847917fda481db0de6b8020ac05499a1dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1224 zcmaKr&u`N(6vtnhj~pn0guM2T(OR\r\n\r\n -org.eclipse.debug.ui.user_view_bindings=\r\n\r\n\r\n\r\n\r\n\r\n -StringVariablePreferencePage=130,107,107,86, diff --git a/.meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.usagedata.gathering.prefs b/.meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.usagedata.gathering.prefs deleted file mode 100644 index 333b99153..000000000 --- a/.meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.usagedata.gathering.prefs +++ /dev/null @@ -1,3 +0,0 @@ -#Sun Jun 05 18:58:07 CEST 2011 -eclipse.preferences.version=1 -org.eclipse.epp.usagedata.gathering.enabled=false diff --git a/.meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs b/.meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 593e3199f..000000000 --- a/.meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,5 +0,0 @@ -#Sun Sep 18 16:44:39 NZST 2011 -org.eclipse.jdt.core.compiler.compliance=1.7 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 -org.eclipse.jdt.core.compiler.source=1.7 diff --git a/.meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs b/.meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs deleted file mode 100644 index 316ef6f30..000000000 --- a/.meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs +++ /dev/null @@ -1,4 +0,0 @@ -#Sun Jun 05 18:58:05 CEST 2011 -spacesForTabs=true -eclipse.preferences.version=1 -overviewRuler_migration=migrated_3.1 diff --git a/.meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs b/.meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs deleted file mode 100644 index ae368abb9..000000000 --- a/.meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs +++ /dev/null @@ -1,9 +0,0 @@ -#Sun Jun 05 18:58:07 CEST 2011 -IMPORT_FILES_AND_FOLDERS_MODE=prompt -IMPORT_FILES_AND_FOLDERS_VIRTUAL_FOLDER_MODE=prompt -SAVE_ALL_BEFORE_BUILD=true -eclipse.preferences.version=1 -tipsAndTricks=true -platformState=1287081747687 -quickStart=false -PROBLEMS_FILTERS_MIGRATE=true diff --git a/.meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs b/.meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs deleted file mode 100644 index cbc59537b..000000000 --- a/.meta/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs +++ /dev/null @@ -1,3 +0,0 @@ -#Sun Jun 05 18:50:08 CEST 2011 -eclipse.preferences.version=1 -showIntro=false diff --git a/.meta/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Client-Full.launch.template b/.meta/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Client-Full.launch.template deleted file mode 100644 index cea00228b..000000000 --- a/.meta/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Client-Full.launch.template +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - diff --git a/.meta/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Client-Minimal.launch.template b/.meta/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Client-Minimal.launch.template deleted file mode 100644 index 83c9daf3d..000000000 --- a/.meta/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Client-Minimal.launch.template +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - -@@eclipseRuntimeClasspath@@ - - - - - - - diff --git a/.meta/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Server-Full.launch.template b/.meta/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Server-Full.launch.template deleted file mode 100644 index 52e1a1d25..000000000 --- a/.meta/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Server-Full.launch.template +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - diff --git a/.meta/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Server-Minimal.launch.template b/.meta/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Server-Minimal.launch.template deleted file mode 100644 index d5a8227d8..000000000 --- a/.meta/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Server-Minimal.launch.template +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - -@@eclipseRuntimeClasspath@@ - - - - - - - diff --git a/.meta/eclipse/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml b/.meta/eclipse/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml deleted file mode 100644 index 1208f602e..000000000 --- a/.meta/eclipse/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/build.gradle b/build.gradle index 546dc246a..d96474736 100644 --- a/build.gradle +++ b/build.gradle @@ -1,171 +1,56 @@ buildscript { - repositories { - mavenCentral() - maven { - name = "GTMaven" - url = "https://gregtech.overminddl1.com/" - } - maven { - name = "sonatype" - url = "https://oss.sonatype.org/content/repositories/snapshots/" - } - maven { - url = "https://repo1.maven.org/maven2/" - } - } - dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' - } -} - -allprojects { - tasks.withType(JavaCompile) { - options.compilerArgs << "-Xlint:deprecation" << "-Xlint:unchecked" - } -} - -apply plugin: 'eclipse' -eclipse { - classpath { - downloadJavadoc = true - downloadSources = true - } -} - -def eclipseRuntimeClasspath = "" -def eclipseRuntimeClasspathTemplate = "\n" - -task eclipseForgeWorkspace(type: Copy) { - doFirst { - sourceSets.main.runtimeClasspath.collect { - eclipseRuntimeClasspath += eclipseRuntimeClasspathTemplate.replaceAll('@@PATH@@', it.toString()) - "" - } - } - from(".meta/eclipse/.metadata") { - include '**/*.template' - rename { it.replace '.template', '' } - filter { it.replaceAll('@@eclipseRuntimeClasspath@@', eclipseRuntimeClasspath) } - //rename '(.*).template', '$1' - } - from(".meta/eclipse/.metadata") { - exclude '**/*.launch' - } - into "eclipse/.metadata" -} - -import org.apache.tools.ant.taskdefs.condition.Os -task eclipseForgeProject { - doLast { - if(!(new File("eclipse/Minecraft")).exists()) { - if(!Os.isFamily(Os.FAMILY_WINDOWS)) { - ant.symlink(resource: "../", link: "eclipse/Minecraft") - } else { - println("WINDOWS: Before loading this workspace with Eclipse, manually run this in an Elevated/Admin command prompt:") - println("mklink /D " + (new File("").absolutePath) + "/eclipse/Minecraft " + (new File("").absolutePath)) - } - } - } -} -eclipseForgeProject.dependsOn(eclipseForgeWorkspace) - -tasks.eclipse.dependsOn(eclipseForgeProject) - -apply plugin: 'idea' -idea { - module { - downloadJavadoc = true - downloadSources = true - } + repositories { + mavenCentral() + maven { + name = "forge" + url = "https://files.minecraftforge.net/maven" + } + maven { + name = "sonatype" + url = "https://oss.sonatype.org/content/repositories/snapshots/" + } + maven { + url = "https://repo1.maven.org/maven2/" + } + } + dependencies { + classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' + } } apply plugin: 'forge' -version = "1.0.27" -group= "com.hbm" -archivesBaseName = "hbm" +version = "1.0" +group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html +archivesBaseName = "modid" minecraft { - version = "1.7.10-10.13.4.1614-1.7.10" - runDir = "instance" -} - -sourceCompatibility = 1.7 -targetCompatibility = 1.7 -compileJava.options.bootClasspath = org.gradle.internal.jvm.Jvm.current().getJre().getHomeDir().toString() +"/lib/rt.jar" -compileJava { - options.encoding = "UTF-8" -} - -repositories { - maven { - name = "gt" - url = "https://gregtech.overminddl1.com/" - } + version = "1.7.10-10.13.4.1558-1.7.10" + runDir = "eclipse" } dependencies { - compile "codechicken:CodeChickenLib:1.7.10-1.1.3.140:dev" - compile "codechicken:CodeChickenCore:1.7.10-1.0.7.47:dev" - compile "codechicken:NotEnoughItems:1.7.10-1.0.5.120:dev" +compile files('lib/CodeChickenCore-1.7.10-1.0.4.29-dev.jar') +compile files('lib/CodeChickenLib-1.7.10-1.1.3.140-dev.jar') +compile files('lib/NotEnoughItems-1.7.10-1.0.3.74-dev.jar') } processResources { - // this will ensure that this task is redone when the versions change. - inputs.property "version", project.version - inputs.property "mcversion", project.minecraft.version + // this will ensure that this task is redone when the versions change. + inputs.property "version", project.version + inputs.property "mcversion", project.minecraft.version - // replace stuff in mcmod.info, nothing else - from(sourceSets.main.resources.srcDirs) { - include 'mcmod.info' - - // replace version and mcversion - expand 'version':project.version, 'mcversion':project.minecraft.version - } - - // copy everything else, thats not the mcmod.info - from(sourceSets.main.resources.srcDirs) { - exclude 'mcmod.info' - } -} - -task sourceJar(type: Jar) { - manifest {} - classifier = 'sources' - from sourceSets.main.allSource - exclude 'assets/**' -} - -task devJar(type: Jar) { - manifest {} - classifier = 'dev' - from sourceSets.main.output -} - -artifacts { - archives devJar, sourceJar -} - -if (!hasProperty("mavenUsername")) { - ext.mavenUsername="${System.getenv().MAVEN_USERNAME}" -} - -if (!hasProperty("mavenPassword")) { - ext.mavenPassword="${System.getenv().MAVEN_PASSWORD}" -} - -if (!hasProperty("mavenURL")) { - ext.mavenURL="${System.getenv().MAVEN_URL}" -} - -uploadArchives { - repositories { - mavenDeployer { - uniqueVersion = false - repository(url: mavenURL) { - authentication(userName: mavenUsername, password: mavenPassword) - } - } - } + // replace stuff in mcmod.info, nothing else + from(sourceSets.main.resources.srcDirs) { + include 'mcmod.info' + + // replace version and mcversion + expand 'version':project.version, 'mcversion':project.minecraft.version + } + + // copy everything else, thats not the mcmod.info + from(sourceSets.main.resources.srcDirs) { + exclude 'mcmod.info' + } } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 7200379122a61aab05a6da775894bfc63959d861..b7612167031001b7b84baf2a959e8ea8ad03c011 100644 GIT binary patch delta 33557 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 J`^Mi_{|8fK{zL!( delta 37089 zcmZ6SV{j!vv#_%H{2B?P9w97g2GdTn<+^B2RpU~9wo^t4(?dV7FwSPdnv8@=l$$3>!I8jwl@Ia4yK zq)Js+q-?CaSPvs$k;4IGN$uI9A(vqnhst_xhcm8ZU@W`P(B_s<=p_U0d*;tiahZ9S zmfmf82>E>hPKTkcsXE660HokuPH($VWCnapSWPL6yN=!I>w;|UOH~u|RcUWC6XYu_ z$vb-)V8&gVX_Y7b4t5=CNVilMS(wy>)v^D;=_?FEibZl;W%#GHZ4W^-ogM9LJ{G9wNd_%^@^DhnCYnw;)DW%*XpRSw`anZ!bR(oeb%adj`%evf5cN z0)BQXGo`$9(A7yOzNOhy)Rr8JYz`FQzpHQIHgv*sXgB8+$a4zq)Wv@d27A%= z$co&RN{T50Mb`G45T^;J9AoQdtzTFI@?P?g!SevkL?!wmUcp{p5}1AFd>$q-i$UV+ z@#f8RwO~W2B{@WFR5DTY!qmJ!AKwQwFbT($cg7-tBID1c^w-)bGQzc6B&#+HvgDdXuus-LI zQ$_sYN_r80-@bvnp(NcO2>&!S_yenj+Up2D7TI6)`&ddRIyaAs^?+p59M4q@?GK@x zc(y}4+0VUueJKii>fu?ffA0ecG1%2b53C%&6ak|>$vIg79!l9ptx5%ZwOF=f{D zjPDm!Kri+q%46Rs85Q8p807UTYb9V%gQOj z($onNtx1VvN@UOcJXg=MpD_P%sQ>(+C|DBBw^i)_xXV#zK6m7Q9#-VvCPz{NBvukL zI9!rQ8xAl<-Ow3L6hjaqdC=0aVXS8K_Svs&C%?YBMh#3z_nI%i?9^dpHd}K- zd^iWHdWUs=E|ANb6b1lc4eOF+An&E1E{|Q}E(|CbuA|5W)vvaJJb1Rb6RhI=EGmN9 z%7iblyf@1I=E_pK7MNB~NEr{kkn0q!@`hMjV&-BLR-n=nJv1()&B{?J$ZFy<%c zt35$Fb5vxzq%Vhj^WEQBgucEnr{c+wSqnr82!3_*Z@x`H6T-{O%p~nKH z?{o0^dqeQOYtSircKcY*r_>LG6qCo|Mp4uIT3p-9EXd6n9YCq$kt~a5U6=;Mr8P`Q zFWfE})$&GYPzE8fRTc?K@6i7-rT?-dChA@~BqT5}DgrPt(*HJ{-(5(+99=jQjU`V( z?aYj?hlduHAd^4ay+NpYv9Y~a&_4#KeuYkx{0(aONa!gJp7DQ~BF1X<+~X-$nj28W zw{}(Mcb)C;>6SU|g>h}f_awE$Jk2}i$`|d0_bj_lLr!D$2_Q|_=iC5LmnZ6r>&6rP z%X}Lj%WKyXeQRIaXWbQbp{gLZc(G3uE&~ljK^9J1O6qAh%2u+8vG%7E(YC%=HB-U% zu(omFS2?M?qOKKi)Jo0Bs^UqRP=R8QTBlhSFFPu+>#vU}C! z2Pr;c`^GOtaM<%tg`tPHStYJBE2tUMtxg|XWu|mDc2T==I055n9s#%gKYx29b_;rb z6p2Sb%`)2@-?6Ry8G#(m@tCa9^um~bio4wU?Yv(g@ih_v%wC;mh%D|NkxlEYCc1tf zxs=_)Rqout_P4egdgz3?-$e@Uz4^s{p%xb0Gzlo(rhD(#BN z2Mj$?1#o8(%2+~h7ja!xgI);8O=h`+=s>S{DE?@(Mbg+bdu_Ix(b$+$BdOLt?ujGelhw( zUE>mVY)734s`(Q}Yn74XH-$L8H8o)YY);dHe6z;uoCls)$|Z)~MLRL^^qP?cFU6sw zZCQwF8M~XYcYu@Y0PNv)+!mR`!^H7Vh3!{dYDG(+TcB@mErf;rxTPU*s#rgik}!aZ zo3#K%&Al@1)xvF#ymq!b*t*0srJ+BP6$W(uR7`C`~ zqaF@yRzqW4KeJFbN9b;8uXK0P(rq8XqmMr^vF!UC4;|ij85-$W16_{A*!pj6>OpZY z6t)0n5#bd+^YIk`&Fhu$d|Np(>U!R$vG<^=pYqL8rpHrLP|}mxlu5S@nVoNuzo%~I zXeC>^LMp#!q3t}v_eDOE^V8GucwFL7BkTip`+Nw;N^<@XGG^_7PB+tmR*s;UNt46x z-d)=-0&*UkUU=ytmNlB*_4Dhl-0Zb(P64JW<393-siW?w%=$9vo<<-yw|HSG0ev{; zqxg2ZOxQiN@XmQ5E~ahPg|3C6??eqd&2#1CPrS`F*B%iEU`0_jPX)lR+wQNc*`;T^bB1dXj6bN@9PTNarkb3Q~TLSbo7um$Sup^%qS5Cn0Z!w zpv==|qa9Aqe}KM^po)h(^3suqQ#kNa6@duSzUeE`6s@JOG#xPdjHDLZDUA~8D^+Yl zRPs)QzX{pwmEEw1)Zc0@rbg_W_8y@7Nrk^gAPq=2g=)TUH<iw6Ch%}96s+$)-qhGawqEeXx;ihMRx*-w+r*_@*3(Z{KyTBFV847>TraoKFg zl3CRC+$+Lm{Y5p_+_WY!6V!ntJq6=4Ix?KYT_H-6swr^8znU56`p`qA<1el#{s?4b zNNbxJ>QN%V?bEe)P{EM;g|b=lXU^YoVBrqQM&O><8q;yR&VXq+9S92=YUWUo1d zVyoG$)-2z7z&VX>Yx*a}8p}YbM?VXt#9DWeHJ#Ix>WL4HP^^y?YpSFjoVjhj!I}@7r&Z^A=JzWOw@CrQH|^j?OzPEM}4i{XJu<8=cX-{!b~ixkJc z($4`8q)3gIl6Mx>yQ9j%(T7Xl&Dt~WQkdoTUMNLOQ{C{@RzBOuiW=1jv}g;fw`S?) zlI!kZ+bb7rN6oix1w|RkO~c8q$}KLl+}=YQeXPcFv>(rB=1&F19an$H4#T$4Z!o}7 z^%xbJ8^XapHY@m7yeBM3bJL===0~*m;Fh9~&#F3L((V)oVxT zq2FM-9aN4H*>^Dg;%=)(HfOS{+-l+1KmJM9R5fRCLse&4zkUH7PQRmOuF6_t`_$_^ zSE5|_t7H1ySZPYys`M<+^FEZ6Gjsz?KRSz0h%j5~;epp#e@88EZz~a+JKY>q$A`Ye zR}xJQs?<(?cfwCqWcko}x1X>!-0IiN^i+%kt_Vn7oiX2XE6r~0rjRZFZpsJ0I?Bqo zpjUcZt?e$GcKKm@TpwF|+i#f(X_ROCMN3c#09WC#2nwP~DhUc?!aQ+?Ng$cXbi$f= zh6C|L5P_w5w2Bv%pI{yw5f7r~MbI2-DBdU#BV8O^T= zRKnRW51FdHd)F^%kqmh6cHYfQ~7UbKczIOi7iol4>Q`17KhG1 z+R2PQ1kU81z3DBPJr(5f;R1Nd%`M*Jg|<6h-fo?p%UhML(bzhp(zbo*KAl)Ip<_NU zyujZPA1KyR%fLp8YO7=&o6>h^EjPiPM|+z|b6MqmzQU0+oy_8G%O)KmjOhKDS#&%5 z_%N%6kW`};^8v9Lo$eB#hF=AQShK1spmTr?WS=UBmij{3w>_=1o?cR`jGEN+WG+>$jo2a@$% zmi+@ww0`vv-S2A=f#>}!sEL2R5e$n$8w*2Rpd@&v!{QZ-hhJmFZR4s15J=ysdrV9v zyfzgF63Y4$QQt^r_ocbu84vxKC;M6FdU?h}>5m|TgB*n@-T5UrUyNF}oAYeMcdz7+ zb48|wDAyHp)!zx15`nvYWg5Ap3S2c$_KQo%Ah~+l>n<-Fh!$A$oB5N}6;3?xrjaZs z4ySaExiet&O^H)2zU(G&K1$3jn4E!1C8-d4F;(N&6+=r3~nxL2`M0 zB(L+iDMi@(&U%djWK4@MP>4IJ6*|uMj-n~5I}jl|VhvOsXc|;#uBr*Z0zQ5B>xK+-LBTyqYri#&23A3cNd}EW|EN`2KKhQ;(ZDIt-u5 zrNn({5tS})+d10MT1DX3c};+*E`I5EjhZ7Rr&o8xkk=K)LB>x@*_Tr0^VuWth~y>l zbkHE|oBue+lP>+GB7Of04@ivUnq6%e6%1+ZCzc}?(kl?|+t;ANFuu@h;plfSL)1@! z_lvVYC!WzHHmn#ApnS|Hl{B+QH>unuMyW{V9tuPs2gIN4-;@hA4nAHO1i)zB zs%$9G3QBCj-lUQ2PNKQTqdP03*p5mdPv6nY-msE&r_P_g%E zFX8xJhp+d}DRE4NdvoO+l~X3(lDR0EEk-|Nr4Sp+1Bunf|6c9Ow42M{GmiiLF+;Id z5QpEEa?{;$>=81~G=8PSdvz$l;?-<4PCA0+$w+ieDaluV9#Xk-3Ybg5}B4LIWUbi~ya0K2_-e zvKjV?QZM9h_;M8D@1f|jzPt%B1Iz4Y2@TuiGTO+cK6C`A|FsmbHQvjjyvXjOs6_|NWYrS7P2M_(yn0|8>^?4*4(;b$m6k-YUfwK{`yMM>i zzZMITkBi7+K^ucRPDn=&fdb#ES+2JM$LLfImC*(xJk7IOR_;lXeXOPe2yB3~LKFJQ zvX9lLBkVpFjg&Z_v_pk-C*Y}yYL!G2tEe3Vc6C~ftPV|1q{JAHwW_^tYW1LS7|ZM7 zEfq7;QVjVS8Z2QmdBk+soX|a<*LL9lA=H79ET~4%U|ey-=~m*@$kRma1BJ$bq3ol01 zA4X&DscUeh>3~KfZlw%cT5pG@0_jb*l=}DYE9ceDDTEo_hx!YZ_f5mKY1zILJ#@nk z(s8MBjavA?Rs(yjSIErfK8WBM4~&Ql%anDO<|-Ia5+lH=;__`4u@NxlnmoLtAU|Jb zUHexpKW5}ibIsT!k{Wj8M(z%rpG-8(OWr;8Os))z&jjO+PPGw}5WNX4ENZ-RX8iK& zhjhN-OLUBbk)DwAo5Uflj9||}YPTE)kOJhmveXXL^yVnzoMGxTLKhWURRK9$%3@W@ zTduUSo+gZp?2ykd>5}OpI=F>vWYk+5(wD!@6BB2Q*C^g6Oleg9l?^9v5~Tkj%jUZ7 zMKG8K@(52^HE6)Hve>+_yLH$|4es}N5WGht}@c-H)hsYI@ITiX2$#)XUwR8AbY|l*}jxjvXs(J!!H!a2QWgNf*<|N!EJNK0_9G zu*Hb3>3i{@7fS^--;dmNEMs!j!E7EzTBxXXsJj&T$sBGtRtvT6wc3&zKBM@jh@Eq) z0_HXba~#gW5EUq5TVf)i zaTGg2s9^d+2AgYia}qHNrl!7$w<;P4TEA%(#3SgxE+MbUGzfMxE5P~-Uv;QgTUI{x z*;E?M5?McypGSOF_Dt&}4sUBg!t%%PJD;!S)OLq<3*w~fCL-zB4T<+$vaNdFbud2) z#G0^#gUN7&ji0cF5Ju%7@1y(r52W)!s`LIi0akKOe&m8xblqe@@FYKr65=fvw(=nUaYvZA-R3ws1LR#zWX{W2K8 zx6ADt1F{sG?Vkp0DGnr<@Iuc(KRN*Rni?Du$Bfq<6X^HbHoB!*{lWv%s|FL^@=9m) z*$2G|L0iNIIIrL!1UrX}Mu8%@|1n9)7wuAekHXPM_6(WLy7lMRPi0AN_hm+|DqKrc z^bD8Z#uMYsl}q;3m@;94#ld8K?$u+GS_5V?W69->zMPBanp#JSi${(?f+0tL+~3kj zz&|XT{jhlRdIL0qMEzwvalnEgU{k;s4D}6|Bx=8H!OnM80_*^q$O|4)uZH%k1H*7{ z7+0$Ozff$YQGWN=-#L68r1u|7ow zq(=(bKEnlakEUkKHMmoOoWtdSF4?Q8ohniw!uyeQne0PZKY#uQ(`&1V@hSd!tg#jW^UXV%Gt>1- z*Sc8`ewmA&lF-KKO45k>{60U z8K~?#JJ`Y3=t6Z?ySBpQM0#eV1MSr$9*t(xxGg9GD81zWYdo5yy{yn8Qz2 z`Tz-twQf-TH3o;TT`}|ipu-DQY^&3Owq-H%hOFP8tBYT(i{_2CR*N#wIH+!9l&wg}0@x*@*BIp7`iL0LB z0xP$z>7Z}igI5VZE^-oT#owSiUXd@(&wwX<^R3qPopstID7=-#OZ~2bym&6qG=N$Sg0vZv6SYET){67 zh~nTqNbaGtm1GUYGg-0(TxvgFciKo(IEsAzWt0c^H=$mu8+7zc3R`$kjcrmdO57Ssc~l&&AsspFTPTH4K5KGGRGsRw&z6n5iz5MR<}I3 zvLW&aaL`I6jN}c})O7Kp!yLE(8sK3Yrun;o#HyRr?QvueiQ%7ACb#o3odzEtXr>Df zpNpbK{t3tnhS;p4BDIz1u0oUsWLfP4u?{7?nHWnnU@Z3M=Zenkg&}p(P&4ns>tC4y zWJs;Wskou@obT1Ak**v@szIA7IAdY8TrX@`^VkJ1dkV4@I!uI#;h39CTfhl+QQonC zRRT(sj2{-0I45%2}nylZd)NryRvuAgu%=9GXt+V3^k9Hq{4v+1ha?VS+j=IG4KL^8q+?vgl}!P4)9W` zxG|u!A2%s}NyFJa69(4pAU_v{2-`lhfA$q;(w67=`c_L5FI{WDEB0^QAS2qYSL|Tq zR`m86!hcrm7(ciEQA2+69P1&7Z`u|>;-5etX{(5@hvA{7<`BScl?O6^T7%X~X&;Xl zb^Q1oDV9~$(XM_Q9D~mTNQ@_PQ$cMBH@Nj4YdWL@0;PI^zS9N~jh3a1a-ciRojHl0 zGz+19k?_Kr=$36cj{ADy{4G-X0(lbUg$A>>4%qG|H&Nx&5+&to1K^4b7~do{>ZED9V`i0uA!=$db%9nbR|VF?P-d1qSTp#RBT2QcOJ7 z<2XokQjFNMlY1UPd_J>MvDyyOO@ab)T6WZ^+eH5AvRIXkRS(0lYK{wj|M^J0OdV1! zxu2wp)rq?yrk#md>Poazw=;IGtm13-;SR~aqR}!h(KJYt2!I92cy+0@KRL~6s1|?n z1&{shzu+t=-f$2*aV5v&M`M=~YuM*~Zlx(SLPuM&>O#)UZaXSPAM(wqILj@Lg4b>~8t?N&8HzG(xP8Q%_3jO9DO&g!Udv7|+} z&U-v`ue%HIAOoX&PK11OLGwp!%*1nZ7Zo!KeKLC3YK+6$laSJ8MHv_f_KvD+j9gMi z0LsUCR&9HM;Sd3~&XXHDJkIKOeb(-sCjJdO_Zb}2Q) zz*jZA29D7W3MnPNA4OJ1o$THN9C|V@yD>cyOu!pXANMw1=WdK>{2aR}%jEUh!L8@{ zalXEwUd>N^XxZM~#ei6)oz`EF$~LsuK_I7QOXN_Ir;gJ-1nOu{n0>FrwTbBBA;7oI z8LSE-1m@3qY%*4rRWVL1mzXV9xR4?Z*7694@4>u`x`i_fO-Hp&W+!eXy5}^cC8$$y zLmW|A9J$3dD^5XP<}!}30Zy%RW!{{{6ccB=@hQuqB#K^F@9xvrKNQA>4>p2t;w6u-IkjKM^G1^?Ci*oa+eM%;p5cF0zp(dQf*B8qiq0 zKzz@wOh&^kuRpe^yj!TnSb4(7EBQk2=T=} zQj$!7w2PyrLQ|E~e}wa%49bXa`re*XYBcN`a>HXghI+iiZS3rnUbN2{|J(C^ALBF} zAL0SsCLMA^|12c)R)ig?qS#CXNL@K2ndZFt`xTLy9quCQ`7@XDt&{XnL zoczrWwX%?tW_SQH7Qt%W*J9`a#=OdMo;J(WDZ((UWrRu!0U%+QMnB2j@lqLTQ)oxF(mx?lhPv%Y;g1m-1|dO zoB4-*vSYMadHa+dR1I}MaZpP|PXmEN;t)A4I&VU(ZY`X2jHh+=O}`&Sup3=91~<^7{|AkF~CozIB#pMp3fg` zD0o)J>LnlZ&@B+fk!PC%Y{7tgoxB81`RZN=SdRoyt{&T+Tq3<;w?$b__g@)4)|szJ z`C`4(6(M3eK(#1Tq$rGXDx6dK@+tt0d!JibgS}Zjz1ba0T4Ix@2V&ZP82#F)B%JEM zgEN*rMo6CwNk6#%gK%L};#y|^M8yB|WM)W27t8NbG&Tveem+sCYU~R{gJ9>~-mj2^ z!)34}9pCSR?+l{wM(}Q5Z*5zrFJqA@#Y|=i4hX~bR3}Q4ON%y{k*&u5LjK=a>F8X? zz49MYS_4ZekitvKY(q){LDpjYrvN6W3g>zLADiJq{wF{S)PD2B(8di^eqv^KSX4J^63(Z}9@&w(5GIP4GWK-}SHCz7r?! zh_m6aDUAFADw9QrK(qgZRI;O?N{|r6n!B~2bdfupBWtisPv}kPRWw5@p%D7c9NZ}5 zpP+%pLr!I##1nBx1}H=)?v<9@F>my5L?<4m=DU&gmkU>>b`c%Olih84HbBcuGf8?D z16QWJZWa(C@5dhel$RCzYz(*N6e!!Fhc~qT-Z|_AybBNLqZ71QDea3|r`?N5Xj!kW z_NMoUQtG99>rXAK@94R$u84AOpKP<9!sji`BLq5xN>xcPUhz@am<_T^C>L-a`3^eF zu)~8g1kZ3w5>G6t`vB#-DUTJ4Ear1kUvW9+DY#*mEa{FsgXcJy*<^^jpUs+=E0y)N zhRLYFvU7Y8qwkMY^A|r%rs6a;gY;0Zs#hatU-f9!CnEJoq;@E)0Lw|Y@tM)_9 z(qg0yUfMC%{w51UbScX;c$H~sf(TTHA_FekcKe?b_YQkKMIJ+9o+W(I{fdsq2(Iwr#I|vAsC76>5siNcN2gcNYa>gEsiKWd&9;= zI{-@lKDBgX4){QSPgXs9D8577y|Kmv2G;IjKbOQA?=*&Md%WZQo^ge0;;U?{G*uer z?5f=9h}(+F+X|jH5_DKCWmb}*qgs5JoZGPXG3>|Z3yc@Gc`k|*-kBQTZo3QBr2EPA zv%c56;+g8RaIelset2#7Hpn4xLydvDO3%KcK5)bg&7$8TR{-97od>D+P;l-V2oXhp zZnq}2$`vGOY(&9GXabnIkH-P0r}#DWP|j)&nr)pq9cb;Zt6|bEUS`pCdJS^N<9u?UoA2LQWf=O=tUnB8>9`1 z-WdnbM(0hPzqac2W3cnk=&|H*)+%!p1^8yWFQ%$52i4rHR%zlhkB-TJr;zG|hXLSC zS6U`+@mWrd2%%ewcQ?x(G~7Cs+;#ZVUa-y5&ft3N?oNmDbui1c-@LxIw2Q2?pSIla zN^rxwJ?91J$sD!=ILFo|wFWvn_Uj>eoa-h8*nVV`S+U%0f49o5?&^?!#vdTkyE>Rd z^$^+XVr>Fo(YaqS@UaB|n<6dLW^^UkE0!6|GBo_LZpJlj>QtH_kX>Tth+@8s;(V{W zP~TX-xBs}2Da7jb76?oC(PlQ5-t{?z=d0B5A{^P%p24lXr%Uy&+g2GIt?K$v!K*M^ zkgVP^kbIJ?E)e<2;@{wl)M|*t*l8Su)g5YMfxI-syDrpmNv6aM#I>IA&knYs(;Hlc zyAg`;p4aG9*Ep`)MWWMmwSIQXX;YT0GYx>OusOb{{mEC&yDo^*b?_p9B0pHWlM{s< zCwP0$6vq7vC$bf?JwjB?^^#IT9U(bts=#`87HCulh||2eq^s)ldA~U*#p1TjjIbF{ z^>%KHX@0HYC7D(L60&=@B>)H_p;@F1he6Pwb%sGw1uZD1TXed?XhB_Y;3WmkPp^X#jxl=0&uWr%q;}-JA zJ9l_ckAEW%|9FAiB<{)@fJukH25JsYaXh~<|L^FSgU~KQfer@tNDBr=@-Ip{C;1SP z0CnN~F%MdVshiP+=M%p=XWA>Em6MZGqUfLfG-s=xgX%B$ zp1T0RgR`=ryad8a5z2$B2%cnSJ_leH7k~%(9Jv+9Bte=>W1dt@ z3wvXcOQvWVS>~o1>9l7%8;Y4rR7fizemJG!qxH)=!UxG7J`b(%M1Xss>{j4}HuaDr z>?pzpDIVDsE-kz~b!@-MAQRq}?yfzm3eyN>KMbBZ5jR?#BQH(nYnFsL>BtQg_~e1h zPc9*8fWD7;E5IH=WL)HgKfCpOM-D54ghC#G7N+LI~g*QTLG&TG`_}moaLX;BJ)wQj+QE zeK#nce-drbUe+hl2xwq0fkvb&MHCtYWI9PLfKbHQ1`}@KT=}B7BHt#OLOyU2Se~HN1-hKD6L3v0!o- z7GBL(75R2Gbqs>WeU9KuT|IyL%r5RdS_x)`FlnNm@rNv`Ls;%5{@! z==<8~ zc*tblg3D>QwiavQRztJ|BwVTNrr{uP|MnMZl4Gy5JMpA2QF-QUj+3`%xg;y&-ScN; zFGs;h4E{ugPL`?TJSz>6O!L{yM2F?5cgLKwcgFR)g7V~UmJP;i#44kBYpgH3Eql&R zMK9J9T!dG84y}CagoM9j#hC}YDkB%FcC&RndrB?~tqsOEzcB}S;K&md{V2yKB{BE; zsUkieYYB^=oP1i3%}HabMvSeRhDO~Kp2oAC2Y2kHm7bdc{SyfMh{B&R%%3`dVI*a|rALczYYP_#TLY;i}=d;Eok>NWs37Ak9b+ zNXW;y)w5K9#goz`lS`^nbCPa4eZ_XU<>s$dKO6sRqhkwc0$4a!%&c>@uX(RbpP`UWOWycTyxT&}vbSWlfF?Bi;AyLH??5Tv$v>1L@cZETn})5A{N zqpQcJwYq2bhK(3L}JvAn?T?Qzk5Tf(@`Qj!DK!RLu0OM=T}Xo zaceaIHqo)@;xHc1_4|Ih&8^<}WSdhNgLyTA)Z9JGNOQ3%_dU1 zPtmcdUcrh57!rt$FJ9%Au2j;n(l1nV$jK$k5NAnf$jPW79v!_3Cmdlvxxb2#_GqlrxJQBWlxD1g zaWv`;WTrI}J_`y?tb5C8`7L$D9`qOr6j`3S8Q83a!0>(Lv3|Amatigyz;A#XOoyuw zv(#@k%A1F{�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 HgjfFqgbfqn diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e640724ad..22172ad59 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Fri Sep 21 11:31:02 MDT 2018 +#Wed Jul 02 15:54:47 CDT 2014 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.5.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.0-bin.zip diff --git a/gradlew b/gradlew index 4453ccea3..91a7e269e 100755 --- a/gradlew +++ b/gradlew @@ -1,4 +1,4 @@ -#!/usr/bin/env sh +#!/usr/bin/env bash ############################################################################## ## @@ -6,30 +6,12 @@ ## ############################################################################## -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" - # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" @@ -48,7 +30,6 @@ die ( ) { cygwin=false msys=false darwin=false -nonstop=false case "`uname`" in CYGWIN* ) cygwin=true @@ -59,11 +40,31 @@ case "`uname`" in MINGW* ) msys=true ;; - NONSTOP* ) - nonstop=true - ;; esac +# For Cygwin, ensure paths are in UNIX format before anything is touched. +if $cygwin ; then + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` +fi + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >&- +APP_HOME="`pwd -P`" +cd "$SAVED" >&- + CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. @@ -89,7 +90,7 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then MAX_FD_LIMIT=`ulimit -H -n` if [ $? -eq 0 ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then @@ -113,7 +114,6 @@ fi if $cygwin ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` @@ -154,19 +154,11 @@ if $cygwin ; then esac fi -# Escape application args -save ( ) { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") } -APP_ARGS=$(save "$@") +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong -if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then - cd "$(dirname "$0")" -fi - -exec "$JAVACMD" "$@" +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat index e95643d6a..aec99730b 100755 --- a/gradlew.bat +++ b/gradlew.bat @@ -8,14 +8,14 @@ @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + set DIRNAME=%~dp0 if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome @@ -46,9 +46,10 @@ echo location of your Java installation. goto fail :init -@rem Get command-line arguments, handling Windows variants +@rem Get command-line arguments, handling Windowz variants if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args :win9xME_args @rem Slurp the command line arguments. @@ -59,6 +60,11 @@ set _SKIP=2 if "x%~1" == "x" goto execute set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ :execute @rem Setup the command line diff --git a/src/main/java/api/hbm/energy/IBatteryItem.java b/src/main/java/api/hbm/energy/IBatteryItem.java index e0e72362d..528e5bb87 100644 --- a/src/main/java/api/hbm/energy/IBatteryItem.java +++ b/src/main/java/api/hbm/energy/IBatteryItem.java @@ -4,7 +4,7 @@ import net.minecraft.item.ItemStack; public interface IBatteryItem { - public void chargeBattery(ItemStack stack, long i); + public void chargeBattery(ItemStack stack, long i); public void setCharge(ItemStack stack, long i); public void dischargeBattery(ItemStack stack, long i); public long getCharge(ItemStack stack); diff --git a/src/main/java/assets/hbm/textures/gui/weapon/fstbmbSchematic.png b/src/main/java/assets/hbm/textures/gui/weapon/fstbmbSchematic.png new file mode 100644 index 0000000000000000000000000000000000000000..2fd17d9c7ef225f3df0a866ecb5690aa91462271 GIT binary patch literal 5580 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 literal 0 HcmV?d00001 diff --git a/src/main/java/com/hbm/blocks/test/TestEventTester.java b/src/main/java/com/hbm/blocks/test/TestEventTester.java index 010d7e1c6..25aea7d1a 100644 --- a/src/main/java/com/hbm/blocks/test/TestEventTester.java +++ b/src/main/java/com/hbm/blocks/test/TestEventTester.java @@ -8,6 +8,8 @@ import java.util.Map.Entry; import com.hbm.blocks.ModBlocks; import com.hbm.entity.effect.EntityCloudTom; +import com.hbm.explosion.ExplosionNT; +import com.hbm.explosion.ExplosionNT.ExAttrib; import com.hbm.saveddata.RadiationSavedData; import net.minecraft.block.Block; @@ -376,10 +378,19 @@ public class TestEventTester extends Block { worldObj.spawnEntityInWorld(entityfallingblock); }*/ - if(!worldObj.isRemote) { + /*if(!worldObj.isRemote) { EntityCloudTom tom = new EntityCloudTom(worldObj, 100); tom.setPosition(par2 + 0.5, par3 + 2, par4 + 0.5); worldObj.spawnEntityInWorld(tom); + }*/ + + if(!worldObj.isRemote) { + + worldObj.setBlockToAir(par2, par3, par4); + ExplosionNT ex = new ExplosionNT(worldObj, null, par2 + 0.5, par3 + 2, par4 + 0.5, 5); + ex.addAttrib(ExAttrib.ALLDROP); + ex.doExplosionA(); + ex.doExplosionB(false); } return true; diff --git a/src/main/java/com/hbm/explosion/ExplosionNT.java b/src/main/java/com/hbm/explosion/ExplosionNT.java new file mode 100644 index 000000000..eaf55153a --- /dev/null +++ b/src/main/java/com/hbm/explosion/ExplosionNT.java @@ -0,0 +1,288 @@ +package com.hbm.explosion; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Random; +import java.util.Set; + +import com.hbm.blocks.ModBlocks; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.enchantment.EnchantmentProtection; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityTNTPrimed; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.ChunkPosition; +import net.minecraft.world.Explosion; +import net.minecraft.world.World; + +public class ExplosionNT extends Explosion { + + public Set atttributes = new HashSet(); + + private Random explosionRNG = new Random(); + private World worldObj; + protected int field_77289_h = 16; + protected Map affectedEntities = new HashMap(); + + public ExplosionNT(World world, Entity exploder, double x, double y, double z, float strength) { + super(world, exploder, x, y, z, strength); + this.worldObj = world; + } + + public ExplosionNT addAttrib(ExAttrib attrib) { + atttributes.add(attrib); + return this; + } + + public void doExplosionA() + { + float f = this.explosionSize; + HashSet hashset = new HashSet(); + int i; + int j; + int k; + double d5; + double d6; + double d7; + + for (i = 0; i < this.field_77289_h; ++i) + { + for (j = 0; j < this.field_77289_h; ++j) + { + for (k = 0; k < this.field_77289_h; ++k) + { + if (i == 0 || i == this.field_77289_h - 1 || j == 0 || j == this.field_77289_h - 1 || k == 0 || k == this.field_77289_h - 1) + { + double d0 = (double)((float)i / ((float)this.field_77289_h - 1.0F) * 2.0F - 1.0F); + double d1 = (double)((float)j / ((float)this.field_77289_h - 1.0F) * 2.0F - 1.0F); + double d2 = (double)((float)k / ((float)this.field_77289_h - 1.0F) * 2.0F - 1.0F); + double d3 = Math.sqrt(d0 * d0 + d1 * d1 + d2 * d2); + d0 /= d3; + d1 /= d3; + d2 /= d3; + float f1 = this.explosionSize * (0.7F + this.worldObj.rand.nextFloat() * 0.6F); + d5 = this.explosionX; + d6 = this.explosionY; + d7 = this.explosionZ; + + for (float f2 = 0.3F; f1 > 0.0F; f1 -= f2 * 0.75F) + { + int j1 = MathHelper.floor_double(d5); + int k1 = MathHelper.floor_double(d6); + int l1 = MathHelper.floor_double(d7); + Block block = this.worldObj.getBlock(j1, k1, l1); + + if (block.getMaterial() != Material.air) + { + float f3 = this.exploder != null ? this.exploder.func_145772_a(this, this.worldObj, j1, k1, l1, block) : block.getExplosionResistance(this.exploder, worldObj, j1, k1, l1, explosionX, explosionY, explosionZ); + f1 -= (f3 + 0.3F) * f2; + } + + if (f1 > 0.0F && (this.exploder == null || this.exploder.func_145774_a(this, this.worldObj, j1, k1, l1, block, f1))) + { + hashset.add(new ChunkPosition(j1, k1, l1)); + } + + d5 += d0 * (double)f2; + d6 += d1 * (double)f2; + d7 += d2 * (double)f2; + } + } + } + } + } + + this.affectedBlockPositions.addAll(hashset); + + if(!has(ExAttrib.NOHURT)) { + + this.explosionSize *= 2.0F; + i = MathHelper.floor_double(this.explosionX - (double)this.explosionSize - 1.0D); + j = MathHelper.floor_double(this.explosionX + (double)this.explosionSize + 1.0D); + k = MathHelper.floor_double(this.explosionY - (double)this.explosionSize - 1.0D); + int i2 = MathHelper.floor_double(this.explosionY + (double)this.explosionSize + 1.0D); + int l = MathHelper.floor_double(this.explosionZ - (double)this.explosionSize - 1.0D); + int j2 = MathHelper.floor_double(this.explosionZ + (double)this.explosionSize + 1.0D); + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this.exploder, AxisAlignedBB.getBoundingBox((double)i, (double)k, (double)l, (double)j, (double)i2, (double)j2)); + net.minecraftforge.event.ForgeEventFactory.onExplosionDetonate(this.worldObj, this, list, this.explosionSize); + Vec3 vec3 = Vec3.createVectorHelper(this.explosionX, this.explosionY, this.explosionZ); + + for (int i1 = 0; i1 < list.size(); ++i1) + { + Entity entity = (Entity)list.get(i1); + double d4 = entity.getDistance(this.explosionX, this.explosionY, this.explosionZ) / (double)this.explosionSize; + + if (d4 <= 1.0D) + { + d5 = entity.posX - this.explosionX; + d6 = entity.posY + (double)entity.getEyeHeight() - this.explosionY; + d7 = entity.posZ - this.explosionZ; + double d9 = (double)MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7); + + if (d9 != 0.0D) + { + d5 /= d9; + d6 /= d9; + d7 /= d9; + double d10 = (double)this.worldObj.getBlockDensity(vec3, entity.boundingBox); + double d11 = (1.0D - d4) * d10; + entity.attackEntityFrom(DamageSource.setExplosionSource(this), (float)((int)((d11 * d11 + d11) / 2.0D * 8.0D * (double)this.explosionSize + 1.0D))); + double d8 = EnchantmentProtection.func_92092_a(entity, d11); + entity.motionX += d5 * d8; + entity.motionY += d6 * d8; + entity.motionZ += d7 * d8; + + if (entity instanceof EntityPlayer) + { + this.affectedEntities.put((EntityPlayer)entity, Vec3.createVectorHelper(d5 * d11, d6 * d11, d7 * d11)); + } + } + } + } + + this.explosionSize = f; + } + } + + public void doExplosionB(boolean p_77279_1_) + { + this.worldObj.playSoundEffect(this.explosionX, this.explosionY, this.explosionZ, "random.explode", 4.0F, (1.0F + (this.worldObj.rand.nextFloat() - this.worldObj.rand.nextFloat()) * 0.2F) * 0.7F); + + if (!has(ExAttrib.NOPARTICLE)) { + if (this.explosionSize >= 2.0F && this.isSmoking) + { + this.worldObj.spawnParticle("hugeexplosion", this.explosionX, this.explosionY, this.explosionZ, 1.0D, 0.0D, 0.0D); + } + else + { + this.worldObj.spawnParticle("largeexplode", this.explosionX, this.explosionY, this.explosionZ, 1.0D, 0.0D, 0.0D); + } + } + + Iterator iterator; + ChunkPosition chunkposition; + int i; + int j; + int k; + Block block; + + if (this.isSmoking) + { + iterator = this.affectedBlockPositions.iterator(); + + while (iterator.hasNext()) + { + chunkposition = (ChunkPosition)iterator.next(); + i = chunkposition.chunkPosX; + j = chunkposition.chunkPosY; + k = chunkposition.chunkPosZ; + block = this.worldObj.getBlock(i, j, k); + + if (!has(ExAttrib.NOPARTICLE)) + { + double d0 = (double)((float)i + this.worldObj.rand.nextFloat()); + double d1 = (double)((float)j + this.worldObj.rand.nextFloat()); + double d2 = (double)((float)k + this.worldObj.rand.nextFloat()); + double d3 = d0 - this.explosionX; + double d4 = d1 - this.explosionY; + double d5 = d2 - this.explosionZ; + double d6 = (double)MathHelper.sqrt_double(d3 * d3 + d4 * d4 + d5 * d5); + d3 /= d6; + d4 /= d6; + d5 /= d6; + double d7 = 0.5D / (d6 / (double)this.explosionSize + 0.1D); + d7 *= (double)(this.worldObj.rand.nextFloat() * this.worldObj.rand.nextFloat() + 0.3F); + d3 *= d7; + d4 *= d7; + d5 *= d7; + this.worldObj.spawnParticle("explode", (d0 + this.explosionX * 1.0D) / 2.0D, (d1 + this.explosionY * 1.0D) / 2.0D, (d2 + this.explosionZ * 1.0D) / 2.0D, d3, d4, d5); + this.worldObj.spawnParticle("smoke", d0, d1, d2, d3, d4, d5); + } + + if (block.getMaterial() != Material.air) + { + if (block.canDropFromExplosion(this)) + { + float chance = 1.0F; + + if(!has(ExAttrib.ALLDROP)) + chance = 1.0F / this.explosionSize; + + block.dropBlockAsItemWithChance(this.worldObj, i, j, k, this.worldObj.getBlockMetadata(i, j, k), chance, 0); + } + + block.onBlockExploded(this.worldObj, i, j, k, this); + } + } + } + + if(has(ExAttrib.FIRE) || has(ExAttrib.BALEFIRE) || has(ExAttrib.LAVA)) + { + iterator = this.affectedBlockPositions.iterator(); + + while (iterator.hasNext()) + { + chunkposition = (ChunkPosition)iterator.next(); + i = chunkposition.chunkPosX; + j = chunkposition.chunkPosY; + k = chunkposition.chunkPosZ; + block = this.worldObj.getBlock(i, j, k); + Block block1 = this.worldObj.getBlock(i, j - 1, k); + + boolean shouldReplace = true; + + if(!has(ExAttrib.ALLMOD)) + shouldReplace = this.explosionRNG.nextInt(3) == 0; + + if (block.getMaterial() == Material.air && block1.func_149730_j() && shouldReplace) + { + if(has(ExAttrib.FIRE)) + this.worldObj.setBlock(i, j, k, Blocks.fire); + else if(has(ExAttrib.BALEFIRE)) + this.worldObj.setBlock(i, j, k, ModBlocks.balefire); + else if(has(ExAttrib.LAVA)) + this.worldObj.setBlock(i, j, k, Blocks.flowing_lava); + } + } + } + } + + public Map func_77277_b() + { + return this.affectedEntities; + } + + public EntityLivingBase getExplosivePlacedBy() + { + return this.exploder == null ? null : (this.exploder instanceof EntityTNTPrimed ? ((EntityTNTPrimed)this.exploder).getTntPlacedBy() : (this.exploder instanceof EntityLivingBase ? (EntityLivingBase)this.exploder : null)); + } + + //unconventional name, sure, but it's short + public boolean has(ExAttrib attrib) { + return this.atttributes.contains(attrib); + } + + //this solution is a bit hacky but in the end easier to work with + public static enum ExAttrib { + FIRE, //classic vanilla fire explosion + BALEFIRE, //same with but with balefire + LAVA, //again the same thing but lava + ALLMOD, //block placer attributes like fire are applied for all destroyed blocks + ALLDROP, //miner TNT! + NOPARTICLE, + NOHURT + } + +} diff --git a/src/main/java/com/hbm/interfaces/Spaghetti.java b/src/main/java/com/hbm/interfaces/Spaghetti.java index e6a20e2c2..eb9542b6f 100644 --- a/src/main/java/com/hbm/interfaces/Spaghetti.java +++ b/src/main/java/com/hbm/interfaces/Spaghetti.java @@ -5,4 +5,4 @@ package com.hbm.interfaces; public @interface Spaghetti { public String value(); -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/lib/Library.java b/src/main/java/com/hbm/lib/Library.java index 28a4feb6d..6c83bcf36 100644 --- a/src/main/java/com/hbm/lib/Library.java +++ b/src/main/java/com/hbm/lib/Library.java @@ -440,14 +440,13 @@ public class Library { return power; } - //TODO: jesus christ + //TODO: jesus christ kill it //Flut-Füll gesteuerter Energieübertragungsalgorithmus //Flood fill controlled energy transmission algorithm public static void ffgeua(int x, int y, int z, boolean newTact, ISource that, World worldObj) { Block block = worldObj.getBlock(x, y, z); TileEntity tileentity = worldObj.getTileEntity(x, y, z); - //TODO: transition multiblocks to use the XR mutliblock handler so this spaghetti trash becomes obsolete //Factories if(block == ModBlocks.factory_titanium_conductor && worldObj.getBlock(x, y + 1, z) == ModBlocks.factory_titanium_core) {