Compare commits

..

3 Commits

Author SHA1 Message Date
nim
8228cfe95a Update README.md 2026-03-02 14:56:54 -08:00
nim
f75f1ea3f6 Create README.md 2026-03-02 14:55:29 -08:00
nimsolated
5ce72a2d5b fix: source code 2026-03-02 14:53:17 -08:00
239 changed files with 10152 additions and 0 deletions

615
.classpath Normal file
View File

@@ -0,0 +1,615 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="output" path="bin/default"/>
<classpathentry output="bin/main" kind="src" path="src/main/java">
<attributes>
<attribute name="gradle_scope" value="main"/>
<attribute name="gradle_used_by_scope" value="main,test"/>
<attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="C:\Users\armin\MCreatorWorkspaces\nims_random_bullshit\build\natives"/>
</attributes>
</classpathentry>
<classpathentry output="bin/main" kind="src" path="src/main/resources">
<attributes>
<attribute name="gradle_scope" value="main"/>
<attribute name="gradle_used_by_scope" value="main,test"/>
<attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="C:\Users\armin\MCreatorWorkspaces\nims_random_bullshit\build\natives"/>
</attributes>
</classpathentry>
<classpathentry output="bin/test" kind="src" path="src/test/java">
<attributes>
<attribute name="gradle_scope" value="test"/>
<attribute name="gradle_used_by_scope" value="test"/>
<attribute name="test" value="true"/>
<attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="C:\Users\armin\MCreatorWorkspaces\nims_random_bullshit\build\natives"/>
</attributes>
</classpathentry>
<classpathentry output="bin/test" kind="src" path="src/test/resources">
<attributes>
<attribute name="gradle_scope" value="test"/>
<attribute name="gradle_used_by_scope" value="test"/>
<attribute name="test" value="true"/>
<attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="C:\Users\armin\MCreatorWorkspaces\nims_random_bullshit\build\natives"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17/"/>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/forge_gradle/minecraft_user_repo/net/minecraftforge/forge/1.20.1-47.2.0_mapped_official_1.20.1/forge-1.20.1-47.2.0_mapped_official_1.20.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/forge_gradle/minecraft_user_repo/net/minecraftforge/forge/1.20.1-47.2.0_mapped_official_1.20.1/forge-1.20.1-47.2.0_mapped_official_1.20.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/forge_gradle/minecraft_repo/versions/1.20.1/client-extra.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/fmlloader/1.20.1-47.2.0/b432664c1b7006af861425d95833cb85d2f69f4d/fmlloader-1.20.1-47.2.0-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/fmlloader/1.20.1-47.2.0/7811231940c0a8b6008453bbc64fdf7fa1280fe9/fmlloader-1.20.1-47.2.0.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/JarJarSelector/0.3.19/72e3169a88d7f58a3cd0d5baa1483d6147dc61a9/JarJarSelector-0.3.19-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/JarJarSelector/0.3.19/376cc9c8ea60720cf027c01fc033de915699801c/JarJarSelector-0.3.19.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/JarJarMetadata/0.3.19/2be05c62a2daa0f29f73ec4291d7381a003a6d0b/JarJarMetadata-0.3.19-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/JarJarMetadata/0.3.19/83feaa9b770e6ac0e96ee4fc23fa89325c5fe2/JarJarMetadata-0.3.19.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.google.guava/guava/31.1-jre/c388a68bc2b17a314dfa7c769d858ada0fc32dcf/guava-31.1-jre-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.google.guava/guava/31.1-jre/60458f877d055d0c9114d9e1a2efb737b4bc282c/guava-31.1-jre.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/3.0.2/b19b5927c2c25b6c70f093767041e641ae0b1b35/jsr305-3.0.2-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/3.0.2/25ea2e8b0c338a877313bd4672d3fe056ea78f0d/jsr305-3.0.2.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/ca.weblite/java-objc-bridge/1.1/d2bf7869433d8d152fade87ac898f84b1b876837/java-objc-bridge-1.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/ca.weblite/java-objc-bridge/1.1/1227f9e0666314f9de41477e3ec277e542ed7f7b/java-objc-bridge-1.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/forgespi/7.0.1/c8298f054a2aa1de8cf83c0406c806143c289bb9/forgespi-7.0.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/forgespi/7.0.1/3b4972a0cdb135853dba219be61a79b22cff1309/forgespi-7.0.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/mergetool/1.1.5/43e6a124292079d99f7f20fb57b8c8b17dc28c8e/mergetool-1.1.5-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/mergetool/1.1.5/f3da18e12c696d35a47c82cbb2cc8b5aa15e1154/mergetool-1.1.5-api.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/24.0.1/2f9be7fbab3157633befe74c684bd3badb28a876/annotations-24.0.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/24.0.1/13c5c75c4206580aa4d683bffee658caae6c9f43/annotations-24.0.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/cpw.mods/securejarhandler/2.1.10/96331802dca7d09fd109500a708200ae758ff412/securejarhandler-2.1.10-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/cpw.mods/securejarhandler/2.1.10/51e6a22c6c716beb11e244bf5b8be480f51dd6b5/securejarhandler-2.1.10.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/cpw.mods/modlauncher/10.0.9/3a731130cea80690b50d02303e3a0bd5c2a808fc/modlauncher-10.0.9-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/cpw.mods/modlauncher/10.0.9/6d9443f56f50bb85cea383686ff9c867391458b/modlauncher-10.0.9.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.openjdk.nashorn/nashorn-core/15.3/d1b08eaf27fa4468ea714555377d74079b8b9e99/nashorn-core-15.3-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.openjdk.nashorn/nashorn-core/15.3/43977e804697048fc8d81d333a36c17d07a5b3dd/nashorn-core-15.3.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-commons/9.5/3b13ed8d997eb49e62d7e237dd37ce8e9e825208/asm-commons-9.5-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-commons/9.5/19ab5b5800a3910d30d3a3e64fdb00fd0cb42de0/asm-commons-9.5.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-util/9.5/a957cd8d5834981ffbea32104fa45971e38d8f1a/asm-util-9.5-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-util/9.5/64b5a1fc8c1b15ed2efd6a063e976bc8d3dc5ffe/asm-util-9.5.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-analysis/9.5/47b38de3ca0cb7c6d14efc52f83bd69b763698ac/asm-analysis-9.5-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-analysis/9.5/490bacc77de7cbc0be1a30bb3471072d705be4a4/asm-analysis-9.5.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-tree/9.5/c7aaa36489c3f86b32f707f0b944f8b7165fbe3f/asm-tree-9.5-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-tree/9.5/fd33c8b6373abaa675be407082fdfda35021254a/asm-tree-9.5.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/9.5/75c1feea760d9b5c12394bf366bdd9bd65ce4c83/asm-9.5-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/9.5/dc6ea1875f4d64fbc85e1691c95b96a3d8569c90/asm-9.5.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/accesstransformers/8.0.4/8a456b4677fb830fddfdbadf2db44ebd5d8561b4/accesstransformers-8.0.4-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/accesstransformers/8.0.4/272d240aa73f42195b2a68e2ebd8b701ecf41f63/accesstransformers-8.0.4.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.antlr/antlr4/4.9.1/9d70dea79a33b4bc3e69c4f582829af95dec46ce/antlr4-4.9.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.antlr/antlr4/4.9.1/e92af8ab33e428461927b484e90bb155a4f3a052/antlr4-4.9.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.antlr/antlr4-runtime/4.9.1/17b7d09ad295b93223e965df5860331cbccaa797/antlr4-runtime-4.9.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.antlr/antlr4-runtime/4.9.1/428664f05d2b7f7b7610204b5aa7c1763f62011a/antlr4-runtime-4.9.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/fmlcore/1.20.1-47.2.0/ec22b83a92a11226dc64ebfa0afa4cbe22cd34d0/fmlcore-1.20.1-47.2.0-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/fmlcore/1.20.1-47.2.0/ffd3c6debac0a388c9e33ac43c9f5eafb91cb466/fmlcore-1.20.1-47.2.0.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/eventbus/6.0.5/9e63113e81f9d25c5082ba61df851935d510957/eventbus-6.0.5-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/eventbus/6.0.5/699143dd438431d06b57416944f7cedbe52e1475/eventbus-6.0.5.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/coremods/5.0.1/a668cc3a77a31a42d9763d37fb348acbaa968f13/coremods-5.0.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/coremods/5.0.1/386b00279628b105b2d507539c46e134e96f6237/coremods-5.0.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/unsafe/0.2.0/877a428143402cfcac13e8aaa3a3c9d4dab3b891/unsafe-0.2.0-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/unsafe/0.2.0/54d7a0a5e8fdb71b973025caa46f341ae5904f39/unsafe-0.2.0.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.electronwill.night-config/toml/3.6.4/f8f130fb0f5d40689e9e3b1661105ad9162e4c28/toml-3.6.4-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.electronwill.night-config/toml/3.6.4/51d6cefb2b55ee55ee26b16391212fb2c7dfb4f4/toml-3.6.4.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.electronwill.night-config/core/3.6.4/9ddb4770a0369a137c9ca3cc34198f57a77ce3ac/core-3.6.4-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.electronwill.night-config/core/3.6.4/510f174abbf1c947494db50ef2445683bd52c230/core-3.6.4.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.apache.maven/maven-artifact/3.8.5/63964307a951bff155bcd09bfa647afadbd95dca/maven-artifact-3.8.5-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.apache.maven/maven-artifact/3.8.5/4433f50c07debefaed0553bd0068f4f48d449313/maven-artifact-3.8.5.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.jodah/typetools/0.6.3/de30205cf0153746a489a53203c41fa3766d7d24/typetools-0.6.3-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.jodah/typetools/0.6.3/a01aaa6ddaea9ec07ec4f209487b7a46a526283a/typetools-0.6.3.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecrell/terminalconsoleappender/1.2.0/c9e9c6ef25149f84e9ca5d133b4016749d95c1a2/terminalconsoleappender-1.2.0-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecrell/terminalconsoleappender/1.2.0/96d02cd3b384ff015a8fef4223bcb4ccf1717c95/terminalconsoleappender-1.2.0.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.jline/jline-reader/3.12.1/88d7d2011ebec345d0a5c6237be1e7be864c7ec8/jline-reader-3.12.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.jline/jline-reader/3.12.1/4382ab1382c7b6f379377ed5f665dc2f6e1218bc/jline-reader-3.12.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.jline/jline-terminal/3.12.1/3f3b61e6f3eafeba0c289b308926e0f93457140/jline-terminal-3.12.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.jline/jline-terminal/3.12.1/c777448314e050d980a6b697c140f3bfe9eb7416/jline-terminal-3.12.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.spongepowered/mixin/0.8.5/958671fbe7661c8cae6b1994014583332a14c7d5/mixin-0.8.5-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.spongepowered/mixin/0.8.5/9d1c0c3a304ae6697ecd477218fa61b850bf57fc/mixin-0.8.5.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/cpw.mods/bootstraplauncher/1.1.2/3a8305ce392f55b6caae82468b75bcad2b14b6bd/bootstraplauncher-1.1.2-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/cpw.mods/bootstraplauncher/1.1.2/c546e00443d8432cda6baa1c860346980742628/bootstraplauncher-1.1.2.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/JarJarFileSystems/0.3.19/90623b0e129d0d0e9d9b5d452bf877c375d5d405/JarJarFileSystems-0.3.19-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/JarJarFileSystems/0.3.19/2464eb7d6b9ddb9db36a82cf8a95193e5c6fe020/JarJarFileSystems-0.3.19.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/fmlearlydisplay/1.20.1-47.2.0/324c9eade825fb316e0d086b84878f48faaaf31/fmlearlydisplay-1.20.1-47.2.0-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/fmlearlydisplay/1.20.1-47.2.0/4c56a03dcedcb909c7eaa8469dd5a36c493a0008/fmlearlydisplay-1.20.1-47.2.0.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/javafmllanguage/1.20.1-47.2.0/14e7bd668428799f80e580d47adb8583d573b5e1/javafmllanguage-1.20.1-47.2.0-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/javafmllanguage/1.20.1-47.2.0/7f9181f85acc66547685a72020713fc8cbde98/javafmllanguage-1.20.1-47.2.0.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/lowcodelanguage/1.20.1-47.2.0/830b8545d6f1070a2a0bb57409153d26124ccb67/lowcodelanguage-1.20.1-47.2.0-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/lowcodelanguage/1.20.1-47.2.0/7872f5205685fdd26fae39b1be79b0e60ca5b7bd/lowcodelanguage-1.20.1-47.2.0.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/mclanguage/1.20.1-47.2.0/2333feb811a0517bc6d8161297003ea328b224f2/mclanguage-1.20.1-47.2.0-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/mclanguage/1.20.1-47.2.0/d501d161cabed08b3c139a2c6217b02a39f3c3e9/mclanguage-1.20.1-47.2.0.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.github.oshi/oshi-core/6.2.2/d78c032d2eb0aa476fbd8acf3ba1d6bb3845d03b/oshi-core-6.2.2-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.github.oshi/oshi-core/6.2.2/54f5efc19bca95d709d9a37d19ffcbba3d21c1a6/oshi-core-6.2.2.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.10/6ed5748c6f0860e81e09d4d2582fe914cfa41d1e/gson-2.10-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.10/dd9b193aef96e973d5a11ab13cd17430c2e4306b/gson-2.10.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.google.guava/failureaccess/1.0.1/1d064e61aad6c51cc77f9b59dc2cccc78e792f5a/failureaccess-1.0.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.google.guava/failureaccess/1.0.1/1dcf1de382a0bf95a3d8b0849546c88bac1292c9/failureaccess-1.0.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.ibm.icu/icu4j/71.1/cc9684d401adeb1a90404a5d77fd38d348a41ec1/icu4j-71.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.ibm.icu/icu4j/71.1/9e7d3304c23f9ba5cb71915f7cce23231a57a445/icu4j-71.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.mojang/authlib/4.0.43/d82e437f9964a53d2cda4b120f4cc7698697323b/authlib-4.0.43-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.mojang/authlib/4.0.43/2ff9d747a77570a07a60d32ac77eb6162ad2a2d9/authlib-4.0.43.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.mojang/blocklist/1.0.10/ef44852fa1707a833bfa8e8518659ab18f368d25/blocklist-1.0.10-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.mojang/blocklist/1.0.10/5c685c5ffa94c4cd39496c7184c1d122e515ecef/blocklist-1.0.10.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.mojang/brigadier/1.1.8/d876490896dc5d91c01d8fbc8f14f9f1756a9f67/brigadier-1.1.8-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.mojang/brigadier/1.1.8/5244ce82c3337bba4a196a3ce858bfaecc74404a/brigadier-1.1.8.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.mojang/datafixerupper/6.0.8/fd70844ad56424d4d5004c415b47d97313dd723d/datafixerupper-6.0.8-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.mojang/datafixerupper/6.0.8/3ba4a30557a9b057760af4011f909ba619fc5125/datafixerupper-6.0.8.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.mojang/logging/1.1.1/9e1dd652bab1d082df57ceb5a7ad96cdaea61808/logging-1.1.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.mojang/logging/1.1.1/832b8e6674a9b325a5175a3a6267dfaf34c85139/logging-1.1.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.mojang/patchy/2.2.10/da05971b07cbb379d002cf7eaec6a2048211fefc/patchy-2.2.10.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.mojang/text2speech/1.17.9/1898fbfd00a552b7f9a3cc0438623845a91e74ed/text2speech-1.17.9-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.mojang/text2speech/1.17.9/3cad216e3a7f0c19b4b394388bc9ffc446f13b14/text2speech-1.17.9.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.5.13/9654e91a61d7662c36be6710ef8e720c0e3f9807/httpclient-4.5.13-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.5.13/e5f6cae5ca7ecaac1ec2827a9e2d65ae2869cada/httpclient-4.5.13.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.15/843bc57fd042051e994846da8167bb7ca677a6d/commons-codec-1.15-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.15/49d94806b6e3dc933dacbd8acb0fdbab8ebd1e5d/commons-codec-1.15.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.11.0/2ef0187124bbfc7aed3038d4ffdd2241e8992937/commons-io-2.11.0-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.11.0/a2503f302b11ebde7ebc3df41daebe0e4eea3689/commons-io-2.11.0.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/commons-logging/commons-logging/1.2/ecf26c7507d67782a3bbd148d170b31dfad001aa/commons-logging-1.2-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/commons-logging/commons-logging/1.2/4bfc12adfe4842bf07b657f0369c4cb522955686/commons-logging-1.2.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/io.netty/netty-handler/4.1.82.Final/eb21430492b4087f179f378def9c101af2ceb3a3/netty-handler-4.1.82.Final-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/io.netty/netty-handler/4.1.82.Final/644041d1fa96a5d3130a29e8978630d716d76e38/netty-handler-4.1.82.Final.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/io.netty/netty-codec/4.1.82.Final/cca3483023dc4ea2fecd674a43e6648104b93bef/netty-codec-4.1.82.Final-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/io.netty/netty-codec/4.1.82.Final/b77200379acb345a9ffdece1c605e591ac3e4e0a/netty-codec-4.1.82.Final.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/io.netty/netty-transport-classes-epoll/4.1.82.Final/7d479710b4240ddd900a9bc8fe31c8f752df25f8/netty-transport-classes-epoll-4.1.82.Final-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/io.netty/netty-transport-classes-epoll/4.1.82.Final/e7c7dd18deac93105797f30057c912651ea76521/netty-transport-classes-epoll-4.1.82.Final.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/io.netty/netty-transport-native-unix-common/4.1.82.Final/93bda191a15bd338a03de553d63d539aa8e9ad46/netty-transport-native-unix-common-4.1.82.Final-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/io.netty/netty-transport-native-unix-common/4.1.82.Final/3e895b35ca1b8a0eca56cacff4c2dde5d2c6abce/netty-transport-native-unix-common-4.1.82.Final.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/io.netty/netty-transport/4.1.82.Final/a7d580e125df85b115e42a00ee7adfb2b81b3367/netty-transport-4.1.82.Final-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/io.netty/netty-transport/4.1.82.Final/e431a218d91acb6476ccad5f5aafde50aa3945ca/netty-transport-4.1.82.Final.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/io.netty/netty-buffer/4.1.82.Final/6eca8b1b4342f92f178eabf50fbdb9a6732fb350/netty-buffer-4.1.82.Final-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/io.netty/netty-buffer/4.1.82.Final/a544270cf1ae8b8077082f5036436a9a9971ea71/netty-buffer-4.1.82.Final.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/io.netty/netty-resolver/4.1.82.Final/7855042d98fd07633901c09987d814f0e49f1b21/netty-resolver-4.1.82.Final-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/io.netty/netty-resolver/4.1.82.Final/38f665ae8dcd29032eea31245ba7806bed2e0fa8/netty-resolver-4.1.82.Final.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/io.netty/netty-common/4.1.82.Final/66841700234dd5771962ec51d940813d421329bf/netty-common-4.1.82.Final-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/io.netty/netty-common/4.1.82.Final/22d148e85c3f5ebdacc0ce1f5aabb1d420f73f3/netty-common-4.1.82.Final.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/it.unimi.dsi/fastutil/8.5.9/98ad0726f121ae5e8109f21c6bc0d7791100916d/fastutil-8.5.9-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/it.unimi.dsi/fastutil/8.5.9/bb7ea75ecdb216654237830b3a96d87ad91f8cc5/fastutil-8.5.9.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.java.dev.jna/jna-platform/5.12.1/13250aea879918ee2cf861703733a1b1f834d13e/jna-platform-5.12.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.java.dev.jna/jna-platform/5.12.1/97406a297c852f4a41e688a176ec675f72e8329/jna-platform-5.12.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.java.dev.jna/jna/5.12.1/a558f0c18863579764c8adcdf2312e0b9711c5af/jna-5.12.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.java.dev.jna/jna/5.12.1/b1e93a735caea94f503e95e6fe79bf9cdc1e985d/jna-5.12.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.sf.jopt-simple/jopt-simple/5.0.4/950831646d014c9162999019a3cb17d5fc01ac0d/jopt-simple-5.0.4-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.sf.jopt-simple/jopt-simple/5.0.4/4fdac2fbe92dfad86aa6e9301736f6b4342a3f5c/jopt-simple-5.0.4.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.apache.commons/commons-compress/1.21/b3e0a269baa0d05b02f9b4447be463d25da8c097/commons-compress-1.21-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.apache.commons/commons-compress/1.21/4ec95b60d4e86b5c95a0e919cb172a0af98011ef/commons-compress-1.21.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.12.0/198b882fdc2c72c89c63401d946f6ba46c3acea3/commons-lang3-3.12.0-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.12.0/c6842c86792ff03b9f1d1fe2aab8dc23aa6c6f0e/commons-lang3-3.12.0.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.4.15/2ab1724e80d075698903a49f5e8fa90b077937ac/httpcore-4.4.15-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.4.15/7f2e0c573eaa7a74bac2e89b359e1f73d92a0a1d/httpcore-4.4.15.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-core/2.19.0/b01fda4bda99fce653352ebe79897e43dee2e67f/log4j-core-2.19.0-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-core/2.19.0/3b6eeb4de4c49c0fe38a4ee27188ff5fee44d0bb/log4j-core-2.19.0.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-slf4j2-impl/2.19.0/628978b55e7195966a111841796d17ae048bce62/log4j-slf4j2-impl-2.19.0-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-slf4j2-impl/2.19.0/5c04bfdd63ce9dceb2e284b81e96b6a70010ee10/log4j-slf4j2-impl-2.19.0.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-api/2.19.0/e50c05b05437e7f5fc11609b8366a5e151f74461/log4j-api-2.19.0-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-api/2.19.0/ea1b37f38c327596b216542bc636cfdc0b8036fa/log4j-api-2.19.0.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.joml/joml/1.10.5/c1f2266a7d0386d7643879ed1b93f51d29126180/joml-1.10.5-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.joml/joml/1.10.5/22566d58af70ad3d72308bab63b8339906deb649/joml-1.10.5.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-glfw/3.3.1/e502700e6a1a0d02bddb8b4ef85afcdc15c88358/lwjgl-glfw-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-glfw/3.3.1/cbac1b8d30cb4795149c1ef540f912671a8616d0/lwjgl-glfw-3.3.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-glfw/3.3.1/e502700e6a1a0d02bddb8b4ef85afcdc15c88358/lwjgl-glfw-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-glfw/3.3.1/ed892f945cf7e79c8756796f32d00fa4ceaf573b/lwjgl-glfw-3.3.1-natives-windows.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-glfw/3.3.1/e502700e6a1a0d02bddb8b4ef85afcdc15c88358/lwjgl-glfw-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-glfw/3.3.1/beda65ee503443e60aa196d58ed31f8d001dc22a/lwjgl-glfw-3.3.1-natives-windows-arm64.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-glfw/3.3.1/e502700e6a1a0d02bddb8b4ef85afcdc15c88358/lwjgl-glfw-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-glfw/3.3.1/b997e3391d6ce8f05487e7335d95c606043884a1/lwjgl-glfw-3.3.1-natives-windows-x86.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-jemalloc/3.3.1/f5858d34e06053b1866858fed7a685cf0c6b5926/lwjgl-jemalloc-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-jemalloc/3.3.1/a817bcf213db49f710603677457567c37d53e103/lwjgl-jemalloc-3.3.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-jemalloc/3.3.1/f5858d34e06053b1866858fed7a685cf0c6b5926/lwjgl-jemalloc-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-jemalloc/3.3.1/948a89b76a16aa324b046ae9308891216ffce5f9/lwjgl-jemalloc-3.3.1-natives-windows.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-jemalloc/3.3.1/f5858d34e06053b1866858fed7a685cf0c6b5926/lwjgl-jemalloc-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-jemalloc/3.3.1/cae85c4edb219c88b6a0c26a87955ad98dc9519d/lwjgl-jemalloc-3.3.1-natives-windows-arm64.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-jemalloc/3.3.1/f5858d34e06053b1866858fed7a685cf0c6b5926/lwjgl-jemalloc-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-jemalloc/3.3.1/fb476c8ec110e1c137ad3ce8a7f7bfe6b11c6324/lwjgl-jemalloc-3.3.1-natives-windows-x86.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-openal/3.3.1/9c563bf7c10b71c6609b9f96a7c7859bdf05d21f/lwjgl-openal-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-openal/3.3.1/2623a6b8ae1dfcd880738656a9f0243d2e6840bd/lwjgl-openal-3.3.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-openal/3.3.1/9c563bf7c10b71c6609b9f96a7c7859bdf05d21f/lwjgl-openal-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-openal/3.3.1/30a474d0e57193d7bc128849a3ab66bc9316fdb1/lwjgl-openal-3.3.1-natives-windows.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-openal/3.3.1/9c563bf7c10b71c6609b9f96a7c7859bdf05d21f/lwjgl-openal-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-openal/3.3.1/40d65f1a7368a2aa47336f9cb69f5a190cf9975a/lwjgl-openal-3.3.1-natives-windows-arm64.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-openal/3.3.1/9c563bf7c10b71c6609b9f96a7c7859bdf05d21f/lwjgl-openal-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-openal/3.3.1/888349f7b1be6fbae58bf8edfb9ef12def04c4e3/lwjgl-openal-3.3.1-natives-windows-x86.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-opengl/3.3.1/1a827bc02651fa44d32f424c380edc6d53f94a62/lwjgl-opengl-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-opengl/3.3.1/831a5533a21a5f4f81bbc51bb13e9899319b5411/lwjgl-opengl-3.3.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-opengl/3.3.1/1a827bc02651fa44d32f424c380edc6d53f94a62/lwjgl-opengl-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-opengl/3.3.1/c1807e9bd571402787d7e37e3029776ae2513bb8/lwjgl-opengl-3.3.1-natives-windows.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-opengl/3.3.1/1a827bc02651fa44d32f424c380edc6d53f94a62/lwjgl-opengl-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-opengl/3.3.1/527d78f1e9056aff3ed02ce93019c73c5e8f1721/lwjgl-opengl-3.3.1-natives-windows-arm64.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-opengl/3.3.1/1a827bc02651fa44d32f424c380edc6d53f94a62/lwjgl-opengl-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-opengl/3.3.1/deef3eb9b178ff2ff3ce893cc72ae741c3a17974/lwjgl-opengl-3.3.1-natives-windows-x86.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-stb/3.3.1/22cb295464f44068add8443204ec8c85fd379cbe/lwjgl-stb-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-stb/3.3.1/b119297cf8ed01f247abe8685857f8e7fcf5980f/lwjgl-stb-3.3.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-stb/3.3.1/22cb295464f44068add8443204ec8c85fd379cbe/lwjgl-stb-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-stb/3.3.1/86315914ac119efdb02dc9e8e978ade84f1702af/lwjgl-stb-3.3.1-natives-windows.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-stb/3.3.1/22cb295464f44068add8443204ec8c85fd379cbe/lwjgl-stb-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-stb/3.3.1/fde63cdd2605c00636721a6c8b961e41d1f6b247/lwjgl-stb-3.3.1-natives-windows-arm64.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-stb/3.3.1/22cb295464f44068add8443204ec8c85fd379cbe/lwjgl-stb-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-stb/3.3.1/a8d41f419eecb430b7c91ea2ce2c5c451cae2091/lwjgl-stb-3.3.1-natives-windows-x86.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-tinyfd/3.3.1/4784c20508b51386ce9d572632524a5bf47ccb40/lwjgl-tinyfd-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-tinyfd/3.3.1/ff1914111ef2e3e0110ef2dabc8d8cdaad82347/lwjgl-tinyfd-3.3.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-tinyfd/3.3.1/4784c20508b51386ce9d572632524a5bf47ccb40/lwjgl-tinyfd-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-tinyfd/3.3.1/a5d830475ec0958d9fdba1559efa99aef211e6ff/lwjgl-tinyfd-3.3.1-natives-windows.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-tinyfd/3.3.1/4784c20508b51386ce9d572632524a5bf47ccb40/lwjgl-tinyfd-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-tinyfd/3.3.1/83a5e780df610829ff3a737822b4f931cffecd91/lwjgl-tinyfd-3.3.1-natives-windows-arm64.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-tinyfd/3.3.1/4784c20508b51386ce9d572632524a5bf47ccb40/lwjgl-tinyfd-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl-tinyfd/3.3.1/842eedd876fae354abc308c98a263f6bbc9e8a4d/lwjgl-tinyfd-3.3.1-natives-windows-x86.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl/3.3.1/e918fb595d1ca293a68807a9da8b519ea348a67a/lwjgl-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl/3.3.1/ae58664f88e18a9bb2c77b063833ca7aaec484cb/lwjgl-3.3.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl/3.3.1/e918fb595d1ca293a68807a9da8b519ea348a67a/lwjgl-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl/3.3.1/36c37f16ab611b3aa11f3bcf80b1d509b4ce6b/lwjgl-3.3.1-natives-windows.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl/3.3.1/e918fb595d1ca293a68807a9da8b519ea348a67a/lwjgl-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl/3.3.1/f46cadcf95675908fd3a550d63d9d709cb68998/lwjgl-3.3.1-natives-windows-arm64.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl/3.3.1/e918fb595d1ca293a68807a9da8b519ea348a67a/lwjgl-3.3.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.lwjgl/lwjgl/3.3.1/3b14f4beae9dd39791ec9e12190a9380cd8a3ce6/lwjgl-3.3.1-natives-windows-x86.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.machinezoo.noexception/noexception/1.7.1/3c242b5f554474cab03425de7f9d8eb433ead19b/noexception-1.7.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.machinezoo.noexception/noexception/1.7.1/b65330c98e38a1f915fa54a6e5eca496505e3f0a/noexception-1.7.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/2.0.1/99dd49517b321de42b34501d877d3ab69b4de6b5/slf4j-api-2.0.1-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/2.0.1/f48d81adce2abf5ad3cfe463df517952749e03bc/slf4j-api-2.0.1.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.codehaus.plexus/plexus-utils/3.3.0/ebfaf7070f7a3f5314ff28180d81088aa8cd2f41/plexus-utils-3.3.0-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.codehaus.plexus/plexus-utils/3.3.0/cf43b5391de623b36fe066a21127baef82c64022/plexus-utils-3.3.0.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.google.guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/b421526c5f297295adef1c886e5246c39d4ac629/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.checkerframework/checker-qual/3.12.0/10dacb8b36398debceca36cd0db5f3316967f80e/checker-qual-3.12.0-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.checkerframework/checker-qual/3.12.0/d5692f0526415fcc6de94bb5bfbd3afd9dd3b3e5/checker-qual-3.12.0.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.google.errorprone/error_prone_annotations/2.11.0/d060e42b6aa896a3abe2ec612e1cf8cc307f8a49/error_prone_annotations-2.11.0-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.google.errorprone/error_prone_annotations/2.11.0/c5a0ace696d3f8b1c1d8cc036d8c03cc0cbe6b69/error_prone_annotations-2.11.0.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.google.j2objc/j2objc-annotations/1.3/d26c56180205cbb50447c3eca98ecb617cf9f58b/j2objc-annotations-1.3-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/com.google.j2objc/j2objc-annotations/1.3/ba035118bc8bac37d7eff77700720999acd9986d/j2objc-annotations-1.3.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.antlr/ST4/4.3/f5c1c1b500028db7d102067b8e0f3e15f685cbec/ST4-4.3-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.antlr/ST4/4.3/92f2c1ad8d84abcbeead6cf7f2c53a04166293c2/ST4-4.3.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.antlr/antlr-runtime/3.5.2/5214ea45dd20d3a2e4caa6f1ad2248ad107e0daf/antlr-runtime-3.5.2-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.antlr/antlr-runtime/3.5.2/cd9cd41361c155f3af0f653009dcecb08d8b4afd/antlr-runtime-3.5.2.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.abego.treelayout/org.abego.treelayout.core/1.0.3/98d31576a54fd48dabf1fcf67a311dd9f0e4f66e/org.abego.treelayout.core-1.0.3-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/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">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.glassfish/javax.json/1.0.4/ef782abad0d3f1d30644c4023a6bbc6fe371e23a/javax.json-1.0.4-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.glassfish/javax.json/1.0.4/3178f73569fd7a1e5ffc464e680f7a8cc784b85a/javax.json-1.0.4.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/forge_gradle/mcp_repo/net/minecraft/mapping/1.20.1/mapping-1.20.1-mapping.zip">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-simple/1.7.30/5d6530a871f57605c828f2d330ea8f9817837a6f/slf4j-simple-1.7.30-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-simple/1.7.30/e606eac955f55ecf1d8edcccba04eb8ac98088dd/slf4j-simple-1.7.30.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry sourcepath="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/srgutils/0.4.11/56a06fb4edd6adf1b4b951732b3e6f7c789ea71/srgutils-0.4.11-sources.jar" kind="lib" path="C:/Users/armin/.mcreator/gradle/caches/modules-2/files-2.1/net.minecraftforge/srgutils/0.4.11/fbad1341ffdb47d276bbdc40ecb06da49e053e74/srgutils-0.4.11.jar">
<attributes>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
</classpath>

22
.gitignore vendored Normal file
View File

@@ -0,0 +1,22 @@
# Gradle build system ignores
.gradle/
build/
# Other IDE related folders
.idea/
.settings/
# MCreator workspace cache
.mcreator/
# Minecraft client/server files
run/
# MCreator generator ignores (auto-regenerated)
src/main/resources/assets/*/models/custom
src/main/resources/assets/*/models/item
src/main/resources/assets/*/textures/blocks
src/main/resources/assets/*/textures/items
src/main/resources/assets/*/textures/models/armor
src/main/resources/assets/*/textures/*.png
src/main/resources/assets/*/sounds

17
.project Normal file
View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>nims_random_bullshit</name>
<comment></comment>
<projects/>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments/>
</buildCommand>
</buildSpec>
<linkedResources/>
<filteredResources/>
</projectDescription>

6
README.md Normal file
View File

@@ -0,0 +1,6 @@
# **Nim's Random BS**
In this mod, I add random things for fun. Some can be useful, while some just exist for the fun of it. Below is a list of features so far.
This mod was created using [MCreator](https://mcreator.net/).
CurseForge link: https://www.curseforge.com/minecraft/mc-mods/nims-random-bs

54
build.gradle Normal file
View File

@@ -0,0 +1,54 @@
plugins {
id 'eclipse'
id 'net.minecraftforge.gradle' version '[6.0.16,6.2)'
}
version = '1.0'
group = 'com.yourname.modid'
archivesBaseName = 'modid'
java.toolchain.languageVersion = JavaLanguageVersion.of(17)
minecraft {
mappings channel: 'official', version: '1.20.1'
accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
copyIdeResources = true
runs {
client {
def mcreatorJvmOptions = System.getenv('MCREATOR_JVM_OPTIONS')
if (mcreatorJvmOptions) {
jvmArgs += mcreatorJvmOptions.split("\\s+").findAll { it.trim() }.toList()
}
}
server {
}
configureEach {
workingDirectory project.file('run')
property 'forge.logging.markers', 'REGISTRIES'
property 'forge.logging.console.level', 'debug'
mods {
examplemod {
source sourceSets.main
}
}
}
}
}
dependencies {
minecraft 'net.minecraftforge:forge:1.20.1-47.3.0'
}
tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation
}
apply from: 'mcreator.gradle'

View File

@@ -0,0 +1,62 @@
{
"_fv": 73,
"_type": "item",
"definition": {
"renderType": 0,
"texture": "block_eater",
"customModelName": "Normal",
"customProperties": {},
"states": [],
"name": "Block Eater",
"rarity": "EPIC",
"creativeTabs": [
{
"value": "TOOLS"
}
],
"stackSize": 1,
"enchantability": 0,
"useDuration": 0,
"toolType": 1.0,
"damageCount": 0,
"recipeRemainder": {
"value": ""
},
"destroyAnyBlock": false,
"immuneToFire": false,
"stayInGridWhenCrafting": false,
"damageOnCrafting": false,
"enableMeleeDamage": false,
"damageVsEntity": 0.0,
"specialInformation": {
"fixedValue": []
},
"glowCondition": {
"fixedValue": false
},
"inventorySize": 9,
"inventoryStackSize": 64,
"onRightClickedOnBlock": {
"name": "BlockEaterRightclickedOnBlock"
},
"enableRanged": false,
"shootConstantly": false,
"rangedItemChargesPower": false,
"projectile": {
"value": "Arrow"
},
"projectileDisableAmmoCheck": false,
"isFood": false,
"nutritionalValue": 4,
"saturation": 0.3,
"eatResultItem": {
"value": ""
},
"isMeat": false,
"isAlwaysEdible": false,
"animation": "block",
"isMusicDisc": false,
"musicDiscLengthInTicks": 0,
"musicDiscAnalogOutput": 0
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 1,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "EQUIPMENT",
"recipeShapeless": false,
"recipeSlots": [
{
"value": "Items.SKULL#5"
},
{
"value": "CUSTOM:CondensedCondensedCondensedNetherrack"
},
{
"value": ""
},
{
"value": "CUSTOM:CondensedCondensedCondensedNetherrack"
},
{
"value": "CUSTOM:CondensedCondensedCondensedNetherrack"
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
}
],
"recipeReturnStack": {
"value": "CUSTOM:BlockEater"
},
"name": "block_eater_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,7 @@
{
"_fv": 73,
"_type": "procedure",
"definition": {
"procedurexml": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"event_trigger\" deletable=\"false\" x=\"376\" y=\"322\"><field name=\"trigger\">no_ext_trigger</field><next><block type=\"controls_if\"><value name=\"IF0\"><block type=\"math_binary_ops\"><field name=\"OP\">NEQ</field><value name=\"A\"><block type=\"blockat_hardness\"><value name=\"x\"><block type=\"coord_x\"></block></value><value name=\"y\"><block type=\"coord_y\"></block></value><value name=\"z\"><block type=\"coord_z\"></block></value></block></value><value name=\"B\"><block type=\"math_number\"><field name=\"NUM\">-1</field></block></value></block></value><statement name=\"DO0\"><block type=\"block_remove\"><value name=\"x\"><block type=\"coord_x\"></block></value><value name=\"y\"><block type=\"coord_y\"></block></value><value name=\"z\"><block type=\"coord_z\"></block></value><next><block type=\"entity_set_foodlevel\"><value name=\"entity\"><block type=\"entity_from_deps\"></block></value><value name=\"foodlevel\"><block type=\"math_dual_ops\"><field name=\"OP\">ADD</field><value name=\"A\"><block type=\"entity_foodlevel\"><value name=\"entity\"><block type=\"entity_from_deps\"></block></value></block></value><value name=\"B\"><block type=\"math_number\"><field name=\"NUM\">4</field></block></value></block></value><next><block type=\"controls_if\"><value name=\"IF0\"><block type=\"math_binary_ops\"><field name=\"OP\">GTE</field><value name=\"A\"><block type=\"entity_foodlevel\"><value name=\"entity\"><block type=\"entity_from_deps\"></block></value></block></value><value name=\"B\"><block type=\"math_number\"><field name=\"NUM\">20</field></block></value></block></value><statement name=\"DO0\"><block type=\"entity_set_saturation\"><value name=\"entity\"><block type=\"entity_from_deps\"></block></value><value name=\"amount\"><block type=\"math_dual_ops\"><field name=\"OP\">ADD</field><value name=\"A\"><block type=\"entity_get_saturation\"><value name=\"entity\"><block type=\"entity_from_deps\"></block></value></block></value><value name=\"B\"><block type=\"math_number\"><field name=\"NUM\">2</field></block></value></block></value></block></statement><next><block type=\"play_sound\"><field name=\"sound\">entity.generic.eat</field><field name=\"soundcategory\">player</field><value name=\"x\"><block type=\"coord_x\"></block></value><value name=\"y\"><block type=\"coord_y\"></block></value><value name=\"z\"><block type=\"coord_z\"></block></value><value name=\"level\"><block type=\"math_number\"><field name=\"NUM\">0.5</field></block></value><value name=\"pitch\"><block type=\"math_number\"><field name=\"NUM\">0.84</field></block></value><next><block type=\"spawn_particle_multi\"><field name=\"particle\">END_ROD</field><value name=\"count\"><block type=\"math_number\"><field name=\"NUM\">4</field></block></value><value name=\"x\"><block type=\"coord_x\"></block></value><value name=\"y\"><block type=\"coord_y\"></block></value><value name=\"z\"><block type=\"coord_z\"></block></value><value name=\"dx\"><block type=\"math_number\"><field name=\"NUM\">1</field></block></value><value name=\"dy\"><block type=\"math_number\"><field name=\"NUM\">1</field></block></value><value name=\"dz\"><block type=\"math_number\"><field name=\"NUM\">1</field></block></value><value name=\"speed\"><block type=\"math_number\"><field name=\"NUM\">0.4</field></block></value><next><block type=\"item_cooldown_for\"><value name=\"item\"><block type=\"itemstack_to_mcitem\"></block></value><value name=\"ticks\"><block type=\"math_number\"><field name=\"NUM\">600</field></block></value><value name=\"entity\"><block type=\"entity_from_deps\"></block></value></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></xml>"
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 3,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "MISC",
"recipeShapeless": true,
"recipeSlots": [
{
"value": "CUSTOM:Shit"
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
}
],
"recipeReturnStack": {
"value": "Items.DYE#15"
},
"name": "bonemeal_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,138 @@
{
"_fv": 73,
"_type": "block",
"definition": {
"texture": "broken_glass",
"textureTop": "",
"textureLeft": "",
"textureFront": "",
"textureRight": "",
"textureBack": "",
"renderType": 11,
"customModelName": "Single texture",
"rotationMode": 0,
"enablePitch": false,
"emissiveRendering": false,
"displayFluidOverlay": false,
"itemTexture": "",
"particleTexture": "",
"blockBase": "Pane",
"tintType": "No tint",
"isItemTinted": false,
"hasTransparency": true,
"connectedSides": false,
"transparencyType": "TRANSLUCENT",
"disableOffset": false,
"boundingBoxes": [
{
"mx": 0.0,
"my": 0.0,
"mz": 0.0,
"Mx": 16.0,
"My": 16.0,
"Mz": 16.0,
"subtract": false
}
],
"customProperties": [],
"name": "Broken Glass",
"specialInformation": {
"fixedValue": []
},
"hardness": 0.3,
"resistance": 0.3,
"hasGravity": false,
"isWaterloggable": false,
"creativeTabs": [
{
"value": "BUILDING_BLOCKS"
}
],
"destroyTool": "Not specified",
"customDrop": {
"value": ""
},
"dropAmount": 1,
"useLootTableForDrops": false,
"requiresCorrectTool": false,
"enchantPowerBonus": 0.0,
"plantsGrowOn": false,
"canRedstoneConnect": false,
"lightOpacity": 0,
"material": {
"value": "GLASS"
},
"tickRate": 0,
"tickRandomly": false,
"isReplaceable": false,
"canProvidePower": false,
"emittedRedstonePower": {
"fixedValue": 15.0
},
"colorOnMap": "DEFAULT",
"creativePickItem": {
"value": ""
},
"offsetType": "NONE",
"aiPathNodeType": "DEFAULT",
"flammability": 0,
"fireSpreadSpeed": 0,
"isLadder": false,
"slipperiness": 0.6,
"speedFactor": 1.0,
"jumpFactor": 1.0,
"reactionToPushing": "NORMAL",
"isNotColidable": false,
"isCustomSoundType": false,
"soundOnStep": {
"value": "GLASS"
},
"breakSound": {
"value": ""
},
"fallSound": {
"value": ""
},
"hitSound": {
"value": ""
},
"placeSound": {
"value": ""
},
"stepSound": {
"value": ""
},
"luminance": 0,
"unbreakable": false,
"vanillaToolTier": "STONE",
"isBonemealable": false,
"hasInventory": false,
"openGUIOnRightClick": false,
"inventorySize": 9,
"inventoryStackSize": 64,
"inventoryDropWhenDestroyed": true,
"inventoryComparatorPower": true,
"inventoryOutSlotIDs": [],
"inventoryInSlotIDs": [],
"hasEnergyStorage": false,
"energyInitial": 0,
"energyCapacity": 400000,
"energyMaxReceive": 200,
"energyMaxExtract": 200,
"isFluidTank": false,
"fluidCapacity": 8000,
"fluidRestrictions": [],
"generateFeature": false,
"restrictionBiomes": [],
"blocksToReplace": [
{
"value": "TAG:stone_ore_replaceables"
}
],
"generationShape": "UNIFORM",
"frequencyPerChunks": 10,
"frequencyOnChunk": 16,
"minGenerateHeight": 0,
"maxGenerateHeight": 64
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 1,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "BUILDING",
"recipeShapeless": false,
"recipeSlots": [
{
"value": "Items.DYE#1"
},
{
"value": ""
},
{
"value": "Items.DYE#2"
},
{
"value": ""
},
{
"value": "Blocks.GLASS_PANE"
},
{
"value": ""
},
{
"value": "Items.DYE#18"
},
{
"value": ""
},
{
"value": "Items.DYE#11"
}
],
"recipeReturnStack": {
"value": "CUSTOM:BrokenGlass"
},
"name": "broken_glass_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,137 @@
{
"_fv": 73,
"_type": "block",
"definition": {
"texture": "condensed_condensed_condensed_netherrack",
"textureTop": "condensed_condensed_condensed_netherrack",
"textureLeft": "condensed_condensed_condensed_netherrack",
"textureFront": "condensed_condensed_condensed_netherrack",
"textureRight": "condensed_condensed_condensed_netherrack",
"textureBack": "condensed_condensed_condensed_netherrack",
"renderType": 10,
"customModelName": "Normal",
"rotationMode": 0,
"enablePitch": false,
"emissiveRendering": false,
"displayFluidOverlay": false,
"itemTexture": "",
"particleTexture": "",
"tintType": "No tint",
"isItemTinted": false,
"hasTransparency": false,
"connectedSides": false,
"transparencyType": "SOLID",
"disableOffset": false,
"boundingBoxes": [
{
"mx": 0.0,
"my": 0.0,
"mz": 0.0,
"Mx": 16.0,
"My": 16.0,
"Mz": 16.0,
"subtract": false
}
],
"customProperties": [],
"name": "Condensed Condensed Condensed Netherrack",
"specialInformation": {
"fixedValue": []
},
"hardness": 291.6,
"resistance": 291.6,
"hasGravity": false,
"isWaterloggable": false,
"creativeTabs": [
{
"value": "BUILDING_BLOCKS"
}
],
"destroyTool": "pickaxe",
"customDrop": {
"value": ""
},
"dropAmount": 1,
"useLootTableForDrops": false,
"requiresCorrectTool": true,
"enchantPowerBonus": 0.0,
"plantsGrowOn": false,
"canRedstoneConnect": false,
"lightOpacity": 15,
"material": {
"value": "ROCK"
},
"tickRate": 0,
"tickRandomly": false,
"isReplaceable": false,
"canProvidePower": false,
"emittedRedstonePower": {
"fixedValue": 15.0
},
"colorOnMap": "DEFAULT",
"creativePickItem": {
"value": ""
},
"offsetType": "NONE",
"aiPathNodeType": "DEFAULT",
"flammability": 0,
"fireSpreadSpeed": 0,
"isLadder": false,
"slipperiness": 0.6,
"speedFactor": 1.0,
"jumpFactor": 1.0,
"reactionToPushing": "NORMAL",
"isNotColidable": false,
"isCustomSoundType": false,
"soundOnStep": {
"value": "NETHERRACK"
},
"breakSound": {
"value": ""
},
"fallSound": {
"value": ""
},
"hitSound": {
"value": ""
},
"placeSound": {
"value": ""
},
"stepSound": {
"value": ""
},
"luminance": 0,
"unbreakable": false,
"vanillaToolTier": "NONE",
"isBonemealable": false,
"hasInventory": false,
"openGUIOnRightClick": false,
"inventorySize": 9,
"inventoryStackSize": 64,
"inventoryDropWhenDestroyed": true,
"inventoryComparatorPower": true,
"inventoryOutSlotIDs": [],
"inventoryInSlotIDs": [],
"hasEnergyStorage": false,
"energyInitial": 0,
"energyCapacity": 400000,
"energyMaxReceive": 200,
"energyMaxExtract": 200,
"isFluidTank": false,
"fluidCapacity": 8000,
"fluidRestrictions": [],
"generateFeature": false,
"restrictionBiomes": [],
"blocksToReplace": [
{
"value": "TAG:stone_ore_replaceables"
}
],
"generationShape": "UNIFORM",
"frequencyPerChunks": 10,
"frequencyOnChunk": 16,
"minGenerateHeight": 0,
"maxGenerateHeight": 64
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 1,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "BUILDING",
"recipeShapeless": false,
"recipeSlots": [
{
"value": "CUSTOM:CondensedCondensedNetherrack"
},
{
"value": "CUSTOM:CondensedCondensedNetherrack"
},
{
"value": "CUSTOM:CondensedCondensedNetherrack"
},
{
"value": "CUSTOM:CondensedCondensedNetherrack"
},
{
"value": "CUSTOM:CondensedCondensedNetherrack"
},
{
"value": "CUSTOM:CondensedCondensedNetherrack"
},
{
"value": "CUSTOM:CondensedCondensedNetherrack"
},
{
"value": "CUSTOM:CondensedCondensedNetherrack"
},
{
"value": "CUSTOM:CondensedCondensedNetherrack"
}
],
"recipeReturnStack": {
"value": "CUSTOM:CondensedCondensedCondensedNetherrack"
},
"name": "condensed_condensed_condensed_netherrack_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,137 @@
{
"_fv": 73,
"_type": "block",
"definition": {
"texture": "condensed_condensed_netherrack_1",
"textureTop": "condensed_condensed_netherrack_1",
"textureLeft": "condensed_condensed_netherrack_1",
"textureFront": "condensed_condensed_netherrack_1",
"textureRight": "condensed_condensed_netherrack_1",
"textureBack": "condensed_condensed_netherrack_1",
"renderType": 10,
"customModelName": "Normal",
"rotationMode": 0,
"enablePitch": false,
"emissiveRendering": false,
"displayFluidOverlay": false,
"itemTexture": "",
"particleTexture": "",
"tintType": "No tint",
"isItemTinted": false,
"hasTransparency": false,
"connectedSides": false,
"transparencyType": "SOLID",
"disableOffset": false,
"boundingBoxes": [
{
"mx": 0.0,
"my": 0.0,
"mz": 0.0,
"Mx": 16.0,
"My": 16.0,
"Mz": 16.0,
"subtract": false
}
],
"customProperties": [],
"name": "Condensed Condensed Netherrack",
"specialInformation": {
"fixedValue": []
},
"hardness": 32.4,
"resistance": 32.4,
"hasGravity": false,
"isWaterloggable": false,
"creativeTabs": [
{
"value": "BUILDING_BLOCKS"
}
],
"destroyTool": "pickaxe",
"customDrop": {
"value": ""
},
"dropAmount": 1,
"useLootTableForDrops": false,
"requiresCorrectTool": true,
"enchantPowerBonus": 0.0,
"plantsGrowOn": false,
"canRedstoneConnect": false,
"lightOpacity": 15,
"material": {
"value": "ROCK"
},
"tickRate": 0,
"tickRandomly": false,
"isReplaceable": false,
"canProvidePower": false,
"emittedRedstonePower": {
"fixedValue": 15.0
},
"colorOnMap": "DEFAULT",
"creativePickItem": {
"value": ""
},
"offsetType": "NONE",
"aiPathNodeType": "DEFAULT",
"flammability": 0,
"fireSpreadSpeed": 0,
"isLadder": false,
"slipperiness": 0.6,
"speedFactor": 1.0,
"jumpFactor": 1.0,
"reactionToPushing": "NORMAL",
"isNotColidable": false,
"isCustomSoundType": false,
"soundOnStep": {
"value": "NETHERRACK"
},
"breakSound": {
"value": ""
},
"fallSound": {
"value": ""
},
"hitSound": {
"value": ""
},
"placeSound": {
"value": ""
},
"stepSound": {
"value": ""
},
"luminance": 0,
"unbreakable": false,
"vanillaToolTier": "NONE",
"isBonemealable": false,
"hasInventory": false,
"openGUIOnRightClick": false,
"inventorySize": 9,
"inventoryStackSize": 64,
"inventoryDropWhenDestroyed": true,
"inventoryComparatorPower": true,
"inventoryOutSlotIDs": [],
"inventoryInSlotIDs": [],
"hasEnergyStorage": false,
"energyInitial": 0,
"energyCapacity": 400000,
"energyMaxReceive": 200,
"energyMaxExtract": 200,
"isFluidTank": false,
"fluidCapacity": 8000,
"fluidRestrictions": [],
"generateFeature": false,
"restrictionBiomes": [],
"blocksToReplace": [
{
"value": "TAG:stone_ore_replaceables"
}
],
"generationShape": "UNIFORM",
"frequencyPerChunks": 10,
"frequencyOnChunk": 16,
"minGenerateHeight": 0,
"maxGenerateHeight": 64
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 9,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "BUILDING",
"recipeShapeless": true,
"recipeSlots": [
{
"value": "CUSTOM:CondensedCondensedCondensedNetherrack"
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
}
],
"recipeReturnStack": {
"value": "CUSTOM:CondensedCondensedNetherrack"
},
"name": "condensed_condensed_netherrack_2",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 1,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "BUILDING",
"recipeShapeless": false,
"recipeSlots": [
{
"value": "CUSTOM:CondensedNetherrack"
},
{
"value": "CUSTOM:CondensedNetherrack"
},
{
"value": "CUSTOM:CondensedNetherrack"
},
{
"value": "CUSTOM:CondensedNetherrack"
},
{
"value": "CUSTOM:CondensedNetherrack"
},
{
"value": "CUSTOM:CondensedNetherrack"
},
{
"value": "CUSTOM:CondensedNetherrack"
},
{
"value": "CUSTOM:CondensedNetherrack"
},
{
"value": "CUSTOM:CondensedNetherrack"
}
],
"recipeReturnStack": {
"value": "CUSTOM:CondensedCondensedNetherrack"
},
"name": "condensed_condensed_netherrack_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,137 @@
{
"_fv": 73,
"_type": "block",
"definition": {
"texture": "condensed_netherrack_1",
"textureTop": "condensed_netherrack_1",
"textureLeft": "condensed_netherrack_1",
"textureFront": "condensed_netherrack_1",
"textureRight": "condensed_netherrack_1",
"textureBack": "condensed_netherrack_1",
"renderType": 10,
"customModelName": "Normal",
"rotationMode": 0,
"enablePitch": false,
"emissiveRendering": false,
"displayFluidOverlay": false,
"itemTexture": "",
"particleTexture": "",
"tintType": "No tint",
"isItemTinted": false,
"hasTransparency": false,
"connectedSides": false,
"transparencyType": "SOLID",
"disableOffset": false,
"boundingBoxes": [
{
"mx": 0.0,
"my": 0.0,
"mz": 0.0,
"Mx": 16.0,
"My": 16.0,
"Mz": 16.0,
"subtract": false
}
],
"customProperties": [],
"name": "Condensed Netherrack",
"specialInformation": {
"fixedValue": []
},
"hardness": 3.6,
"resistance": 3.6,
"hasGravity": false,
"isWaterloggable": false,
"creativeTabs": [
{
"value": "BUILDING_BLOCKS"
}
],
"destroyTool": "pickaxe",
"customDrop": {
"value": ""
},
"dropAmount": 1,
"useLootTableForDrops": false,
"requiresCorrectTool": true,
"enchantPowerBonus": 0.0,
"plantsGrowOn": false,
"canRedstoneConnect": false,
"lightOpacity": 15,
"material": {
"value": "ROCK"
},
"tickRate": 0,
"tickRandomly": false,
"isReplaceable": false,
"canProvidePower": false,
"emittedRedstonePower": {
"fixedValue": 15.0
},
"colorOnMap": "DEFAULT",
"creativePickItem": {
"value": ""
},
"offsetType": "NONE",
"aiPathNodeType": "DEFAULT",
"flammability": 0,
"fireSpreadSpeed": 0,
"isLadder": false,
"slipperiness": 0.6,
"speedFactor": 1.0,
"jumpFactor": 1.0,
"reactionToPushing": "NORMAL",
"isNotColidable": false,
"isCustomSoundType": false,
"soundOnStep": {
"value": "NETHERRACK"
},
"breakSound": {
"value": ""
},
"fallSound": {
"value": ""
},
"hitSound": {
"value": ""
},
"placeSound": {
"value": ""
},
"stepSound": {
"value": ""
},
"luminance": 0,
"unbreakable": false,
"vanillaToolTier": "NONE",
"isBonemealable": false,
"hasInventory": false,
"openGUIOnRightClick": false,
"inventorySize": 9,
"inventoryStackSize": 64,
"inventoryDropWhenDestroyed": true,
"inventoryComparatorPower": true,
"inventoryOutSlotIDs": [],
"inventoryInSlotIDs": [],
"hasEnergyStorage": false,
"energyInitial": 0,
"energyCapacity": 400000,
"energyMaxReceive": 200,
"energyMaxExtract": 200,
"isFluidTank": false,
"fluidCapacity": 8000,
"fluidRestrictions": [],
"generateFeature": false,
"restrictionBiomes": [],
"blocksToReplace": [
{
"value": "TAG:stone_ore_replaceables"
}
],
"generationShape": "UNIFORM",
"frequencyPerChunks": 10,
"frequencyOnChunk": 16,
"minGenerateHeight": 0,
"maxGenerateHeight": 64
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 1,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "BUILDING",
"recipeShapeless": false,
"recipeSlots": [
{
"value": "Blocks.NETHERRACK"
},
{
"value": "Blocks.NETHERRACK"
},
{
"value": "Blocks.NETHERRACK"
},
{
"value": "Blocks.NETHERRACK"
},
{
"value": "Blocks.NETHERRACK"
},
{
"value": "Blocks.NETHERRACK"
},
{
"value": "Blocks.NETHERRACK"
},
{
"value": "Blocks.NETHERRACK"
},
{
"value": "Blocks.NETHERRACK"
}
],
"recipeReturnStack": {
"value": "CUSTOM:CondensedNetherrack"
},
"name": "condensed_netherrack_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 9,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "BUILDING",
"recipeShapeless": true,
"recipeSlots": [
{
"value": "CUSTOM:CondensedCondensedNetherrack"
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
}
],
"recipeReturnStack": {
"value": "CUSTOM:CondensedNetherrack"
},
"name": "condensed_netherrack_recipe_2",
"namespace": "mod"
}
}

160
elements/Ghoul.mod.json Normal file
View File

@@ -0,0 +1,160 @@
{
"_fv": 73,
"_type": "livingentity",
"definition": {
"mobName": "Ghoul",
"mobLabel": "",
"mobModelName": "Biped",
"mobModelTexture": "ghoul.png",
"transparentModelCondition": {
"fixedValue": false
},
"isShakingCondition": {
"fixedValue": false
},
"solidBoundingBox": {
"fixedValue": false
},
"visualScale": {
"fixedValue": 0.5
},
"boundingBoxScale": {
"fixedValue": 0.5
},
"modelLayers": [],
"animations": [],
"modelWidth": 0.6,
"modelHeight": 1.8,
"modelShadowSize": 0.25,
"mountedYOffset": 0.0,
"hasSpawnEgg": true,
"spawnEggBaseColor": {
"value": -16777216,
"falpha": 0.0
},
"spawnEggDotColor": {
"value": -13421773,
"falpha": 0.0
},
"creativeTabs": [
{
"value": "MISC"
}
],
"isBoss": false,
"bossBarColor": "PINK",
"bossBarType": "PROGRESS",
"equipmentMainHand": {
"value": ""
},
"equipmentOffHand": {
"value": ""
},
"equipmentHelmet": {
"value": ""
},
"equipmentBody": {
"value": ""
},
"equipmentLeggings": {
"value": ""
},
"equipmentBoots": {
"value": ""
},
"mobBehaviourType": "Mob",
"mobCreatureType": "UNDEAD",
"attackStrength": 3,
"attackKnockback": 0.0,
"knockbackResistance": 0.0,
"movementSpeed": 0.36,
"stepHeight": 0.6,
"armorBaseValue": 0.0,
"trackingRange": 64,
"followRange": 19,
"health": 9,
"xpAmount": 0,
"waterMob": false,
"breatheUnderwater": {
"fixedValue": false
},
"pushedByFluids": {
"fixedValue": true
},
"flyingMob": false,
"inventorySize": 9,
"inventoryStackSize": 64,
"disableCollisions": false,
"ridable": false,
"canControlForward": false,
"canControlStrafe": false,
"immuneToFire": true,
"immuneToArrows": false,
"immuneToFallDamage": true,
"immuneToCactus": true,
"immuneToDrowning": true,
"immuneToLightning": false,
"immuneToPotions": false,
"immuneToPlayer": false,
"immuneToExplosion": false,
"immuneToTrident": false,
"immuneToAnvil": false,
"immuneToWither": true,
"immuneToDragonBreath": false,
"mobDrop": {
"value": ""
},
"livingSound": {
"value": "entity.wither_skeleton.ambient"
},
"hurtSound": {
"value": "entity.wither_skeleton.hurt"
},
"deathSound": {
"value": "entity.wither_skeleton.death"
},
"stepSound": {
"value": "entity.wither_skeleton.step"
},
"raidCelebrationSound": {
"value": ""
},
"entityDataEntries": [],
"whenThisMobKillsAnother": {
"name": "GhoulThisEntityKillsAnotherOne"
},
"onInitialSpawn": {
"name": "GhoulOnInitialEntitySpawn"
},
"hasAI": true,
"aiBase": "(none)",
"aixml": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"aitasks_container\" deletable=\"false\" x=\"125\" y=\"66\"><next><block type=\"attack_entity\"><field name=\"insight\">FALSE</field><field name=\"nearby\">TRUE</field><field name=\"entity\">EntityZombie</field><field name=\"condition\">null,null</field><next><block type=\"attack_entity\"><field name=\"insight\">FALSE</field><field name=\"nearby\">TRUE</field><field name=\"entity\">EntityZombieVillager</field><field name=\"condition\">null,null</field><next><block type=\"attack_entity\"><field name=\"insight\">FALSE</field><field name=\"nearby\">TRUE</field><field name=\"entity\">EntityCreeper</field><field name=\"condition\">null,null</field><next><block type=\"attack_entity\"><field name=\"insight\">FALSE</field><field name=\"nearby\">TRUE</field><field name=\"entity\">EntityEnderman</field><field name=\"condition\">null,null</field><next><block type=\"attack_entity\"><field name=\"insight\">FALSE</field><field name=\"nearby\">TRUE</field><field name=\"entity\">EntitySpider</field><field name=\"condition\">null,null</field><next><block type=\"attack_entity\"><field name=\"insight\">FALSE</field><field name=\"nearby\">TRUE</field><field name=\"entity\">EntityCaveSpider</field><field name=\"condition\">null,null</field><next><block type=\"attack_entity\"><field name=\"insight\">FALSE</field><field name=\"nearby\">TRUE</field><field name=\"entity\">EntityPillager</field><field name=\"condition\">null,null</field><next><block type=\"attack_entity\"><field name=\"insight\">FALSE</field><field name=\"nearby\">TRUE</field><field name=\"entity\">EntitySkeleton</field><field name=\"condition\">null,null</field><next><block type=\"attack_on_collide\"><field name=\"speed\">1.2</field><field name=\"longmemory\">FALSE</field><field name=\"condition\">null,null</field><next><block type=\"attack_action\"><field name=\"callhelp\">FALSE</field><field name=\"condition\">null,null</field><next><block type=\"wander\"><field name=\"speed\">1</field><field name=\"condition\">null,null</field><next><block type=\"look_around\"><field name=\"condition\">null,null</field></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></xml>",
"breedable": false,
"tameable": false,
"breedTriggerItems": [],
"ranged": false,
"rangedAttackItem": {
"value": ""
},
"rangedItemType": "Default item",
"rangedAttackInterval": 20,
"rangedAttackRadius": 10.0,
"spawnThisMob": false,
"doesDespawnWhenIdle": false,
"spawningProbability": 20,
"mobSpawningType": "monster",
"minNumberOfMobsPerGroup": 1,
"maxNumberOfMobsPerGroup": 4,
"restrictionBiomes": [],
"spawnInDungeons": false,
"raidSpawnsCount": [
4,
3,
3,
4,
4,
4,
2
]
}
}

View File

@@ -0,0 +1,7 @@
{
"_fv": 73,
"_type": "procedure",
"definition": {
"procedurexml": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"event_trigger\" deletable=\"false\" x=\"116\" y=\"94\"><field name=\"trigger\">no_ext_trigger</field><next><block type=\"entity_add_potion_advanced\"><field name=\"potion\">CUSTOM:SummonedEntityEffect</field><value name=\"level\"><block type=\"math_number\"><field name=\"NUM\">1</field></block></value><value name=\"duration\"><block type=\"math_number\"><field name=\"NUM\">200</field></block></value><value name=\"ambient\"><block type=\"logic_boolean\"><field name=\"BOOL\">FALSE</field></block></value><value name=\"particles\"><block type=\"logic_boolean\"><field name=\"BOOL\">FALSE</field></block></value><value name=\"entity\"><block type=\"entity_from_deps\"></block></value></block></next></block></xml>"
}
}

View File

@@ -0,0 +1,7 @@
{
"_fv": 73,
"_type": "procedure",
"definition": {
"procedurexml": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"event_trigger\" deletable=\"false\" x=\"40\" y=\"40\"><field name=\"trigger\">no_ext_trigger</field><next><block type=\"spawn_entity_with_rotation_velocity\"><field name=\"entity\">CUSTOM:Ghoul</field><value name=\"x\"><block type=\"coord_x\"></block></value><value name=\"y\"><block type=\"coord_y\"></block></value><value name=\"z\"><block type=\"coord_z\"></block></value><value name=\"yaw\"><block type=\"math_number\"><field name=\"NUM\">0</field></block></value><value name=\"pitch\"><block type=\"math_number\"><field name=\"NUM\">0</field></block></value><value name=\"vx\"><block type=\"math_number\"><field name=\"NUM\">0</field></block></value><value name=\"vy\"><block type=\"math_number\"><field name=\"NUM\">0</field></block></value><value name=\"vz\"><block type=\"math_number\"><field name=\"NUM\">0</field></block></value></block></next></block></xml>"
}
}

View File

@@ -0,0 +1,63 @@
{
"_fv": 73,
"_type": "item",
"definition": {
"renderType": 0,
"texture": "golden_berries",
"customModelName": "Normal",
"customProperties": {},
"states": [],
"name": "Golden Berries",
"rarity": "UNCOMMON",
"creativeTabs": [
{
"value": "FOOD"
}
],
"stackSize": 64,
"enchantability": 0,
"useDuration": 24,
"toolType": 1.0,
"damageCount": 0,
"recipeRemainder": {
"value": ""
},
"destroyAnyBlock": false,
"immuneToFire": false,
"stayInGridWhenCrafting": false,
"damageOnCrafting": false,
"enableMeleeDamage": false,
"damageVsEntity": 0.0,
"specialInformation": {
"fixedValue": []
},
"glowCondition": {
"fixedValue": false
},
"inventorySize": 9,
"inventoryStackSize": 64,
"enableRanged": false,
"shootConstantly": false,
"rangedItemChargesPower": false,
"projectile": {
"value": "CUSTOM:ShitProjectile"
},
"projectileDisableAmmoCheck": false,
"isFood": true,
"nutritionalValue": 4,
"saturation": 12.0,
"eatResultItem": {
"value": ""
},
"isMeat": false,
"isAlwaysEdible": false,
"animation": "eat",
"isMusicDisc": false,
"musicDiscMusic": {
"value": ""
},
"musicDiscDescription": "",
"musicDiscLengthInTicks": 100,
"musicDiscAnalogOutput": 0
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 1,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "MISC",
"recipeShapeless": false,
"recipeSlots": [
{
"value": "Items.GOLD_NUGGET"
},
{
"value": "Items.GOLD_NUGGET"
},
{
"value": "Items.GOLD_NUGGET"
},
{
"value": "Items.GOLD_NUGGET"
},
{
"value": "Items.SWEET_BERRIES"
},
{
"value": "Items.GOLD_NUGGET"
},
{
"value": "Items.GOLD_NUGGET"
},
{
"value": "Items.GOLD_NUGGET"
},
{
"value": "Items.GOLD_NUGGET"
}
],
"recipeReturnStack": {
"value": "CUSTOM:GoldenBerries"
},
"name": "golden_berries_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,45 @@
{
"_fv": 73,
"_type": "tool",
"definition": {
"toolType": "Spade",
"renderType": 0,
"blockingRenderType": 0,
"texture": "gravedigger",
"customModelName": "Normal",
"blockingModelName": "Normal blocking",
"name": "Gravedigger",
"specialInformation": {
"fixedValue": [
"Right-Click on soul sand or soul soil to use them, summoning a ghoul that attacks hostile mobs.",
"We must dig!"
]
},
"creativeTabs": [
{
"value": "TOOLS"
}
],
"efficiency": 4.0,
"attackSpeed": 1.0,
"enchantability": 2,
"damageVsEntity": 4.0,
"usageCount": 3666,
"glowCondition": {
"fixedValue": false
},
"repairItems": [
{
"value": "Items.SKULL#1"
}
],
"immuneToFire": true,
"blockDropsTier": "STONE",
"blocksAffected": [],
"stayInGridWhenCrafting": false,
"damageOnCrafting": false,
"onRightClickedOnBlock": {
"name": "GravediggerRightclickedOnBlock"
}
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 1,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "EQUIPMENT",
"recipeShapeless": false,
"recipeSlots": [
{
"value": ""
},
{
"value": "Items.SKULL#1"
},
{
"value": ""
},
{
"value": "Items.GHAST_TEAR"
},
{
"value": "Items.BONE"
},
{
"value": "Items.GHAST_TEAR"
},
{
"value": "Items.GHAST_TEAR"
},
{
"value": "Items.BONE"
},
{
"value": "Items.GHAST_TEAR"
}
],
"recipeReturnStack": {
"value": "CUSTOM:Gravedigger"
},
"name": "gravedigger_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,7 @@
{
"_fv": 73,
"_type": "procedure",
"definition": {
"procedurexml": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"event_trigger\" deletable=\"false\" x=\"40\" y=\"40\"><field name=\"trigger\">no_ext_trigger</field><next><block type=\"controls_if\"><value name=\"IF0\"><block type=\"logic_binary_ops\" inline=\"false\"><field name=\"OP\">OR</field><value name=\"A\"><block type=\"compare_blockstates\"><value name=\"a\"><block type=\"blockstate_from_deps\"></block></value><value name=\"b\"><block type=\"mcitem_allblocks\"><field name=\"value\">Blocks.SOUL_SAND</field></block></value></block></value><value name=\"B\"><block type=\"compare_blockstates\"><value name=\"a\"><block type=\"blockstate_from_deps\"></block></value><value name=\"b\"><block type=\"mcitem_allblocks\"><field name=\"value\">Blocks.SOUL_SOIL</field></block></value></block></value></block></value><statement name=\"DO0\"><block type=\"item_cooldown_for\"><value name=\"item\"><block type=\"itemstack_to_mcitem\"></block></value><value name=\"ticks\"><block type=\"math_number\"><field name=\"NUM\">16</field></block></value><value name=\"entity\"><block type=\"entity_from_deps\"></block></value><next><block type=\"block_remove\"><value name=\"x\"><block type=\"coord_x\"></block></value><value name=\"y\"><block type=\"coord_y\"></block></value><value name=\"z\"><block type=\"coord_z\"></block></value><next><block type=\"play_sound\"><field name=\"sound\">entity.blaze.ambient</field><field name=\"soundcategory\">hostile</field><value name=\"x\"><block type=\"coord_x\"></block></value><value name=\"y\"><block type=\"coord_y\"></block></value><value name=\"z\"><block type=\"coord_z\"></block></value><value name=\"level\"><block type=\"math_number\"><field name=\"NUM\">0.7</field></block></value><value name=\"pitch\"><block type=\"math_random_number_between\"><value name=\"min\"><block type=\"math_number\"><field name=\"NUM\">0.6</field></block></value><value name=\"max\"><block type=\"math_number\"><field name=\"NUM\">0.7</field></block></value></block></value><next><block type=\"spawn_entity_with_rotation_velocity\"><field name=\"entity\">CUSTOM:Ghoul</field><value name=\"x\"><block type=\"coord_x\"></block></value><value name=\"y\"><block type=\"coord_y\"></block></value><value name=\"z\"><block type=\"coord_z\"></block></value><value name=\"yaw\"><block type=\"math_number\"><field name=\"NUM\">0</field></block></value><value name=\"pitch\"><block type=\"math_number\"><field name=\"NUM\">0</field></block></value><value name=\"vx\"><block type=\"math_number\"><field name=\"NUM\">0</field></block></value><value name=\"vy\"><block type=\"math_number\"><field name=\"NUM\">0</field></block></value><value name=\"vz\"><block type=\"math_number\"><field name=\"NUM\">0</field></block></value></block></next></block></next></block></next></block></statement></block></next></block></xml>"
}
}

View File

@@ -0,0 +1,137 @@
{
"_fv": 73,
"_type": "block",
"definition": {
"texture": "hexa-condensed_netherrack",
"textureTop": "hexa-condensed_netherrack",
"textureLeft": "hexa-condensed_netherrack",
"textureFront": "hexa-condensed_netherrack",
"textureRight": "hexa-condensed_netherrack",
"textureBack": "hexa-condensed_netherrack",
"renderType": 10,
"customModelName": "Normal",
"rotationMode": 0,
"enablePitch": false,
"emissiveRendering": false,
"displayFluidOverlay": false,
"itemTexture": "",
"particleTexture": "",
"tintType": "No tint",
"isItemTinted": false,
"hasTransparency": false,
"connectedSides": false,
"transparencyType": "SOLID",
"disableOffset": false,
"boundingBoxes": [
{
"mx": 0.0,
"my": 0.0,
"mz": 0.0,
"Mx": 16.0,
"My": 16.0,
"Mz": 16.0,
"subtract": false
}
],
"customProperties": [],
"name": "Hexa-condensed Netherrack",
"specialInformation": {
"fixedValue": []
},
"hardness": 64000.0,
"resistance": 64000.0,
"hasGravity": false,
"isWaterloggable": false,
"creativeTabs": [
{
"value": "BUILDING_BLOCKS"
}
],
"destroyTool": "pickaxe",
"customDrop": {
"value": ""
},
"dropAmount": 1,
"useLootTableForDrops": false,
"requiresCorrectTool": true,
"enchantPowerBonus": 0.0,
"plantsGrowOn": false,
"canRedstoneConnect": false,
"lightOpacity": 15,
"material": {
"value": "ROCK"
},
"tickRate": 0,
"tickRandomly": false,
"isReplaceable": false,
"canProvidePower": false,
"emittedRedstonePower": {
"fixedValue": 15.0
},
"colorOnMap": "DEFAULT",
"creativePickItem": {
"value": ""
},
"offsetType": "NONE",
"aiPathNodeType": "DEFAULT",
"flammability": 0,
"fireSpreadSpeed": 0,
"isLadder": false,
"slipperiness": 0.6,
"speedFactor": 1.0,
"jumpFactor": 1.0,
"reactionToPushing": "NORMAL",
"isNotColidable": false,
"isCustomSoundType": false,
"soundOnStep": {
"value": "NETHERRACK"
},
"breakSound": {
"value": ""
},
"fallSound": {
"value": ""
},
"hitSound": {
"value": ""
},
"placeSound": {
"value": ""
},
"stepSound": {
"value": ""
},
"luminance": 0,
"unbreakable": false,
"vanillaToolTier": "NONE",
"isBonemealable": false,
"hasInventory": false,
"openGUIOnRightClick": false,
"inventorySize": 9,
"inventoryStackSize": 64,
"inventoryDropWhenDestroyed": true,
"inventoryComparatorPower": true,
"inventoryOutSlotIDs": [],
"inventoryInSlotIDs": [],
"hasEnergyStorage": false,
"energyInitial": 0,
"energyCapacity": 400000,
"energyMaxReceive": 200,
"energyMaxExtract": 200,
"isFluidTank": false,
"fluidCapacity": 8000,
"fluidRestrictions": [],
"generateFeature": false,
"restrictionBiomes": [],
"blocksToReplace": [
{
"value": "TAG:stone_ore_replaceables"
}
],
"generationShape": "UNIFORM",
"frequencyPerChunks": 10,
"frequencyOnChunk": 16,
"minGenerateHeight": 0,
"maxGenerateHeight": 64
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 1,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "BUILDING",
"recipeShapeless": false,
"recipeSlots": [
{
"value": "CUSTOM:PentaCondensedNetherrack"
},
{
"value": "CUSTOM:PentaCondensedNetherrack"
},
{
"value": "CUSTOM:PentaCondensedNetherrack"
},
{
"value": "CUSTOM:PentaCondensedNetherrack"
},
{
"value": "CUSTOM:PentaCondensedNetherrack"
},
{
"value": "CUSTOM:PentaCondensedNetherrack"
},
{
"value": "CUSTOM:PentaCondensedNetherrack"
},
{
"value": "CUSTOM:PentaCondensedNetherrack"
},
{
"value": "CUSTOM:PentaCondensedNetherrack"
}
],
"recipeReturnStack": {
"value": "CUSTOM:HexaCondensedNetherrack"
},
"name": "hexa_condensed_netherrack_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 9,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "BUILDING",
"recipeShapeless": true,
"recipeSlots": [
{
"value": "CUSTOM:HexaCondensedNetherrack"
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
}
],
"recipeReturnStack": {
"value": "CUSTOM:PentaCondensedNetherrack"
},
"name": "hexa_condensed_netherrack_recipe_2",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,63 @@
{
"_fv": 73,
"_type": "item",
"definition": {
"renderType": 0,
"texture": "lapis_lazuli_nugget",
"customModelName": "Normal",
"customProperties": {},
"states": [],
"name": "Lapis Lazuli Nugget",
"rarity": "COMMON",
"creativeTabs": [
{
"value": "MATERIALS"
}
],
"stackSize": 64,
"enchantability": 0,
"useDuration": 0,
"toolType": 1.0,
"damageCount": 0,
"recipeRemainder": {
"value": ""
},
"destroyAnyBlock": false,
"immuneToFire": false,
"stayInGridWhenCrafting": false,
"damageOnCrafting": false,
"enableMeleeDamage": false,
"damageVsEntity": 0.0,
"specialInformation": {
"fixedValue": []
},
"glowCondition": {
"fixedValue": false
},
"inventorySize": 9,
"inventoryStackSize": 64,
"enableRanged": false,
"shootConstantly": false,
"rangedItemChargesPower": false,
"projectile": {
"value": "Arrow"
},
"projectileDisableAmmoCheck": false,
"isFood": false,
"nutritionalValue": 4,
"saturation": 0.3,
"eatResultItem": {
"value": ""
},
"isMeat": false,
"isAlwaysEdible": false,
"animation": "none",
"isMusicDisc": false,
"musicDiscMusic": {
"value": ""
},
"musicDiscDescription": "",
"musicDiscLengthInTicks": 100,
"musicDiscAnalogOutput": 0
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 9,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "MISC",
"recipeShapeless": true,
"recipeSlots": [
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": "Items.DYE#4"
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
}
],
"recipeReturnStack": {
"value": "CUSTOM:LapisLazuliNugget"
},
"name": "lapis_lazuli_nugget_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 1,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "MISC",
"recipeShapeless": true,
"recipeSlots": [
{
"value": "CUSTOM:LapisLazuliNugget"
},
{
"value": "CUSTOM:LapisLazuliNugget"
},
{
"value": "CUSTOM:LapisLazuliNugget"
},
{
"value": "CUSTOM:LapisLazuliNugget"
},
{
"value": "CUSTOM:LapisLazuliNugget"
},
{
"value": "CUSTOM:LapisLazuliNugget"
},
{
"value": "CUSTOM:LapisLazuliNugget"
},
{
"value": "CUSTOM:LapisLazuliNugget"
},
{
"value": "CUSTOM:LapisLazuliNugget"
}
],
"recipeReturnStack": {
"value": "Items.DYE#4"
},
"name": "lapis_lazuli_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,63 @@
{
"_fv": 73,
"_type": "item",
"definition": {
"renderType": 0,
"texture": "magic_dust",
"customModelName": "Normal",
"customProperties": {},
"states": [],
"name": "Magic Dust",
"rarity": "UNCOMMON",
"creativeTabs": [
{
"value": "MATERIALS"
}
],
"stackSize": 64,
"enchantability": 0,
"useDuration": 0,
"toolType": 1.0,
"damageCount": 0,
"recipeRemainder": {
"value": ""
},
"destroyAnyBlock": false,
"immuneToFire": false,
"stayInGridWhenCrafting": false,
"damageOnCrafting": false,
"enableMeleeDamage": false,
"damageVsEntity": 0.0,
"specialInformation": {
"fixedValue": []
},
"glowCondition": {
"fixedValue": false
},
"inventorySize": 9,
"inventoryStackSize": 64,
"enableRanged": false,
"shootConstantly": false,
"rangedItemChargesPower": false,
"projectile": {
"value": "Arrow"
},
"projectileDisableAmmoCheck": false,
"isFood": false,
"nutritionalValue": 4,
"saturation": 0.3,
"eatResultItem": {
"value": ""
},
"isMeat": false,
"isAlwaysEdible": false,
"animation": "none",
"isMusicDisc": false,
"musicDiscMusic": {
"value": ""
},
"musicDiscDescription": "",
"musicDiscLengthInTicks": 100,
"musicDiscAnalogOutput": 0
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 1,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "MISC",
"recipeShapeless": false,
"recipeSlots": [
{
"value": "CUSTOM:LapisLazuliNugget"
},
{
"value": "CUSTOM:LapisLazuliNugget"
},
{
"value": "CUSTOM:LapisLazuliNugget"
},
{
"value": "CUSTOM:LapisLazuliNugget"
},
{
"value": "CUSTOM:SandDust"
},
{
"value": "CUSTOM:LapisLazuliNugget"
},
{
"value": "CUSTOM:LapisLazuliNugget"
},
{
"value": "CUSTOM:LapisLazuliNugget"
},
{
"value": "CUSTOM:LapisLazuliNugget"
}
],
"recipeReturnStack": {
"value": "CUSTOM:MagicDust"
},
"name": "magic_dust_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,66 @@
{
"_fv": 73,
"_type": "item",
"definition": {
"renderType": 0,
"texture": "magic_flesh",
"customModelName": "Normal",
"customProperties": {},
"states": [],
"name": "Magic Flesh",
"rarity": "UNCOMMON",
"creativeTabs": [
{
"value": "FOOD"
}
],
"stackSize": 64,
"enchantability": 0,
"useDuration": 12,
"toolType": 1.0,
"damageCount": 0,
"recipeRemainder": {
"value": ""
},
"destroyAnyBlock": false,
"immuneToFire": false,
"stayInGridWhenCrafting": false,
"damageOnCrafting": false,
"enableMeleeDamage": false,
"damageVsEntity": 0.0,
"specialInformation": {
"fixedValue": []
},
"glowCondition": {
"fixedValue": false
},
"inventorySize": 9,
"inventoryStackSize": 64,
"onFinishUsingItem": {
"name": "MagicFleshOnPlayerStoppedUsing"
},
"enableRanged": false,
"shootConstantly": false,
"rangedItemChargesPower": false,
"projectile": {
"value": "Arrow"
},
"projectileDisableAmmoCheck": false,
"isFood": true,
"nutritionalValue": 4,
"saturation": 0.2,
"eatResultItem": {
"value": ""
},
"isMeat": false,
"isAlwaysEdible": true,
"animation": "eat",
"isMusicDisc": false,
"musicDiscMusic": {
"value": ""
},
"musicDiscDescription": "",
"musicDiscLengthInTicks": 100,
"musicDiscAnalogOutput": 0
}
}

View File

@@ -0,0 +1,7 @@
{
"_fv": 73,
"_type": "procedure",
"definition": {
"procedurexml": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"event_trigger\" deletable=\"false\" x=\"40\" y=\"40\"><field name=\"trigger\">no_ext_trigger</field><next><block type=\"spawn_xporb\"><value name=\"x\"><block type=\"coord_x\"></block></value><value name=\"y\"><block type=\"coord_y\"></block></value><value name=\"z\"><block type=\"coord_z\"></block></value><value name=\"xpamount\"><block type=\"math_random_int_between\"><value name=\"min\"><block type=\"math_number\"><field name=\"NUM\">6</field></block></value><value name=\"max\"><block type=\"math_number\"><field name=\"NUM\">9</field></block></value></block></value></block></next></block></xml>"
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 1,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "MISC",
"recipeShapeless": true,
"recipeSlots": [
{
"value": "Items.ROTTEN_FLESH"
},
{
"value": "CUSTOM:MagicDust"
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
}
],
"recipeReturnStack": {
"value": "CUSTOM:MagicFlesh"
},
"name": "magic_flesh_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 9,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "BUILDING",
"recipeShapeless": true,
"recipeSlots": [
{
"value": "CUSTOM:CondensedNetherrack"
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
}
],
"recipeReturnStack": {
"value": "Blocks.NETHERRACK"
},
"name": "netherrack_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,26 @@
{
"_fv": 73,
"_type": "enchantment",
"definition": {
"name": "Netherracking",
"supportedSlots": "mainhand",
"weight": 2,
"anvilCost": 4,
"maxLevel": 20,
"damageModifier": 0,
"incompatibleEnchantments": [
{
"value": "EFFICIENCY"
}
],
"supportedItems": [
{
"value": "CUSTOM:NetherrackitePickaxe"
}
],
"isTreasureEnchantment": false,
"isCurse": false,
"canGenerateInLootTables": true,
"canVillagerTrade": true
}
}

View File

@@ -0,0 +1,7 @@
{
"_fv": 73,
"_type": "procedure",
"definition": {
"procedurexml": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><xml xmlns=\"https://developers.google.com/blockly/xml\"><block deletable=\"false\" type=\"event_trigger\" x=\"54\" y=\"34\"><field name=\"trigger\">no_ext_trigger</field><next><block type=\"controls_if\"><value name=\"IF0\"><block type=\"math_binary_ops\"><field name=\"OP\">GT</field><value name=\"A\"><block type=\"item_get_enhancement\"><field name=\"enhancement\">CUSTOM:NetherrackingEnchantment</field><value name=\"item\"><block type=\"itemstack_to_mcitem\"/></value></block></value><value name=\"B\"><block type=\"math_number\"><field name=\"NUM\">0</field></block></value></block></value><statement name=\"DO0\"><block type=\"entity_add_potion_advanced\"><field name=\"potion\">HASTE</field><value name=\"level\"><block type=\"math_dual_ops\"><field name=\"OP\">MULTIPLY</field><value name=\"A\"><block type=\"item_get_enhancement\"><field name=\"enhancement\">CUSTOM:NetherrackingEnchantment</field><value name=\"item\"><block type=\"itemstack_to_mcitem\"/></value></block></value><value name=\"B\"><block type=\"math_number\"><field name=\"NUM\">4</field></block></value></block></value><value name=\"duration\"><block type=\"math_number\"><field name=\"NUM\">2</field></block></value><value name=\"ambient\"><block type=\"logic_boolean\"><field name=\"BOOL\">FALSE</field></block></value><value name=\"particles\"><block type=\"logic_boolean\"><field name=\"BOOL\">FALSE</field></block></value><value name=\"entity\"><block type=\"entity_from_deps\"/></value></block></statement></block></next></block></xml>"
}
}

View File

@@ -0,0 +1,59 @@
{
"_fv": 73,
"_type": "item",
"definition": {
"renderType": 0,
"texture": "netherrackite",
"customModelName": "Normal",
"customProperties": {},
"states": [],
"name": "Netherrackite",
"rarity": "RARE",
"creativeTabs": [
{
"value": "MATERIALS"
}
],
"stackSize": 64,
"enchantability": 0,
"useDuration": 0,
"toolType": 1.0,
"damageCount": 0,
"recipeRemainder": {
"value": ""
},
"destroyAnyBlock": false,
"immuneToFire": true,
"stayInGridWhenCrafting": false,
"damageOnCrafting": false,
"enableMeleeDamage": false,
"damageVsEntity": 0.0,
"specialInformation": {
"fixedValue": []
},
"glowCondition": {
"fixedValue": false
},
"inventorySize": 9,
"inventoryStackSize": 64,
"enableRanged": false,
"shootConstantly": false,
"rangedItemChargesPower": false,
"projectile": {
"value": "Arrow"
},
"projectileDisableAmmoCheck": false,
"isFood": false,
"nutritionalValue": 4,
"saturation": 0.3,
"eatResultItem": {
"value": ""
},
"isMeat": false,
"isAlwaysEdible": false,
"animation": "none",
"isMusicDisc": false,
"musicDiscLengthInTicks": 0,
"musicDiscAnalogOutput": 0
}
}

View File

@@ -0,0 +1,43 @@
{
"_fv": 73,
"_type": "tool",
"definition": {
"toolType": "Pickaxe",
"renderType": 0,
"blockingRenderType": 0,
"texture": "netherrackite_pickaxe",
"customModelName": "Normal",
"blockingModelName": "Normal blocking",
"name": "Netherrackite Pickaxe",
"specialInformation": {
"fixedValue": [
"Non-condensed netherracks broken by this pickaxe drop themselves an additional time."
]
},
"creativeTabs": [
{
"value": "TOOLS"
}
],
"efficiency": 729.0,
"attackSpeed": 1.0,
"enchantability": 15,
"damageVsEntity": 4.0,
"usageCount": 18279,
"glowCondition": {
"fixedValue": false
},
"repairItems": [],
"immuneToFire": true,
"blockDropsTier": "WOOD",
"blocksAffected": [],
"stayInGridWhenCrafting": false,
"damageOnCrafting": false,
"onItemInUseTick": {
"name": "NetherrackingLogic"
},
"onBlockDestroyedWithTool": {
"name": "NetherrackitePickaxeBlockDestroyedWithTool"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"_fv": 73,
"_type": "procedure",
"definition": {
"procedurexml": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><xml xmlns=\"https://developers.google.com/blockly/xml\"><block deletable=\"false\" type=\"event_trigger\" x=\"40\" y=\"40\"><field name=\"trigger\">no_ext_trigger</field><next><block type=\"controls_if\"><value name=\"IF0\"><block type=\"compare_mcblocks\"><value name=\"a\"><block type=\"blockstate_from_deps\"/></value><value name=\"b\"><block type=\"mcitem_allblocks\"><field name=\"value\">Blocks.NETHERRACK</field></block></value></block></value><statement name=\"DO0\"><block type=\"spawn_gem\"><field name=\"despawn\">TRUE</field><value name=\"block\"><block type=\"mcitem_all\"><field name=\"value\">Blocks.NETHERRACK</field></block></value><value name=\"x\"><block type=\"coord_x\"/></value><value name=\"y\"><block type=\"coord_y\"/></value><value name=\"z\"><block type=\"coord_z\"/></value><value name=\"pickUpDelay\"><block type=\"math_number\"><field name=\"NUM\">10</field></block></value></block></statement></block></next></block></xml>"
}
}

View File

@@ -0,0 +1,28 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Smithing",
"recipeRetstackSize": 1,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "MISC",
"recipeShapeless": false,
"smithingInputStack": {
"value": "Items.NETHERITE_PICKAXE"
},
"smithingInputAdditionStack": {
"value": "CUSTOM:Netherrackite"
},
"smithingInputTemplateStack": {
"value": ""
},
"smithingReturnStack": {
"value": "CUSTOM:NetherrackitePickaxe"
},
"name": "netherrackite_pickaxe_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,28 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Smithing",
"recipeRetstackSize": 1,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "MISC",
"recipeShapeless": false,
"smithingInputStack": {
"value": "Items.NETHERITE_INGOT"
},
"smithingInputAdditionStack": {
"value": "CUSTOM:CondensedCondensedCondensedNetherrack"
},
"smithingInputTemplateStack": {
"value": ""
},
"smithingReturnStack": {
"value": "CUSTOM:Netherrackite"
},
"name": "netherrackite_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 1,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "MISC",
"recipeShapeless": false,
"recipeSlots": [
{
"value": "Items.NETHERITE_SCRAP"
},
{
"value": "Items.NETHERITE_SCRAP"
},
{
"value": "Items.NETHERITE_SCRAP"
},
{
"value": "Items.NETHERITE_SCRAP"
},
{
"value": "Items.DIAMOND"
},
{
"value": "Items.NETHERITE_SCRAP"
},
{
"value": "Items.NETHERITE_SCRAP"
},
{
"value": "Items.NETHERITE_SCRAP"
},
{
"value": "Items.NETHERITE_SCRAP"
}
],
"recipeReturnStack": {
"value": "Items.NETHERITE_UPGRADE"
},
"name": "netherrite_template_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,28 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Smithing",
"recipeRetstackSize": 1,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "MISC",
"recipeShapeless": false,
"smithingInputStack": {
"value": "Items.NETHERITE_INGOT"
},
"smithingInputAdditionStack": {
"value": "Items.DIAMOND"
},
"smithingInputTemplateStack": {
"value": "Items.NETHERITE_INGOT"
},
"smithingReturnStack": {
"value": "Items.NETHERITE_UPGRADE"
},
"name": "netherrite_template_recipe_2",
"namespace": "mod"
}
}

147
elements/OreMiner.mod.json Normal file
View File

@@ -0,0 +1,147 @@
{
"_fv": 73,
"_type": "block",
"definition": {
"texture": "ore_miner_bottom",
"textureTop": "ore_miner_top_180",
"textureLeft": "ore_miner_side",
"textureFront": "ore_miner_side",
"textureRight": "ore_miner_side",
"textureBack": "ore_miner_side",
"renderType": 10,
"customModelName": "Normal",
"rotationMode": 1,
"enablePitch": false,
"emissiveRendering": false,
"displayFluidOverlay": false,
"itemTexture": "",
"particleTexture": "",
"tintType": "No tint",
"isItemTinted": false,
"hasTransparency": false,
"connectedSides": false,
"transparencyType": "SOLID",
"disableOffset": false,
"boundingBoxes": [
{
"mx": 0.0,
"my": 0.0,
"mz": 0.0,
"Mx": 16.0,
"My": 16.0,
"Mz": 16.0,
"subtract": false
}
],
"customProperties": [],
"name": "Ore Miner",
"specialInformation": {
"fixedValue": []
},
"hardness": 1.0,
"resistance": 100.0,
"hasGravity": false,
"isWaterloggable": false,
"creativeTabs": [
{
"value": "TRANSPORTATION"
}
],
"destroyTool": "Not specified",
"customDrop": {
"value": ""
},
"dropAmount": 1,
"useLootTableForDrops": false,
"requiresCorrectTool": false,
"enchantPowerBonus": 0.0,
"plantsGrowOn": false,
"canRedstoneConnect": false,
"lightOpacity": 15,
"material": {
"value": "NONE"
},
"tickRate": 0,
"tickRandomly": false,
"isReplaceable": false,
"canProvidePower": false,
"emittedRedstonePower": {
"fixedValue": 15.0
},
"colorOnMap": "DEFAULT",
"creativePickItem": {
"value": ""
},
"offsetType": "NONE",
"aiPathNodeType": "DEFAULT",
"flammability": 0,
"fireSpreadSpeed": 0,
"isLadder": false,
"slipperiness": 0.6,
"speedFactor": 1.0,
"jumpFactor": 1.0,
"reactionToPushing": "NORMAL",
"isNotColidable": false,
"isCustomSoundType": false,
"soundOnStep": {
"value": "STONE"
},
"breakSound": {
"value": ""
},
"fallSound": {
"value": ""
},
"hitSound": {
"value": ""
},
"placeSound": {
"value": ""
},
"stepSound": {
"value": ""
},
"luminance": 0,
"unbreakable": false,
"vanillaToolTier": "NONE",
"isBonemealable": false,
"hasInventory": true,
"guiBoundTo": "OreMinerGUI",
"openGUIOnRightClick": true,
"inventorySize": 9,
"inventoryStackSize": 64,
"inventoryDropWhenDestroyed": true,
"inventoryComparatorPower": true,
"inventoryOutSlotIDs": [
1,
2,
3,
4,
5,
6,
7,
8
],
"inventoryInSlotIDs": [],
"hasEnergyStorage": false,
"energyInitial": 0,
"energyCapacity": 400000,
"energyMaxReceive": 200,
"energyMaxExtract": 200,
"isFluidTank": false,
"fluidCapacity": 8000,
"fluidRestrictions": [],
"generateFeature": false,
"restrictionBiomes": [],
"blocksToReplace": [
{
"value": "TAG:stone_ore_replaceables"
}
],
"generationShape": "UNIFORM",
"frequencyPerChunks": 10,
"frequencyOnChunk": 16,
"minGenerateHeight": 0,
"maxGenerateHeight": 64
}
}

View File

@@ -0,0 +1,206 @@
{
"_fv": 73,
"_type": "gui",
"definition": {
"type": 1,
"width": 176,
"height": 166,
"inventoryOffsetX": 0,
"inventoryOffsetY": 0,
"renderBgLayer": true,
"doesPauseGame": false,
"components": [
{
"type": "inputslot",
"data": {
"inputLimit": {
"value": "Items.DIAMOND_PICKAXE"
},
"disablePlacement": {
"fixedValue": false
},
"id": 0,
"disablePickup": {
"fixedValue": false
},
"dropItemsWhenNotBound": false,
"x": 156,
"y": 53,
"locked": false
}
},
{
"type": "button",
"data": {
"name": "button_mine",
"text": "Mine",
"isUndecorated": false,
"onClick": {
"name": "OreMinerMineButtonPressed"
},
"width": 46,
"height": 20,
"x": 141,
"y": 80,
"locked": false
}
},
{
"type": "image",
"data": {
"image": "diamond_pickaxe_blueprint.png",
"use1Xscale": false,
"displayCondition": {
"name": "OreMinerGUISlot0ImageDisplayCondition"
},
"x": 157,
"y": 54,
"locked": false
}
},
{
"type": "outputslot",
"data": {
"color": {
"value": -16777216,
"falpha": 0.0
},
"id": 1,
"disablePickup": {
"fixedValue": false
},
"dropItemsWhenNotBound": false,
"x": 204,
"y": 53,
"locked": false
}
},
{
"type": "outputslot",
"data": {
"color": {
"value": -26266,
"falpha": 0.0
},
"id": 2,
"disablePickup": {
"fixedValue": false
},
"dropItemsWhenNotBound": false,
"x": 222,
"y": 53,
"locked": false
}
},
{
"type": "outputslot",
"data": {
"color": {
"value": -3355393,
"falpha": 0.0
},
"id": 3,
"disablePickup": {
"fixedValue": false
},
"dropItemsWhenNotBound": false,
"x": 240,
"y": 53,
"locked": false
}
},
{
"type": "outputslot",
"data": {
"color": {
"value": -2838729,
"falpha": 0.0
},
"id": 4,
"disablePickup": {
"fixedValue": false
},
"dropItemsWhenNotBound": false,
"x": 258,
"y": 53,
"locked": false
}
},
{
"type": "outputslot",
"data": {
"color": {
"value": -10027009,
"falpha": 0.0
},
"id": 5,
"disablePickup": {
"fixedValue": false
},
"dropItemsWhenNotBound": false,
"x": 204,
"y": 71,
"locked": false
}
},
{
"type": "outputslot",
"data": {
"color": {
"value": -10027162,
"falpha": 0.0
},
"id": 6,
"disablePickup": {
"fixedValue": false
},
"dropItemsWhenNotBound": true,
"x": 222,
"y": 71,
"locked": false
}
},
{
"type": "outputslot",
"data": {
"color": {
"value": -52429,
"falpha": 0.0
},
"id": 7,
"disablePickup": {
"fixedValue": false
},
"dropItemsWhenNotBound": true,
"x": 240,
"y": 71,
"locked": false
}
},
{
"type": "outputslot",
"data": {
"color": {
"value": -13434880,
"falpha": 0.0
},
"id": 8,
"disablePickup": {
"fixedValue": false
},
"dropItemsWhenNotBound": true,
"x": 258,
"y": 71,
"locked": false
}
}
],
"gridSettings": {
"sx": 18,
"sy": 18,
"ox": 11,
"oy": 15,
"snapOnGrid": true
}
}
}

View File

@@ -0,0 +1,7 @@
{
"_fv": 73,
"_type": "procedure",
"definition": {
"procedurexml": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"event_trigger\" deletable=\"false\" x=\"40\" y=\"40\"><field name=\"trigger\">no_ext_trigger</field><next><block type=\"controls_if\"><value name=\"IF0\"><block type=\"math_binary_ops\"><field name=\"OP\">GT</field><value name=\"A\"><block type=\"gui_get_amount_inslot\"><value name=\"slotid\"><block type=\"math_number\"><field name=\"NUM\">0</field></block></value><value name=\"entity\"><block type=\"entity_from_deps\"></block></value></block></value><value name=\"B\"><block type=\"math_number\"><field name=\"NUM\">0</field></block></value></block></value><statement name=\"DO0\"><block type=\"return_logic\"><value name=\"return\"><block type=\"logic_boolean\"><field name=\"BOOL\">FALSE</field></block></value></block></statement><next><block type=\"return_logic\"><value name=\"return\"><block type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></block></value></block></next></block></next></block></xml>"
}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 1,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "MISC",
"recipeShapeless": true,
"recipeSlots": [
{
"value": "Items.COAL#0"
},
{
"value": "Items.RAW_COPPER"
},
{
"value": "Items.RAW_IRON"
},
{
"value": "Items.NETHERITE_SCRAP"
},
{
"value": "CUSTOM:QuadraCondensedNetherrack"
},
{
"value": "Items.RAW_GOLD"
},
{
"value": "Items.REDSTONE"
},
{
"value": "Items.EMERALD"
},
{
"value": "Items.DIAMOND"
}
],
"recipeReturnStack": {
"value": "CUSTOM:OreMiner"
},
"name": "ore_miner_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,22 @@
{
"_fv": 73,
"_type": "enchantment",
"definition": {
"name": "Passive Income",
"supportedSlots": "armor",
"weight": 1,
"anvilCost": 8,
"maxLevel": 5,
"damageModifier": 0,
"incompatibleEnchantments": [],
"supportedItems": [
{
"value": "TAG:enchantable/equippable"
}
],
"isTreasureEnchantment": true,
"isCurse": false,
"canGenerateInLootTables": true,
"canVillagerTrade": true
}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,137 @@
{
"_fv": 73,
"_type": "block",
"definition": {
"texture": "penta-condensed_netherrack",
"textureTop": "penta-condensed_netherrack",
"textureLeft": "penta-condensed_netherrack",
"textureFront": "penta-condensed_netherrack",
"textureRight": "penta-condensed_netherrack",
"textureBack": "penta-condensed_netherrack",
"renderType": 10,
"customModelName": "Normal",
"rotationMode": 0,
"enablePitch": false,
"emissiveRendering": false,
"displayFluidOverlay": false,
"itemTexture": "",
"particleTexture": "",
"tintType": "No tint",
"isItemTinted": false,
"hasTransparency": false,
"connectedSides": false,
"transparencyType": "SOLID",
"disableOffset": false,
"boundingBoxes": [
{
"mx": 0.0,
"my": 0.0,
"mz": 0.0,
"Mx": 16.0,
"My": 16.0,
"Mz": 16.0,
"subtract": false
}
],
"customProperties": [],
"name": "Penta-condensed Netherrack",
"specialInformation": {
"fixedValue": []
},
"hardness": 23619.6,
"resistance": 23619.6,
"hasGravity": false,
"isWaterloggable": false,
"creativeTabs": [
{
"value": "BUILDING_BLOCKS"
}
],
"destroyTool": "pickaxe",
"customDrop": {
"value": ""
},
"dropAmount": 1,
"useLootTableForDrops": false,
"requiresCorrectTool": true,
"enchantPowerBonus": 0.0,
"plantsGrowOn": false,
"canRedstoneConnect": false,
"lightOpacity": 15,
"material": {
"value": "ROCK"
},
"tickRate": 0,
"tickRandomly": false,
"isReplaceable": false,
"canProvidePower": false,
"emittedRedstonePower": {
"fixedValue": 15.0
},
"colorOnMap": "DEFAULT",
"creativePickItem": {
"value": ""
},
"offsetType": "NONE",
"aiPathNodeType": "DEFAULT",
"flammability": 0,
"fireSpreadSpeed": 0,
"isLadder": false,
"slipperiness": 0.6,
"speedFactor": 1.0,
"jumpFactor": 1.0,
"reactionToPushing": "NORMAL",
"isNotColidable": false,
"isCustomSoundType": false,
"soundOnStep": {
"value": "NETHERRACK"
},
"breakSound": {
"value": ""
},
"fallSound": {
"value": ""
},
"hitSound": {
"value": ""
},
"placeSound": {
"value": ""
},
"stepSound": {
"value": ""
},
"luminance": 0,
"unbreakable": false,
"vanillaToolTier": "NONE",
"isBonemealable": false,
"hasInventory": false,
"openGUIOnRightClick": false,
"inventorySize": 9,
"inventoryStackSize": 64,
"inventoryDropWhenDestroyed": true,
"inventoryComparatorPower": true,
"inventoryOutSlotIDs": [],
"inventoryInSlotIDs": [],
"hasEnergyStorage": false,
"energyInitial": 0,
"energyCapacity": 400000,
"energyMaxReceive": 200,
"energyMaxExtract": 200,
"isFluidTank": false,
"fluidCapacity": 8000,
"fluidRestrictions": [],
"generateFeature": false,
"restrictionBiomes": [],
"blocksToReplace": [
{
"value": "TAG:stone_ore_replaceables"
}
],
"generationShape": "UNIFORM",
"frequencyPerChunks": 10,
"frequencyOnChunk": 16,
"minGenerateHeight": 0,
"maxGenerateHeight": 64
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 1,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "BUILDING",
"recipeShapeless": false,
"recipeSlots": [
{
"value": "CUSTOM:QuadraCondensedNetherrack"
},
{
"value": "CUSTOM:QuadraCondensedNetherrack"
},
{
"value": "CUSTOM:QuadraCondensedNetherrack"
},
{
"value": "CUSTOM:QuadraCondensedNetherrack"
},
{
"value": "CUSTOM:QuadraCondensedNetherrack"
},
{
"value": "CUSTOM:QuadraCondensedNetherrack"
},
{
"value": "CUSTOM:QuadraCondensedNetherrack"
},
{
"value": "CUSTOM:QuadraCondensedNetherrack"
},
{
"value": "CUSTOM:QuadraCondensedNetherrack"
}
],
"recipeReturnStack": {
"value": "CUSTOM:PentaCondensedNetherrack"
},
"name": "penta_condensed_netherrack_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 9,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "BUILDING",
"recipeShapeless": true,
"recipeSlots": [
{
"value": "CUSTOM:PentaCondensedNetherrack"
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
}
],
"recipeReturnStack": {
"value": "CUSTOM:QuadraCondensedNetherrack"
},
"name": "penta_condensed_netherrack_recipe_2",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,137 @@
{
"_fv": 73,
"_type": "block",
"definition": {
"texture": "quadra-condensed_netherrack",
"textureTop": "quadra-condensed_netherrack",
"textureLeft": "quadra-condensed_netherrack",
"textureFront": "quadra-condensed_netherrack",
"textureRight": "quadra-condensed_netherrack",
"textureBack": "quadra-condensed_netherrack",
"renderType": 10,
"customModelName": "Normal",
"rotationMode": 0,
"enablePitch": false,
"emissiveRendering": false,
"displayFluidOverlay": false,
"itemTexture": "",
"particleTexture": "",
"tintType": "No tint",
"isItemTinted": false,
"hasTransparency": false,
"connectedSides": false,
"transparencyType": "SOLID",
"disableOffset": false,
"boundingBoxes": [
{
"mx": 0.0,
"my": 0.0,
"mz": 0.0,
"Mx": 16.0,
"My": 16.0,
"Mz": 16.0,
"subtract": false
}
],
"customProperties": [],
"name": "Quadra-condensed Netherrack",
"specialInformation": {
"fixedValue": []
},
"hardness": 2624.4,
"resistance": 2624.4,
"hasGravity": false,
"isWaterloggable": false,
"creativeTabs": [
{
"value": "BUILDING_BLOCKS"
}
],
"destroyTool": "pickaxe",
"customDrop": {
"value": ""
},
"dropAmount": 1,
"useLootTableForDrops": false,
"requiresCorrectTool": true,
"enchantPowerBonus": 0.0,
"plantsGrowOn": false,
"canRedstoneConnect": false,
"lightOpacity": 15,
"material": {
"value": "ROCK"
},
"tickRate": 0,
"tickRandomly": false,
"isReplaceable": false,
"canProvidePower": false,
"emittedRedstonePower": {
"fixedValue": 15.0
},
"colorOnMap": "DEFAULT",
"creativePickItem": {
"value": ""
},
"offsetType": "NONE",
"aiPathNodeType": "DEFAULT",
"flammability": 0,
"fireSpreadSpeed": 0,
"isLadder": false,
"slipperiness": 0.6,
"speedFactor": 1.0,
"jumpFactor": 1.0,
"reactionToPushing": "NORMAL",
"isNotColidable": false,
"isCustomSoundType": false,
"soundOnStep": {
"value": "NETHERRACK"
},
"breakSound": {
"value": ""
},
"fallSound": {
"value": ""
},
"hitSound": {
"value": ""
},
"placeSound": {
"value": ""
},
"stepSound": {
"value": ""
},
"luminance": 0,
"unbreakable": false,
"vanillaToolTier": "NONE",
"isBonemealable": false,
"hasInventory": false,
"openGUIOnRightClick": false,
"inventorySize": 9,
"inventoryStackSize": 64,
"inventoryDropWhenDestroyed": true,
"inventoryComparatorPower": true,
"inventoryOutSlotIDs": [],
"inventoryInSlotIDs": [],
"hasEnergyStorage": false,
"energyInitial": 0,
"energyCapacity": 400000,
"energyMaxReceive": 200,
"energyMaxExtract": 200,
"isFluidTank": false,
"fluidCapacity": 8000,
"fluidRestrictions": [],
"generateFeature": false,
"restrictionBiomes": [],
"blocksToReplace": [
{
"value": "TAG:stone_ore_replaceables"
}
],
"generationShape": "UNIFORM",
"frequencyPerChunks": 10,
"frequencyOnChunk": 16,
"minGenerateHeight": 0,
"maxGenerateHeight": 64
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 1,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "BUILDING",
"recipeShapeless": false,
"recipeSlots": [
{
"value": "CUSTOM:CondensedCondensedCondensedNetherrack"
},
{
"value": "CUSTOM:CondensedCondensedCondensedNetherrack"
},
{
"value": "CUSTOM:CondensedCondensedCondensedNetherrack"
},
{
"value": "CUSTOM:CondensedCondensedCondensedNetherrack"
},
{
"value": "CUSTOM:CondensedCondensedCondensedNetherrack"
},
{
"value": "CUSTOM:CondensedCondensedCondensedNetherrack"
},
{
"value": "CUSTOM:CondensedCondensedCondensedNetherrack"
},
{
"value": "CUSTOM:CondensedCondensedCondensedNetherrack"
},
{
"value": "CUSTOM:CondensedCondensedCondensedNetherrack"
}
],
"recipeReturnStack": {
"value": "CUSTOM:QuadraCondensedNetherrack"
},
"name": "quadra_condensed_netherrack_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 9,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "BUILDING",
"recipeShapeless": true,
"recipeSlots": [
{
"value": "CUSTOM:QuadraCondensedNetherrack"
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
}
],
"recipeReturnStack": {
"value": "CUSTOM:CondensedCondensedCondensedNetherrack"
},
"name": "quadra_condensed_netherrack_recipe_2",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,63 @@
{
"_fv": 73,
"_type": "item",
"definition": {
"renderType": 0,
"texture": "sand_dust",
"customModelName": "Normal",
"customProperties": {},
"states": [],
"name": "Sand Dust",
"rarity": "COMMON",
"creativeTabs": [
{
"value": "MATERIALS"
}
],
"stackSize": 64,
"enchantability": 0,
"useDuration": 0,
"toolType": 1.0,
"damageCount": 0,
"recipeRemainder": {
"value": ""
},
"destroyAnyBlock": false,
"immuneToFire": false,
"stayInGridWhenCrafting": false,
"damageOnCrafting": false,
"enableMeleeDamage": false,
"damageVsEntity": 0.0,
"specialInformation": {
"fixedValue": []
},
"glowCondition": {
"fixedValue": false
},
"inventorySize": 9,
"inventoryStackSize": 64,
"enableRanged": false,
"shootConstantly": false,
"rangedItemChargesPower": false,
"projectile": {
"value": "Arrow"
},
"projectileDisableAmmoCheck": false,
"isFood": false,
"nutritionalValue": 4,
"saturation": 0.3,
"eatResultItem": {
"value": ""
},
"isMeat": false,
"isAlwaysEdible": false,
"animation": "none",
"isMusicDisc": false,
"musicDiscMusic": {
"value": ""
},
"musicDiscDescription": "",
"musicDiscLengthInTicks": 100,
"musicDiscAnalogOutput": 0
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 4,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "MISC",
"recipeShapeless": true,
"recipeSlots": [
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": "Blocks.SAND#0"
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
}
],
"recipeReturnStack": {
"value": "CUSTOM:SandDust"
},
"name": "sand_dust_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 1,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "MISC",
"recipeShapeless": false,
"recipeSlots": [
{
"value": "CUSTOM:SandDust"
},
{
"value": "CUSTOM:SandDust"
},
{
"value": ""
},
{
"value": "CUSTOM:SandDust"
},
{
"value": "CUSTOM:SandDust"
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
}
],
"recipeReturnStack": {
"value": "Blocks.SAND#0"
},
"name": "sand_recipe",
"namespace": "mod"
}
}

63
elements/Shit.mod.json Normal file
View File

@@ -0,0 +1,63 @@
{
"_fv": 73,
"_type": "item",
"definition": {
"renderType": 0,
"texture": "shit",
"customModelName": "Ranged item",
"customProperties": {},
"states": [],
"name": "Shit",
"rarity": "UNCOMMON",
"creativeTabs": [
{
"value": "TOOLS"
}
],
"stackSize": 64,
"enchantability": 0,
"useDuration": 72000,
"toolType": 1.0,
"damageCount": 0,
"recipeRemainder": {
"value": ""
},
"destroyAnyBlock": false,
"immuneToFire": false,
"stayInGridWhenCrafting": false,
"damageOnCrafting": false,
"enableMeleeDamage": false,
"damageVsEntity": 0.0,
"specialInformation": {
"fixedValue": []
},
"glowCondition": {
"fixedValue": false
},
"inventorySize": 9,
"inventoryStackSize": 64,
"enableRanged": true,
"shootConstantly": false,
"rangedItemChargesPower": true,
"projectile": {
"value": "CUSTOM:ShitProjectile"
},
"projectileDisableAmmoCheck": false,
"isFood": false,
"nutritionalValue": 4,
"saturation": 0.3,
"eatResultItem": {
"value": ""
},
"isMeat": false,
"isAlwaysEdible": false,
"animation": "spear",
"isMusicDisc": false,
"musicDiscMusic": {
"value": ""
},
"musicDiscDescription": "",
"musicDiscLengthInTicks": 100,
"musicDiscAnalogOutput": 0
}
}

48
elements/ShitGUI.mod.json Normal file
View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "gui",
"definition": {
"type": 0,
"width": 176,
"height": 166,
"inventoryOffsetX": 0,
"inventoryOffsetY": 0,
"renderBgLayer": false,
"doesPauseGame": false,
"components": [
{
"type": "image",
"data": {
"image": "shit.png",
"use1Xscale": false,
"x": 96,
"y": -1,
"locked": false
}
},
{
"type": "label",
"data": {
"name": "label_uh_ohh_stinky",
"text": {
"fixedValue": "UH OHH!!! STINKY!!! UH OHH!!! STINKY!!! UH OHH!!! STINKY!!! UH OHH!!! STINKY!!! "
},
"color": {
"value": -52,
"falpha": 0.0
},
"x": 5,
"y": 3,
"locked": false
}
}
],
"gridSettings": {
"sx": 18,
"sy": 18,
"ox": 11,
"oy": 15,
"snapOnGrid": false
}
}
}

View File

@@ -0,0 +1,24 @@
{
"_fv": 73,
"_type": "projectile",
"definition": {
"projectileItem": {
"value": "CUSTOM:Shit"
},
"showParticles": false,
"actionSound": {
"value": "entity.snowball.throw"
},
"igniteFire": false,
"power": 1.0,
"damage": 0.0,
"knockback": 0,
"entityModel": "Default",
"customModelTexture": "",
"modelWidth": 0.5,
"modelHeight": 0.5,
"onHitsPlayer": {
"name": "ShitProjectileProjectileHitsPlayer"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"_fv": 73,
"_type": "procedure",
"definition": {
"procedurexml": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"event_trigger\" deletable=\"false\" x=\"40\" y=\"40\"><field name=\"trigger\">no_ext_trigger</field><next><block type=\"controls_if\"><value name=\"IF0\"><block type=\"logic_negate\"><value name=\"BOOL\"><block type=\"compare_entities\"><value name=\"a\"><block type=\"entity_from_deps\"></block></value><value name=\"b\"><block type=\"source_entity_from_deps\"></block></value></block></value></block></value><statement name=\"DO0\"><block type=\"play_sound\"><field name=\"sound\">entity.ghast.scream</field><field name=\"soundcategory\">player</field><value name=\"x\"><block type=\"coord_x\"></block></value><value name=\"y\"><block type=\"coord_y\"></block></value><value name=\"z\"><block type=\"coord_z\"></block></value><value name=\"level\"><block type=\"math_number\"><field name=\"NUM\">0.8</field></block></value><value name=\"pitch\"><block type=\"math_random_number_between\"><value name=\"min\"><block type=\"math_number\"><field name=\"NUM\">0.9</field></block></value><value name=\"max\"><block type=\"math_number\"><field name=\"NUM\">1.1</field></block></value></block></value><next><block type=\"entity_add_potion_advanced\"><field name=\"potion\">CUSTOM:StinkyEffect</field><value name=\"level\"><block type=\"math_number\"><field name=\"NUM\">1</field></block></value><value name=\"duration\"><block type=\"math_number\"><field name=\"NUM\">60</field></block></value><value name=\"ambient\"><block type=\"logic_boolean\"><field name=\"BOOL\">FALSE</field></block></value><value name=\"particles\"><block type=\"logic_boolean\"><field name=\"BOOL\">FALSE</field></block></value><value name=\"entity\"><block type=\"entity_from_deps\"></block></value></block></next></block></statement></block></next></block></xml>"
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 2,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "MISC",
"recipeShapeless": true,
"recipeSlots": [
{
"value": "Blocks.DIRT#1"
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
}
],
"recipeReturnStack": {
"value": "CUSTOM:Shit"
},
"name": "shit_recipe",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,48 @@
{
"_fv": 73,
"_type": "recipe",
"definition": {
"recipeType": "Crafting",
"recipeRetstackSize": 1,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "MISC",
"recipeShapeless": true,
"recipeSlots": [
{
"value": "CUSTOM:BrokenGlass"
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
},
{
"value": ""
}
],
"recipeReturnStack": {
"value": "CUSTOM:Shit"
},
"name": "shit_recipe_2",
"namespace": "mod"
}
}

View File

@@ -0,0 +1,7 @@
{
"_fv": 73,
"_type": "procedure",
"definition": {
"procedurexml": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"event_trigger\" deletable=\"false\" x=\"91\" y=\"61\"><field name=\"trigger\">entity_ticks</field><next><block type=\"entity_nbt_num_set\"><value name=\"entity\"><block type=\"entity_from_deps\"></block></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">ShitCounter</field></block></value><value name=\"tagValue\"><block type=\"math_dual_ops\"><field name=\"OP\">ADD</field><value name=\"A\"><block type=\"entity_nbt_num_get\"><value name=\"entity\"><block type=\"entity_from_deps\"></block></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">ShitCounter</field></block></value></block></value><value name=\"B\"><block type=\"math_number\"><field name=\"NUM\">1</field></block></value></block></value><next><block type=\"controls_if\"><value name=\"IF0\"><block type=\"logic_binary_ops\" inline=\"false\"><field name=\"OP\">AND</field><value name=\"A\"><block type=\"math_binary_ops\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_dual_ops\"><field name=\"OP\">MOD</field><value name=\"A\"><block type=\"entity_nbt_num_get\"><value name=\"entity\"><block type=\"entity_from_deps\"></block></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">ShitCounter</field></block></value></block></value><value name=\"B\"><block type=\"math_number\"><field name=\"NUM\">6000</field></block></value></block></value><value name=\"B\"><block type=\"math_number\"><field name=\"NUM\">0</field></block></value></block></value><value name=\"B\"><block type=\"math_binary_ops\"><field name=\"OP\">LT</field><value name=\"A\"><block type=\"math_java_constants\"><field name=\"CONSTANT\">RANDOM</field></block></value><value name=\"B\"><block type=\"math_number\"><field name=\"NUM\">0.125</field></block></value></block></value></block></value><statement name=\"DO0\"><block type=\"spawn_gem\"><field name=\"despawn\">TRUE</field><value name=\"block\"><block type=\"mcitem_all\"><field name=\"value\">CUSTOM:Shit</field></block></value><value name=\"x\"><block type=\"coord_x\"></block></value><value name=\"y\"><block type=\"coord_y\"></block></value><value name=\"z\"><block type=\"coord_z\"></block></value><value name=\"pickUpDelay\"><block type=\"math_number\"><field name=\"NUM\">20</field></block></value></block></statement></block></next></block></next></block></xml>"
}
}

View File

@@ -0,0 +1,26 @@
{
"_fv": 73,
"_type": "potioneffect",
"definition": {
"effectName": "Stinky",
"icon": "stinky_effect",
"color": {
"value": -2621555,
"falpha": 0.0
},
"isInstant": false,
"mobEffectCategory": "HARMFUL",
"renderStatusInInventory": true,
"renderStatusInHUD": true,
"isCuredByMilk": false,
"isProtectedByTotem": false,
"isCuredbyHoney": false,
"modifiers": [],
"onActiveTick": {
"name": "StinkyEffectOnEffectActiveTick"
},
"onExpired": {
"name": "StinkyEffectEffectExpires"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"_fv": 73,
"_type": "procedure",
"definition": {
"procedurexml": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"event_trigger\" deletable=\"false\" x=\"40\" y=\"40\"><field name=\"trigger\">no_ext_trigger</field><next><block type=\"controls_if\"><value name=\"IF0\"><block type=\"entity_has_screen_open\"><field name=\"guiname\">ShitGUI</field><value name=\"entity\"><block type=\"entity_from_deps\"></block></value></block></value><statement name=\"DO0\"><block type=\"entity_close_gui\"><value name=\"entity\"><block type=\"entity_from_deps\"></block></value></block></statement></block></next></block></xml>"
}
}

View File

@@ -0,0 +1,7 @@
{
"_fv": 73,
"_type": "procedure",
"definition": {
"procedurexml": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"event_trigger\" deletable=\"false\" x=\"40\" y=\"40\"><field name=\"trigger\">no_ext_trigger</field><next><block type=\"controls_if\"><value name=\"IF0\"><block type=\"logic_negate\"><value name=\"BOOL\"><block type=\"entity_has_screen_open\"><field name=\"guiname\">ShitGUI</field><value name=\"entity\"><block type=\"entity_from_deps\"></block></value></block></value></block></value><statement name=\"DO0\"><block type=\"entity_open_gui\"><field name=\"guiname\">ShitGUI</field><value name=\"entity\"><block type=\"entity_from_deps\"></block></value><value name=\"x\"><block type=\"coord_x\"></block></value><value name=\"y\"><block type=\"coord_y\"></block></value><value name=\"z\"><block type=\"coord_z\"></block></value></block></statement></block></next></block></xml>"
}
}

View File

@@ -0,0 +1,23 @@
{
"_fv": 73,
"_type": "potioneffect",
"definition": {
"effectName": "Summoned Entity",
"icon": "summoned_entity_effect",
"color": {
"value": -16777216,
"falpha": 0.0
},
"isInstant": false,
"mobEffectCategory": "HARMFUL",
"renderStatusInInventory": false,
"renderStatusInHUD": false,
"isCuredByMilk": false,
"isProtectedByTotem": false,
"isCuredbyHoney": false,
"modifiers": [],
"onExpired": {
"name": "SummonedEntityEffectEffectExpires"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"_fv": 73,
"_type": "procedure",
"definition": {
"procedurexml": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"event_trigger\" deletable=\"false\" x=\"301\" y=\"219\"><field name=\"trigger\">no_ext_trigger</field><next><block type=\"spawn_particle_multi\"><field name=\"particle\">SOUL_FIRE_FLAME</field><value name=\"count\"><block type=\"math_number\"><field name=\"NUM\">6</field></block></value><value name=\"x\"><block type=\"coord_x\"></block></value><value name=\"y\"><block type=\"coord_y\"></block></value><value name=\"z\"><block type=\"coord_z\"></block></value><value name=\"dx\"><block type=\"math_number\"><field name=\"NUM\">0.6</field></block></value><value name=\"dy\"><block type=\"math_number\"><field name=\"NUM\">0.6</field></block></value><value name=\"dz\"><block type=\"math_number\"><field name=\"NUM\">0.6</field></block></value><value name=\"speed\"><block type=\"math_number\"><field name=\"NUM\">0.16</field></block></value><next><block type=\"deal_damage\"><value name=\"amount\"><block type=\"math_number\"><field name=\"NUM\">999</field></block></value><value name=\"entity\"><block type=\"entity_from_deps\"></block></value><value name=\"damagesource\"><block type=\"damagesource_from_type\"><field name=\"damagetype\">OUT_OF_WORLD</field></block></value></block></next></block></next></block></xml>"
}
}

2
gradle.properties Normal file
View File

@@ -0,0 +1,2 @@
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false

BIN
gradle/wrapper/gradle-wrapper.jar vendored Normal file

Binary file not shown.

View File

@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

244
gradlew vendored Normal file
View File

@@ -0,0 +1,244 @@
#!/bin/sh
#
# Copyright © 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
##############################################################################
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
app_path=$0
# Need this for daisy-chained symlinks.
while
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
[ -h "$app_path" ]
do
ls=$( ls -ld "$app_path" )
link=${ls#*' -> '}
case $link in #(
/*) app_path=$link ;; #(
*) app_path=$APP_HOME$link ;;
esac
done
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
warn () {
echo "$*"
} >&2
die () {
echo
echo "$*"
echo
exit 1
} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "$( uname )" in #(
CYGWIN* ) cygwin=true ;; #(
Darwin* ) darwin=true ;; #(
MSYS* | MINGW* ) msys=true ;; #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD=$JAVA_HOME/jre/sh/java
else
JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD=java
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
fi
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
# Now convert the arguments - kludge to limit ourselves to /bin/sh
for arg do
if
case $arg in #(
-*) false ;; # don't mess with options #(
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
[ -e "$t" ] ;; #(
*) false ;;
esac
then
arg=$( cygpath --path --ignore --mixed "$arg" )
fi
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift # remove old arg
set -- "$@" "$arg" # push replacement arg
done
fi
# Collect all arguments for the java command;
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
# shell script including quotes and variable substitutions, so put them in
# double quotes to make sure that they get re-expanded; and
# * put everything else in single quotes, so that it's not re-expanded.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
"$@"
# Stop when "xargs" is not available.
if ! command -v xargs >/dev/null 2>&1
then
die "xargs is not available"
fi
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
tr '\n' ' '
)" '"$@"'
exec "$JAVACMD" "$@"

92
gradlew.bat vendored Normal file
View File

@@ -0,0 +1,92 @@
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=.
@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@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="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

0
mcreator.gradle Normal file
View File

File diff suppressed because it is too large Load Diff

13
settings.gradle Normal file
View File

@@ -0,0 +1,13 @@
pluginManagement {
repositories {
gradlePluginPortal()
maven {
name = 'MinecraftForge'
url = 'https://maven.minecraftforge.net/'
}
}
}
plugins {
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.7.0'
}

View File

@@ -0,0 +1,95 @@
package net.mcreator.nimsrandombullshit;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import net.minecraftforge.network.simple.SimpleChannel;
import net.minecraftforge.network.NetworkRegistry;
import net.minecraftforge.network.NetworkEvent;
import net.minecraftforge.fml.util.thread.SidedThreadGroups;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.event.TickEvent;
import net.minecraftforge.common.MinecraftForge;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.network.FriendlyByteBuf;
import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModTabs;
import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModMobEffects;
import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModMenus;
import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModItems;
import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModEntities;
import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModEnchantments;
import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModBlocks;
import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModBlockEntities;
import java.util.function.Supplier;
import java.util.function.Function;
import java.util.function.BiConsumer;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.List;
import java.util.Collection;
import java.util.ArrayList;
import java.util.AbstractMap;
@Mod("nims_random_bullshit")
public class NimsRandomBullshitMod {
public static final Logger LOGGER = LogManager.getLogger(NimsRandomBullshitMod.class);
public static final String MODID = "nims_random_bullshit";
public NimsRandomBullshitMod() {
// Start of user code block mod constructor
// End of user code block mod constructor
MinecraftForge.EVENT_BUS.register(this);
IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus();
NimsRandomBullshitModBlocks.REGISTRY.register(bus);
NimsRandomBullshitModBlockEntities.REGISTRY.register(bus);
NimsRandomBullshitModItems.REGISTRY.register(bus);
NimsRandomBullshitModEntities.REGISTRY.register(bus);
NimsRandomBullshitModEnchantments.REGISTRY.register(bus);
NimsRandomBullshitModTabs.REGISTRY.register(bus);
NimsRandomBullshitModMobEffects.REGISTRY.register(bus);
NimsRandomBullshitModMenus.REGISTRY.register(bus);
// Start of user code block mod init
// End of user code block mod init
}
// Start of user code block mod methods
// End of user code block mod methods
private static final String PROTOCOL_VERSION = "1";
public static final SimpleChannel PACKET_HANDLER = NetworkRegistry.newSimpleChannel(new ResourceLocation(MODID, MODID), () -> PROTOCOL_VERSION, PROTOCOL_VERSION::equals, PROTOCOL_VERSION::equals);
private static int messageID = 0;
public static <T> void addNetworkMessage(Class<T> messageType, BiConsumer<T, FriendlyByteBuf> encoder, Function<FriendlyByteBuf, T> decoder, BiConsumer<T, Supplier<NetworkEvent.Context>> messageConsumer) {
PACKET_HANDLER.registerMessage(messageID, messageType, encoder, decoder, messageConsumer);
messageID++;
}
private static final Collection<AbstractMap.SimpleEntry<Runnable, Integer>> workQueue = new ConcurrentLinkedQueue<>();
public static void queueServerWork(int tick, Runnable action) {
if (Thread.currentThread().getThreadGroup() == SidedThreadGroups.SERVER)
workQueue.add(new AbstractMap.SimpleEntry<>(action, tick));
}
@SubscribeEvent
public void tick(TickEvent.ServerTickEvent event) {
if (event.phase == TickEvent.Phase.END) {
List<AbstractMap.SimpleEntry<Runnable, Integer>> actions = new ArrayList<>();
workQueue.forEach(work -> {
work.setValue(work.getValue() - 1);
if (work.getValue() == 0)
actions.add(work);
});
actions.forEach(e -> e.getKey().run());
workQueue.removeAll(actions);
}
}
}

View File

@@ -0,0 +1,21 @@
package net.mcreator.nimsrandombullshit.block;
import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.IronBarsBlock;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.core.BlockPos;
public class BrokenGlassBlock extends IronBarsBlock {
public BrokenGlassBlock() {
super(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).sound(SoundType.GLASS).strength(0.3f).noOcclusion().isRedstoneConductor((bs, br, bp) -> false));
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 0;
}
}

View File

@@ -0,0 +1,21 @@
package net.mcreator.nimsrandombullshit.block;
import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.core.BlockPos;
public class CondensedCondensedCondensedNetherrackBlock extends Block {
public CondensedCondensedCondensedNetherrackBlock() {
super(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).sound(SoundType.NETHERRACK).strength(291.6f).requiresCorrectToolForDrops());
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 15;
}
}

View File

@@ -0,0 +1,21 @@
package net.mcreator.nimsrandombullshit.block;
import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.core.BlockPos;
public class CondensedCondensedNetherrackBlock extends Block {
public CondensedCondensedNetherrackBlock() {
super(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).sound(SoundType.NETHERRACK).strength(32.4f).requiresCorrectToolForDrops());
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 15;
}
}

View File

@@ -0,0 +1,21 @@
package net.mcreator.nimsrandombullshit.block;
import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.core.BlockPos;
public class CondensedNetherrackBlock extends Block {
public CondensedNetherrackBlock() {
super(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).sound(SoundType.NETHERRACK).strength(3.6f).requiresCorrectToolForDrops());
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 15;
}
}

View File

@@ -0,0 +1,21 @@
package net.mcreator.nimsrandombullshit.block;
import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.core.BlockPos;
public class HexaCondensedNetherrackBlock extends Block {
public HexaCondensedNetherrackBlock() {
super(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).sound(SoundType.NETHERRACK).strength(64000f).requiresCorrectToolForDrops());
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 15;
}
}

View File

@@ -0,0 +1,133 @@
package net.mcreator.nimsrandombullshit.block;
import net.minecraftforge.network.NetworkHooks;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.level.block.state.properties.DirectionProperty;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Rotation;
import net.minecraft.world.level.block.Mirror;
import net.minecraft.world.level.block.HorizontalDirectionalBlock;
import net.minecraft.world.level.block.EntityBlock;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.world.inventory.AbstractContainerMenu;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.player.Inventory;
import net.minecraft.world.MenuProvider;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.Containers;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.network.chat.Component;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.core.Direction;
import net.minecraft.core.BlockPos;
import net.mcreator.nimsrandombullshit.world.inventory.OreMinerGUIMenu;
import net.mcreator.nimsrandombullshit.block.entity.OreMinerBlockEntity;
import io.netty.buffer.Unpooled;
public class OreMinerBlock extends Block implements EntityBlock {
public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING;
public OreMinerBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.STONE).strength(1f, 100f));
this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH));
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 15;
}
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
super.createBlockStateDefinition(builder);
builder.add(FACING);
}
@Override
public BlockState getStateForPlacement(BlockPlaceContext context) {
return super.getStateForPlacement(context).setValue(FACING, context.getHorizontalDirection().getOpposite());
}
public BlockState rotate(BlockState state, Rotation rot) {
return state.setValue(FACING, rot.rotate(state.getValue(FACING)));
}
public BlockState mirror(BlockState state, Mirror mirrorIn) {
return state.rotate(mirrorIn.getRotation(state.getValue(FACING)));
}
@Override
public InteractionResult use(BlockState blockstate, Level world, BlockPos pos, Player entity, InteractionHand hand, BlockHitResult hit) {
super.use(blockstate, world, pos, entity, hand, hit);
if (entity instanceof ServerPlayer player) {
NetworkHooks.openScreen(player, new MenuProvider() {
@Override
public Component getDisplayName() {
return Component.literal("Ore Miner");
}
@Override
public AbstractContainerMenu createMenu(int id, Inventory inventory, Player player) {
return new OreMinerGUIMenu(id, inventory, new FriendlyByteBuf(Unpooled.buffer()).writeBlockPos(pos));
}
}, pos);
}
return InteractionResult.SUCCESS;
}
@Override
public MenuProvider getMenuProvider(BlockState state, Level worldIn, BlockPos pos) {
BlockEntity tileEntity = worldIn.getBlockEntity(pos);
return tileEntity instanceof MenuProvider menuProvider ? menuProvider : null;
}
@Override
public BlockEntity newBlockEntity(BlockPos pos, BlockState state) {
return new OreMinerBlockEntity(pos, state);
}
@Override
public boolean triggerEvent(BlockState state, Level world, BlockPos pos, int eventID, int eventParam) {
super.triggerEvent(state, world, pos, eventID, eventParam);
BlockEntity blockEntity = world.getBlockEntity(pos);
return blockEntity == null ? false : blockEntity.triggerEvent(eventID, eventParam);
}
@Override
public void onRemove(BlockState state, Level world, BlockPos pos, BlockState newState, boolean isMoving) {
if (state.getBlock() != newState.getBlock()) {
BlockEntity blockEntity = world.getBlockEntity(pos);
if (blockEntity instanceof OreMinerBlockEntity be) {
Containers.dropContents(world, pos, be);
world.updateNeighbourForOutputSignal(pos, this);
}
super.onRemove(state, world, pos, newState, isMoving);
}
}
@Override
public boolean hasAnalogOutputSignal(BlockState state) {
return true;
}
@Override
public int getAnalogOutputSignal(BlockState blockState, Level world, BlockPos pos) {
BlockEntity tileentity = world.getBlockEntity(pos);
if (tileentity instanceof OreMinerBlockEntity be)
return AbstractContainerMenu.getRedstoneSignalFromContainer(be);
else
return 0;
}
}

View File

@@ -0,0 +1,21 @@
package net.mcreator.nimsrandombullshit.block;
import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.core.BlockPos;
public class PentaCondensedNetherrackBlock extends Block {
public PentaCondensedNetherrackBlock() {
super(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).sound(SoundType.NETHERRACK).strength(23619.6f).requiresCorrectToolForDrops());
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 15;
}
}

View File

@@ -0,0 +1,21 @@
package net.mcreator.nimsrandombullshit.block;
import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.core.BlockPos;
public class QuadraCondensedNetherrackBlock extends Block {
public QuadraCondensedNetherrackBlock() {
super(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).sound(SoundType.NETHERRACK).strength(2624.4f).requiresCorrectToolForDrops());
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 15;
}
}

View File

@@ -0,0 +1,159 @@
package net.mcreator.nimsrandombullshit.block.entity;
import net.minecraftforge.items.wrapper.SidedInvWrapper;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.common.capabilities.ForgeCapabilities;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.entity.RandomizableContainerBlockEntity;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.inventory.AbstractContainerMenu;
import net.minecraft.world.entity.player.Inventory;
import net.minecraft.world.WorldlyContainer;
import net.minecraft.world.ContainerHelper;
import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket;
import net.minecraft.network.chat.Component;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.core.NonNullList;
import net.minecraft.core.Direction;
import net.minecraft.core.BlockPos;
import net.mcreator.nimsrandombullshit.world.inventory.OreMinerGUIMenu;
import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModBlockEntities;
import javax.annotation.Nullable;
import java.util.stream.IntStream;
import io.netty.buffer.Unpooled;
public class OreMinerBlockEntity extends RandomizableContainerBlockEntity implements WorldlyContainer {
private NonNullList<ItemStack> stacks = NonNullList.<ItemStack>withSize(9, ItemStack.EMPTY);
private final LazyOptional<? extends IItemHandler>[] handlers = SidedInvWrapper.create(this, Direction.values());
public OreMinerBlockEntity(BlockPos position, BlockState state) {
super(NimsRandomBullshitModBlockEntities.ORE_MINER.get(), position, state);
}
@Override
public void load(CompoundTag compound) {
super.load(compound);
if (!this.tryLoadLootTable(compound))
this.stacks = NonNullList.withSize(this.getContainerSize(), ItemStack.EMPTY);
ContainerHelper.loadAllItems(compound, this.stacks);
}
@Override
public void saveAdditional(CompoundTag compound) {
super.saveAdditional(compound);
if (!this.trySaveLootTable(compound)) {
ContainerHelper.saveAllItems(compound, this.stacks);
}
}
@Override
public ClientboundBlockEntityDataPacket getUpdatePacket() {
return ClientboundBlockEntityDataPacket.create(this);
}
@Override
public CompoundTag getUpdateTag() {
return this.saveWithFullMetadata();
}
@Override
public int getContainerSize() {
return stacks.size();
}
@Override
public boolean isEmpty() {
for (ItemStack itemstack : this.stacks)
if (!itemstack.isEmpty())
return false;
return true;
}
@Override
public Component getDefaultName() {
return Component.literal("ore_miner");
}
@Override
public int getMaxStackSize() {
return 64;
}
@Override
public AbstractContainerMenu createMenu(int id, Inventory inventory) {
return new OreMinerGUIMenu(id, inventory, new FriendlyByteBuf(Unpooled.buffer()).writeBlockPos(this.worldPosition));
}
@Override
public Component getDisplayName() {
return Component.literal("Ore Miner");
}
@Override
protected NonNullList<ItemStack> getItems() {
return this.stacks;
}
@Override
protected void setItems(NonNullList<ItemStack> stacks) {
this.stacks = stacks;
}
@Override
public boolean canPlaceItem(int index, ItemStack stack) {
if (index == 1)
return false;
if (index == 2)
return false;
if (index == 3)
return false;
if (index == 4)
return false;
if (index == 5)
return false;
if (index == 6)
return false;
if (index == 7)
return false;
if (index == 8)
return false;
return true;
}
@Override
public int[] getSlotsForFace(Direction side) {
return IntStream.range(0, this.getContainerSize()).toArray();
}
@Override
public boolean canPlaceItemThroughFace(int index, ItemStack stack, @Nullable Direction direction) {
return this.canPlaceItem(index, stack);
}
@Override
public boolean canTakeItemThroughFace(int index, ItemStack stack, Direction direction) {
return true;
}
@Override
public <T> LazyOptional<T> getCapability(Capability<T> capability, @Nullable Direction facing) {
if (!this.remove && facing != null && capability == ForgeCapabilities.ITEM_HANDLER)
return handlers[facing.ordinal()].cast();
return super.getCapability(capability, facing);
}
@Override
public void setRemoved() {
super.setRemoved();
for (LazyOptional<? extends IItemHandler> handler : handlers)
handler.invalidate();
}
}

Some files were not shown because too many files have changed in this diff Show More