Jump to content

DePhoegon

Members
  • Posts

    55
  • Joined

  • Last visited

Everything posted by DePhoegon

  1. To be clear This is produced (For me) when I have openJDK 16 installed, and my product gets built using Corretto 16 -- That it will work (once I set the project JDK to openJDK 16, & delete the build folder contents, before attempting to rerun runClient.. then works as expected) I saw errors like this on my attempts on my surface pro (this is gotten from my desktop just now), but I also saw others where files (within the build folder) where utterly full of 'null' characters. = Can not reproduce that on this system, atm. *edit - the prepare client output just in case. C:\Users\kphoe\.jdks\corretto-16.0.2\bin\java.exe -Dforge.logging.console.level=debug -Dforge.logging.markers=REGISTRIES -DlegacyClassPath.file=C:\Users\kphoe\OneDrive\MineCraft\Mods\1.17.1\build\classpath\runClient_minecraftClasspath.txt -DignoreList=bootstraplauncher,securejarhandler,asm-commons,asm-util,asm-analysis,asm-tree,asm,client-extra,fmlcore,javafmllanguage,mclanguage,forge- -DnativesDirectory=C:\Users\kphoe\OneDrive\MineCraft\Mods\1.17.1\build\natives -DmergeModules=jna-5.8.0.jar,jna-platform-58.0.jar,java-objc-bridge-1.0.0.jar -p C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\cpw.mods\bootstraplauncher\0.1.16\f1845ce8d483586f474620631621e0df30e1ccf\bootstraplauncher-0.1.16.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\cpw.mods\securejarhandler\0.9.46\63b520c4dad090d67dbe040bea47567534fe2722\securejarhandler-0.9.46.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm-commons\9.1\8b971b182eb5cf100b9e8d4119152d83e00e0fdd\asm-commons-9.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm-util\9.1\36464a45d871779f3383a8a9aba2b26562a86729\asm-util-9.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm-analysis\9.1\4f61b83b81d8b659958f4bcc48907e93ecea55a0\asm-analysis-9.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm-tree\9.1\c333f2a855069cb8eb17a40a3eb8b1b67755d0eb\asm-tree-9.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm\9.1\a99500cf6eea30535eeac6be73899d048f8d12a8\asm-9.1.jar --add-modules ALL-MODULE-PATH --add-opens java.base/java.util.jar=cpw.mods.securejarhandler --add-exports java.base/sun.security.util=cpw.mods.securejarhandler --add-exports jdk.naming.dns/com.sun.jndi.dns=java.naming -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump "-Dos.name=Windows 10" -Dos.version=10.0 "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2\lib\idea_rt.jar=55561:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\kphoe\OneDrive\MineCraft\Mods\1.17.1\build\classes\java\main;C:\Users\kphoe\OneDrive\MineCraft\Mods\1.17.1\build\resources\main;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.jetbrains\annotations\21.0.1\3d8aebff2ddbcdcfab2c29e5975fc4cdf3bb9640\annotations-21.0.1.jar;C:\Users\kphoe\.gradle\caches\forge_gradle\minecraft_user_repo\net\minecraftforge\forge\1.17.1-37.0.18_mapped_official_1.17.1\forge-1.17.1-37.0.18_mapped_official_1.17.1-recomp.jar;C:\Users\kphoe\.gradle\caches\forge_gradle\minecraft_repo\versions\1.17.1\client-extra.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\com.google.code.findbugs\jsr305\3.0.1\f7be08ec23c21485b9b5a1cf1654c2ec8c58168d\jsr305-3.0.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\ca.weblite\java-objc-bridge\1.0.0\6ef160c3133a78de015830860197602ca1c855d3\java-objc-bridge-1.0.0.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\net.minecraftforge\mergetool\1.1.3\d7d4b6eac7f49c59255c8ac25190802c29ac9a4a\mergetool-1.1.3-api.jar;C:\Users\kphoe\.gradle\caches\forge_gradle\mcp_repo\net\minecraft\mapping\1.17.1\mapping-1.17.1-mapping.zip;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\net.minecraftforge\fmlloader\1.17.1-37.0.18\404694f225a5ab1c86cbe8b06b766bc4dd407b66\fmlloader-1.17.1-37.0.18.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\cpw.mods\modlauncher\9.0.7\ebe8650527b513823874449e054db053b686b494\modlauncher-9.0.7.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.openjdk.nashorn\nashorn-core\15.1.1\e22ac5309286d33c0eeee8ff36c2cc709f2efec9\nashorn-core-15.1.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm-commons\9.1\8b971b182eb5cf100b9e8d4119152d83e00e0fdd\asm-commons-9.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm-util\9.1\36464a45d871779f3383a8a9aba2b26562a86729\asm-util-9.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm-analysis\9.1\4f61b83b81d8b659958f4bcc48907e93ecea55a0\asm-analysis-9.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm-tree\9.1\c333f2a855069cb8eb17a40a3eb8b1b67755d0eb\asm-tree-9.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm\9.1\a99500cf6eea30535eeac6be73899d048f8d12a8\asm-9.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\net.minecraftforge\accesstransformers\8.0.4\272d240aa73f42195b2a68e2ebd8b701ecf41f63\accesstransformers-8.0.4.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.antlr\antlr4-runtime\4.9.1\428664f05d2b7f7b7610204b5aa7c1763f62011a\antlr4-runtime-4.9.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\net.minecraftforge\fmlcore\1.17.1-37.0.18\64a73867892feff8cea646a1390871c563123ec8\fmlcore-1.17.1-37.0.18.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\net.minecraftforge\eventbus\5.0.3\f2317ed9d19271be8727a71ae3e5dfeb62715594\eventbus-5.0.3.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\net.minecraftforge\forgespi\4.0.9\d96ebb6e3437def178ec646185cd198bd5ebfd4b\forgespi-4.0.9.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\net.minecraftforge\coremods\5.0.1\386b00279628b105b2d507539c46e134e96f6237\coremods-5.0.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\net.minecraftforge\unsafe\0.2.0\54d7a0a5e8fdb71b973025caa46f341ae5904f39\unsafe-0.2.0.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\com.electronwill.night-config\toml\3.6.3\2b05b4d606c517da4d1a7b6d2b97d751c92887d7\toml-3.6.3.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\com.electronwill.night-config\core\3.6.3\c601bfeaeb2c0abe7aaa901b0bbe6d1beff49281\core-3.6.3.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.apache.maven\maven-artifact\3.8.1\114a2dd16c4c568bf0ca57719b83f2685dcc5734\maven-artifact-3.8.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-lang3\3.8.1\6505a72a097d9270f7a9e7bf42c4238283247755\commons-lang3-3.8.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\net.jodah\typetools\0.8.3\98f84f353457629e81cc6827224871b1a8faa7af\typetools-0.8.3.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\net.minecrell\terminalconsoleappender\1.2.0\96d02cd3b384ff015a8fef4223bcb4ccf1717c95\terminalconsoleappender-1.2.0.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-core\2.14.1\9141212b8507ab50a45525b545b39d224614528b\log4j-core-2.14.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-api\2.14.1\cd8858fbbde69f46bce8db1152c18a43328aae78\log4j-api-2.14.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.jline\jline-reader\3.12.1\4382ab1382c7b6f379377ed5f665dc2f6e1218bc\jline-reader-3.12.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.jline\jline-terminal\3.12.1\c777448314e050d980a6b697c140f3bfe9eb7416\jline-terminal-3.12.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\net.sf.jopt-simple\jopt-simple\5.0.4\4fdac2fbe92dfad86aa6e9301736f6b4342a3f5c\jopt-simple-5.0.4.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\com.google.guava\guava\21.0\3a3d111be1be1b745edfa7d91678a12d7ed38709\guava-21.0.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\com.google.code.gson\gson\2.8.0\c4ba5371a29ac9b2ad6129b1d39ea38750043eff\gson-2.8.0.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\cpw.mods\bootstraplauncher\0.1.16\f1845ce8d483586f474620631621e0df30e1ccf\bootstraplauncher-0.1.16.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\net.minecraftforge\javafmllanguage\1.17.1-37.0.18\47406b8c57457af2631e7fdef20ac428f43f6c7c\javafmllanguage-1.17.1-37.0.18.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\net.minecraftforge\mclanguage\1.17.1-37.0.18\e635712abafa06246a6b183bf3a2dacc8a06dca1\mclanguage-1.17.1-37.0.18.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-slf4j18-impl\2.14.1\312b4d91b21160b9fab43600fa787f31e8cab930\log4j-slf4j18-impl-2.14.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\com.mojang\blocklist\1.0.5\9da540f21c9a8d5ed7c029e1f88d1a6dabb0d6ad\blocklist-1.0.5.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\com.mojang\patchy\2.1.6\ce112c16c6275fdfff2d30208533ec906a191f71\patchy-2.1.6.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\com.github.oshi\oshi-core\5.7.5\725374463734aacde70a3b20f018aca3f922655f\oshi-core-5.7.5.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\net.java.dev.jna\jna-platform\5.8.0\2f12f6d7f7652270d13624cef1b82d8cd9a5398e\jna-platform-5.8.0.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\net.java.dev.jna\jna\5.8.0\3551d8d827e54858214107541d3aff9c615cb615\jna-5.8.0.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\1.8.0-beta4\83b0359d847ee053d745be7ec0d8e9e8a44304b4\slf4j-api-1.8.0-beta4.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\com.ibm.icu\icu4j\66.1\72c7519b6d91f7a1f993bd44a99fe95d67211b27\icu4j-66.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\com.mojang\javabridge\1.1.23\3e5084d916ba393dfd82928ec97663aeb10b2e2c\javabridge-1.1.23.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\io.netty\netty-all\4.1.25.Final\d0626cd3108294d1d58c05859add27b4ef21f83b\netty-all-4.1.25.Final.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\commons-io\commons-io\2.5\2852e6e05fbb95076fc091f6d1780f1f8fe35e0f\commons-io-2.5.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpclient\4.3.3\18f4247ff4572a074444572cee34647c43e7c9c7\httpclient-4.3.3.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\commons-codec\commons-codec\1.10\4b95f4897fa13f2cd904aee711aeafc0c5295cd8\commons-codec-1.10.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\net.java.jinput\jinput\2.0.5\39c7796b469a600f72380316f6b1f11db6c2c7c4\jinput-2.0.5.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\net.java.jutils\jutils\1.0.0\e12fe1fda814bd348c1579329c86943d2cd3c6a6\jutils-1.0.0.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\com.mojang\brigadier\1.0.18\c1ef1234282716483c92183f49bef47b1a89bfa9\brigadier-1.0.18.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\com.mojang\datafixerupper\4.0.26\ebd6690f33871ccee9b6132c6480668ee2e35020\datafixerupper-4.0.26.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\com.mojang\authlib\2.3.31\bbd00ca33b052f73a6312254780fc580d2da3535\authlib-2.3.31.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-compress\1.8.1\a698750c16740fd5b3871425f4cb3bbaa87f529d\commons-compress-1.8.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\commons-logging\commons-logging\1.1.3\f6f66e966c70a83ffbdb6f17a0919eaf7c8aca7f\commons-logging-1.1.3.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpcore\4.3.2\31fbbff1ddbf98f3aa7377c94d33b0447c646b6e\httpcore-4.3.2.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\it.unimi.dsi\fastutil\8.2.1\5ad88f325e424f8dbc2be5459e21ea5cab3864e9\fastutil-8.2.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-jemalloc\3.2.2\ee8e57a79300f78294576d87c4a587f8c99402e2\lwjgl-jemalloc-3.2.2.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-openal\3.2.2\2b772a102b0a11ee5f2109a5b136f4dc7c630827\lwjgl-openal-3.2.2.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-opengl\3.2.2\6ac5bb88b44c43ea195a570aab059f63da004cd8\lwjgl-opengl-3.2.2.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-glfw\3.2.2\d3ad4df38e400b8afba1de63f84338809399df5b\lwjgl-glfw-3.2.2.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-stb\3.2.2\3b8e6ebc5851dd3d17e37e5cadce2eff2a429f0f\lwjgl-stb-3.2.2.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-tinyfd\3.2.2\fcbe606c8f8da6f8f9a05e2c540eb1ee8632b0e9\lwjgl-tinyfd-3.2.2.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl\3.2.2\8ad6294407e15780b43e84929c40e4c5e997972e\lwjgl-3.2.2.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\com.mojang\text2speech\1.11.3\f378f889797edd7df8d32272c06ca80a1b6b0f58\text2speech-1.11.3.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.antlr\antlr4\4.9.1\e92af8ab33e428461927b484e90bb155a4f3a052\antlr4-4.9.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.codehaus.plexus\plexus-utils\3.2.1\13b015768e0d04849d2794e4c47eb02d01a0de32\plexus-utils-3.2.1.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.antlr\ST4\4.3\92f2c1ad8d84abcbeead6cf7f2c53a04166293c2\ST4-4.3.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.antlr\antlr-runtime\3.5.2\cd9cd41361c155f3af0f653009dcecb08d8b4afd\antlr-runtime-3.5.2.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.abego.treelayout\org.abego.treelayout.core\1.0.3\457216e8e6578099ae63667bb1e4439235892028\org.abego.treelayout.core-1.0.3.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.glassfish\javax.json\1.0.4\3178f73569fd7a1e5ffc464e680f7a8cc784b85a\javax.json-1.0.4.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\cpw.mods\securejarhandler\0.9.48\aae44568f7e798c057e0ef0a7f099bc41336f4b9\securejarhandler-0.9.48.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-jemalloc\3.2.2\338b25b99da3ba5f441f6492f2ce2a9c608860ed\lwjgl-jemalloc-3.2.2-natives-windows.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-openal\3.2.2\ec20a7d42a2438528fca87e60b1705f1e2339ddb\lwjgl-openal-3.2.2-natives-windows.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-opengl\3.2.2\d8dcdc91066cae2d2d8279cb4a9f9f05d9525826\lwjgl-opengl-3.2.2-natives-windows.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-glfw\3.2.2\dc6826d636bf796b33a49038c354210e661bfc17\lwjgl-glfw-3.2.2-natives-windows.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-stb\3.2.2\811f705cbb29e8ae8d60bdf8fdd38c0c123ad3ef\lwjgl-stb-3.2.2-natives-windows.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-tinyfd\3.2.2\e9115958773644e863332a6a06488d26f9e1fc9f\lwjgl-tinyfd-3.2.2-natives-windows.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl\3.2.2\5359f3aa50d36352815fc662ea73e1c00d22170\lwjgl-3.2.2-natives-windows.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\com.mojang\text2speech\1.11.3\c0b242c0091be5acbf303263c7eeeaedd70544c7\text2speech-1.11.3-natives-windows.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\net.minecraftforge\srgutils\0.4.3\84aecb8fc78bd0dd7299bd9963ac9eb83bd00aad\srgutils-0.4.3.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\net.java.jinput\jinput-platform\2.0.5\7ff832a6eb9ab6a767f1ade2b548092d0fa64795\jinput-platform-2.0.5-natives-linux.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\net.java.jinput\jinput-platform\2.0.5\53f9c919f34d2ca9de8c51fc4e1e8282029a9232\jinput-platform-2.0.5-natives-osx.jar;C:\Users\kphoe\.gradle\caches\modules-2\files-2.1\net.java.jinput\jinput-platform\2.0.5\385ee093e01f587f30ee1c8a2ee7d408fd732e16\jinput-platform-2.0.5-natives-windows.jar cpw.mods.bootstraplauncher.BootstrapLauncher --launchTarget forgeclientuserdev --version MOD_DEV --assetIndex 1.17 --assetsDir C:\Users\kphoe\.gradle\caches\forge_gradle\assets --gameDir . --fml.forgeVersion 37.0.18 --fml.mcVersion 1.17.1 --fml.forgeGroup net.minecraftforge --fml.mcpVersion 20210706.113038 Exception in thread "main" java.lang.IllegalArgumentException: : Invalid module name: '' is not a Java identifier at java.base/jdk.internal.module.Checks.requireModuleName(Checks.java:59) at java.base/java.lang.module.ModuleDescriptor$Builder.<init>(ModuleDescriptor.java:1523) at java.base/java.lang.module.ModuleDescriptor.newAutomaticModule(ModuleDescriptor.java:2405) at cpw.mods.securejarhandler@0.9.46/cpw.mods.jarhandling.impl.SimpleJarMetadata.descriptor(SimpleJarMetadata.java:13) at cpw.mods.securejarhandler@0.9.46/cpw.mods.jarhandling.impl.Jar.computeDescriptor(Jar.java:50) at cpw.mods.securejarhandler@0.9.46/cpw.mods.cl.JarModuleFinder$JarModuleReference.<init>(JarModuleFinder.java:50) at cpw.mods.securejarhandler@0.9.46/cpw.mods.cl.JarModuleFinder.lambda$new$0(JarModuleFinder.java:28) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) at cpw.mods.securejarhandler@0.9.46/cpw.mods.cl.JarModuleFinder.<init>(JarModuleFinder.java:29) at cpw.mods.securejarhandler@0.9.46/cpw.mods.cl.JarModuleFinder.of(JarModuleFinder.java:43) at cpw.mods.bootstraplauncher@0.1.16/cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:80) Process finished with exit code 1 runClient_minecraftClasspath.txt
  2. I just recently found this out when I caught my Surface pro (2017) up software wise. BUG: (atleast in intellij) if your systems default jdk is Oracle JDK 16.x(openJDK 16) & your project is set to just Amazon Corretto 16.. that even when it is 'downloaded & installed' build client will completely & utterly glitch out. Even if the project is rebuilt & re-indexed afterwords. I am not entirely sure this is a purely IDE issue, but would bring it up & unsure if it has been brought up before. -------------- The java builds, but once executed.... it produces an error code that results in files having 'null values'.
  3. ..... I'm not going to talk about it. >.> I genuinely do not fully get this | () -> | thing. Guess the Supplier<BlockState> got me mislead & 'functional Interface' didn't clue me in either. Any reading resources to help better understand that, It's never truly made sense to me. I only get nameless inline function. ============== Yes, I'm still new to java &.. I've been learning by taking the preassembled code apart & studying it, as I can.. and obviously I know I'm missing the finer parts.. but I'm not leaving those unforgotten either. ++++++++++++ As for what I thought I say.. hell if I bloody know now. The text is coming out the same. Perhaps I was just seeing things from stress or I don't understand what caused it to be visually larger & all capital when it did happen & can not reproduce it. Will keep an eye out, but bugger me sideways if I will find it again, knowingly. -- It went away when I switch to the final, and no idea what I did to cause or trigger it.
  4. Replace 'final' with 'static' [in all the locations for the tooltips] -- Pretty sure this was the issue, but what I can't figure out is ... why it was so inconsistent & why it produces different text size/style (ignoring the MOTD slash colorcodes influences) == pretty sure my thought process was it was static per container & given I was able to actually get it to take a value before (with the sand_slabs) I don't think I get what's really going on in that set of interactions. ~~ my only idea, and this is a shot in the dark is that not all of the blocks/items called from it had the tooltips, so the null over wrote... or maybe it was the last item item to set all of them ... IDK... it just doesn't seem to click, and all I know is 'static' was just wrong to use that way and produced ....abnormal results w/ no obvious errors flagged or shown. It gets inconsistent, the tooltip (when it does show) Shares the same property of the Base item name. -- It's larger & overall disjointed compared to regular tooltips (even colorized ones) The one you are showing is the one using 'final' instead (and is how I expected it to look for the load of mods tooltips, in regards to how the font is displayed) ---------- I'm up for naming conventions & to keep a standardized understanding >.> Though atm, I admit it's not my first focus. -- I'll get onto making sure it all is flowing correctly after I get more of the logic worked out. Ok, Since the only place (OnlyIn) was used was in the keyboards capture. What would the solution actually be? Since I clearly didn't understand how it's intended to be used, or what it does / does not do. ---- ATM, working at figuring out how to get a 'Supplier<BlockState>' from a Blockstate. (For stairs) I'd rather not use a deprecated method.. again. (maybe I do need to rework out I do block registration for this.. IDK)
  5. Have you even dug through the minecraft methods with the 1.17.1 (Forge) MDK? You're kinda coming off as if you ignored the question just to insult someone for how they wrote something down and don't understand what's actually going on. OnlyIn is actively used for Client side only behaviors, and has very legitimate server side applications as well. (as well as others, but I am not sure they are 'needed' or really able to use them for my purpose.) --- I really shouldn't need to tell you that attempting to capture the window for the Minecraft server will produce quite alot of problems. (which is exactly why I use it in getting the KB input) --- Further more.. The 'OnlyIn' that is in use is in | net.minecraftforge.api.distmarker | and isn't a native Java call in this context. Yes, Everything works.. With the exception of the ones from RotatedPillarBlock, and in such ways that it's not making sense. They work, and I'm more than open to being 'wrong' with how I do things, but I kinda know enough enough that 'while these methods are -weird-', they should work consistently with each other... and one working while another one doesn't is a sign something isn't setting right. _________________________ Taking the chance I likely defaulted to the wrong one without fully testing it[or under faulty logic] (using the IDE to suggest what it should be) [suggested final] Now what Bothers me .. is the inconsistent behavior, & this explains a tiny bit of what's going on with other seemingly ... weird MC behavior w/ text. -- Though honestly, What didn't make sense is that the sands, slabs, & general blocks worked (albeit with abnormal text for the subtext, for MC which didn't entirely seem right) but refused to work with the ones in the pillar blocks. Also, while I might be not understand what's 'acceptable' for MC in terms of 'Names', there might be issues at naming blocks too similarly to ones in the base game (Still testing) that out -- No seriously I think there might be somethin to this. Though really, you might not have been a self absorbed prick, and said something more along the lines of 'Are you sure you want to use 'static' in that String?' instead of coming off like someone who didn't read what was going on, and doesn't understand the point of the forum (Modding Minecraft w/ forge MDK) and attempting to say a method within that MDK shouldn't be touched, as if it was some forbidden Java code. Ya, I'm using a debugger... CONSTANTLY... build, test, dig through the logs/errors feed, and fixing what I see and am able to corrected & overlooked -- There is only so much an IDE can really do to 'guide'.. and Kinda why I asked if I was missing something or it was some bug because it Seemed to be working just fine for others & kicking back no errors either. -------- I also get the naming conventions, but I needed something that I could keep consistent & not step on my own damn'd toes ever 5 minutes. -- Ya, the conventions are their to help people keep aspects of the programing straight... not to be used as a tool for the anal to crack others on the head with. If you have a particular problem with how I did things, speak up or shove it. I'm more than willing to look at what I do and what others suggest might not be wise or not.. but shoving the equivalent of a book into my face without a singular word about 'what is what', is insulting, and utterly pointless.
  6. I'm just going to say, I don't get what you're going with that. --- --- This exists in the 'SandBlock', 'SlabBlock', & 'GenBlock' as well, and those ones function as intended. -- I don't get what's different, with this one. I'm partially sure I'm missing something obvious.. but I genuinely am being slightly bent out of shape about it. (mostly because it just doesn't seem to make sense to me as to the differences... and the only one I can figure out is that it's going through RotatedPillarBlock (built in class from the forge mdk of 1.17) [but that still goes back to the same block class as the others]
  7. GitHub - Axis Block GitHub - Slab Block What I can not figure out is 'why' the tooltips from the axiBlock (via Cut Sand Stones ) will not work, while the ones from directly & indirectly from Slab Block & GitHub - Energetic Slab. Also, for some reason, if the name for the Cut Sandstone & Cut Red Sandstone are anywhere close to it.. it seems to entirely confuse creative menu, and it seems to only have it's name if Doesn't start with cut (which I'm not entirely a fan of, as I would like them to have the same name.. but I am seeming to have problems with the RotatedPillarBlock in a way I'm not understanding. ---- I've worked to understand what's going on & even fuss through it, and rework logic (currently the major work was in the sand logic, expanding it to a class of 'energetic Slabs' to hold them up, and in such a way that it didn't matter lower, double, upper slab either. To expand design choices & limited the spider up through a energy sand [aka, color sand] -- would have just included the Override for MC sand (which worked, but had a nasty complication of 'world gen not including it, and not knowing how to replace the block correctly in the world gen. I would have replaced sand/red_sand in world with my versions, but I had also ran into complications around plants (cacti & dead bushes)... sooo that's a no go. =============================== *edit w10x64 Intellj
  8. I honestly, view it differently, but I can see how you'd classify what 'external' is. What bothered me is I got no errors from Intellij about what I did casting, or even warning about it. Though was just tired & used a try catch to get what the exact error was & why, then never cleaned it up. (well till recently) Umm 3Cntrl checks & 2 shift checks if all 3 tooltips are in use (or if shift & cntrl are used).. & 2 for either one. X.x umm perhaps I didn't plan it out & lead it to check each tooltip once, rather than keypressed >.> How embarrassing. Umm I think I may ahve got my minimizing backwards >>.>> woops. Don't be such a stick in the mud.. I did mean code to deal with 'Exogenous exceptions' >.> i'm sorry for getting that wrong.. Yes yes.. there is a reason I quadriple check anything I post as a 'guide' or informative, and have my anal friend look over for nitpicks. welll forge needs to fix that event handler, or I need to understand way more about it (likely the 2nd one), though I tend to build a tiny bit of caution, because at times I've found some stupid... in what I did when I review it for a sanity reason. X} --- gotten 100x better with naming conventions, X.X I'd show my batch code but the naming suxxx and it taught me to be cautious with values taken in, because I primarily dealt a stupid varierty of names on files/folders, and after more then a few days debugging something that broken 5 layers in because some rogue fucking name that caused an issue the 4th or 8th method/call/w.e, in because some / wasn't handled or some character that didn't bother the others got to it... ... putting some sanitation methods inside internal method calls is very close to breathing for myself. X} ol habits, and I still need to learn naming schemes better... it's proving easier to read & understand, and I am kinda sad it's taken me that long to use more understadning naming schemes.
  9. Just going to reply in order, snip bits.. snip bits drive me bitty. 1. perhaps a bit of premature optimization... though truth be told, I am done with that 'tooltip section' so I'd not want to leave it loose. 2. perhaps I don't understand the deeper methods of the keyboard hooks, and I assumed things that weren't true.. -- worth looking at, but honestly alot more so for understanding and curiosity sake. 3. You're just being nit picky and bitchy on the 'Item' object. I swapped it as soon as you brought it up (and tested it, I've just not had it commited yet, still on altcolor sand texture work atm) - to be frank i just didn't know about it or if I did wasn't on my mind. 4. I wasn't aware it was a 'forge' only thing, - Eh... It wasn't a 'crash', so much as a sudden 'controlled' shutdown of the game. ( I went to fix that as soon as I found out what did it) - Not my job to save other moders (in bad code), but it is mine to not leave an odd vulnerability up in the air. 5. Point taken on 'exogenous' code, It's something I have to work on & is why I'm doing what I'm doing... even if it doesn't seem like it is. I've actually done what I can to ensure the code I write is stable and functional X.x though That new method for blockstates for 'stairs' is still beating me around I need to look into it after I get this texture stuff done. also.. pretty stairs X} (heavy decoration theme with mine) https://1drv.ms/u/s!AhaK1Af-119XnsFu2cYGq670HI4APQ?e=MPQ4If (Left side is 'sand' & 'red sand' stairs, and the right is the minecraft smooth sandstone stairs for comparison) I'm a huge fan of how it looks and underwater build ideas for it. --------- Also I KNOW, there are unfinished textures.. that's what I'm working on atm.. X}
  10. Umm I didn't do it 'because it was faster' I asked it as an after thought, a curiosity ... nothing more. would you kindly not assume why I used the method. --- psst... I used try Catch when I was dead tired & to give feedback.. it wasn't meant as the end goal, though I should have noted to find the proper method later. Easier to read, maybe... but it's checking for KB inputs each game tick for that item... which isn't something I believe is helpful. -- This is likely a point of ... personal thought, I'd rather not have 4 kb checks a tick per item hovered over. (2 each for Shift & Cntrl) ~~ I prefer to minimize keyboard checking, though I will keep that in mind. also, I'm more the fan of null checks, but ... that's a preference thing honestly. Because .. This mod is made with intents of being with other mods, and I will fully admit I do not trust other mods and 'fake players', I don't know what will happen & haven't gotten my mod to a stage where I can viably test it in a variety pack with matters I'm worried about. -- what if a fake player is null, & a player entity, so it doesn't fail or cause MC issues, but will cause issues if it's used improperly. ~~~ I understand with vanilla, regular ol minecraft It's overkill & one check would be enough, or exclusion from a fake player I made (if I made one, which I am not the biggest fans of myself) "It would never fail in an unexpected way" .... Minecraft literally can crash because an event built for it will trigger on entities that can't be cast into the event for what it was intended for. A tiny bit of caution wouldn't go amis. -- also, I left room to a dynamic change to the logic. I know it's not final, and it's verbose at worst. eh, first thing I thought of if I where to be honest... use null object that can become the item compare to a specific thing. _- as well, object work straight out of the gate so I didn't bother to look for better. Changed it, as I'd rather keep logic sane enough X] -- still learning 'java' and dealing with mc moding, I honestly am relying on feed back from the IDE ALOT, ontop of research of things. ------------------------------- Oh, ya, going to x.x new post about .... stairs I need to figure out the 'other method' for them I can't seem to get it right. -atm I am using the Deprecated method.... but I barely understand it. [it's in the code, I'm working on altcolor sand textures.... then I'm going to give them the models in game & then the stairs.
  11. Well I figured, about the blind casting, just comes across as a potential problem, even if caught as it self still doesn't exactly solve the issue persay is just the logic of relying on the fail safe with known faults, rather then attempting to not use the faults. -- I had honestly not thought of instanceof (despite using it in the same file elsewhere, no excuse just likely exhausted when I did it) I was going to use instanceof, and hopefully test it in a variety pack near the end (checking to see if false players that smack things would trigger it, and how to avoid such things) -- this for later I suppose. proper methods trump shortcuts.. gotta work to see if i can figure out how to put stairs in, or what i'm not getting there. (got walls/fences/glass panes next... then of course all the supporting json for models, and teh textures.. but that's not done yet x})
  12. very true... something to consider. Now the question, which one is is better, speed wise. (i know it's far better not produce errors or exceptions if you can help it, and this is more a thought experiment) { target = (LivingEntity)event.getTarget(); } catch (Exception e) { } if (event.getTarget() instanceof (LivingEntity)) { target = (LivingEntity)event.getTarget(); } --- don't roast me on the instance of syntax, I've not actually written it out yet
  13. In order, X} 1. (Force class to load, as was explained) and was how it was shown.. I am up for 'changing it up' & optimizing it later, That's just the method that was shown. I want to optimize it later for sure. 2.o_hand -> is offhand I got sick to death of doing typos, and used it & m_hand for main hand ... (offhand is the shield slot typically) 2. .... actually [ target = (LivingEntity)event.getTarget(); ] inside of (AttackEntityEvent event) is 100% capable of causing an error. -- Try setting it up & smacking with any melee attack (fist or weapon) the following a. Any Minecart b. Any End Crystal c. Any Item Frame. d. Any Boat ---- it literally causes the game to close with an exception. All those things can both 'trigger the attackEntity event' and be inside the target of the player, which will cause an exception when cast into a (Living Entity), which was used to apply the potion effects... ~~ Strangely enough, a armor stand not only is uneffected by it, but can accept potions applied to it as well. 3. It does do something, It fails & does nothing, which means 'target' is null still, and no potion effects get applied to the target that was hit. --- which means, it prevents the game from being shut down from an unintended casting of a target into a living entity object (which is needed to apply potion effects on) 4. That's just nitpicking really, That's an old logic habit.... Some reason it slipped my mind, either way, (!(thing == thing)) same effect of (thing != thing) ---likely I honestly fell back into an old habit when inverse of true statement was my thought on that. 5. I know... It's not complete (i've not finished the blocks, as I'm working towards combat centric things, and I'm debating what I want to do with it) --- also, to note, I remember why I put try { atker = (LivingEntity)livi.getAttackingEntity(); } catch (Exception e) { } (for future use) things like minecarts & end crystals can harm the player & other entities, and that event fires when an entity get hurt.... and given I just got off of just randomly finding out that casting the target of my hit into a (living entity) object can cause fatal exceptions, it's there to 'do NOTHING' if that happens, and an prevent fatal exceptions from going off because of a weird entity causing damage that isn't a livingentity for some reason. ~~~ Yes I plan to use it later.. that was for an armor thing. 6. meh... Again alot of the primary page is tutorial code.... I left what was shown, and I'm learning what does what.. .and pruning what doesn't work. -- yes, it annoys me as well but that's not on the short list atm. 7. as for 'fall = falls' . I don't like doing that, as i prefer the geniune fallback if some unknown reason happens a valid variable gets assign (right or wrong) and prevents weird unknown errors. 8. The method is 100% straight forward It's just a nested if loop that of course tests each string once (effectively) and doesn't attempt to assign an empty tooltip. _NormToolTip Is on it w/ no shift or cntl held down (either one) _When shift or cntrl is held down, it shows the correct one. _When Shift & Cntrl are held down.. it shows Cntrl over Shift. ---- to be fair I actually didn't think to check for a method that checks if a string is empty. ~~~ It uses Exclusionary logic, but if you can think of a faster way of doing -normal tooltip (no keys held) -Shift Tooltip (either shift held) -Cntl ToolTip (either Cntrl held) -Cntl tooltip over Shift tooltip (when a Cntrl & Shift is held, either side) I'm all ears if you think you can do that faster and prevent it from using a null value.
  14. Ok... i got to admit, I am both thoroughly unsure and confused. I think we need a common understanding of where I am on my code & thinking.. I'll just share the github link of it. -- in aid/util/registration.java is where I am atm, and i currently have the overrides in ./block/sand/altcolor.java -- Mod Code I don't think I achieved the same spot, but perhaps this can help show 'how' I'm thinking about things, as I may not be grasping how you are phrasing things, or as easily I didn't communicate well enough and we don't aren't understanding the same intent, though I am grateful for your attempts at helping to say the least.
  15. I've found myself in a bit of a bind. my entire project suddenly failed to .. even work correctly, and the issue was somehow the java version was wrong. What's the officially supported java version? I'd rather not miss match & cause compatability issues. __ for reasons, I had to install amazons corretto v16 & it disrupted some system variables. I'd like to know which java version I assign inside of Intellj, so that I don't cause any issues. I just reassigned it to JetBrains 11... but knowing which one to match would be great, just incase settings barf up again for some reason.
  16. Thank you for that. I it also got me to re-examine a bit of 'my code' again, and I was able to cleanly insert it properly this time and actually UNDERSTAND what was doing what. Unsure if I should list the updated code I got from it, but in short effect I got the BLOCK & ITEM override sitting next to my actual ones, and it being called as intended. -- genuinely wish there was a better way to inject behavior into a block that was able to interact with tick void w/o having to recreate/override the block. while I did what I could to minimize any conflicts possible... I feel this can cause unexpected behavior if another mod recreates the same block(s) -my case, sand, red_sand, gravel ... for the gravity behavior.
  17. Then, Explain to me how to do the exact same thing in the correct way... as I've not seen hide nor hair of it of how to properly do it. For a very select few blocks, have a custom block class (say SandBlock or Gravelblock) with gravity override, and still retain the same namespace as if it wasn't there (minecraft:sand , as exampe) If you actually wanna be helpful, explain how that's done and actually explain things. It's clear I'm not sure how to pull it off with the same requirement checked off. -- Saying 'Don't do it that way' isn't helpful, when it's not clear how to do it 'the other way' & still achieve the same goal.
  18. Ok, I 'think' i get the angle. -- I also, have gotten some .. idea of how other special classes are .. structured from that same page. I feel as if there is an 'answer' in front of my face, and I'm not exactly connecting the dots. I am left wondering, 'Accessible from' my code, which implies a possibility of changing/overriding it and having the native code take it. -- or it just means I could use that object in my own registry, but I am confused as to what is & isn't useful . I can register those objects, but I am left with the requirements (assuming, basic override/injecting a subclass w/ behavior overrides) - That it still work & registered to the same namespace for the item & modid (minecraft & sand, in this case)for compatibility of all other aspects & interactions calling it else where. - That it clearly behaves with the additional override (this case, literally sticking to it self if a certain slab is sitting above it & it's all the same block to it) I feel actually kind of stupid, I can hold the object in a manner of speaking.. but I don't know what it'll take get it in there. [I have a 'solution' working, but I genuinely don't understand why it works exactly] Thank you for your time. I just have the feeling, I'm not looking at the pieces correctly and my way of thinking is ignoring an aspect that could lead to a far better understanding & solution. >.> i should let this roll around in my head like the sphere of an object it is, perhaps I am missing something extensively obvious .. but it'll show it self in time.
  19. perhaps the method you're going after is all wrong... like thinking a mechanically aligned & operated laser is the right tool for the job when a pair of scissors is better adjusted for opening your packages. I'm not the sharpest of a bunch.... but it sounds like you're after some world edit functionality, or extending the native commands in minecraft. perhaps rethinking what you're really doing with the tool, and exactly how ya using it might help you a bit. I'm sorta confused myself... if it's a wand tool that works as world edit.. and if it's purpose is to select two points & you call a command to be ran... Why don't you just store/modify the tooltip with a string of numbers? -- eh, far as I can know I would consider rethinking how an item is used, and limiting it to one item only (that otherwise isn't used for clicking on things. You know that you can separate the 'clicks' right? - a click, can 'delete' the prior data & store a new set of cords, - a 'Shift' click, could get 2nd cords, do it's thing... and delete the data as well. >.> if that's the thing, maybe consider setting up clear conditions 'after' it has done it's thing, & on each 'first' click before it stores new info.
  20. I showed you that code... it was this, and your 'complained' about the deferred register name, then went on about Objectholder (which to be fair was only there because the ONLY other example of doing this wasn't exactly knowledgeable as to what was happening or why. I'm trying to figure out why the following works, and the example wasn't exactly updated, so i had to use IDE feedback to get it to work properly, and I used setRegistryName as a way to prevent it from using my own name space.... -- To be clear i'm not sure what i did that caused it to work.. but it does Just to be clear This is sitting where the package says it's sitting. -mine are sitting in com.dephoegon.reclaim.... ---- Cut Example, faulty (functional, technically but not worth it.)
  21. From what I can .. gather, and I'm sure this is my confusion going on.. It has public Objects that are effectively the block registry calls. Wait? Would it be possible to actually override a public object, and have it use it? --- I'm not sure I understand, though the only bit I can honestly gather from that is a string name key, & the block object calling a new instance of a block (sand, log, etc) with properties defined in those block classes, which are often calling abstractblocks for properties, and extending special classes (like fallingblock) which tend to fall onto blocks, then abstract blocks themselves. perhaps I'm missing the forest for the trees (or missing the trees for the forest), but I'm not getting how you meant that.
  22. 1. I Don't get what you mean of the deferred Register .. but I'll show the 'altcolor()' one, as it's atm the smallest, with both something to register & uses the one I (sorta)understand as it is. [I had only snipped out the name of the itemgroup itself.] -far as I knew 'name' was legitimately a variable that got used by the actual self created entries, and a way to create the method (that atm, I've got a tiny grasp on) to register both the block & the item form of it. ~which I didn't actually think to hard on till about now. 1a. it of course gets called by my main class, which I'm still ... combing through ... still some tutorialized code & text in it.. but it's late on my list for understanding entirely as I am getting on with the stuff & things of the process, with some aspects being more important to get down & understand first.. when i have a working way first. package com.dephoegon.reclaim.block.sand; import com.dephoegon.reclaim.aid.block.sand; import com.dephoegon.reclaim.aid.util.registration; import net.minecraft.block.AbstractBlock; import net.minecraft.block.Block; import net.minecraft.block.Blocks; import net.minecraft.block.material.Material; import net.minecraft.item.BlockItem; import net.minecraft.item.Item; import net.minecraft.item.ItemGroup; import net.minecraftforge.common.ToolType; import net.minecraftforge.fml.RegistryObject; import java.util.function.Supplier; public class altcolor extends Blocks { public static final RegistryObject<Block> WHITE_SAND = register("white_sand", () -> new sand(0xffffff, AbstractBlock.Properties.create(Material.SAND) .hardnessAndResistance(.5f, .5f) .harvestLevel(1).harvestTool(ToolType.SHOVEL) ,"","","",true)); public static void register() { } public static <T extends Block> RegistryObject<T> register(String name, Supplier<T> block) { RegistryObject<T> exit = registration.BLOCKS.register(name, block); registration.ITEMS.register(name, () -> new BlockItem(exit.get(), new Item.Properties().group(ItemGroup.BUILDING_BLOCKS))); return exit; } } 2. I don't know what to tell you, I must have had something wrong with phrasing before.. as now i just cut out the Objectholder, and it works. (Where as it barfed up an error about doing something on a already named space.) -- perhaps tried to be too clever before I knew how it worked and I'm even more crankity over it. (more . testing to do later I believe) 3. You're going to have to be explicitly clear... Honestly... you kind of not atm. Frankly I'd rather avoid using what I didn't understand... but 'luckily'/'unluckily' There is no mention of how to do this, and far to many tutorials are of far older versions which make it ... more frustrating than I would care to admit... --where do you do you start learning when all the conversations you find are of older versions or on aspects that aren't on your hands atm. (Kinda why I paid for a 1.16 course[just for a reasonable starting point that goes over many things & can help get your feet of the ground to even get your own thing up & running], as there is legit nothing as a starting point, & any resource I found was muttled with prior versions & guess work from prideful twats who for some reason got stuck on older mc versions & forge methods.) 4. Forge documentation... kinda sucks balls... It's great for those who 'KNOW' the ways already... but as a starting point for learning.. it's ass really.... not even a hello world example of items, blocks, events, registration, or entities. -- I've learned more from intelJ and backtracking methods & examples from the 'gradle' build then I have from forge documentation.
  23. I've come across a need, and a potential method for effectively assigning a minecraft block to a custom class. I am having issues 'understanding' it as a whole & .. what about it works. -- where if I do it the same way as I do my own... I get errors. Just to be clear.. I understand how the FallingBlock (class) works ... well enough to 'augment/override' the tick function that is the trigger of it. What I don't understand .. is ... why overriding the vanilla block works in this manner.. while the typical deferred registers ends up failing for this. public static <T extends Block> RegistryObject<T> register(String name, Supplier<T> block) { RegistryObject<T> exit = registration.BLOCKS.register(name, block); registration.ITEMS.register(name, () -> new BlockItem(exit.get(), new Item.Properties().group({ItemGroup}))); I have this as in the 'blockoverrides' java class in net.minecraft --- Cut out bad example. rather not have this confuse others. [will list corrected one if asked] ---- As well I have it using 'sand()' from inside my mod. package com.dephoegon.reclaim.aid.block; import com.dephoegon.reclaim.aid.util.kb; import com.dephoegon.reclaim.block.stone.slabs; import net.minecraft.block.BlockState; import net.minecraft.block.SandBlock; import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.item.FallingBlockEntity; import net.minecraft.item.ItemStack; import net.minecraft.util.math.BlockPos; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.StringTextComponent; import net.minecraft.world.IBlockReader; import net.minecraft.world.server.ServerWorld; import javax.annotation.Nullable; import java.util.List; import java.util.Random; public class sand extends SandBlock { private static String tip0; private static String tip1; private static String tip2; private static boolean fall; public sand(int dustColorIn, Properties properties, String normtoolTip, String shiftToolTip, String ctrlToolTip, boolean falls) { super(dustColorIn, properties); if (normtoolTip != "") { tip0 = normtoolTip; } else { tip0 = null; } if (shiftToolTip != "") { tip1 = shiftToolTip; } else { tip1 = null; } if (ctrlToolTip != "") { tip2 = ctrlToolTip; } else { tip2 = null; } if (falls) { fall = true; } else { fall = false; } } @Override public void tick(BlockState state, ServerWorld worldIn, BlockPos pos, Random rand) { if (gravity(state, worldIn, pos) && pos.getY() >= 0) { FallingBlockEntity fallingblockentity = new FallingBlockEntity(worldIn, (double)pos.getX() + 0.5D, (double)pos.getY(), (double)pos.getZ() + 0.5D, worldIn.getBlockState(pos)); this.onStartFalling(fallingblockentity); worldIn.addEntity(fallingblockentity); } } private boolean spider(Object state, BlockPos pos, ServerWorld worldIn, BlockState self) { boolean last = false; if (worldIn.getBlockState(pos).getBlock() == state) { last = true; } else if (worldIn.getBlockState(pos) == self) { last = spider(state, pos.up(), worldIn, self); } else { last = false; } return last; } private boolean gravity(BlockState state, ServerWorld worldIn, BlockPos pos){ boolean tfall; boolean airOrFallthrough; boolean hld; if (fall) { if (spider(slabs.BASALT_SLAB.get(), pos.up(), worldIn, state)) { hld = true; } else { hld = false; } if (worldIn.isAirBlock(pos.down()) || canFallThrough(worldIn.getBlockState(pos.down()))) { airOrFallthrough = true; } else { airOrFallthrough = false; } // currently separated for logical construction & allowance of further 'falling disabling' // currently only considering 1-2 additional. some 'stone' or slab/item if (hld) { tfall = false; } else { if (airOrFallthrough) { tfall = true; } else { tfall = false; } } } else { tfall = false; } return tfall; } @Override public void addInformation(ItemStack stack, @Nullable IBlockReader worldIn, List<ITextComponent> tooltip, ITooltipFlag flagIn) { if (tip0 !=null) { if (tip1 != null) { if (tip2 != null) { if (kb.HCtrl() || kb.HShift()) { if (kb.HShift() && kb.HCtrl()) { tooltip.add(new StringTextComponent(tip2)); tooltip.add(new StringTextComponent(tip1)); } else if (kb.HCtrl()) { tooltip.add(new StringTextComponent(tip2)); } else { tooltip.add(new StringTextComponent(tip1)); } } else { tooltip.add(new StringTextComponent(tip0)); } } else { if (kb.HShift()) { tooltip.add(new StringTextComponent(tip1)); } else { tooltip.add(new StringTextComponent(tip0)); } } } else if(tip2 !=null) { if (kb.HCtrl()) { tooltip.add(new StringTextComponent(tip2)); } else { tooltip.add(new StringTextComponent(tip0)); } } else { tooltip.add(new StringTextComponent(tip0)); } } else if (tip1 !=null) { if (tip2 != null) { if (kb.HCtrl() || kb.HShift()) { if (kb.HShift() && kb.HCtrl()) { tooltip.add(new StringTextComponent(tip2)); tooltip.add(new StringTextComponent(tip1)); } else if (kb.HCtrl()) { tooltip.add(new StringTextComponent(tip2)); } else { tooltip.add(new StringTextComponent(tip1)); } } } else { if (kb.HShift()) { tooltip.add(new StringTextComponent(tip1)); } } } else if(tip2 != null) { if (kb.HCtrl()) { tooltip.add(new StringTextComponent(tip2)); } } } }
  24. I'm going to be upfront.. I didn't understand what you wanted me to see in it. (Unless you mean how MC did their registries) I think I got a grasp on 'what' it kinda expects ... I'm just going to post a relevant question to what I'm trying to understand now.
  25. Hey.... xD. I'm not use to hex values being used directly. Maybe it maybe me..... but i think dec when i see int.... (my failure i know) Though... one last question. How do you get a vanilla block yo use a custom class. To clarify i got my sand class setup to allow/disallow 'falling', by checking for a certain block above it (and will check through a tower of the same block).. I would like to include the vanilla minecraft sands, without replacing them. I'm not exactly sure how to start looking, might need to just do another block... but I'd rather use the vanilla block if possible.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.