diff --git a/build.gradle b/build.gradle index 76af709..423241e 100644 --- a/build.gradle +++ b/build.gradle @@ -11,15 +11,24 @@ sourceSets { srcDir 'src/teavm/java' } } + eagler { + java { + srcDir 'src/main/java' + srcDir 'src/lwjgl/java' + } + } } + repositories { mavenCentral() } + dependencies { teavm(teavm.libs.jso) teavm(teavm.libs.jsoApis) + eaglerImplementation fileTree(dir: './desktopRuntime/eclipseProject/deps_fix/', include: '*.jar') } teavm.js { @@ -36,3 +45,31 @@ teavm.js { properties = null debugInformation = false } + +tasks.register('runclient', JavaExec) { + classpath = sourceSets.eagler.compileClasspath + group = "ShadowClient" + description = "Runs the client" + classpath sourceSets.eagler.runtimeClasspath + if (System.getProperty("os.name").toLowerCase().contains("mac")) { + jvmArgs '-XstartOnFirstThread' + } + + workingDir "./desktopRuntime" + main 'net.lax1dude.eaglercraft.v1_8.internal.lwjgl.MainClass' +} + +tasks.register('buildClient', Jar) { + group = "DragonX" + description = "Builds the client" + archiveBaseName = "eaglercraft" + destinationDirectory = file("desktopRuntime") + from sourceSets.eagler.output + dependsOn 'classes' + + manifest { + attributes( + 'Main-Class': 'net.lax1dude.eaglercraft.v1_8.internal.lwjgl.MainClass' + ) + } +} diff --git a/desktopRuntime/CompileEPK.jar b/desktopRuntime/CompileEPK.jar new file mode 100644 index 0000000..8b253fc Binary files /dev/null and b/desktopRuntime/CompileEPK.jar differ diff --git a/desktopRuntime/EaglerCraft-1.8.jar b/desktopRuntime/EaglerCraft-1.8.jar new file mode 100644 index 0000000..b80056c Binary files /dev/null and b/desktopRuntime/EaglerCraft-1.8.jar differ diff --git a/desktopRuntime/Java-WebSocket-1.5.1-with-dependencies.jar b/desktopRuntime/Java-WebSocket-1.5.1-with-dependencies.jar new file mode 100644 index 0000000..3600c46 Binary files /dev/null and b/desktopRuntime/Java-WebSocket-1.5.1-with-dependencies.jar differ diff --git a/desktopRuntime/LICENSE b/desktopRuntime/LICENSE new file mode 100644 index 0000000..a17ad0a --- /dev/null +++ b/desktopRuntime/LICENSE @@ -0,0 +1,29 @@ +Copyright (c) 2012-present Lightweight Java Game Library +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +- Neither the name Lightweight Java Game Library nor the names of + its contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/desktopRuntime/MakeOfflineDownload.jar b/desktopRuntime/MakeOfflineDownload.jar new file mode 100644 index 0000000..ea2fe91 Binary files /dev/null and b/desktopRuntime/MakeOfflineDownload.jar differ diff --git a/desktopRuntime/OpenAL.dll b/desktopRuntime/OpenAL.dll new file mode 100644 index 0000000..74c849d Binary files /dev/null and b/desktopRuntime/OpenAL.dll differ diff --git a/desktopRuntime/UnsafeMemcpy.dll b/desktopRuntime/UnsafeMemcpy.dll new file mode 100644 index 0000000..067de85 Binary files /dev/null and b/desktopRuntime/UnsafeMemcpy.dll differ diff --git a/desktopRuntime/UnsafeMemcpy.jar b/desktopRuntime/UnsafeMemcpy.jar new file mode 100644 index 0000000..59fa359 Binary files /dev/null and b/desktopRuntime/UnsafeMemcpy.jar differ diff --git a/desktopRuntime/angle_license.txt b/desktopRuntime/angle_license.txt new file mode 100644 index 0000000..88cc97c --- /dev/null +++ b/desktopRuntime/angle_license.txt @@ -0,0 +1,32 @@ +Copyright 2018 The ANGLE Project Authors. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/desktopRuntime/codecjorbis-20101023.jar b/desktopRuntime/codecjorbis-20101023.jar new file mode 100644 index 0000000..e7e1f4a Binary files /dev/null and b/desktopRuntime/codecjorbis-20101023.jar differ diff --git a/desktopRuntime/codecwav-20101023.jar b/desktopRuntime/codecwav-20101023.jar new file mode 100644 index 0000000..7b6b1bd Binary files /dev/null and b/desktopRuntime/codecwav-20101023.jar differ diff --git a/desktopRuntime/d3dcompiler_47.dll b/desktopRuntime/d3dcompiler_47.dll new file mode 100644 index 0000000..7f2da62 Binary files /dev/null and b/desktopRuntime/d3dcompiler_47.dll differ diff --git a/desktopRuntime/eaglercraft.jar b/desktopRuntime/eaglercraft.jar new file mode 100644 index 0000000..c4bfded Binary files /dev/null and b/desktopRuntime/eaglercraft.jar differ diff --git a/desktopRuntime/eclipse workspace/.gitignore b/desktopRuntime/eclipse workspace/.gitignore new file mode 100644 index 0000000..e10e727 --- /dev/null +++ b/desktopRuntime/eclipse workspace/.gitignore @@ -0,0 +1 @@ +/.metadata/ diff --git a/desktopRuntime/eclipseProject/deps_fix/Java-WebSocket-1.5.1-with-dependencies.jar b/desktopRuntime/eclipseProject/deps_fix/Java-WebSocket-1.5.1-with-dependencies.jar new file mode 100644 index 0000000..3600c46 Binary files /dev/null and b/desktopRuntime/eclipseProject/deps_fix/Java-WebSocket-1.5.1-with-dependencies.jar differ diff --git a/desktopRuntime/eclipseProject/deps_fix/UnsafeMemcpy.jar b/desktopRuntime/eclipseProject/deps_fix/UnsafeMemcpy.jar new file mode 100644 index 0000000..59fa359 Binary files /dev/null and b/desktopRuntime/eclipseProject/deps_fix/UnsafeMemcpy.jar differ diff --git a/desktopRuntime/eclipseProject/deps_fix/codecjorbis-20101023.jar b/desktopRuntime/eclipseProject/deps_fix/codecjorbis-20101023.jar new file mode 100644 index 0000000..e7e1f4a Binary files /dev/null and b/desktopRuntime/eclipseProject/deps_fix/codecjorbis-20101023.jar differ diff --git a/desktopRuntime/eclipseProject/deps_fix/codecwav-20101023.jar b/desktopRuntime/eclipseProject/deps_fix/codecwav-20101023.jar new file mode 100644 index 0000000..7b6b1bd Binary files /dev/null and b/desktopRuntime/eclipseProject/deps_fix/codecwav-20101023.jar differ diff --git a/desktopRuntime/eclipseProject/deps_fix/lwjgl-egl.jar b/desktopRuntime/eclipseProject/deps_fix/lwjgl-egl.jar new file mode 100644 index 0000000..34e42c7 Binary files /dev/null and b/desktopRuntime/eclipseProject/deps_fix/lwjgl-egl.jar differ diff --git a/desktopRuntime/eclipseProject/deps_fix/lwjgl-glfw.jar b/desktopRuntime/eclipseProject/deps_fix/lwjgl-glfw.jar new file mode 100644 index 0000000..791fe06 Binary files /dev/null and b/desktopRuntime/eclipseProject/deps_fix/lwjgl-glfw.jar differ diff --git a/desktopRuntime/eclipseProject/deps_fix/lwjgl-jemalloc.jar b/desktopRuntime/eclipseProject/deps_fix/lwjgl-jemalloc.jar new file mode 100644 index 0000000..6881c26 Binary files /dev/null and b/desktopRuntime/eclipseProject/deps_fix/lwjgl-jemalloc.jar differ diff --git a/desktopRuntime/eclipseProject/deps_fix/lwjgl-openal.jar b/desktopRuntime/eclipseProject/deps_fix/lwjgl-openal.jar new file mode 100644 index 0000000..2a60334 Binary files /dev/null and b/desktopRuntime/eclipseProject/deps_fix/lwjgl-openal.jar differ diff --git a/desktopRuntime/eclipseProject/deps_fix/lwjgl-opengles.jar b/desktopRuntime/eclipseProject/deps_fix/lwjgl-opengles.jar new file mode 100644 index 0000000..7bd409f Binary files /dev/null and b/desktopRuntime/eclipseProject/deps_fix/lwjgl-opengles.jar differ diff --git a/desktopRuntime/eclipseProject/deps_fix/lwjgl.jar b/desktopRuntime/eclipseProject/deps_fix/lwjgl.jar new file mode 100644 index 0000000..2d1fcf9 Binary files /dev/null and b/desktopRuntime/eclipseProject/deps_fix/lwjgl.jar differ diff --git a/desktopRuntime/eclipseProject/deps_fix/soundsystem-20120107.jar b/desktopRuntime/eclipseProject/deps_fix/soundsystem-20120107.jar new file mode 100644 index 0000000..52b6468 Binary files /dev/null and b/desktopRuntime/eclipseProject/deps_fix/soundsystem-20120107.jar differ diff --git a/desktopRuntime/eclipseProject/deps_fix/webrtc-java-0.8.0.jar b/desktopRuntime/eclipseProject/deps_fix/webrtc-java-0.8.0.jar new file mode 100644 index 0000000..f6eac1a Binary files /dev/null and b/desktopRuntime/eclipseProject/deps_fix/webrtc-java-0.8.0.jar differ diff --git a/desktopRuntime/eclipseProject/eaglercraftDebugRuntime.launch b/desktopRuntime/eclipseProject/eaglercraftDebugRuntime.launch new file mode 100644 index 0000000..a8fb8dc --- /dev/null +++ b/desktopRuntime/eclipseProject/eaglercraftDebugRuntime.launch @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/desktopRuntime/glfw.dll b/desktopRuntime/glfw.dll new file mode 100644 index 0000000..337216c Binary files /dev/null and b/desktopRuntime/glfw.dll differ diff --git a/desktopRuntime/glfw_license.txt b/desktopRuntime/glfw_license.txt new file mode 100644 index 0000000..8a60e1d --- /dev/null +++ b/desktopRuntime/glfw_license.txt @@ -0,0 +1,21 @@ +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2010 Camilla Berglund + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. diff --git a/desktopRuntime/icon16.png b/desktopRuntime/icon16.png new file mode 100644 index 0000000..64e16b3 Binary files /dev/null and b/desktopRuntime/icon16.png differ diff --git a/desktopRuntime/icon32.png b/desktopRuntime/icon32.png new file mode 100644 index 0000000..9c9fc89 Binary files /dev/null and b/desktopRuntime/icon32.png differ diff --git a/desktopRuntime/javadoc/lwjgl-egl-javadoc.jar b/desktopRuntime/javadoc/lwjgl-egl-javadoc.jar new file mode 100644 index 0000000..d77a3d5 Binary files /dev/null and b/desktopRuntime/javadoc/lwjgl-egl-javadoc.jar differ diff --git a/desktopRuntime/javadoc/lwjgl-glfw-javadoc.jar b/desktopRuntime/javadoc/lwjgl-glfw-javadoc.jar new file mode 100644 index 0000000..da73b0e Binary files /dev/null and b/desktopRuntime/javadoc/lwjgl-glfw-javadoc.jar differ diff --git a/desktopRuntime/javadoc/lwjgl-javadoc.jar b/desktopRuntime/javadoc/lwjgl-javadoc.jar new file mode 100644 index 0000000..dd18b2c Binary files /dev/null and b/desktopRuntime/javadoc/lwjgl-javadoc.jar differ diff --git a/desktopRuntime/javadoc/lwjgl-jemalloc-javadoc.jar b/desktopRuntime/javadoc/lwjgl-jemalloc-javadoc.jar new file mode 100644 index 0000000..5db7bdc Binary files /dev/null and b/desktopRuntime/javadoc/lwjgl-jemalloc-javadoc.jar differ diff --git a/desktopRuntime/javadoc/lwjgl-openal-javadoc.jar b/desktopRuntime/javadoc/lwjgl-openal-javadoc.jar new file mode 100644 index 0000000..a8be56f Binary files /dev/null and b/desktopRuntime/javadoc/lwjgl-openal-javadoc.jar differ diff --git a/desktopRuntime/javadoc/lwjgl-opengles-javadoc.jar b/desktopRuntime/javadoc/lwjgl-opengles-javadoc.jar new file mode 100644 index 0000000..2aaf4d2 Binary files /dev/null and b/desktopRuntime/javadoc/lwjgl-opengles-javadoc.jar differ diff --git a/desktopRuntime/jemalloc.dll b/desktopRuntime/jemalloc.dll new file mode 100644 index 0000000..bc259af Binary files /dev/null and b/desktopRuntime/jemalloc.dll differ diff --git a/desktopRuntime/jemalloc_license.txt b/desktopRuntime/jemalloc_license.txt new file mode 100644 index 0000000..fd57978 --- /dev/null +++ b/desktopRuntime/jemalloc_license.txt @@ -0,0 +1,27 @@ +Unless otherwise specified, files in the jemalloc source distribution are +subject to the following license: +-------------------------------------------------------------------------------- +Copyright (C) 2002-2018 Jason Evans . +All rights reserved. +Copyright (C) 2007-2012 Mozilla Foundation. All rights reserved. +Copyright (C) 2009-2018 Facebook, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice(s), + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice(s), + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- \ No newline at end of file diff --git a/desktopRuntime/khronos_license.txt b/desktopRuntime/khronos_license.txt new file mode 100644 index 0000000..d7e6e9d --- /dev/null +++ b/desktopRuntime/khronos_license.txt @@ -0,0 +1,22 @@ +/* +** Copyright (c) 2013-2014 The Khronos Group Inc. +** +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and/or associated documentation files (the +** "Materials"), to deal in the Materials without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Materials, and to +** permit persons to whom the Materials are furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be included +** in all copies or substantial portions of the Materials. +** +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +*/ \ No newline at end of file diff --git a/desktopRuntime/libEGL.dll b/desktopRuntime/libEGL.dll new file mode 100644 index 0000000..6332cc1 Binary files /dev/null and b/desktopRuntime/libEGL.dll differ diff --git a/desktopRuntime/libEGL.so b/desktopRuntime/libEGL.so new file mode 100644 index 0000000..7d0cf97 Binary files /dev/null and b/desktopRuntime/libEGL.so differ diff --git a/desktopRuntime/libGLESv2.dll b/desktopRuntime/libGLESv2.dll new file mode 100644 index 0000000..c179d16 Binary files /dev/null and b/desktopRuntime/libGLESv2.dll differ diff --git a/desktopRuntime/libGLESv2.so b/desktopRuntime/libGLESv2.so new file mode 100644 index 0000000..354cb86 Binary files /dev/null and b/desktopRuntime/libGLESv2.so differ diff --git a/desktopRuntime/libUnsafeMemcpy.so b/desktopRuntime/libUnsafeMemcpy.so new file mode 100644 index 0000000..61ec556 Binary files /dev/null and b/desktopRuntime/libUnsafeMemcpy.so differ diff --git a/desktopRuntime/libffi_license.txt b/desktopRuntime/libffi_license.txt new file mode 100644 index 0000000..7b64447 --- /dev/null +++ b/desktopRuntime/libffi_license.txt @@ -0,0 +1,21 @@ +libffi - Copyright (c) 1996-2020 Anthony Green, Red Hat, Inc and others. +See source files for details. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +``Software''), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/desktopRuntime/libglfw.so b/desktopRuntime/libglfw.so new file mode 100644 index 0000000..69f2043 Binary files /dev/null and b/desktopRuntime/libglfw.so differ diff --git a/desktopRuntime/libjemalloc.so b/desktopRuntime/libjemalloc.so new file mode 100644 index 0000000..d90d99d Binary files /dev/null and b/desktopRuntime/libjemalloc.so differ diff --git a/desktopRuntime/liblwjgl.so b/desktopRuntime/liblwjgl.so new file mode 100644 index 0000000..b2b8308 Binary files /dev/null and b/desktopRuntime/liblwjgl.so differ diff --git a/desktopRuntime/liblwjgl_opengles.so b/desktopRuntime/liblwjgl_opengles.so new file mode 100644 index 0000000..7642205 Binary files /dev/null and b/desktopRuntime/liblwjgl_opengles.so differ diff --git a/desktopRuntime/libopenal.so b/desktopRuntime/libopenal.so new file mode 100644 index 0000000..f1add10 Binary files /dev/null and b/desktopRuntime/libopenal.so differ diff --git a/desktopRuntime/liburing_license.txt b/desktopRuntime/liburing_license.txt new file mode 100644 index 0000000..67bc330 --- /dev/null +++ b/desktopRuntime/liburing_license.txt @@ -0,0 +1,7 @@ +Copyright 2020 Jens Axboe + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/desktopRuntime/libvulkan.so.1 b/desktopRuntime/libvulkan.so.1 new file mode 100644 index 0000000..bdfd842 Binary files /dev/null and b/desktopRuntime/libvulkan.so.1 differ diff --git a/desktopRuntime/libwebrtc-java.so b/desktopRuntime/libwebrtc-java.so new file mode 100644 index 0000000..4ffd25a Binary files /dev/null and b/desktopRuntime/libwebrtc-java.so differ diff --git a/desktopRuntime/lwjgl-egl.jar b/desktopRuntime/lwjgl-egl.jar new file mode 100644 index 0000000..34e42c7 Binary files /dev/null and b/desktopRuntime/lwjgl-egl.jar differ diff --git a/desktopRuntime/lwjgl-glfw.jar b/desktopRuntime/lwjgl-glfw.jar new file mode 100644 index 0000000..791fe06 Binary files /dev/null and b/desktopRuntime/lwjgl-glfw.jar differ diff --git a/desktopRuntime/lwjgl-jemalloc.jar b/desktopRuntime/lwjgl-jemalloc.jar new file mode 100644 index 0000000..6881c26 Binary files /dev/null and b/desktopRuntime/lwjgl-jemalloc.jar differ diff --git a/desktopRuntime/lwjgl-openal.jar b/desktopRuntime/lwjgl-openal.jar new file mode 100644 index 0000000..2a60334 Binary files /dev/null and b/desktopRuntime/lwjgl-openal.jar differ diff --git a/desktopRuntime/lwjgl-opengles.jar b/desktopRuntime/lwjgl-opengles.jar new file mode 100644 index 0000000..7bd409f Binary files /dev/null and b/desktopRuntime/lwjgl-opengles.jar differ diff --git a/desktopRuntime/lwjgl.dll b/desktopRuntime/lwjgl.dll new file mode 100644 index 0000000..ae44114 Binary files /dev/null and b/desktopRuntime/lwjgl.dll differ diff --git a/desktopRuntime/lwjgl.jar b/desktopRuntime/lwjgl.jar new file mode 100644 index 0000000..2d1fcf9 Binary files /dev/null and b/desktopRuntime/lwjgl.jar differ diff --git a/desktopRuntime/lwjgl_opengles.dll b/desktopRuntime/lwjgl_opengles.dll new file mode 100644 index 0000000..a1b3e94 Binary files /dev/null and b/desktopRuntime/lwjgl_opengles.dll differ diff --git a/desktopRuntime/openal_soft_license.txt b/desktopRuntime/openal_soft_license.txt new file mode 100644 index 0000000..5bc8fb2 --- /dev/null +++ b/desktopRuntime/openal_soft_license.txt @@ -0,0 +1,481 @@ + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/desktopRuntime/resources/SignedClientTemplate.txt b/desktopRuntime/resources/SignedClientTemplate.txt new file mode 100644 index 0000000..72ff330 --- /dev/null +++ b/desktopRuntime/resources/SignedClientTemplate.txt @@ -0,0 +1,110 @@ + + + + + + + +EaglercraftX 1.8 + + + + + + + + + + + + + +
+
+

This file is from ${date}

+

Game will launch in 5...

+
+
+
+ + diff --git a/desktopRuntime/resources/assets/eagler/CREDITS.txt b/desktopRuntime/resources/assets/eagler/CREDITS.txt new file mode 100644 index 0000000..fdc0906 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/CREDITS.txt @@ -0,0 +1,713 @@ + + EaglercraftX Developers + ~~~~~~~~~~~~~~~~~~~~~~~ + + lax1dude: + + - Creator of Eaglercraft + - Ported the Minecraft 1.8 src to TeaVM + - Wrote HW accelerated OpenGL 1.3 emulator + - Wrote the default shader pack + - Made the integrated PBR resource pack + - Wrote all desktop emulation code + - Wrote EaglercraftXBungee + - Wrote WebRTC relay server + - Wrote voice chat server + - Wrote the patch and build system + + ayunami2000: + + - Many bug fixes + - WebRTC LAN worlds + - WebRTC voice chat + - Added resource packs + - Added screen recording + - Added seamless fullscreen + - Created the replit + + hoosiertransfer: + - Ported 1.9 features to 1.8 + - Many memory optimizations + - Bug fixes + - Faster lighting engine + + + + Code used within EaglercraftX + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: TeaVM + Project Author: Alexey Andreev + Project URL: https://teavm.org/ + + Used For: Compiling Java to JS, JRE implementation + + * Copyright 2014 Alexey Andreev. + * + * 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 + * + * http://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. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: LWJGL 3 + Project Author: Spasi + Project URL: https://www.lwjgl.org + + Used For: OpenGL, OpenAL, and GLFW bindings in desktop debug runtime + + * Copyright (c) 2012-present Lightweight Java Game Library + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name Lightweight Java Game Library nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: ANGLE + Project Author: Google + Project URL: https://angleproject.org/ + + Used For: OpenGL ES 3.0 emulation in desktop debug runtime + + * Copyright 2018 The ANGLE Project Authors. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * + * Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + * Ltd., nor the names of their contributors may be used to endorse + * or promote products derived from this software without specific + * prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: JOML + Project Author: httpdigest + Project URL: https://github.com/JOML-CI/JOML + + Used For: Math library for some calculations used by the renderer + + * The MIT License (MIT) + * + * Copyright (c) 2015-2023 JOML + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: NVIDIA FXAA + Project Author: Timothy Lottes, NVIDIA + Project URL: https://gist.github.com/kosua20/0c506b81b3812ac900048059d2383126 + + Used For: in-game hardware accelerated FXAA antialiasing (when enabled) + + * ============================================================================== + * + * + * NVIDIA FXAA 3.11 by TIMOTHY LOTTES + * + * + * ------------------------------------------------------------------------------ + * COPYRIGHT (C) 2010, 2011 NVIDIA CORPORATION. ALL RIGHTS RESERVED. + * ------------------------------------------------------------------------------ + * TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED + * *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS + * OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA + * OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR + * CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR + * LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, + * OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE + * THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGES. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: java-diff-utils + Project Author: Google, forked by wumpz + Project URL: https://java-diff-utils.github.io/java-diff-utils/ + + Used For: generating and applying patch files in build system + + * Copyright 2009-2017 java-diff-utils. + * + * 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 + * + * http://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. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: Google Guava + Project Author: Google + Project URL: https://github.com/google/guava + + Used For: It's a dependency for Minecraft 1.8 + + * Copyright (C) 2011 The Guava 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 + * + * http://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. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: javax.annotation + Project Author: Oracle Inc. + Project URL: ?? + + Used For: Dependency for Google Guava + + * Copyright (c) 2005-2018 Oracle and/or its affiliates. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common Development + * and Distribution License("CDDL") (collectively, the "License"). You + * may not use this file except in compliance with the License. You can + * obtain a copy of the License at + * https://oss.oracle.com/licenses/CDDL+GPL-1.1 + * or LICENSE.txt. See the License for the specific + * language governing permissions and limitations under the License. + * + * When distributing the software, include this License Header Notice in each + * file and include the License file at LICENSE.txt. + * + * GPL Classpath Exception: + * Oracle designates this particular file as subject to the "Classpath" + * exception as provided by Oracle in the GPL Version 2 section of the License + * file that accompanied this code. + * + * Modifications: + * If applicable, add the following below the License Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyright [year] [name of copyright owner]" + * + * Contributor(s): + * If you wish your version of this file to be governed by only the CDDL or + * only the GPL Version 2, indicate your decision by adding "[Contributor] + * elects to include this software in this distribution under the [CDDL or GPL + * Version 2] license." If you don't indicate a single choice of license, a + * recipient has the option to distribute your version of this file under + * either the CDDL, the GPL Version 2 or to extend the choice of license to + * its licensees as provided above. However, if you add GPL Version 2 code + * and therefore, elected the GPL Version 2 license, then the option applies + * only if the new code is made subject to such option by the copyright + * holder. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: Apache Commons Lang + Project Author: Apache Software Foundation + Project URL: https://commons.apache.org/proper/commons-lang/ + + Used For: It's a dependency for Minecraft 1.8 + + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + * + * http://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. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: Apache Commons IO + Project Author: Apache Software Foundation + Project URL: https://commons.apache.org/proper/commons-io/ + + Used For: simplifying file IO in build system + + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + * + * http://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. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: Apache Commons CSV + Project Author: Apache Software Foundation + Project URL: https://commons.apache.org/proper/commons-csv/ + + Used For: loading mod coder pack config files in build system + + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + * + * http://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. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: JSON-java + Project Author: Sean Leary (stleary) + Project URL: https://github.com/stleary/JSON-java + + Used For: JSON serialization and parsing in client and build system + + * Public domain. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: Eclipse IDE Java Formatter + Project Author: Eclipse Foundation + Project URL: https://www.eclipse.org/ + + Used For: Formatting source code in build system before making diffs + + * License is here: https://www.eclipse.org/legal/epl-2.0/ + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: ObjectWeb ASM + Project Author: OW2 + Project URL: https://asm.ow2.io/ + + Used For: parsing method signatures in build system + + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2011 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: Bouncy Castle Crypto + Project Author: The Legion of the Bouncy Castle + Project URL: https://www.bouncycastle.org/java.html + + Used For: MD5, SHA-1, SHA-256 implementations + + * Copyright (c) 2000-2021 The Legion of the Bouncy Castle Inc. (https://www.bouncycastle.org) + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software + * and associated documentation files (the "Software"), to deal in the Software without restriction, + * including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR + * PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: Apache Harmony JRE + Project Author: Apache Software Foundation + Project URL: https://harmony.apache.org/ + + Used For: TeaVM compatible String.format implementation + + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + * + * http://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. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: Apache Commons Codec + Project Author: Apache Software Foundation + Project URL: https://commons.apache.org/proper/commons-codec/ + + Used For: Base64 encoder/decoder implementation + + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + * + * http://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. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: JZlib + Project Author: ymnk, JCraft Inc. + Project URL: http://www.jcraft.com/jzlib/ + + Used For: Deflate and GZIP implementations in client + + * Copyright (c) 2011 ymnk, JCraft,Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the distribution. + * + * 3. The names of the authors may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT, + * INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: Java-WebSocket + Project Author: Nathan Rajlich (TooTallNate) + Project URL: http://tootallnate.github.io/Java-WebSocket + + Used For: WebSockets in desktop runtime + + * Copyright (c) 2010-2020 Nathan Rajlich + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: webrtc-java + Project Author: Alex Andres + Project URL: https://github.com/devopvoid/webrtc-java + + Used For: WebRTC LAN worlds in desktop runtime + + * Copyright 2019 Alex Andres + * + * 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 + * + * http://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. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: Netty + Project Author: Netty Project + Project URL: https://netty.io/ + + Used For: 'ByteBuf' classes implementations for Minecraft 1.8's networking engine + + * Copyright 2015 The Netty Project + * + * The Netty Project licenses this file to you 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. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: 3D Sound System + Project Author: Paul Lamb + Project URL: http://www.paulscode.com/forum/index.php?topic=4.0 + + Used For: Audio in desktop runtime + + * SoundSystem License: + * + * You are free to use this library for any purpose, commercial or + * otherwise. You may modify this library or source code, and distribute it any + * way you like, provided the following conditions are met: + * + * 1) You must abide by the conditions of the aforementioned LWJGL License. + * + * 2) You may not falsely claim to be the author of this library or any + * unmodified portion of it. + * + * 3) You may not copyright this library or a modified version of it and then + * sue me for copyright infringement. + * + * 4) If you modify the source code, you must clearly document the changes made + * before redistributing the modified source code, so other users know it is not + * the original code. + * + * 5) You are not required to give me credit for this library in any derived + * work, but if you do, you must also mention my website: + * http://www.paulscode.com + * + * 6) I the author will not be responsible for any damages (physical, financial, + * or otherwise) caused by the use if this library or any part of it. + * + * 7) I the author do not guarantee, warrant, or make any representations, + * either expressed or implied, regarding the use of this library or any part of + * it. + * + * Author: Paul Lamb + * http://www.paulscode.com + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: JOrbis + Project Author: ymnk, JCraft Inc. + Project URL: http://www.jcraft.com/jorbis/ + + Used For: Audio in desktop runtime + + * JOrbis + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: sqlite-jdbc + Project Author: Taro L. Saito (xerial) + Project URL: https://github.com/xerial/sqlite-jdbc + + Used For: Default skin cache and authentication JDBC driver in EaglerXBungee + + * 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 + * + * http://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. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Project Name: fix-webm-duration + Project Author: Yury Sitnikov + Project URL: https://github.com/yusitnikov/fix-webm-duration + + Used For: Post-processing screen recordings to add durations to the file headers + + * The MIT license + * + * Copyright (c) 2018 Yury Sitnikov + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/desktopRuntime/resources/assets/eagler/capes/01.minecon_2011.png b/desktopRuntime/resources/assets/eagler/capes/01.minecon_2011.png new file mode 100644 index 0000000..77e0ccc Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/capes/01.minecon_2011.png differ diff --git a/desktopRuntime/resources/assets/eagler/capes/02.minecon_2012.png b/desktopRuntime/resources/assets/eagler/capes/02.minecon_2012.png new file mode 100644 index 0000000..6390662 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/capes/02.minecon_2012.png differ diff --git a/desktopRuntime/resources/assets/eagler/capes/03.minecon_2013.png b/desktopRuntime/resources/assets/eagler/capes/03.minecon_2013.png new file mode 100644 index 0000000..1cd6a12 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/capes/03.minecon_2013.png differ diff --git a/desktopRuntime/resources/assets/eagler/capes/04.minecon_2015.png b/desktopRuntime/resources/assets/eagler/capes/04.minecon_2015.png new file mode 100644 index 0000000..a272284 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/capes/04.minecon_2015.png differ diff --git a/desktopRuntime/resources/assets/eagler/capes/05.minecon_2016.png b/desktopRuntime/resources/assets/eagler/capes/05.minecon_2016.png new file mode 100644 index 0000000..492eee1 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/capes/05.minecon_2016.png differ diff --git a/desktopRuntime/resources/assets/eagler/capes/06.microsoft_account.png b/desktopRuntime/resources/assets/eagler/capes/06.microsoft_account.png new file mode 100644 index 0000000..7fccd56 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/capes/06.microsoft_account.png differ diff --git a/desktopRuntime/resources/assets/eagler/capes/07.mapmaker.png b/desktopRuntime/resources/assets/eagler/capes/07.mapmaker.png new file mode 100644 index 0000000..58a217a Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/capes/07.mapmaker.png differ diff --git a/desktopRuntime/resources/assets/eagler/capes/08.mojang_old.png b/desktopRuntime/resources/assets/eagler/capes/08.mojang_old.png new file mode 100644 index 0000000..438edff Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/capes/08.mojang_old.png differ diff --git a/desktopRuntime/resources/assets/eagler/capes/09.mojang_new.png b/desktopRuntime/resources/assets/eagler/capes/09.mojang_new.png new file mode 100644 index 0000000..2eca0d3 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/capes/09.mojang_new.png differ diff --git a/desktopRuntime/resources/assets/eagler/capes/10.jira_mod.png b/desktopRuntime/resources/assets/eagler/capes/10.jira_mod.png new file mode 100644 index 0000000..f3d4fe8 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/capes/10.jira_mod.png differ diff --git a/desktopRuntime/resources/assets/eagler/capes/11.mojang_very_old.png b/desktopRuntime/resources/assets/eagler/capes/11.mojang_very_old.png new file mode 100644 index 0000000..375aea8 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/capes/11.mojang_very_old.png differ diff --git a/desktopRuntime/resources/assets/eagler/capes/12.scrolls.png b/desktopRuntime/resources/assets/eagler/capes/12.scrolls.png new file mode 100644 index 0000000..25e1447 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/capes/12.scrolls.png differ diff --git a/desktopRuntime/resources/assets/eagler/capes/13.cobalt.png b/desktopRuntime/resources/assets/eagler/capes/13.cobalt.png new file mode 100644 index 0000000..50d24b7 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/capes/13.cobalt.png differ diff --git a/desktopRuntime/resources/assets/eagler/capes/14.translator.png b/desktopRuntime/resources/assets/eagler/capes/14.translator.png new file mode 100644 index 0000000..b681c26 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/capes/14.translator.png differ diff --git a/desktopRuntime/resources/assets/eagler/capes/15.millionth_account.png b/desktopRuntime/resources/assets/eagler/capes/15.millionth_account.png new file mode 100644 index 0000000..c2f0a02 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/capes/15.millionth_account.png differ diff --git a/desktopRuntime/resources/assets/eagler/capes/16.prismarine.png b/desktopRuntime/resources/assets/eagler/capes/16.prismarine.png new file mode 100644 index 0000000..3ee69b2 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/capes/16.prismarine.png differ diff --git a/desktopRuntime/resources/assets/eagler/capes/17.snowman.png b/desktopRuntime/resources/assets/eagler/capes/17.snowman.png new file mode 100644 index 0000000..f4ad552 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/capes/17.snowman.png differ diff --git a/desktopRuntime/resources/assets/eagler/capes/18.spade.png b/desktopRuntime/resources/assets/eagler/capes/18.spade.png new file mode 100644 index 0000000..7cf8e8b Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/capes/18.spade.png differ diff --git a/desktopRuntime/resources/assets/eagler/capes/19.birthday.png b/desktopRuntime/resources/assets/eagler/capes/19.birthday.png new file mode 100644 index 0000000..048ef8e Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/capes/19.birthday.png differ diff --git a/desktopRuntime/resources/assets/eagler/capes/20.db.png b/desktopRuntime/resources/assets/eagler/capes/20.db.png new file mode 100644 index 0000000..8110bd2 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/capes/20.db.png differ diff --git a/desktopRuntime/resources/assets/eagler/eagtek.png b/desktopRuntime/resources/assets/eagler/eagtek.png new file mode 100644 index 0000000..44008fc Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/eagtek.png differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/accel_font.fsh b/desktopRuntime/resources/assets/eagler/glsl/accel_font.fsh new file mode 100644 index 0000000..6d1c80a --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/accel_font.fsh @@ -0,0 +1,36 @@ +#line 2 + +/* + * Copyright (c) 2022-2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision mediump float; +precision mediump sampler2D; + +in vec2 v_texCoord2f; +in vec4 v_color4f; + +layout(location = 0) out vec4 output4f; + +uniform sampler2D u_inputTexture; +uniform vec4 u_colorBias4f; + +void main() { + output4f = texture(u_inputTexture, v_texCoord2f) * v_color4f + u_colorBias4f; + if(output4f.a < 0.004) { + discard; + } +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/accel_font.vsh b/desktopRuntime/resources/assets/eagler/glsl/accel_font.vsh new file mode 100644 index 0000000..50a99cc --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/accel_font.vsh @@ -0,0 +1,53 @@ +#line 2 + +/* + * Copyright (c) 2022-2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision mediump sampler2D; + +layout(location = 0) in vec3 a_position3f; + +layout(location = 1) in vec2 c_position2i; +layout(location = 2) in vec2 c_coords2i; +layout(location = 3) in vec4 c_color4f; + +out vec2 v_texCoord2f; +out vec4 v_color4f; + +uniform mat4 u_matrixTransform; +uniform vec2 u_charSize2f; +uniform vec2 u_charCoordSize2f; +uniform vec4 u_color4f; + +void main() { + v_color4f = c_color4f.bgra; + float shadowBit = a_position3f.z; + float boldBit = shadowBit >= 0.5 ? 1.0 : 0.0; + shadowBit -= boldBit * 0.5; + v_color4f.rgb *= (1.0 - shadowBit * 3.0); + v_texCoord2f = (c_coords2i + a_position3f.xy) * u_charCoordSize2f; + vec2 pos2d = c_position2i + vec2(shadowBit * 4.0); + pos2d += a_position3f.xy * u_charSize2f; + pos2d.x += boldBit; + float italicBit = v_color4f.a >= 0.5 ? 2.0 : 0.0; + v_color4f.a -= italicBit * 0.25; + pos2d.x -= (a_position3f.y - 0.5) * italicBit; + v_color4f.a *= 2.0; + v_color4f *= u_color4f; + gl_Position = u_matrixTransform * vec4(pos2d, 0.0, 1.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/accel_particle.fsh b/desktopRuntime/resources/assets/eagler/glsl/accel_particle.fsh new file mode 100644 index 0000000..256290c --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/accel_particle.fsh @@ -0,0 +1,35 @@ +#line 2 + +/* + * Copyright (c) 2022-2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision mediump float; +precision mediump sampler2D; + +in vec2 v_texCoord2f; +in vec4 v_color4f; + +layout(location = 0) out vec4 output4f; + +uniform sampler2D u_inputTexture; + +void main() { + output4f = texture(u_inputTexture, v_texCoord2f) * v_color4f; + if(output4f.a < 0.004) { + discard; + } +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/accel_particle.vsh b/desktopRuntime/resources/assets/eagler/glsl/accel_particle.vsh new file mode 100644 index 0000000..59becc7 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/accel_particle.vsh @@ -0,0 +1,58 @@ +#line 2 + +/* + * Copyright (c) 2022-2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision mediump sampler2D; + +layout(location = 0) in vec2 a_position2f; + +layout(location = 1) in vec3 p_position3f; +layout(location = 2) in vec2 p_texCoords2i; +layout(location = 3) in vec2 p_lightMap2f; +layout(location = 4) in vec2 p_particleSize_texCoordsSize_2i; +layout(location = 5) in vec4 p_color4f; + +out vec2 v_texCoord2f; +out vec4 v_color4f; + +uniform mat4 u_matrixTransform; +uniform vec3 u_texCoordSize2f_particleSize1f; +uniform vec3 u_transformParam_1_2_5_f; +uniform vec2 u_transformParam_3_4_f; +uniform vec4 u_color4f; + +uniform sampler2D u_lightmapTexture; + +void main() { + v_color4f = u_color4f * p_color4f.bgra * texture(u_lightmapTexture, p_lightMap2f); + + vec2 tex2f = a_position2f * 0.5 + 0.5; + tex2f.y = 1.0 - tex2f.y; + tex2f = p_texCoords2i + tex2f * p_particleSize_texCoordsSize_2i.y; + v_texCoord2f = tex2f * u_texCoordSize2f_particleSize1f.xy; + + float particleSize = u_texCoordSize2f_particleSize1f.z * p_particleSize_texCoordsSize_2i.x; + + vec3 pos3f = p_position3f; + vec2 spos2f = a_position2f * particleSize; + pos3f += u_transformParam_1_2_5_f * spos2f.xyy; + pos3f.zx += u_transformParam_3_4_f * spos2f; + + gl_Position = u_matrixTransform * vec4(pos3f, 1.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/core.fsh b/desktopRuntime/resources/assets/eagler/glsl/core.fsh new file mode 100644 index 0000000..5a01a79 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/core.fsh @@ -0,0 +1,183 @@ +#line 2 + +/* + * Copyright (c) 2022-2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +#if defined(COMPILE_ENABLE_TEX_GEN) || defined(COMPILE_ENABLE_FOG) +in vec4 v_position4f; +#endif + +#ifdef COMPILE_TEXTURE_ATTRIB +in vec2 v_texture2f; +#endif + +uniform vec4 u_color4f; + +#ifdef COMPILE_BLEND_ADD +uniform vec4 u_colorBlendSrc4f; +uniform vec4 u_colorBlendAdd4f; +#endif + +#ifdef COMPILE_COLOR_ATTRIB +in vec4 v_color4f; +#endif + +#ifdef COMPILE_NORMAL_ATTRIB +in vec3 v_normal3f; +#endif + +#ifdef COMPILE_LIGHTMAP_ATTRIB +in vec2 v_lightmap2f; +#endif + +#ifdef COMPILE_ENABLE_TEXTURE2D +uniform sampler2D u_samplerTexture; +#if !defined(COMPILE_TEXTURE_ATTRIB) && !defined(COMPILE_ENABLE_TEX_GEN) +uniform vec2 u_textureCoords01; +#endif +#endif + +#ifdef COMPILE_ENABLE_LIGHTMAP +uniform sampler2D u_samplerLightmap; +#ifndef COMPILE_LIGHTMAP_ATTRIB +uniform vec2 u_textureCoords02; +#endif +#endif + +#ifdef COMPILE_ENABLE_ALPHA_TEST +uniform float u_alphaTestRef1f; +#endif + +#ifdef COMPILE_ENABLE_MC_LIGHTING +uniform int u_lightsEnabled1i; +uniform vec4 u_lightsDirections4fv[4]; +uniform vec3 u_lightsAmbient3f; +#ifndef COMPILE_NORMAL_ATTRIB +uniform vec3 u_uniformNormal3f; +#endif +#endif + +#ifdef COMPILE_ENABLE_FOG +uniform vec4 u_fogParameters4f; +uniform vec4 u_fogColor4f; +#endif + +#ifdef COMPILE_ENABLE_TEX_GEN +in vec3 v_objectPosition3f; +uniform ivec4 u_texGenPlane4i; +uniform vec4 u_texGenS4f; +uniform vec4 u_texGenT4f; +uniform vec4 u_texGenR4f; +uniform vec4 u_texGenQ4f; +uniform mat4 u_textureMat4f01; +#endif + +#ifdef COMPILE_ENABLE_ANISOTROPIC_FIX +uniform vec2 u_textureAnisotropicFix; +#endif + +layout(location = 0) out vec4 output4f; + +void main() { + +#ifdef COMPILE_COLOR_ATTRIB + vec4 color = v_color4f * u_color4f; +#else + vec4 color = u_color4f; +#endif + +#ifdef COMPILE_ENABLE_TEX_GEN + vec4 texGenVector; + + vec4 texGenPosSrc[2]; + texGenPosSrc[0] = vec4(v_objectPosition3f, 1.0); + texGenPosSrc[1] = v_position4f; + + texGenVector.x = dot(texGenPosSrc[u_texGenPlane4i.x], u_texGenS4f); + texGenVector.y = dot(texGenPosSrc[u_texGenPlane4i.y], u_texGenT4f); + texGenVector.z = dot(texGenPosSrc[u_texGenPlane4i.z], u_texGenR4f); + texGenVector.w = dot(texGenPosSrc[u_texGenPlane4i.w], u_texGenQ4f); + + texGenVector = u_textureMat4f01 * texGenVector; + color *= texture(u_samplerTexture, texGenVector.xy / texGenVector.w); + +#ifdef COMPILE_ENABLE_ALPHA_TEST + if(color.a < u_alphaTestRef1f) discard; +#endif + +#else + +#ifdef COMPILE_ENABLE_TEXTURE2D +#ifdef COMPILE_TEXTURE_ATTRIB +#ifdef COMPILE_ENABLE_ANISOTROPIC_FIX + // d3d11 doesn't support GL_NEAREST upscaling with anisotropic + // filtering enabled, so it needs this stupid fix to 'work' + vec2 uv = floor(v_texture2f * u_textureAnisotropicFix) + 0.5; + color *= texture(u_samplerTexture, uv / u_textureAnisotropicFix); +#else + color *= texture(u_samplerTexture, v_texture2f); +#endif +#else + color *= texture(u_samplerTexture, u_textureCoords01); +#endif +#endif + +#ifdef COMPILE_ENABLE_LIGHTMAP +#ifdef COMPILE_LIGHTMAP_ATTRIB + color *= texture(u_samplerLightmap, v_lightmap2f); +#else + color *= texture(u_samplerLightmap, u_textureCoords02); +#endif +#endif + +#ifdef COMPILE_BLEND_ADD + color = color * u_colorBlendSrc4f + u_colorBlendAdd4f; +#endif + +#ifdef COMPILE_ENABLE_ALPHA_TEST + if(color.a < u_alphaTestRef1f) discard; +#endif + +#endif + +#ifdef COMPILE_ENABLE_MC_LIGHTING +#ifdef COMPILE_NORMAL_ATTRIB + vec3 normal = normalize(v_normal3f); +#else + vec3 normal = u_uniformNormal3f; +#endif + float diffuse = 0.0; + vec4 light; + for(int i = 0; i < u_lightsEnabled1i; ++i) { + light = u_lightsDirections4fv[i]; + diffuse += max(dot(light.xyz, normal), 0.0) * light.w; + } + color.rgb *= min(u_lightsAmbient3f + vec3(diffuse), 1.0); +#endif + +#ifdef COMPILE_ENABLE_FOG + vec3 fogPos = v_position4f.xyz / v_position4f.w; + float dist = length(fogPos); + float fogDensity = u_fogParameters4f.y; + float fogStart = u_fogParameters4f.z; + float fogEnd = u_fogParameters4f.w; + float f = u_fogParameters4f.x > 0.0 ? 1.0 - exp(-fogDensity * dist) : + (dist - fogStart) / (fogEnd - fogStart); + color.rgb = mix(color.rgb, u_fogColor4f.rgb, clamp(f, 0.0, 1.0) * u_fogColor4f.a); +#endif + + output4f = color; +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/core.vsh b/desktopRuntime/resources/assets/eagler/glsl/core.vsh new file mode 100644 index 0000000..77ce504 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/core.vsh @@ -0,0 +1,99 @@ +#line 2 + +/* + * Copyright (c) 2022-2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +in vec3 a_position3f; + +#if defined(COMPILE_ENABLE_TEX_GEN) || defined(COMPILE_ENABLE_FOG) +#define _COMPILE_VARYING_POSITION +#endif + +#ifdef _COMPILE_VARYING_POSITION +out vec4 v_position4f; +#endif + +#ifdef COMPILE_ENABLE_TEX_GEN +out vec3 v_objectPosition3f; +#endif + +#ifdef COMPILE_TEXTURE_ATTRIB +in vec2 a_texture2f; +out vec2 v_texture2f; +uniform mat4 u_textureMat4f01; +#endif + +#ifdef COMPILE_COLOR_ATTRIB +in vec4 a_color4f; +out vec4 v_color4f; +#endif + +#ifdef COMPILE_NORMAL_ATTRIB +in vec4 a_normal4f; +out vec3 v_normal3f; +#endif + +#ifdef COMPILE_LIGHTMAP_ATTRIB +in vec2 a_lightmap2f; +out vec2 v_lightmap2f; +uniform mat4 u_textureMat4f02; +#endif + +#ifdef _COMPILE_VARYING_POSITION +uniform mat4 u_modelviewMat4f; +uniform mat4 u_projectionMat4f; +#else +uniform mat4 u_modelviewProjMat4f; +#ifdef COMPILE_NORMAL_ATTRIB +uniform mat4 u_modelviewMat4f; +#endif +#endif + +#define TEX_MAT3(mat4In) mat3(mat4In[0].xyw,mat4In[1].xyw,mat4In[3].xyw) + +void main() { +#ifdef COMPILE_ENABLE_TEX_GEN + v_objectPosition3f = a_position3f; +#endif + +#ifdef _COMPILE_VARYING_POSITION + v_position4f = u_modelviewMat4f * vec4(a_position3f, 1.0); +#endif + +#ifdef COMPILE_TEXTURE_ATTRIB + vec3 v_textureTmp3f = TEX_MAT3(u_textureMat4f01) * vec3(a_texture2f, 1.0); + v_texture2f = v_textureTmp3f.xy / v_textureTmp3f.z; +#endif + +#ifdef COMPILE_COLOR_ATTRIB + v_color4f = a_color4f; +#endif + +#ifdef COMPILE_NORMAL_ATTRIB + v_normal3f = normalize(mat3(u_modelviewMat4f) * a_normal4f.xyz); +#endif + +#ifdef COMPILE_LIGHTMAP_ATTRIB + vec3 v_lightmapTmp3f = TEX_MAT3(u_textureMat4f02) * vec3(a_lightmap2f, 1.0); + v_lightmap2f = v_lightmapTmp3f.xy / v_lightmapTmp3f.z; +#endif + +#ifdef _COMPILE_VARYING_POSITION + gl_Position = u_projectionMat4f * v_position4f; +#else + gl_Position = u_modelviewProjMat4f * vec4(a_position3f, 1.0); +#endif +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/accel_particle.vsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/accel_particle.vsh new file mode 100644 index 0000000..b750732 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/accel_particle.vsh @@ -0,0 +1,72 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision mediump sampler2D; + +layout(location = 0) in vec2 a_position2f; + +layout(location = 1) in vec3 p_position3f; +layout(location = 2) in vec2 p_texCoords2i; +layout(location = 3) in vec2 p_lightMap2f; +layout(location = 4) in vec2 p_particleSize_texCoordsSize_2i; +layout(location = 5) in vec4 p_color4f; + +out vec2 v_texCoord2f; +out vec4 v_color4f; +out vec2 v_lightmap2f; + +#ifdef COMPILE_FORWARD_VSH +out vec4 v_position4f; +uniform mat4 u_modelViewMatrix4f; +uniform mat4 u_projectionMatrix4f; +#endif + +#ifdef COMPILE_GBUFFER_VSH +uniform mat4 u_matrixTransform; +#endif + +uniform vec3 u_texCoordSize2f_particleSize1f; +uniform vec3 u_transformParam_1_2_5_f; +uniform vec2 u_transformParam_3_4_f; + +void main() { + v_color4f = p_color4f.bgra; + v_lightmap2f = p_lightMap2f; + + vec2 tex2f = a_position2f * 0.5 + 0.5; + tex2f.y = 1.0 - tex2f.y; + tex2f = p_texCoords2i + tex2f * p_particleSize_texCoordsSize_2i.y; + v_texCoord2f = tex2f * u_texCoordSize2f_particleSize1f.xy; + + float particleSize = u_texCoordSize2f_particleSize1f.z * p_particleSize_texCoordsSize_2i.x; + + vec3 pos3f = p_position3f; + vec2 spos2f = a_position2f * particleSize; + pos3f += u_transformParam_1_2_5_f * spos2f.xyy; + pos3f.zx += u_transformParam_3_4_f * spos2f; + +#ifdef COMPILE_GBUFFER_VSH + gl_Position = u_matrixTransform * vec4(pos3f, 1.0); +#endif +#ifdef COMPILE_FORWARD_VSH + v_position4f = u_modelViewMatrix4f * vec4(pos3f, 1.0); + gl_Position = u_projectionMatrix4f * v_position4f; +#endif +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/accel_particle_forward.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/accel_particle_forward.fsh new file mode 100644 index 0000000..6af2686 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/accel_particle_forward.fsh @@ -0,0 +1,235 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision mediump sampler2D; +precision highp sampler2DShadow; + +in vec4 v_position4f; +in vec2 v_texCoord2f; +in vec4 v_color4f; +in vec2 v_lightmap2f; + +layout(location = 0) out vec4 output4f; + +uniform sampler2D u_diffuseTexture; + +uniform vec2 u_textureYScale2f; + +uniform mat4 u_inverseViewMatrix4f; + +#ifdef COMPILE_DYNAMIC_LIGHTS +struct DynamicLight { + mediump vec4 u_lightPosition4f; + mediump vec4 u_lightColor4f; +}; +layout(std140) uniform u_chunkLightingData { + mediump int u_dynamicLightCount1i; + mediump int _paddingA_; + mediump int _paddingB_; + mediump int _paddingC_; + DynamicLight u_dynamicLightArray[12]; +}; +#endif + +layout(std140) uniform u_worldLightingData { + mediump vec4 u_sunDirection4f; + mediump vec4 u_sunColor3f_sky1f; + mediump vec4 u_fogParameters4f; + mediump vec4 u_fogColorLight4f; + mediump vec4 u_fogColorDark4f; + mediump vec4 u_fogColorAddSun4f; + mediump vec4 u_blockSkySunDynamicLightFac4f; +#ifdef COMPILE_SUN_SHADOW_LOD0 + mediump mat4 u_sunShadowMatrixLOD04f; +#define DO_COMPILE_SUN_SHADOWS +#define SUN_SHADOW_MAP_FRAC 1.0 +#endif +#ifdef COMPILE_SUN_SHADOW_LOD1 + mediump mat4 u_sunShadowMatrixLOD04f; + mediump mat4 u_sunShadowMatrixLOD14f; +#define DO_COMPILE_SUN_SHADOWS +#define SUN_SHADOW_MAP_FRAC 0.5 +#endif +#ifdef COMPILE_SUN_SHADOW_LOD2 + mediump mat4 u_sunShadowMatrixLOD04f; + mediump mat4 u_sunShadowMatrixLOD14f; + mediump mat4 u_sunShadowMatrixLOD24f; +#define DO_COMPILE_SUN_SHADOWS +#define SUN_SHADOW_MAP_FRAC 0.3333333 +#endif +}; + +uniform sampler2D u_samplerNormalMaterial; + +uniform sampler2D u_metalsLUT; + +#define LIB_INCLUDE_PBR_LIGHTING_FUNCTION +#define LIB_INCLUDE_PBR_LIGHTING_PREFETCH +#EAGLER INCLUDE (3) "eagler:glsl/deferred/lib/pbr_lighting.glsl" + +uniform sampler2D u_irradianceMap; + +#ifdef DO_COMPILE_SUN_SHADOWS +uniform sampler2DShadow u_sunShadowDepthTexture; +#endif + +void main() { + vec4 worldPosition4f; + vec4 worldDirection4f; + vec4 diffuseColor4f; + vec3 normalVector3f; + vec2 lightmapCoords2f; + vec3 materialData3f; + + // =========== RESOLVE CONSTANTS ============ // + + worldPosition4f = u_inverseViewMatrix4f * v_position4f; + worldPosition4f.xyz /= worldPosition4f.w; + worldPosition4f.w = 1.0; + worldDirection4f = u_inverseViewMatrix4f * vec4(v_position4f.xyz / v_position4f.w, 0.0); + worldDirection4f.xyz = normalize(worldDirection4f.xyz); + + lightmapCoords2f = v_lightmap2f; + + normalVector3f = normalize(u_inverseViewMatrix4f[2].xyz); + + // ========= CALCULATE DIFFUSE COLOR ========== // + + diffuseColor4f = texture(u_diffuseTexture, v_texCoord2f) * v_color4f; + + // ============= ALPHA TEST ============== // + + if(diffuseColor4f.a < 0.004) discard; + + // ========== RESOLVE MATERIALS =========== // + + materialData3f = texture(u_samplerNormalMaterial, vec2(v_texCoord2f.x, v_texCoord2f.y * u_textureYScale2f.x + u_textureYScale2f.y)).rgb; + + vec3 metalN, metalK; + PREFETCH_METALS(diffuseColor4f.rgb, materialData3f.g, metalN, metalK) + + // ============ SUN LIGHTING ============== // + + diffuseColor4f.rgb *= diffuseColor4f.rgb; + + vec3 lightColor3f = vec3(0.0); + if(dot(u_sunDirection4f.xyz, normalVector3f) > 0.0 && lightmapCoords2f.g > 0.5 && + (u_sunColor3f_sky1f.r + u_sunColor3f_sky1f.g + u_sunColor3f_sky1f.b) > 0.001) { +#ifdef DO_COMPILE_SUN_SHADOWS + + // ========== SUN SHADOW: LOD0 ============ // + + float skyLight = max(lightmapCoords2f.g * 2.0 - 1.0, 0.0); + float shadowSample = 1.0; + vec4 shadowWorldPos4f = worldPosition4f; + shadowWorldPos4f.xyz += normalVector3f * 0.05; + + vec4 shadowTexPos4f; + vec2 tmpVec2; + for(;;) { + shadowTexPos4f = u_sunShadowMatrixLOD04f * shadowWorldPos4f; + if(shadowTexPos4f.xyz == clamp(shadowTexPos4f.xyz, vec3(0.005), vec3(0.995))) { + shadowSample = textureLod(u_sunShadowDepthTexture, vec3(shadowTexPos4f.xy * vec2(1.0, SUN_SHADOW_MAP_FRAC), shadowTexPos4f.z), 0.0); + break; + } + +#if defined(COMPILE_SUN_SHADOW_LOD1) || defined(COMPILE_SUN_SHADOW_LOD2) + shadowTexPos4f = u_sunShadowMatrixLOD14f * shadowWorldPos4f; + if(shadowTexPos4f.xyz == clamp(shadowTexPos4f.xyz, vec3(0.005), vec3(0.995))) { + shadowTexPos4f.y += 1.0; + shadowTexPos4f.y *= SUN_SHADOW_MAP_FRAC; + shadowSample = textureLod(u_sunShadowDepthTexture, vec3(shadowTexPos4f.xy, shadowTexPos4f.z + 0.00015), 0.0); + break; + } +#endif + +#ifdef COMPILE_SUN_SHADOW_LOD2 + shadowTexPos4f = u_sunShadowMatrixLOD24f * shadowWorldPos4f; + if(shadowTexPos4f.xyz == clamp(shadowTexPos4f.xyz, vec3(0.005), vec3(0.995))) { + shadowTexPos4f.y += 2.0; + shadowTexPos4f.y *= SUN_SHADOW_MAP_FRAC; + shadowSample = textureLod(u_sunShadowDepthTexture, vec3(shadowTexPos4f.xy, shadowTexPos4f.z + 0.00015), 0.0); + } +#endif + break; + } +#endif + lightColor3f = u_sunColor3f_sky1f.rgb * max(lightmapCoords2f.g * 2.0 - 1.0, 0.0); +#ifdef DO_COMPILE_SUN_SHADOWS + lightColor3f *= shadowSample * skyLight; +#endif + vec3 normalWrap3f = normalVector3f * (dot(-worldDirection4f.xyz, normalVector3f) < 0.0 ? -1.0 : 1.0); + lightColor3f = eaglercraftLighting(diffuseColor4f.rgb, lightColor3f, -worldDirection4f.xyz, u_sunDirection4f.xyz, normalWrap3f, materialData3f, metalN, metalK) * u_blockSkySunDynamicLightFac4f.z; + } + + // =========== IRRADIANCE MAP =========== // + + lightmapCoords2f *= lightmapCoords2f; + + vec3 irradianceMapSamplePos2f = normalVector3f; + irradianceMapSamplePos2f.xz /= abs(irradianceMapSamplePos2f.y) + 1.0; + float dst = 1.0 - dot(irradianceMapSamplePos2f.xz, irradianceMapSamplePos2f.xz); + dst *= dst; + irradianceMapSamplePos2f.xz *= 0.975; + vec3 skyLight = vec3(sqrt(0.01 + max(u_sunDirection4f.w, 0.0))); + if(dst < 0.005) { + vec4 sample1 = textureLod(u_irradianceMap, irradianceMapSamplePos2f.xz * vec2(0.5, 0.25) + vec2(0.5, 0.25), 0.0); + vec4 sample2 = textureLod(u_irradianceMap, irradianceMapSamplePos2f.xz * vec2(0.5, -0.25) + vec2(0.5, 0.75), 0.0); + skyLight += mix(sample1.rgb, sample2.rgb, smoothstep(0.0, 1.0, irradianceMapSamplePos2f.y * -12.5 + 0.5)).rgb; + }else { + irradianceMapSamplePos2f.xz *= vec2(0.5, irradianceMapSamplePos2f.y > 0.0 ? 0.25 : -0.25); + irradianceMapSamplePos2f.xz += vec2(0.5, irradianceMapSamplePos2f.y > 0.0 ? 0.25 : 0.75); + skyLight += textureLod(u_irradianceMap, irradianceMapSamplePos2f.xz, 0.0).rgb; + } + skyLight *= lightmapCoords2f.g * u_sunColor3f_sky1f.w; + +#ifdef COMPILE_DYNAMIC_LIGHTS + + // =========== DYNAMIC LIGHTING =========== // + + vec3 dlightDist3f, dlightDir3f, dlightColor3f; + int safeLightCount = u_dynamicLightCount1i > 12 ? 0 : u_dynamicLightCount1i; // hate this + for(int i = 0; i < safeLightCount; ++i) { + dlightDist3f = worldPosition4f.xyz - u_dynamicLightArray[i].u_lightPosition4f.xyz; + dlightDir3f = normalize(dlightDist3f); + dlightDir3f = dlightDir3f * (dot(dlightDir3f, normalVector3f) < 0.0 ? 1.0 : -1.0); + dlightDir3f = materialData3f.b == 1.0 ? normalVector3f : -dlightDir3f; + if(dot(dlightDir3f, normalVector3f) <= 0.0) { + continue; + } + dlightColor3f = u_dynamicLightArray[i].u_lightColor4f.rgb / dot(dlightDist3f, dlightDist3f); + if(dlightColor3f.r + dlightColor3f.g + dlightColor3f.b < 0.025) { + continue; + } + lightColor3f += eaglercraftLighting(diffuseColor4f.rgb, dlightColor3f, -worldDirection4f.xyz, dlightDir3f, normalVector3f, materialData3f, metalN, metalK) * u_blockSkySunDynamicLightFac4f.w; + } + +#endif + + // ============ OUTPUT COLOR ============== // + + vec3 blockLight = lightmapCoords2f.r * vec3(1.0, 0.5809, 0.2433) * 2.0 * u_blockSkySunDynamicLightFac4f.x; + skyLight *= u_blockSkySunDynamicLightFac4f.y; + float emissive = materialData3f.b == 1.0 ? 0.0 : materialData3f.b; + diffuseColor4f.rgb *= max(skyLight + blockLight, vec3(emissive * emissive * 20.0 + 0.075)) * 0.075; + diffuseColor4f.rgb += lightColor3f; + + output4f = vec4(diffuseColor4f.rgb * diffuseColor4f.a, diffuseColor4f.a); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/accel_particle_gbuffer.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/accel_particle_gbuffer.fsh new file mode 100644 index 0000000..f927f29 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/accel_particle_gbuffer.fsh @@ -0,0 +1,44 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision mediump float; +precision mediump sampler2D; + +in vec2 v_texCoord2f; +in vec4 v_color4f; +in vec2 v_lightmap2f; + +layout(location = 0) out vec4 gbufferColor4f; +layout(location = 1) out vec4 gbufferNormal4f; +layout(location = 2) out vec4 gbufferMaterial4f; + +uniform sampler2D u_diffuseTexture; +uniform sampler2D u_samplerNormalMaterial; + +uniform vec2 u_textureYScale2f; + +void main() { + vec4 diffuseRGBA = texture(u_diffuseTexture, v_texCoord2f) * v_color4f; + if(diffuseRGBA.a < 0.004) { + discard; + } + gbufferColor4f = vec4(diffuseRGBA.rgb, v_lightmap2f.r); + gbufferNormal4f = vec4(0.5, 0.5, 1.0, v_lightmap2f.g); + gbufferMaterial4f = vec4(texture(u_samplerNormalMaterial, vec2(v_texCoord2f.x, v_texCoord2f.y * u_textureYScale2f.x + u_textureYScale2f.y)).rgb, 1.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/readme.txt b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/readme.txt new file mode 100644 index 0000000..9bd0364 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/readme.txt @@ -0,0 +1 @@ +these are just low quality fallback material textures for the default vanilla resource pack when no PBR resource pack is loaded, if you would like to make a PBR resource pack put your _n and _s textures in the "/assets/minecraft/textures/" directory of your zip file, do not modify any files within "/assets/eagler/glsl/deferred/assets_pbr/textures/" because they will not be recognized \ No newline at end of file diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bed_feet_end_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bed_feet_end_s.ebp new file mode 100644 index 0000000..f87d047 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bed_feet_end_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bed_feet_side_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bed_feet_side_s.ebp new file mode 100644 index 0000000..f87d047 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bed_feet_side_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bed_feet_top_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bed_feet_top_s.ebp new file mode 100644 index 0000000..9447599 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bed_feet_top_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bed_head_end_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bed_head_end_s.ebp new file mode 100644 index 0000000..9ab55d7 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bed_head_end_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bed_head_side_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bed_head_side_s.ebp new file mode 100644 index 0000000..41ad33d Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bed_head_side_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bed_head_top_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bed_head_top_s.ebp new file mode 100644 index 0000000..4eeb6b0 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bed_head_top_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bedrock_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bedrock_s.ebp new file mode 100644 index 0000000..d3ec27b Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bedrock_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bookshelf_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bookshelf_s.ebp new file mode 100644 index 0000000..3258298 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/bookshelf_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/brewing_stand_base_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/brewing_stand_base_s.ebp new file mode 100644 index 0000000..3f4a00b Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/brewing_stand_base_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/brewing_stand_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/brewing_stand_s.ebp new file mode 100644 index 0000000..77b8599 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/brewing_stand_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/brick_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/brick_s.ebp new file mode 100644 index 0000000..907f428 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/brick_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/cake_inner_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/cake_inner_s.ebp new file mode 100644 index 0000000..3742fd9 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/cake_inner_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/cake_side_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/cake_side_s.ebp new file mode 100644 index 0000000..1c00111 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/cake_side_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/cake_top_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/cake_top_s.ebp new file mode 100644 index 0000000..4992148 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/cake_top_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/coal_ore_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/coal_ore_s.ebp new file mode 100644 index 0000000..9ec792c Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/coal_ore_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/coarse_dirt_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/coarse_dirt_s.ebp new file mode 100644 index 0000000..4172a2f Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/coarse_dirt_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/cobblestone_mossy_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/cobblestone_mossy_s.ebp new file mode 100644 index 0000000..d1bde27 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/cobblestone_mossy_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/cobblestone_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/cobblestone_s.ebp new file mode 100644 index 0000000..6fe1ad3 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/cobblestone_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/comparator_off_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/comparator_off_s.ebp new file mode 100644 index 0000000..417e829 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/comparator_off_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/comparator_on_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/comparator_on_s.ebp new file mode 100644 index 0000000..090f2b3 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/comparator_on_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/crafting_table_front_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/crafting_table_front_s.ebp new file mode 100644 index 0000000..aecf755 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/crafting_table_front_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/crafting_table_side_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/crafting_table_side_s.ebp new file mode 100644 index 0000000..1553d92 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/crafting_table_side_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/crafting_table_top_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/crafting_table_top_s.ebp new file mode 100644 index 0000000..6d0f74f Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/crafting_table_top_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/diamond_block_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/diamond_block_s.ebp new file mode 100644 index 0000000..8655736 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/diamond_block_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/diamond_ore_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/diamond_ore_s.ebp new file mode 100644 index 0000000..1f97962 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/diamond_ore_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/dirt_podzol_side_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/dirt_podzol_side_s.ebp new file mode 100644 index 0000000..94cd1a4 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/dirt_podzol_side_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/dirt_podzol_top_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/dirt_podzol_top_s.ebp new file mode 100644 index 0000000..6588620 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/dirt_podzol_top_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/dirt_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/dirt_s.ebp new file mode 100644 index 0000000..fa62447 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/dirt_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/dispenser_front_horizontal_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/dispenser_front_horizontal_s.ebp new file mode 100644 index 0000000..03cb6fa Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/dispenser_front_horizontal_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/dispenser_front_vertical_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/dispenser_front_vertical_s.ebp new file mode 100644 index 0000000..f4e1ff0 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/dispenser_front_vertical_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_acacia_lower_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_acacia_lower_s.ebp new file mode 100644 index 0000000..d271151 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_acacia_lower_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_acacia_upper_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_acacia_upper_s.ebp new file mode 100644 index 0000000..603f97e Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_acacia_upper_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_birch_lower_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_birch_lower_s.ebp new file mode 100644 index 0000000..2320e29 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_birch_lower_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_birch_upper_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_birch_upper_s.ebp new file mode 100644 index 0000000..85495b1 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_birch_upper_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_dark_oak_lower_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_dark_oak_lower_s.ebp new file mode 100644 index 0000000..ac3b3cf Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_dark_oak_lower_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_dark_oak_upper_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_dark_oak_upper_s.ebp new file mode 100644 index 0000000..ecf07eb Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_dark_oak_upper_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_jungle_lower_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_jungle_lower_s.ebp new file mode 100644 index 0000000..2320e29 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_jungle_lower_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_jungle_upper_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_jungle_upper_s.ebp new file mode 100644 index 0000000..5ffd31b Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_jungle_upper_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_spruce_lower_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_spruce_lower_s.ebp new file mode 100644 index 0000000..4680cea Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_spruce_lower_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_spruce_upper_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_spruce_upper_s.ebp new file mode 100644 index 0000000..ae3ae02 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_spruce_upper_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_wood_lower_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_wood_lower_s.ebp new file mode 100644 index 0000000..2320e29 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_wood_lower_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_wood_upper_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_wood_upper_s.ebp new file mode 100644 index 0000000..5ffd31b Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/door_wood_upper_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/dropper_front_horizontal_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/dropper_front_horizontal_s.ebp new file mode 100644 index 0000000..51ac891 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/dropper_front_horizontal_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/dropper_front_vertical_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/dropper_front_vertical_s.ebp new file mode 100644 index 0000000..b86068b Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/dropper_front_vertical_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/emerald_block_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/emerald_block_s.ebp new file mode 100644 index 0000000..8ac491e Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/emerald_block_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/emerald_ore_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/emerald_ore_s.ebp new file mode 100644 index 0000000..921b489 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/emerald_ore_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/enchanting_table_bottom_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/enchanting_table_bottom_s.ebp new file mode 100644 index 0000000..e4f4142 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/enchanting_table_bottom_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/enchanting_table_side_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/enchanting_table_side_s.ebp new file mode 100644 index 0000000..1790570 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/enchanting_table_side_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/enchanting_table_top_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/enchanting_table_top_s.ebp new file mode 100644 index 0000000..05783e2 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/enchanting_table_top_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/end_stone_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/end_stone_s.ebp new file mode 100644 index 0000000..5dac74b Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/end_stone_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/endframe_side_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/endframe_side_s.ebp new file mode 100644 index 0000000..5e064d5 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/endframe_side_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/endframe_top_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/endframe_top_s.ebp new file mode 100644 index 0000000..0e706d3 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/endframe_top_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/farmland_dry_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/farmland_dry_s.ebp new file mode 100644 index 0000000..e6f8a5d Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/farmland_dry_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/farmland_wet_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/farmland_wet_s.ebp new file mode 100644 index 0000000..32b3fc4 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/farmland_wet_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/furnace_front_off_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/furnace_front_off_s.ebp new file mode 100644 index 0000000..2c743ff Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/furnace_front_off_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/furnace_front_on_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/furnace_front_on_s.ebp new file mode 100644 index 0000000..0cc7e97 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/furnace_front_on_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/furnace_side_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/furnace_side_s.ebp new file mode 100644 index 0000000..ecfa0dc Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/furnace_side_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/furnace_top_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/furnace_top_s.ebp new file mode 100644 index 0000000..9a6e99c Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/furnace_top_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/gold_block_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/gold_block_s.ebp new file mode 100644 index 0000000..5a50649 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/gold_block_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/gold_ore_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/gold_ore_s.ebp new file mode 100644 index 0000000..43efaed Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/gold_ore_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/grass_side_overlay_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/grass_side_overlay_s.ebp new file mode 100644 index 0000000..7669983 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/grass_side_overlay_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/grass_side_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/grass_side_s.ebp new file mode 100644 index 0000000..0e0a24c Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/grass_side_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/grass_side_snowed_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/grass_side_snowed_s.ebp new file mode 100644 index 0000000..5fc483f Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/grass_side_snowed_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/grass_top_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/grass_top_s.ebp new file mode 100644 index 0000000..ec9cd19 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/grass_top_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/gravel_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/gravel_s.ebp new file mode 100644 index 0000000..a2b1db9 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/gravel_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/iron_block_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/iron_block_s.ebp new file mode 100644 index 0000000..72ce37e Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/iron_block_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/iron_ore_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/iron_ore_s.ebp new file mode 100644 index 0000000..dbcab97 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/iron_ore_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/lapis_block_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/lapis_block_s.ebp new file mode 100644 index 0000000..0a0eb61 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/lapis_block_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/lapis_ore_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/lapis_ore_s.ebp new file mode 100644 index 0000000..29fa1f0 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/lapis_ore_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_acacia_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_acacia_s.ebp new file mode 100644 index 0000000..564a2cf Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_acacia_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_acacia_top_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_acacia_top_s.ebp new file mode 100644 index 0000000..4a9b825 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_acacia_top_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_big_oak_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_big_oak_s.ebp new file mode 100644 index 0000000..564a2cf Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_big_oak_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_big_oak_top_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_big_oak_top_s.ebp new file mode 100644 index 0000000..4a9b825 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_big_oak_top_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_birch_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_birch_s.ebp new file mode 100644 index 0000000..564a2cf Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_birch_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_birch_top_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_birch_top_s.ebp new file mode 100644 index 0000000..4a9b825 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_birch_top_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_jungle_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_jungle_s.ebp new file mode 100644 index 0000000..aebc8aa Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_jungle_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_jungle_top_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_jungle_top_s.ebp new file mode 100644 index 0000000..4a9b825 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_jungle_top_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_oak_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_oak_s.ebp new file mode 100644 index 0000000..564a2cf Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_oak_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_oak_top_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_oak_top_s.ebp new file mode 100644 index 0000000..4a9b825 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_oak_top_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_spruce_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_spruce_s.ebp new file mode 100644 index 0000000..564a2cf Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_spruce_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_spruce_top_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_spruce_top_s.ebp new file mode 100644 index 0000000..4a9b825 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/log_spruce_top_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/netherrack_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/netherrack_s.ebp new file mode 100644 index 0000000..7f4790a Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/netherrack_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/obsidian_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/obsidian_s.ebp new file mode 100644 index 0000000..e4f4142 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/obsidian_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/piston_bottom_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/piston_bottom_s.ebp new file mode 100644 index 0000000..9a6e99c Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/piston_bottom_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/piston_inner_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/piston_inner_s.ebp new file mode 100644 index 0000000..63ded0c Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/piston_inner_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/piston_side_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/piston_side_s.ebp new file mode 100644 index 0000000..bde3fbb Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/piston_side_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/piston_top_normal_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/piston_top_normal_s.ebp new file mode 100644 index 0000000..4127126 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/piston_top_normal_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/piston_top_sticky_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/piston_top_sticky_s.ebp new file mode 100644 index 0000000..9e8c1f2 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/piston_top_sticky_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/planks_acacia_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/planks_acacia_s.ebp new file mode 100644 index 0000000..e01979a Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/planks_acacia_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/planks_big_oak_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/planks_big_oak_s.ebp new file mode 100644 index 0000000..e01979a Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/planks_big_oak_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/planks_birch_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/planks_birch_s.ebp new file mode 100644 index 0000000..e01979a Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/planks_birch_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/planks_jungle_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/planks_jungle_s.ebp new file mode 100644 index 0000000..e01979a Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/planks_jungle_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/planks_oak_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/planks_oak_s.ebp new file mode 100644 index 0000000..e01979a Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/planks_oak_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/planks_spruce_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/planks_spruce_s.ebp new file mode 100644 index 0000000..e01979a Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/planks_spruce_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/prismarine_bricks_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/prismarine_bricks_s.ebp new file mode 100644 index 0000000..eb9d696 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/prismarine_bricks_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/prismarine_dark_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/prismarine_dark_s.ebp new file mode 100644 index 0000000..2a99d36 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/prismarine_dark_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/prismarine_rough_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/prismarine_rough_s.ebp new file mode 100644 index 0000000..589b79e Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/prismarine_rough_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/pumpkin_face_off_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/pumpkin_face_off_s.ebp new file mode 100644 index 0000000..e3e4a1b Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/pumpkin_face_off_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/pumpkin_face_on_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/pumpkin_face_on_s.ebp new file mode 100644 index 0000000..053b960 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/pumpkin_face_on_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_block_bottom_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_block_bottom_s.ebp new file mode 100644 index 0000000..d099843 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_block_bottom_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_block_chiseled_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_block_chiseled_s.ebp new file mode 100644 index 0000000..d838c37 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_block_chiseled_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_block_chiseled_top_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_block_chiseled_top_s.ebp new file mode 100644 index 0000000..649ed0f Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_block_chiseled_top_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_block_lines_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_block_lines_s.ebp new file mode 100644 index 0000000..0f72892 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_block_lines_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_block_lines_top_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_block_lines_top_s.ebp new file mode 100644 index 0000000..4d020b2 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_block_lines_top_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_block_side_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_block_side_s.ebp new file mode 100644 index 0000000..ce73796 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_block_side_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_block_top_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_block_top_s.ebp new file mode 100644 index 0000000..ce73796 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_block_top_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_ore_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_ore_s.ebp new file mode 100644 index 0000000..f2ed489 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/quartz_ore_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_activator_powered_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_activator_powered_s.ebp new file mode 100644 index 0000000..edb43d1 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_activator_powered_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_activator_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_activator_s.ebp new file mode 100644 index 0000000..0993565 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_activator_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_detector_powered_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_detector_powered_s.ebp new file mode 100644 index 0000000..6b915f1 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_detector_powered_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_detector_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_detector_s.ebp new file mode 100644 index 0000000..0799d9b Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_detector_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_golden_powered_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_golden_powered_s.ebp new file mode 100644 index 0000000..03de3af Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_golden_powered_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_golden_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_golden_s.ebp new file mode 100644 index 0000000..a29e96c Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_golden_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_normal_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_normal_s.ebp new file mode 100644 index 0000000..87b59b1 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_normal_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_normal_turned_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_normal_turned_s.ebp new file mode 100644 index 0000000..1e70e81 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/rail_normal_turned_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/redstone_lamp_off_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/redstone_lamp_off_s.ebp new file mode 100644 index 0000000..cab7601 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/redstone_lamp_off_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/redstone_lamp_on_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/redstone_lamp_on_s.ebp new file mode 100644 index 0000000..036a840 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/redstone_lamp_on_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/redstone_ore_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/redstone_ore_s.ebp new file mode 100644 index 0000000..82b1b5c Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/redstone_ore_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/redstone_torch_off_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/redstone_torch_off_s.ebp new file mode 100644 index 0000000..b3a8024 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/redstone_torch_off_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/redstone_torch_on_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/redstone_torch_on_s.ebp new file mode 100644 index 0000000..a7099c0 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/redstone_torch_on_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/repeater_off_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/repeater_off_s.ebp new file mode 100644 index 0000000..d59493d Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/repeater_off_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/repeater_on_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/repeater_on_s.ebp new file mode 100644 index 0000000..a42202a Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/repeater_on_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/sand_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/sand_s.ebp new file mode 100644 index 0000000..6672b3c Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/sand_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/sandstone_bottom_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/sandstone_bottom_s.ebp new file mode 100644 index 0000000..0982a82 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/sandstone_bottom_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/sandstone_carved_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/sandstone_carved_s.ebp new file mode 100644 index 0000000..b9ca942 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/sandstone_carved_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/sandstone_normal_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/sandstone_normal_s.ebp new file mode 100644 index 0000000..2de9bba Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/sandstone_normal_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/sandstone_smooth_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/sandstone_smooth_s.ebp new file mode 100644 index 0000000..527dada Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/sandstone_smooth_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/sandstone_top_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/sandstone_top_s.ebp new file mode 100644 index 0000000..3791fc4 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/sandstone_top_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/soul_sand_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/soul_sand_s.ebp new file mode 100644 index 0000000..f128bdb Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/soul_sand_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_andesite_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_andesite_s.ebp new file mode 100644 index 0000000..7d3463d Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_andesite_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_andesite_smooth_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_andesite_smooth_s.ebp new file mode 100644 index 0000000..e8269f1 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_andesite_smooth_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_diorite_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_diorite_s.ebp new file mode 100644 index 0000000..20fea69 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_diorite_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_diorite_smooth_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_diorite_smooth_s.ebp new file mode 100644 index 0000000..e919c96 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_diorite_smooth_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_granite_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_granite_s.ebp new file mode 100644 index 0000000..bb4dcb7 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_granite_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_granite_smooth_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_granite_smooth_s.ebp new file mode 100644 index 0000000..6d4e8e7 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_granite_smooth_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_s.ebp new file mode 100644 index 0000000..1651f26 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_slab_side_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_slab_side_s.ebp new file mode 100644 index 0000000..dfcb204 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_slab_side_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_slab_top_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_slab_top_s.ebp new file mode 100644 index 0000000..348db64 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stone_slab_top_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stonebrick_carved_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stonebrick_carved_s.ebp new file mode 100644 index 0000000..cb99d68 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stonebrick_carved_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stonebrick_cracked_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stonebrick_cracked_s.ebp new file mode 100644 index 0000000..ad45937 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stonebrick_cracked_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stonebrick_mossy_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stonebrick_mossy_s.ebp new file mode 100644 index 0000000..2d78a57 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stonebrick_mossy_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stonebrick_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stonebrick_s.ebp new file mode 100644 index 0000000..6868e14 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/stonebrick_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/tnt_bottom_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/tnt_bottom_s.ebp new file mode 100644 index 0000000..661b21f Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/tnt_bottom_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/tnt_side_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/tnt_side_s.ebp new file mode 100644 index 0000000..1aa8886 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/tnt_side_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/tnt_top_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/tnt_top_s.ebp new file mode 100644 index 0000000..fb7610e Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/tnt_top_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/torch_on_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/torch_on_s.ebp new file mode 100644 index 0000000..33adc9b Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/torch_on_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/trapdoor_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/trapdoor_s.ebp new file mode 100644 index 0000000..3d590fa Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/trapdoor_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/trip_wire_source_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/trip_wire_source_s.ebp new file mode 100644 index 0000000..aca2f5e Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/blocks/trip_wire_source_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/bow_pulling_0_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/bow_pulling_0_s.ebp new file mode 100644 index 0000000..f60b3d0 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/bow_pulling_0_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/bow_pulling_1_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/bow_pulling_1_s.ebp new file mode 100644 index 0000000..be777dd Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/bow_pulling_1_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/bow_pulling_2_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/bow_pulling_2_s.ebp new file mode 100644 index 0000000..79a1f9d Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/bow_pulling_2_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/bow_standby_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/bow_standby_s.ebp new file mode 100644 index 0000000..af3c5cf Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/bow_standby_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/brewing_stand_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/brewing_stand_s.ebp new file mode 100644 index 0000000..cfff2fc Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/brewing_stand_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/bucket_lava_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/bucket_lava_s.ebp new file mode 100644 index 0000000..56b64eb Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/bucket_lava_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/bucket_milk_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/bucket_milk_s.ebp new file mode 100644 index 0000000..a7f7e74 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/bucket_milk_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/bucket_water_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/bucket_water_s.ebp new file mode 100644 index 0000000..a07b518 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/bucket_water_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/carrot_on_a_stick_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/carrot_on_a_stick_s.ebp new file mode 100644 index 0000000..339ee07 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/carrot_on_a_stick_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/clock_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/clock_s.ebp new file mode 100644 index 0000000..d2cd483 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/clock_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/compass_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/compass_s.ebp new file mode 100644 index 0000000..d66a293 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/compass_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/diamond_axe_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/diamond_axe_s.ebp new file mode 100644 index 0000000..60a45db Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/diamond_axe_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/diamond_hoe_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/diamond_hoe_s.ebp new file mode 100644 index 0000000..41b89e3 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/diamond_hoe_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/diamond_pickaxe_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/diamond_pickaxe_s.ebp new file mode 100644 index 0000000..c09e9b3 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/diamond_pickaxe_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/diamond_shovel_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/diamond_shovel_s.ebp new file mode 100644 index 0000000..fdc6e0e Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/diamond_shovel_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/diamond_sword_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/diamond_sword_s.ebp new file mode 100644 index 0000000..969b360 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/diamond_sword_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/fishing_rod_cast_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/fishing_rod_cast_s.ebp new file mode 100644 index 0000000..5098437 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/fishing_rod_cast_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/fishing_rod_uncast_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/fishing_rod_uncast_s.ebp new file mode 100644 index 0000000..0530e40 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/fishing_rod_uncast_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/flint_and_steel_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/flint_and_steel_s.ebp new file mode 100644 index 0000000..8e55ba3 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/flint_and_steel_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/gold_axe_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/gold_axe_s.ebp new file mode 100644 index 0000000..e8c081e Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/gold_axe_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/gold_hoe_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/gold_hoe_s.ebp new file mode 100644 index 0000000..7ec0ebe Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/gold_hoe_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/gold_pickaxe_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/gold_pickaxe_s.ebp new file mode 100644 index 0000000..ce0adb6 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/gold_pickaxe_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/gold_shovel_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/gold_shovel_s.ebp new file mode 100644 index 0000000..1e3c575 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/gold_shovel_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/gold_sword_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/gold_sword_s.ebp new file mode 100644 index 0000000..0023c9f Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/gold_sword_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/iron_axe_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/iron_axe_s.ebp new file mode 100644 index 0000000..96e7562 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/iron_axe_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/iron_hoe_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/iron_hoe_s.ebp new file mode 100644 index 0000000..aabf4a1 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/iron_hoe_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/iron_pickaxe_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/iron_pickaxe_s.ebp new file mode 100644 index 0000000..e9a82c5 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/iron_pickaxe_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/iron_shovel_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/iron_shovel_s.ebp new file mode 100644 index 0000000..aafb70d Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/iron_shovel_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/iron_sword_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/iron_sword_s.ebp new file mode 100644 index 0000000..dc31fb6 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/iron_sword_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/minecart_chest_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/minecart_chest_s.ebp new file mode 100644 index 0000000..5cce2f9 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/minecart_chest_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/minecart_command_block_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/minecart_command_block_s.ebp new file mode 100644 index 0000000..5cce2f9 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/minecart_command_block_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/minecart_furnace_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/minecart_furnace_s.ebp new file mode 100644 index 0000000..5cce2f9 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/minecart_furnace_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/minecart_tnt_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/minecart_tnt_s.ebp new file mode 100644 index 0000000..5cce2f9 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/minecart_tnt_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/shears_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/shears_s.ebp new file mode 100644 index 0000000..f6ee11c Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/shears_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/stone_axe_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/stone_axe_s.ebp new file mode 100644 index 0000000..8584d6e Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/stone_axe_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/stone_hoe_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/stone_hoe_s.ebp new file mode 100644 index 0000000..da948d7 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/stone_hoe_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/stone_pickaxe_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/stone_pickaxe_s.ebp new file mode 100644 index 0000000..56feb84 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/stone_pickaxe_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/stone_shovel_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/stone_shovel_s.ebp new file mode 100644 index 0000000..818e25a Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/stone_shovel_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/stone_sword_s.ebp b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/stone_sword_s.ebp new file mode 100644 index 0000000..439f953 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/assets_pbr/textures/items/stone_sword_s.ebp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/brdf_lut.bmp b/desktopRuntime/resources/assets/eagler/glsl/deferred/brdf_lut.bmp new file mode 100644 index 0000000..54b6c70 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/brdf_lut.bmp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/clouds_noise3d.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/clouds_noise3d.fsh new file mode 100644 index 0000000..c74cebe --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/clouds_noise3d.fsh @@ -0,0 +1,57 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec2 v_position2f; + +layout(location = 0) out float output1f; + +uniform sampler2D u_noiseTexture; + +uniform float u_textureSlice1f; +uniform vec2 u_textureSize2f; +uniform mat4x3 u_sampleOffsetMatrix4f; +uniform vec3 u_cloudMovement3f; + +#define GET_CLOUDS(pos3f, accum, factor, tmp3f)\ + tmp3f.z = floor(pos3f.z);\ + tmp3f.xy = pos3f.xy * 0.015625 + (tmp3f.z * 0.265625);\ + pos3f.x = textureLod(u_noiseTexture, tmp3f.xy, 0.0).x;\ + pos3f.y = textureLod(u_noiseTexture, tmp3f.xy + 0.265625, 0.0).x;\ + accum += mix(pos3f.x, pos3f.y, pos3f.z - tmp3f.z) * factor; + +void main() { + vec3 p = vec3(v_position2f.x, u_textureSlice1f, v_position2f.y) * vec3(u_textureSize2f.x, 1.0, u_textureSize2f.y); + p = u_sampleOffsetMatrix4f * vec4(p, 1.0); + vec3 sampleCoord3f = p + u_cloudMovement3f; + float noise = 0.0; + + vec3 in3f = sampleCoord3f; + GET_CLOUDS(in3f, noise, 0.5, p) + in3f = sampleCoord3f * 2.0 + u_cloudMovement3f; + GET_CLOUDS(in3f, noise, 0.25, p) + in3f = sampleCoord3f * 7.0 - u_cloudMovement3f; + GET_CLOUDS(in3f, noise, 0.125, p) + in3f = (sampleCoord3f + u_cloudMovement3f) * 16.0; + GET_CLOUDS(in3f, noise, 0.0625, p) + + output1f = noise; +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/clouds_sample.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/clouds_sample.fsh new file mode 100644 index 0000000..2d39db7 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/clouds_sample.fsh @@ -0,0 +1,94 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; +precision highp sampler3D; + +in vec2 v_position2f; + +layout(location = 0) out vec4 output4f; + +uniform float u_rainStrength1f; +uniform vec4 u_densityModifier4f; +uniform float u_sampleStep1f; +uniform float u_cloudTimer1f; +uniform vec3 u_cloudOffset3f; +uniform vec3 u_sunDirection3f; +uniform vec3 u_sunColor3f; + +uniform sampler3D u_noiseTexture3D; +uniform sampler2D u_skyIrradianceMap; +#define GET_CLOUDS(pos3f, out1f)\ + if(pos3f == clamp(pos3f, vec3(0.0), vec3(1.0))) {\ + out1f = length(pos3f - clamp(pos3f, vec3(0.05), vec3(0.95)));\ + out1f = smoothstep(0.0, 1.0, max(1.0 - out1f * 15.0, 0.0));\ + out1f *= textureLod(u_noiseTexture3D, pos3f.xzy, 0.0).r;\ + out1f += u_densityModifier4f.w;\ + out1f = max(out1f * out1f * u_densityModifier4f.x + out1f * u_densityModifier4f.y + u_densityModifier4f.z, 0.0);\ + }else out1f = 0.0; + +void main() { + vec2 latLong = v_position2f * 2.0 - 1.0; + float latLongLen = dot(latLong, latLong); + if(latLongLen > 1.025) { + output4f = vec4(0.0); + return; + } + + float mag2 = 2.0 / (latLongLen + 1.0); + vec3 dir; + dir.y = mag2 - 1.0; + dir.xz = latLong * mag2; + + vec3 samplePos = vec3(0.0, -4.5 + u_cloudOffset3f.y * 0.05, 0.0) + dir * u_sampleStep1f * 0.2; + samplePos = samplePos * vec3(0.05, 0.1, 0.05) + vec3(0.5, 0.0, 0.5); + + float sample0, sample1; + GET_CLOUDS(samplePos, sample0) + + if(sample0 < 0.002) { + output4f = vec4(0.0, 0.0, 0.0, 1.0); + return; + } + + output4f.a = exp2(-sample0 * 5.0); + + vec3 sunDirection = u_sunDirection3f * vec3(1.0, 2.0, 1.0) * 0.025; + float sunVisibility = sample0; + + GET_CLOUDS((samplePos + sunDirection), sample1) + sunVisibility += sample1; + GET_CLOUDS((samplePos + sunDirection * 2.0), sample1) + sunVisibility += sample1; + GET_CLOUDS((samplePos + sunDirection * 3.0), sample1) + sunVisibility += sample1; + GET_CLOUDS((samplePos + sunDirection * 4.0), sample1) + sunVisibility += sample1; + GET_CLOUDS((samplePos + sunDirection * 5.0), sample1) + sunVisibility += sample1; + + sunVisibility = exp2(-sunVisibility * 50.0); + sunVisibility *= 1.0 - exp2(-sample0 * 1.2); + + vec3 sky = textureLod(u_skyIrradianceMap, v_position2f * vec2(1.0, 0.5) + vec2(0.0, 0.5), 0.0).rgb * 0.05; + float intergal = exp2(-7.33 * sample0) * -9.0 + 9.0; + + output4f.rgb = (u_sunColor3f * sunVisibility + sky) * intergal; +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/clouds_shapes.bmp b/desktopRuntime/resources/assets/eagler/glsl/deferred/clouds_shapes.bmp new file mode 100644 index 0000000..f4743c8 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/clouds_shapes.bmp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/clouds_shapes.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/clouds_shapes.fsh new file mode 100644 index 0000000..f17753c --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/clouds_shapes.fsh @@ -0,0 +1,35 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision mediump float; +precision mediump sampler3D; + +in vec2 v_position2f; + +layout(location = 0) out vec4 output4f; + +uniform sampler3D u_inputTexture; +uniform float u_textureLevel1f; +uniform float u_textureLod1f; +uniform vec2 u_sampleWeights2f; + +void main() { + float objsample = textureLod(u_inputTexture, vec3(v_position2f, u_textureLevel1f), u_textureLod1f).r; + output4f = vec4(objsample * u_sampleWeights2f.x, 0.0, 0.0, objsample * u_sampleWeights2f.y + 1.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/clouds_shapes.vsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/clouds_shapes.vsh new file mode 100644 index 0000000..4316194 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/clouds_shapes.vsh @@ -0,0 +1,32 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision mediump sampler2D; + +layout(location = 0) in vec2 a_position2f; + +out vec2 v_position2f; + +uniform mat3x2 u_transformMatrix3x2f; + +void main() { + v_position2f = a_position2f * 0.5 + 0.5; + gl_Position = vec4(u_transformMatrix3x2f * vec3(a_position2f, 1.0), 0.0, 1.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/clouds_sun_occlusion.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/clouds_sun_occlusion.fsh new file mode 100644 index 0000000..576156c --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/clouds_sun_occlusion.fsh @@ -0,0 +1,50 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +layout(location = 0) out float occlusionOut1f; + +uniform mat4x3 u_sampleMatrix4x3f; +uniform sampler2D u_cloudsTexture; + +#define SAMPLE_DENSITY(v, a_, f)\ + f = u_sampleMatrix4x3f * v;\ + f.xy = (f.xz / (f.y + 1.0)) * 0.975 * 0.5 + 0.5;\ + if(f.xy == clamp(f.xy, vec2(0.001), vec2(0.999)))\ + a_ += textureLod(u_cloudsTexture, f.xy, 0.0).a * 0.125;\ + else\ + a_ += 0.125; + +void main() { + vec3 f; + float accum = 0.0; + + SAMPLE_DENSITY(vec4(0.000, 0.000, 1.000, 1.0), accum, f) + SAMPLE_DENSITY(vec4(0.844, 0.521, 0.126, 1.0), accum, f) + SAMPLE_DENSITY(vec4(-0.187, 0.979, 0.087, 1.0), accum, f) + SAMPLE_DENSITY(vec4(0.402, -0.904, 0.145, 1.0), accum, f) + SAMPLE_DENSITY(vec4(-0.944, -0.316, 0.098, 1.0), accum, f) + SAMPLE_DENSITY(vec4(-0.759, 0.427, 0.491, 1.0), accum, f) + SAMPLE_DENSITY(vec4(0.955, -0.285, 0.076, 1.0), accum, f) + SAMPLE_DENSITY(vec4(-0.322, -0.664, 0.675, 1.0), accum, f) + + occlusionOut1f = clamp(sqrt(accum) * 3.0 - 1.0, 0.0, 1.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/deferred_combine.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/deferred_combine.fsh new file mode 100644 index 0000000..3de01b4 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/deferred_combine.fsh @@ -0,0 +1,174 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec2 v_position2f; + +layout(location = 0) out vec4 output4f; + +uniform sampler2D u_gbufferColorTexture; +uniform sampler2D u_gbufferNormalTexture; +uniform sampler2D u_gbufferMaterialTexture; + +uniform sampler2D u_gbufferDepthTexture; + +uniform vec2 u_halfResolutionPixelAlignment2f; + +#ifdef COMPILE_GLOBAL_AMBIENT_OCCLUSION +uniform sampler2D u_ssaoTexture; +#endif + +#ifdef COMPILE_SCREEN_SPACE_REFLECTIONS +uniform sampler2D u_ssrReflectionTexture; +#endif + +#ifdef COMPILE_ENV_MAP_REFLECTIONS +uniform sampler2D u_environmentMap; +#endif + +uniform sampler2D u_irradianceMap; + +uniform sampler2D u_brdfLUT; +uniform sampler2D u_metalsLUT; + +uniform mat4 u_inverseProjMatrix4f; +uniform mat4 u_inverseViewMatrix4f; + +uniform vec3 u_sunDirection3f; +uniform float u_skyLightFactor1f; + +#if defined(COMPILE_SCREEN_SPACE_REFLECTIONS) || defined(COMPILE_ENV_MAP_REFLECTIONS) +#define LIB_INCLUDE_PBR_IMAGE_BASED_LIGHTING_SPECULAR +#endif + +#EAGLER INCLUDE (3) "eagler:glsl/deferred/lib/pbr_env_map.glsl" + +void main() { + vec3 diffuseColor3f; + vec3 normalVector3f; + vec2 lightmapCoords2f; + vec4 materialData4f; + + float depth = textureLod(u_gbufferDepthTexture, v_position2f, 0.0).r; + if(depth < 0.00001) { + discard; + } + + vec4 sampleVar4f = textureLod(u_gbufferColorTexture, v_position2f, 0.0); + diffuseColor3f.rgb = sampleVar4f.rgb * sampleVar4f.rgb; + lightmapCoords2f.x = sampleVar4f.a; + sampleVar4f = textureLod(u_gbufferNormalTexture, v_position2f, 0.0); + normalVector3f.xyz = sampleVar4f.rgb * 2.0 - 1.0; + normalVector3f.xyz = mat3(u_inverseViewMatrix4f) * normalVector3f.xyz; + normalVector3f.xyz = normalize(normalVector3f.xyz); + lightmapCoords2f.y = sampleVar4f.a; + materialData4f = textureLod(u_gbufferMaterialTexture, v_position2f, 0.0); + + float shadow = 0.075; + +#ifdef COMPILE_GLOBAL_AMBIENT_OCCLUSION + vec4 ao = textureLod(u_ssaoTexture, min(v_position2f * u_halfResolutionPixelAlignment2f, 1.0), 0.0); + ao.g = ao.b > 0.0 ? ao.g : 1.0; + shadow = mix(shadow, shadow * ao.g, 0.9); +#endif + + lightmapCoords2f *= lightmapCoords2f; + vec3 irradianceMapSamplePos2f = normalVector3f; + irradianceMapSamplePos2f.xz /= abs(irradianceMapSamplePos2f.y) + 1.0; + float dst = 1.0 - dot(irradianceMapSamplePos2f.xz, irradianceMapSamplePos2f.xz); + dst *= dst; + irradianceMapSamplePos2f.xz *= 0.975; + vec3 skyLight = vec3(sqrt(0.01 + max(-u_sunDirection3f.y, 0.0))); + if(dst < 0.005) { + vec4 sample1 = textureLod(u_irradianceMap, irradianceMapSamplePos2f.xz * vec2(0.5, 0.25) + vec2(0.5, 0.25), 0.0); + vec4 sample2 = textureLod(u_irradianceMap, irradianceMapSamplePos2f.xz * vec2(0.5, -0.25) + vec2(0.5, 0.75), 0.0); + skyLight += mix(sample1.rgb, sample2.rgb, smoothstep(0.0, 1.0, irradianceMapSamplePos2f.y * -12.5 + 0.5)).rgb; + }else { + irradianceMapSamplePos2f.xz *= vec2(0.5, irradianceMapSamplePos2f.y > 0.0 ? 0.25 : -0.25); + irradianceMapSamplePos2f.xz += vec2(0.5, irradianceMapSamplePos2f.y > 0.0 ? 0.25 : 0.75); + skyLight += textureLod(u_irradianceMap, irradianceMapSamplePos2f.xz, 0.0).rgb; + } + + skyLight *= lightmapCoords2f.g * u_skyLightFactor1f; + + vec3 blockLight = lightmapCoords2f.r * vec3(1.0, 0.5809, 0.2433) * 2.0; + float emissive = materialData4f.b == 1.0 ? 0.0 : materialData4f.b; + vec3 specular = vec3(0.0); + +#ifdef COMPILE_ENV_MAP_REFLECTIONS + float f = materialData4f.g < 0.06 ? 1.0 : 0.0; + f += materialData4f.r < 0.5 ? 1.0 : 0.0; + while((materialData4f.a >= 0.5 ? f : -1.0) == 0.0) { + vec4 worldPosition4f = vec4(v_position2f, depth, 1.0) * 2.0 - 1.0; + worldPosition4f = u_inverseProjMatrix4f * worldPosition4f; + worldPosition4f.xyz /= worldPosition4f.w; + float posDst = dot(worldPosition4f.xyz, worldPosition4f.xyz); + if(posDst > 25.0) { + break; + } + worldPosition4f = u_inverseViewMatrix4f * vec4(worldPosition4f.xyz, 0.0); + vec3 viewDir3f = normalize(worldPosition4f.xyz); // need confirmation this should be negative + vec3 reflectDir = reflect(viewDir3f, normalVector3f); + reflectDir.xz /= abs(reflectDir.y) + 1.0; + float dst = 1.0 - dot(reflectDir.xz, reflectDir.xz); + dst *= dst; + reflectDir.xz = reflectDir.xz * 0.975; + vec4 envMapSample4f; + if(dst < 0.005) { + vec4 sample1 = textureLod(u_environmentMap, reflectDir.xz * vec2(0.5, 0.25) + vec2(0.5, 0.25), 0.0); + vec4 sample2 = textureLod(u_environmentMap, reflectDir.xz * vec2(0.5, -0.25) + vec2(0.5, 0.75), 0.0); + envMapSample4f = vec4(mix(sample1.rgb, sample2.rgb, smoothstep(0.0, 1.0, reflectDir.y * -12.5 + 0.5)).rgb, min(sample1.a, sample2.a)); + }else { + reflectDir.xz = reflectDir.xz * vec2(0.5, reflectDir.y > 0.0 ? 0.25 : -0.25); + reflectDir.xz += vec2(0.5, reflectDir.y > 0.0 ? 0.25 : 0.75); + envMapSample4f = textureLod(u_environmentMap, reflectDir.xz, 0.0); + } + if(envMapSample4f.a > 0.0) { + specular = eaglercraftIBL_Specular(diffuseColor3f.rgb, envMapSample4f.rgb, viewDir3f, normalVector3f, materialData4f.rgb); + specular *= 1.0 - sqrt(posDst) * 0.2; + } + break; + } +#endif + +#ifdef COMPILE_SCREEN_SPACE_REFLECTIONS +#ifndef COMPILE_ENV_MAP_REFLECTIONS + float f = materialData4f.g < 0.06 ? 1.0 : 0.0; + f += materialData4f.r < 0.5 ? 1.0 : 0.0; + if(f == 0.0) { +#else + if((materialData4f.a < 0.5 ? f : -1.0) == 0.0) { +#endif + vec4 ssrSample = textureLod(u_ssrReflectionTexture, min(v_position2f * u_halfResolutionPixelAlignment2f, 1.0), 0.0); + if(ssrSample.g > 0.0) { + ssrSample.g -= 0.005; + vec4 worldPosition4f = vec4(v_position2f, depth, 1.0) * 2.0 - 1.0; + worldPosition4f = u_inverseProjMatrix4f * worldPosition4f; + worldPosition4f = u_inverseViewMatrix4f * vec4(worldPosition4f.xyz / worldPosition4f.w, 0.0); + vec3 viewDir3f = normalize(worldPosition4f.xyz); // need confirmation this should be negative + specular = eaglercraftIBL_Specular(diffuseColor3f.rgb, ssrSample.rgb, viewDir3f, normalVector3f.xyz, materialData4f.rgb); + } + } +#endif + + output4f = vec4((diffuseColor3f.rgb * max(skyLight + blockLight, vec3(emissive * emissive * 20.0 + 0.075)) + specular * 8.0) * shadow, 1.0); + +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/deferred_core.vsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/deferred_core.vsh new file mode 100644 index 0000000..30ebf7c --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/deferred_core.vsh @@ -0,0 +1,116 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +in vec3 a_position3f; + +#ifdef COMPILE_TEXTURE_ATTRIB +in vec2 a_texture2f; +out vec2 v_texture2f; +uniform mat4 u_textureMat4f01; +#endif + +#ifdef COMPILE_COLOR_ATTRIB +in vec4 a_color4f; +out vec4 v_color4f; +#endif + +#ifdef COMPILE_NORMAL_ATTRIB +in vec4 a_normal4f; +out vec3 v_normal3f; +out float v_block1f; +#endif + +#ifdef COMPILE_STATE_WAVING_BLOCKS +uniform mat4 u_modelMatrix4f; +uniform mat4 u_viewMatrix4f; +uniform vec3 u_wavingBlockOffset3f; +uniform vec4 u_wavingBlockParam4f; +#ifndef COMPILE_NORMAL_ATTRIB +uniform float u_blockConstant1f; +#endif +#define DO_COMPILE_STATE_WAVING_BLOCKS +#define FAKE_SIN(valueIn, valueOut)\ + valueOut = abs(1.0 - fract(valueIn * 0.159155) * 2.0);\ + valueOut = valueOut * valueOut * (3.0 - 2.0 * valueOut) * 2.0 - 1.0; +#define LIB_INCLUDE_WAVING_BLOCKS_FUNCTION +#endif + +#EAGLER INCLUDE (2) "eagler:glsl/deferred/lib/waving_blocks.glsl" + +#ifdef COMPILE_NORMAL_MATERIAL_TEXTURE +out vec3 v_viewdir3f; +#endif + +#ifdef COMPILE_LIGHTMAP_ATTRIB +in vec2 a_lightmap2f; +out vec2 v_lightmap2f; +uniform mat4 u_textureMat4f02; +#endif + +uniform mat4 u_modelviewMat4f; +uniform mat4 u_projectionMat4f; + +#define TEX_MAT3(mat4In) mat3(mat4In[0].xyw,mat4In[1].xyw,mat4In[3].xyw) + +void main() { + +#ifdef COMPILE_TEXTURE_ATTRIB + vec3 v_textureTmp3f = TEX_MAT3(u_textureMat4f01) * vec3(a_texture2f, 1.0); + v_texture2f = v_textureTmp3f.xy / v_textureTmp3f.z; +#endif + +#ifdef COMPILE_COLOR_ATTRIB + v_color4f = a_color4f; +#endif + +#ifdef COMPILE_NORMAL_ATTRIB + v_normal3f = normalize(mat3(u_modelviewMat4f) * a_normal4f.xyz); + float blockId = v_block1f = floor((a_normal4f.w + 1.0) * 127.0 + 0.5); +#endif + +#ifdef COMPILE_LIGHTMAP_ATTRIB + vec3 v_lightmapTmp3f = TEX_MAT3(u_textureMat4f02) * vec3(a_lightmap2f, 1.0); + v_lightmap2f = v_lightmapTmp3f.xy / v_lightmapTmp3f.z; +#endif + + vec4 pos = vec4(a_position3f, 1.0); + +#ifdef DO_COMPILE_STATE_WAVING_BLOCKS +#ifndef COMPILE_NORMAL_ATTRIB + float blockId = u_blockConstant1f; +#endif +#ifdef COMPILE_LIGHTMAP_ATTRIB + if(v_lightmap2f.y > 0.33) { + COMPUTE_WAVING_BLOCKS(pos, min(v_lightmap2f.y * 3.0 - 1.0, 1.0), 24.0, blockId, u_modelMatrix4f, u_viewMatrix4f, u_modelviewMat4f, u_wavingBlockOffset3f, u_wavingBlockParam4f) + }else { + pos = u_modelviewMat4f * pos; + } +#else + COMPUTE_WAVING_BLOCKS(pos, 1.0, 32.0, blockId, u_modelMatrix4f, u_viewMatrix4f, u_modelviewMat4f, u_wavingBlockOffset3f, u_wavingBlockParam4f) +#endif +#else + pos = u_modelviewMat4f * pos; +#endif + +#ifdef COMPILE_NORMAL_MATERIAL_TEXTURE + v_viewdir3f = pos.xyz / pos.w; +#endif + + gl_Position = u_projectionMat4f * pos; + +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/deferred_core_gbuffer.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/deferred_core_gbuffer.fsh new file mode 100644 index 0000000..06f09b1 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/deferred_core_gbuffer.fsh @@ -0,0 +1,168 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifdef COMPILE_TEXTURE_ATTRIB +in vec2 v_texture2f; +#endif + +uniform vec4 u_color4f; + +#ifdef COMPILE_COLOR_ATTRIB +in vec4 v_color4f; +#endif + +#ifdef COMPILE_NORMAL_ATTRIB +in vec3 v_normal3f; +in float v_block1f; +#else +uniform vec3 u_uniformNormal3f; +uniform float u_blockConstant1f; +#endif + +uniform float u_useEnvMap1f; + +#ifdef COMPILE_LIGHTMAP_ATTRIB +in vec2 v_lightmap2f; +#endif + +#ifdef COMPILE_ENABLE_TEXTURE2D +uniform sampler2D u_samplerTexture; +#ifndef COMPILE_TEXTURE_ATTRIB +uniform vec2 u_textureCoords01; +#endif +#endif + +#ifdef COMPILE_ENABLE_LIGHTMAP +#ifndef COMPILE_LIGHTMAP_ATTRIB +uniform vec2 u_textureCoords02; +#endif +#endif + +#ifdef COMPILE_ENABLE_ALPHA_TEST +uniform float u_alphaTestRef1f; +#endif + +#ifdef COMPILE_ENABLE_ANISOTROPIC_FIX +uniform vec2 u_textureAnisotropicFix; +#endif + +#ifdef COMPILE_BLEND_ADD +uniform vec4 u_colorBlendSrc4f; +uniform vec4 u_colorBlendAdd4f; +#endif + +#ifdef COMPILE_NORMAL_MATERIAL_TEXTURE +uniform sampler2D u_samplerNormalMaterial; +in vec3 v_viewdir3f; +#ifndef COMPILE_TEXTURE_ATTRIB +uniform vec2 u_textureCoords01; +#endif +#else +uniform vec3 u_materialConstants3f; +#endif + +#ifdef COMPILE_NORMAL_MATERIAL_TEXTURE +mat3 cotangent_frame(in vec3 N, in vec3 p, in vec2 uv) { + vec3 dp1 = dFdx(p); + vec3 dp2 = dFdy(p); + vec2 duv1 = dFdx(uv); + vec2 duv2 = dFdy(uv); + vec3 dp2perp = cross(dp2, N); + vec3 dp1perp = cross(N, dp1); + vec3 T = dp2perp * duv1.x + dp1perp * duv2.x; + vec3 B = dp2perp * duv1.y + dp1perp * duv2.y; + float invmax = inversesqrt(max(dot(T,T), dot(B,B))); + return mat3(T * invmax, B * invmax, N); +} +#endif + +layout(location = 0) out vec4 gbufferColor4f; +layout(location = 1) out vec4 gbufferNormal4f; +layout(location = 2) out vec4 gbufferMaterial4f; + +void main() { +#ifdef COMPILE_COLOR_ATTRIB + vec4 color = v_color4f * u_color4f; +#else + vec4 color = u_color4f; +#endif + + vec3 normal; +#ifdef COMPILE_NORMAL_ATTRIB + normal = normalize(v_normal3f); +#else + normal = u_uniformNormal3f; +#endif + +#if defined(COMPILE_ENABLE_TEXTURE2D) || defined(COMPILE_NORMAL_MATERIAL_TEXTURE) + vec2 uv; +#ifdef COMPILE_TEXTURE_ATTRIB +#ifdef COMPILE_ENABLE_ANISOTROPIC_FIX + uv = floor(uv * u_textureAnisotropicFix) + 0.5; + uv /= u_textureAnisotropicFix; +#else + uv = v_texture2f; +#endif +#else + uv = u_textureCoords01; +#endif +#ifdef COMPILE_ENABLE_TEXTURE2D + color *= texture(u_samplerTexture, uv); +#endif +#endif + + vec2 lightmap = vec2(0.0, 1.0); + +#ifdef COMPILE_ENABLE_LIGHTMAP +#ifdef COMPILE_LIGHTMAP_ATTRIB + lightmap = v_lightmap2f; +#else + lightmap = u_textureCoords02; +#endif +#endif + +#ifdef COMPILE_BLEND_ADD + color = color * u_colorBlendSrc4f + u_colorBlendAdd4f; +#endif + +#ifdef COMPILE_ENABLE_ALPHA_TEST + if(color.a < u_alphaTestRef1f) discard; +#endif + +#ifdef COMPILE_NORMAL_MATERIAL_TEXTURE + vec2 uv2 = vec2(1.0, 0.5) * uv; + vec2 normal2 = texture(u_samplerNormalMaterial, uv2).xy; + mat3 cf; + if(normal2.x + normal2.y > 0.0) { + normal2 *= 2.0; + normal2 -= 1.0; + cf = cotangent_frame(normal, normalize(v_viewdir3f), uv); + normal = cf * vec3(normal2, sqrt(1.0 - dot(normal2, normal2))); + } + uv2.y += 0.5; + vec3 material = texture(u_samplerNormalMaterial, uv2).rgb; +#else + vec3 material = u_materialConstants3f; +#endif + + gbufferColor4f.rgb = color.rgb; + gbufferColor4f.a = lightmap.r; + gbufferNormal4f.rgb = normal * 0.5 + 0.5; + gbufferNormal4f.a = lightmap.g; + gbufferMaterial4f = vec4(material.rgb, u_useEnvMap1f); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/deferred_fog.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/deferred_fog.fsh new file mode 100644 index 0000000..8130c07 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/deferred_fog.fsh @@ -0,0 +1,104 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +layout(location = 0) out vec4 output4f; + +in vec2 v_position2f; + +uniform sampler2D u_gbufferDepthTexture; +uniform sampler2D u_gbufferNormalTexture; +uniform sampler2D u_fogDepthTexture; + +#ifdef COMPILE_FOG_LIGHT_SHAFTS +uniform sampler2D u_lightShaftsTexture; +#endif + +#ifdef COMPILE_FOG_ATMOSPHERE +uniform sampler2D u_environmentMap; +uniform vec3 u_sunColorAdd3f; +#endif + +uniform mat4 u_inverseViewProjMatrix4f; + +#ifdef COMPILE_FOG_LINEAR +uniform vec2 u_linearFogParam2f; +#else +uniform float u_expFogDensity1f; +#endif + +uniform vec4 u_fogColorLight4f; +uniform vec4 u_fogColorDark4f; + +void main() { + vec4 fragPos4f = vec4(v_position2f, textureLod(u_fogDepthTexture, v_position2f, 0.0).r, 1.0); + +#ifdef COMPILE_FOG_ATMOSPHERE + if(fragPos4f.z <= 0.0000001) { + discard; + } +#endif + + float solidDepth = textureLod(u_gbufferDepthTexture, v_position2f, 0.0).r; + if(solidDepth != fragPos4f.z) { + discard; + } + + fragPos4f.xyz *= 2.0; + fragPos4f.xyz -= 1.0; + + fragPos4f = u_inverseViewProjMatrix4f * fragPos4f; + fragPos4f.xyz /= fragPos4f.w; + fragPos4f.w = 1.0; + + float l = length(fragPos4f.xyz); +#ifdef COMPILE_FOG_LINEAR + float f = (l - u_linearFogParam2f.x) / (u_linearFogParam2f.y - u_linearFogParam2f.x); +#else + float f = 1.0 - exp(-u_expFogDensity1f * l); +#endif + float f2 = textureLod(u_gbufferNormalTexture, v_position2f, 0.0).a; + vec4 fogColor4f = mix(u_fogColorDark4f, u_fogColorLight4f, f2 * f2); + f = clamp(f, 0.0, 1.0) * fogColor4f.a; + +#ifdef COMPILE_FOG_ATMOSPHERE + fragPos4f.xyz /= -l; + fragPos4f.xz /= abs(fragPos4f.y) + 1.0; + fragPos4f.xz *= 0.75; + + vec3 envMapSample3f; + + fragPos4f.xz *= vec2(-0.5, -0.25); + fragPos4f.xz += vec2(0.5, 0.25); + envMapSample3f = textureLod(u_environmentMap, fragPos4f.xz, 0.0).rgb + u_sunColorAdd3f; + +#ifdef COMPILE_FOG_LIGHT_SHAFTS + f2 = textureLod(u_lightShaftsTexture, v_position2f, 0.0).r; + envMapSample3f *= pow(f2, 2.25); + f = (f * 0.85 + 0.2) * f2 + f * (1.0 - f2); +#endif + + output4f = vec4(envMapSample3f * fogColor4f.rgb, f); +#else + output4f = vec4(fogColor4f.rgb, f); +#endif + +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/deferred_local.vsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/deferred_local.vsh new file mode 100644 index 0000000..86e2292 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/deferred_local.vsh @@ -0,0 +1,30 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +layout(location = 0) in vec2 a_position2f; + +out vec2 v_position2f; + +void main() { + v_position2f = a_position2f * 0.5 + 0.5; + gl_Position = vec4(a_position2f, 0.0, 1.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/deferred_shadow.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/deferred_shadow.fsh new file mode 100644 index 0000000..9458485 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/deferred_shadow.fsh @@ -0,0 +1,61 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +#if !defined(COMPILE_ENABLE_ALPHA_TEST) && !defined(COMPILE_COLORED_SHADOWS) +#undef COMPILE_ENABLE_TEXTURE2D +#endif + +#ifdef COMPILE_COLORED_SHADOWS +layout(location = 0) out vec4 output4f; +uniform vec4 u_color4f; +#endif + +#ifdef COMPILE_ENABLE_TEXTURE2D +uniform sampler2D u_samplerTexture; +#ifdef COMPILE_TEXTURE_ATTRIB +in vec2 v_texture2f; +#else +uniform vec2 u_textureCoords01; +#endif +#ifdef COMPILE_ENABLE_ALPHA_TEST +uniform float u_alphaTestRef1f; +#endif +#endif + +void main() { +#ifdef COMPILE_COLORED_SHADOWS + vec4 color = u_color4f; +#else + vec4 color = vec4(1.0); +#endif + +#ifdef COMPILE_ENABLE_TEXTURE2D +#ifdef COMPILE_TEXTURE_ATTRIB + color *= texture(u_samplerTexture, v_texture2f); +#else + color *= texture(u_samplerTexture, u_textureCoords01); +#endif +#ifdef COMPILE_ENABLE_ALPHA_TEST + if(color.a < u_alphaTestRef1f) discard; +#endif +#endif + +#ifdef COMPILE_COLORED_SHADOWS + output4f = vec4(mix(vec3(1.0), color.rgb, color.a), color.a); +#endif +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/deferred_shadow.vsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/deferred_shadow.vsh new file mode 100644 index 0000000..4811a3e --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/deferred_shadow.vsh @@ -0,0 +1,103 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +in vec3 a_position3f; + +#if defined(COMPILE_ENABLE_ALPHA_TEST) && defined(COMPILE_ENABLE_TEXTURE2D) +#define DO_SHADOW_ALPHA_TEST +#endif + +#ifdef DO_SHADOW_ALPHA_TEST +#ifdef COMPILE_TEXTURE_ATTRIB +in vec2 a_texture2f; +out vec2 v_texture2f; +uniform mat4 u_textureMat4f01; +#endif +#endif + +uniform mat4 u_modelviewProjMat4f; + +#ifdef COMPILE_STATE_WAVING_BLOCKS +#ifdef COMPILE_NORMAL_ATTRIB +in vec4 a_normal4f; +#else +uniform float u_blockConstant1f; +#endif +#ifdef COMPILE_ENABLE_LIGHTMAP +#ifdef COMPILE_LIGHTMAP_ATTRIB +in vec2 a_lightmap2f; +uniform mat4 u_textureMat4f02; +#else +uniform vec2 u_textureCoords02; +#endif +#endif +uniform mat4 u_modelMatrix4f; +uniform mat4 u_viewMatrix4f; +uniform vec3 u_wavingBlockOffset3f; +uniform vec4 u_wavingBlockParam4f; +#define DO_COMPILE_STATE_WAVING_BLOCKS +#define FAKE_SIN(valueIn, valueOut)\ + valueOut = abs(1.0 - fract(valueIn * 0.159155) * 2.0);\ + valueOut = valueOut * valueOut * (3.0 - 2.0 * valueOut) * 2.0 - 1.0; +#define LIB_INCLUDE_WAVING_BLOCKS_FUNCTION +#endif + +#EAGLER INCLUDE (2) "eagler:glsl/deferred/lib/waving_blocks.glsl" + +#define TEX_MAT3(mat4In) mat3(mat4In[0].xyw,mat4In[1].xyw,mat4In[3].xyw) + +void main() { +#ifdef DO_SHADOW_ALPHA_TEST +#ifdef COMPILE_TEXTURE_ATTRIB + vec3 v_textureTmp3f = TEX_MAT3(u_textureMat4f01) * vec3(a_texture2f, 1.0); + v_texture2f = v_textureTmp3f.xy / v_textureTmp3f.z; +#endif +#endif +#ifdef DO_COMPILE_STATE_WAVING_BLOCKS + vec4 pos = vec4(a_position3f, 1.0); +#ifdef COMPILE_NORMAL_ATTRIB + float blockId = floor((a_normal4f.w + 1.0) * 127.0 + 0.5); +#else + float blockId = u_blockConstant1f; +#endif +#ifdef COMPILE_ENABLE_LIGHTMAP +#ifdef COMPILE_LIGHTMAP_ATTRIB + mat4x2 texMat4x2 = mat4x2( + u_textureMat4f02[0].yw, + u_textureMat4f02[1].yw, + u_textureMat4f02[2].yw, + u_textureMat4f02[3].yw + ); + vec2 v_lightmapTmp2f = texMat4x2 * vec4(a_lightmap2f, 0.0, 1.0); + v_lightmapTmp2f.x = v_lightmapTmp2f.x / v_lightmapTmp2f.y; +#else + vec2 v_lightmapTmp2f = vec2(u_textureCoords02.y, 0.0); +#endif + if(v_lightmapTmp2f.x > 0.33) { + COMPUTE_WAVING_BLOCKS(pos, min(v_lightmapTmp2f.x * 3.0 - 1.0, 1.0), 24.0, blockId, u_modelMatrix4f, u_viewMatrix4f, u_modelviewProjMat4f, u_wavingBlockOffset3f, u_wavingBlockParam4f) + }else { + pos = u_modelviewProjMat4f * pos; + } +#else + COMPUTE_WAVING_BLOCKS(pos, 1.0, 32.0, blockId, u_modelMatrix4f, u_viewMatrix4f, u_modelviewProjMat4f, u_wavingBlockOffset3f, u_wavingBlockParam4f) +#endif + gl_Position = pos; +#else + gl_Position = u_modelviewProjMat4f * vec4(a_position3f, 1.0); +#endif +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/dither16.bmp b/desktopRuntime/resources/assets/eagler/glsl/deferred/dither16.bmp new file mode 100644 index 0000000..57813a0 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/dither16.bmp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/eagler_moon.bmp b/desktopRuntime/resources/assets/eagler/glsl/deferred/eagler_moon.bmp new file mode 100644 index 0000000..53cabae Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/eagler_moon.bmp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/emissive_items.csv b/desktopRuntime/resources/assets/eagler/glsl/deferred/emissive_items.csv new file mode 100644 index 0000000..f7814db --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/emissive_items.csv @@ -0,0 +1,10 @@ +item,damage,red,green,blue,intensity +minecraft:beacon,0,0.4493,0.6007,1.0000,500.0 +minecraft:glowstone,0,1.0000,0.6636,0.3583,10.0 +minecraft:lit_pumpkin,0,1.0000,0.5447,0.2005,10.0 +minecraft:torch,0,1.0000,0.5983,0.2655,10.0 +minecraft:redstone_torch,0,1.0000,0.1578,0.0000,4.0 +minecraft:sea_lantern,0,0.5530,0.6468,1.0000,10.0, +minecraft:lava_bucket,0,1.0000,0.4461,0.1054,6.0, +minecraft:nether_star,0,0.5711,0.6611,1.0000,6.0 +minecraft:ender_eye,0,0.1990,0.7750,0.4130,4.0 \ No newline at end of file diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/forward_core.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/forward_core.fsh new file mode 100644 index 0000000..4e6a375 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/forward_core.fsh @@ -0,0 +1,473 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision highp sampler2DShadow; + +in vec4 v_position4f; + +#ifdef COMPILE_FOG_LIGHT_SHAFTS +in vec2 v_positionClip2f; +#endif + +#ifdef COMPILE_TEXTURE_ATTRIB +in vec2 v_texture2f; +#endif + +uniform vec4 u_color4f; + +#ifdef COMPILE_BLEND_ADD +uniform vec4 u_colorBlendSrc4f; +uniform vec4 u_colorBlendAdd4f; +#endif + +#ifdef COMPILE_COLOR_ATTRIB +in vec4 v_color4f; +#endif + +#ifdef COMPILE_NORMAL_ATTRIB +in vec3 v_normal3f; +in float v_block1f; +#else +uniform vec3 u_uniformNormal3f; +uniform float u_blockConstant1f; +#endif + +#ifdef COMPILE_LIGHTMAP_ATTRIB +in vec2 v_lightmap2f; +#else +uniform vec2 u_textureCoords02; +#endif + +#ifdef COMPILE_ENABLE_TEXTURE2D +uniform sampler2D u_samplerTexture; +#ifndef COMPILE_TEXTURE_ATTRIB +uniform vec2 u_textureCoords01; +#endif +#else +#undef COMPILE_NORMAL_MATERIAL_TEXTURE +#endif + +#ifdef COMPILE_ENABLE_TEX_GEN +in vec3 v_objectPosition3f; +uniform ivec4 u_texGenPlane4i; +uniform vec4 u_texGenS4f; +uniform vec4 u_texGenT4f; +uniform vec4 u_texGenR4f; +uniform vec4 u_texGenQ4f; +uniform mat4 u_textureMat4f01; +#endif + +#ifdef COMPILE_ENABLE_ALPHA_TEST +uniform float u_alphaTestRef1f; +#endif + +#ifdef COMPILE_ENABLE_ANISOTROPIC_FIX +uniform vec2 u_textureAnisotropicFix; +#endif + +uniform mat4 u_inverseViewMatrix4f; + +layout(location = 0) out vec4 output4f; + +#ifdef COMPILE_DYNAMIC_LIGHTS +struct DynamicLight { + mediump vec4 u_lightPosition4f; + mediump vec4 u_lightColor4f; +}; +layout(std140) uniform u_chunkLightingData { + mediump int u_dynamicLightCount1i; + mediump int _paddingA_; + mediump int _paddingB_; + mediump int _paddingC_; + DynamicLight u_dynamicLightArray[12]; +}; +#endif + +layout(std140) uniform u_worldLightingData { + mediump vec4 u_sunDirection4f; + mediump vec4 u_sunColor3f_sky1f; + mediump vec4 u_fogParameters4f; + mediump vec4 u_fogColorLight4f; + mediump vec4 u_fogColorDark4f; + mediump vec4 u_fogColorAddSun4f; + mediump vec4 u_blockSkySunDynamicLightFac4f; +#ifdef COMPILE_SUN_SHADOW_LOD0 + mediump mat4 u_sunShadowMatrixLOD04f; +#define DO_COMPILE_SUN_SHADOWS +#define SUN_SHADOW_MAP_FRAC 1.0 +#endif +#ifdef COMPILE_SUN_SHADOW_LOD1 + mediump mat4 u_sunShadowMatrixLOD04f; + mediump mat4 u_sunShadowMatrixLOD14f; +#define DO_COMPILE_SUN_SHADOWS +#define SUN_SHADOW_MAP_FRAC 0.5 +#endif +#ifdef COMPILE_SUN_SHADOW_LOD2 + mediump mat4 u_sunShadowMatrixLOD04f; + mediump mat4 u_sunShadowMatrixLOD14f; + mediump mat4 u_sunShadowMatrixLOD24f; +#define DO_COMPILE_SUN_SHADOWS +#define SUN_SHADOW_MAP_FRAC 0.3333333 +#endif +}; + +#ifdef COMPILE_NORMAL_MATERIAL_TEXTURE +uniform sampler2D u_samplerNormalMaterial; +#else +uniform vec3 u_materialConstants3f; +#endif + +uniform sampler2D u_metalsLUT; + +#define LIB_INCLUDE_PBR_LIGHTING_FUNCTION +#define LIB_INCLUDE_PBR_LIGHTING_PREFETCH +#EAGLER INCLUDE (3) "eagler:glsl/deferred/lib/pbr_lighting.glsl" + +#ifdef COMPILE_PARABOLOID +#undef COMPILE_SUN_SHADOW_SMOOTH +#undef COMPILE_SUN_SHADOW_LOD1 +#undef COMPILE_SUN_SHADOW_LOD2 +#endif + +#ifdef COMPILE_PARABOLOID_ENV_MAP +uniform sampler2D u_environmentMap; +uniform sampler2D u_brdfLUT; +#define LIB_INCLUDE_PBR_IMAGE_BASED_LIGHTING_SPECULAR +#define LIB_INCLUDE_PBR_IMAGE_BASED_LIGHTING_PREFETCH +#endif + +uniform sampler2D u_irradianceMap; + +#ifdef COMPILE_FOG_LIGHT_SHAFTS +uniform sampler2D u_lightShaftsTexture; +#endif + +#EAGLER INCLUDE (4) "eagler:glsl/deferred/lib/pbr_env_map.glsl" + +#ifdef DO_COMPILE_SUN_SHADOWS +uniform sampler2DShadow u_sunShadowDepthTexture; +#ifdef COMPILE_SUN_SHADOW_SMOOTH +const vec2 POISSON_DISK[7] = vec2[]( +vec2(-0.077, 0.995), vec2(0.998, 0.015), +vec2(-0.116, -0.987), vec2(-0.916, 0.359), +vec2(-0.697, -0.511), vec2(0.740, -0.612), +vec2(0.675, 0.682)); +#define SMOOTH_SHADOW_SAMPLES 1.0 / 8.0 +#define SMOOTH_SHADOW_RADIUS 0.00075 +#define SMOOTH_SHADOW_POISSON_SAMPLE(idx, tex, lod, vec3Pos, accum, tmpVec2)\ + tmpVec2 = vec3Pos.xy + POISSON_DISK[idx] * SMOOTH_SHADOW_RADIUS;\ + tmpVec2 = clamp(tmpVec2, vec2(0.001), vec2(0.999));\ + tmpVec2.y += lod;\ + tmpVec2.y *= SUN_SHADOW_MAP_FRAC;\ + accum += textureLod(tex, vec3(tmpVec2, vec3Pos.z), 0.0) * SMOOTH_SHADOW_SAMPLES; +#endif +#endif + +void main() { + vec4 worldPosition4f; + vec4 worldDirection4f; + vec4 diffuseColor4f; + vec3 normalVector3f; + vec2 lightmapCoords2f; + vec3 materialData3f; + float block1f; + + // =========== RESOLVE CONSTANTS ============ // + + worldPosition4f = u_inverseViewMatrix4f * v_position4f; + worldPosition4f.xyz /= worldPosition4f.w; + worldPosition4f.w = 1.0; + worldDirection4f = u_inverseViewMatrix4f * vec4(v_position4f.xyz / v_position4f.w, 0.0); + worldDirection4f.xyz = normalize(worldDirection4f.xyz); + +#ifdef COMPILE_ENABLE_LIGHTMAP +#ifdef COMPILE_LIGHTMAP_ATTRIB + lightmapCoords2f = v_lightmap2f; +#else + lightmapCoords2f = u_textureCoords02; +#endif +#else + lightmapCoords2f = vec2(0.0, 1.0); +#endif + +#ifdef COMPILE_NORMAL_ATTRIB + normalVector3f = normalize(v_normal3f); + block1f = v_block1f; +#else + normalVector3f = u_uniformNormal3f; + block1f = u_blockConstant1f; +#endif + + normalVector3f = normalize(mat3(u_inverseViewMatrix4f) * normalVector3f); + + // ========= CALCULATE DIFFUSE COLOR ========== // + +#ifdef COMPILE_COLOR_ATTRIB + diffuseColor4f = v_color4f * u_color4f; +#else + diffuseColor4f = u_color4f; +#endif + +#ifdef COMPILE_ENABLE_TEXTURE2D + vec2 texCoords2f; +#ifdef COMPILE_ENABLE_TEX_GEN + vec4 texGenVector; + vec4 texGenPosSrc[2]; + texGenPosSrc[0] = vec4(v_objectPosition3f, 1.0); + texGenPosSrc[1] = v_position4f; + texGenVector.x = dot(texGenPosSrc[u_texGenPlane4i.x], u_texGenS4f); + texGenVector.y = dot(texGenPosSrc[u_texGenPlane4i.y], u_texGenT4f); + texGenVector.z = dot(texGenPosSrc[u_texGenPlane4i.z], u_texGenR4f); + texGenVector.w = dot(texGenPosSrc[u_texGenPlane4i.w], u_texGenQ4f); + texGenVector = vec4(mat4x3( + u_textureMat4f01[0].xyw, + u_textureMat4f01[1].xyw, + u_textureMat4f01[2].xyw, + u_textureMat4f01[3].xyw + ) * texGenVector, 0.0); + texCoords2f = texGenVector.xy / texGenVector.z; +#else + +#ifdef COMPILE_TEXTURE_ATTRIB +#ifdef COMPILE_ENABLE_ANISOTROPIC_FIX + texCoords2f = floor(v_texture2f * u_textureAnisotropicFix) + 0.5; + texCoords2f /= u_textureAnisotropicFix; +#else + texCoords2f = v_texture2f; +#endif +#else + texCoords2f = u_textureCoords01; +#endif +#endif + diffuseColor4f *= texture(u_samplerTexture, texCoords2f); +#endif + +#ifdef COMPILE_BLEND_ADD + diffuseColor4f = diffuseColor4f * u_colorBlendSrc4f + u_colorBlendAdd4f; +#endif + + // ============= ALPHA TEST ============== // + +#ifdef COMPILE_ENABLE_ALPHA_TEST + if(diffuseColor4f.a < u_alphaTestRef1f) discard; +#endif + + // ========== RESOLVE MATERIALS =========== // + +#ifdef COMPILE_NORMAL_MATERIAL_TEXTURE + vec2 uv2 = vec2(1.0, 0.5) * texCoords2f; + uv2.y += 0.5; + materialData3f = texture(u_samplerNormalMaterial, uv2).rgb; +#else + materialData3f = u_materialConstants3f; +#endif + + vec3 metalN, metalK; + PREFETCH_METALS(diffuseColor4f.rgb, materialData3f.g, metalN, metalK) + + // ============ SUN LIGHTING ============== // + + diffuseColor4f.rgb *= diffuseColor4f.rgb; + + vec3 lightColor3f = vec3(0.0); + if(dot(u_sunDirection4f.xyz, normalVector3f) > 0.0 && lightmapCoords2f.g > 0.5 && + (u_sunColor3f_sky1f.r + u_sunColor3f_sky1f.g + u_sunColor3f_sky1f.b) > 0.001) { +#ifdef DO_COMPILE_SUN_SHADOWS + + // ========== SUN SHADOW: LOD0 ============ // + + float skyLight = max(lightmapCoords2f.g * 2.0 - 1.0, 0.0); + float shadowSample = 1.0; + vec4 shadowWorldPos4f = worldPosition4f; + shadowWorldPos4f.xyz += normalVector3f * 0.05; + + vec4 shadowTexPos4f; + vec2 tmpVec2; + for(;;) { + shadowTexPos4f = u_sunShadowMatrixLOD04f * shadowWorldPos4f; + if(shadowTexPos4f.xyz == clamp(shadowTexPos4f.xyz, vec3(0.005), vec3(0.995))) { + shadowSample = textureLod(u_sunShadowDepthTexture, vec3(shadowTexPos4f.xy * vec2(1.0, SUN_SHADOW_MAP_FRAC), shadowTexPos4f.z), 0.0); +#ifdef COMPILE_SUN_SHADOW_SMOOTH + shadowSample *= SMOOTH_SHADOW_SAMPLES; + SMOOTH_SHADOW_POISSON_SAMPLE(0, u_sunShadowDepthTexture, 0.0, shadowTexPos4f.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(1, u_sunShadowDepthTexture, 0.0, shadowTexPos4f.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(2, u_sunShadowDepthTexture, 0.0, shadowTexPos4f.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(3, u_sunShadowDepthTexture, 0.0, shadowTexPos4f.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(4, u_sunShadowDepthTexture, 0.0, shadowTexPos4f.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(5, u_sunShadowDepthTexture, 0.0, shadowTexPos4f.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(6, u_sunShadowDepthTexture, 0.0, shadowTexPos4f.xyz, shadowSample, tmpVec2) + shadowSample = max(shadowSample * 2.0 - 1.0, 0.0); +#endif + break; + } + +#if defined(COMPILE_SUN_SHADOW_LOD1) || defined(COMPILE_SUN_SHADOW_LOD2) + shadowTexPos4f = u_sunShadowMatrixLOD14f * shadowWorldPos4f; + if(shadowTexPos4f.xyz == clamp(shadowTexPos4f.xyz, vec3(0.005), vec3(0.995))) { + shadowTexPos4f.y += 1.0; + shadowTexPos4f.y *= SUN_SHADOW_MAP_FRAC; + shadowSample = textureLod(u_sunShadowDepthTexture, vec3(shadowTexPos4f.xy, shadowTexPos4f.z + 0.00015), 0.0); + break; + } +#endif + +#ifdef COMPILE_SUN_SHADOW_LOD2 + shadowTexPos4f = u_sunShadowMatrixLOD24f * shadowWorldPos4f; + if(shadowTexPos4f.xyz == clamp(shadowTexPos4f.xyz, vec3(0.005), vec3(0.995))) { + shadowTexPos4f.y += 2.0; + shadowTexPos4f.y *= SUN_SHADOW_MAP_FRAC; + shadowSample = textureLod(u_sunShadowDepthTexture, vec3(shadowTexPos4f.xy, shadowTexPos4f.z + 0.00015), 0.0); + } +#endif + break; + } +#endif + lightColor3f = u_sunColor3f_sky1f.rgb * max(lightmapCoords2f.g * 2.0 - 1.0, 0.0); +#ifdef DO_COMPILE_SUN_SHADOWS + lightColor3f *= shadowSample * skyLight; +#endif + lightColor3f = eaglercraftLighting(diffuseColor4f.rgb, lightColor3f, -worldDirection4f.xyz, u_sunDirection4f.xyz, normalVector3f, materialData3f, metalN, metalK) * u_blockSkySunDynamicLightFac4f.z; + } + + float f; +#ifdef COMPILE_PARABOLOID_ENV_MAP + + // =========== ENVIRONMENT MAP =========== // + + f = materialData3f.g < 0.06 ? 1.0 : 0.0; + f += materialData3f.r < 0.5 ? 1.0 : 0.0; + while(f == 0.0) { + float dst2 = dot(worldPosition4f.xyz, worldPosition4f.xyz); + if(dst2 > 16.0) { + break; + } + vec3 reflectDir = reflect(worldDirection4f.xyz, normalVector3f); + reflectDir.xz /= abs(reflectDir.y) + 1.0; + float dst = 1.0 - dot(reflectDir.xz, reflectDir.xz); + dst *= dst; + reflectDir.xz = reflectDir.xz * 0.975; + vec4 envMapSample4f; + if(dst < 0.005) { + vec4 sample1 = textureLod(u_environmentMap, reflectDir.xz * vec2(0.5, 0.25) + vec2(0.5, 0.25), 0.0); + vec4 sample2 = textureLod(u_environmentMap, reflectDir.xz * vec2(0.5, -0.25) + vec2(0.5, 0.75), 0.0); + envMapSample4f = vec4(mix(sample1.rgb, sample2.rgb, smoothstep(0.0, 1.0, reflectDir.y * -12.5 + 0.5)).rgb, min(sample1.a, sample2.a)); + }else { + reflectDir.xz = reflectDir.xz * vec2(0.5, reflectDir.y > 0.0 ? 0.25 : -0.25); + reflectDir.xz += vec2(0.5, reflectDir.y > 0.0 ? 0.25 : 0.75); + envMapSample4f = textureLod(u_environmentMap, reflectDir.xz, 0.0); + } + if(envMapSample4f.a > 0.0) { + lightColor3f += eaglercraftIBL_Specular(diffuseColor4f.rgb, envMapSample4f.rgb, worldDirection4f.xyz, normalVector3f, materialData3f, metalN, metalK) * (1.0 - sqrt(dst2) * 0.25); + } + break; + } + +#endif + + // =========== IRRADIANCE MAP =========== // + + lightmapCoords2f *= lightmapCoords2f; + + vec3 irradianceMapSamplePos2f = normalVector3f; + irradianceMapSamplePos2f.xz /= abs(irradianceMapSamplePos2f.y) + 1.0; + float dst = 1.0 - dot(irradianceMapSamplePos2f.xz, irradianceMapSamplePos2f.xz); + dst *= dst; + irradianceMapSamplePos2f.xz *= 0.975; + vec3 skyLight = vec3(sqrt(0.01 + max(u_sunDirection4f.w, 0.0))); + if(dst < 0.005) { + vec4 sample1 = textureLod(u_irradianceMap, irradianceMapSamplePos2f.xz * vec2(0.5, 0.25) + vec2(0.5, 0.25), 0.0); + vec4 sample2 = textureLod(u_irradianceMap, irradianceMapSamplePos2f.xz * vec2(0.5, -0.25) + vec2(0.5, 0.75), 0.0); + skyLight += mix(sample1.rgb, sample2.rgb, smoothstep(0.0, 1.0, irradianceMapSamplePos2f.y * -12.5 + 0.5)).rgb; + }else { + irradianceMapSamplePos2f.xz *= vec2(0.5, irradianceMapSamplePos2f.y > 0.0 ? 0.25 : -0.25); + irradianceMapSamplePos2f.xz += vec2(0.5, irradianceMapSamplePos2f.y > 0.0 ? 0.25 : 0.75); + skyLight += textureLod(u_irradianceMap, irradianceMapSamplePos2f.xz, 0.0).rgb; + } + skyLight *= lightmapCoords2f.g * u_sunColor3f_sky1f.w; + +#ifdef COMPILE_DYNAMIC_LIGHTS + + // =========== DYNAMIC LIGHTING =========== // + + vec3 dlightDist3f, dlightDir3f, dlightColor3f; + int safeLightCount = u_dynamicLightCount1i > 12 ? 0 : u_dynamicLightCount1i; // hate this + for(int i = 0; i < safeLightCount; ++i) { + dlightDist3f = worldPosition4f.xyz - u_dynamicLightArray[i].u_lightPosition4f.xyz; + dlightDir3f = normalize(dlightDist3f); + dlightDir3f = materialData3f.b == 1.0 ? normalVector3f : -dlightDir3f; + if(dot(dlightDir3f, normalVector3f) <= 0.0) { + continue; + } + dlightColor3f = u_dynamicLightArray[i].u_lightColor4f.rgb / dot(dlightDist3f, dlightDist3f); + if(dlightColor3f.r + dlightColor3f.g + dlightColor3f.b < 0.025) { + continue; + } + lightColor3f += eaglercraftLighting(diffuseColor4f.rgb, dlightColor3f, -worldDirection4f.xyz, dlightDir3f, normalVector3f, materialData3f, metalN, metalK) * u_blockSkySunDynamicLightFac4f.w; + } + +#endif + + // ============ CACLULATE FOG ============= // + + vec4 fogBlend4f = vec4(0.0); +#ifndef COMPILE_ENABLE_TEX_GEN + while(u_fogParameters4f.x > 0.0) { + float atmos = u_fogParameters4f.x >= 4.0 ? 4.0 : 0.0; + float type = u_fogParameters4f.x - atmos; + fogBlend4f = mix(u_fogColorLight4f, u_fogColorDark4f, lightmapCoords2f.g); + + float l = length(v_position4f.xyz); + if(type == 1.0) { + f = (l - u_fogParameters4f.z) / (u_fogParameters4f.w - u_fogParameters4f.z); + }else { + f = 1.0 - exp(-u_fogParameters4f.y * l); + } + + fogBlend4f.a *= clamp(f, 0.0, 1.0); + + if(atmos == 0.0) { + break; + } + + vec3 atmosSamplePos = v_position4f.xyz / -l; + atmosSamplePos.xz /= abs(atmosSamplePos.y) + 1.0; + atmosSamplePos.xz *= vec2(-0.5, -0.25) * 0.75; + atmosSamplePos.xz += vec2(0.5, 0.25); + + fogBlend4f.rgb *= textureLod(u_irradianceMap, atmosSamplePos.xz, 0.0).rgb; + +#ifdef COMPILE_FOG_LIGHT_SHAFTS + fogBlend4f.rgb *= pow(textureLod(u_lightShaftsTexture, v_positionClip2f * 0.5 + 0.5, 0.0).r * 0.9 + 0.1, 2.25); + fogBlend4f.a = fogBlend4f.a * 0.9 + 0.1; +#endif + break; + } +#endif + + // ============ OUTPUT COLOR ============== // + + vec3 blockLight = lightmapCoords2f.r * vec3(1.0, 0.5809, 0.2433) * 2.0 * u_blockSkySunDynamicLightFac4f.x; + skyLight *= u_blockSkySunDynamicLightFac4f.y; + float emissive = materialData3f.b == 1.0 ? 0.0 : materialData3f.b; + diffuseColor4f.rgb *= max(skyLight + blockLight, vec3(emissive * emissive * 20.0 + 0.075)) * 0.075; + diffuseColor4f.rgb += lightColor3f; + + diffuseColor4f.rgb = mix(diffuseColor4f.rgb, fogBlend4f.rgb, fogBlend4f.a); + + output4f = vec4(diffuseColor4f.rgb * diffuseColor4f.a, diffuseColor4f.a); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/forward_core.vsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/forward_core.vsh new file mode 100644 index 0000000..5859caf --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/forward_core.vsh @@ -0,0 +1,103 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +in vec3 a_position3f; + +out vec4 v_position4f; + +#ifdef COMPILE_FOG_LIGHT_SHAFTS +out vec2 v_positionClip2f; +#endif + +#ifdef COMPILE_TEXTURE_ATTRIB +in vec2 a_texture2f; +out vec2 v_texture2f; +uniform mat4 u_textureMat4f01; +#endif + +#ifdef COMPILE_ENABLE_TEX_GEN +out vec3 v_objectPosition3f; +#endif + +#ifdef COMPILE_COLOR_ATTRIB +in vec4 a_color4f; +out vec4 v_color4f; +#endif + +#ifdef COMPILE_NORMAL_ATTRIB +in vec4 a_normal4f; +out vec3 v_normal3f; +out float v_block1f; +#endif + +#ifdef COMPILE_LIGHTMAP_ATTRIB +in vec2 a_lightmap2f; +out vec2 v_lightmap2f; +uniform mat4 u_textureMat4f02; +#endif + +uniform mat4 u_modelviewMat4f; + +#ifdef COMPILE_PARABOLOID +uniform float u_farPlane1f; +#else +uniform mat4 u_projectionMat4f; +#endif + +#define TEX_MAT3(mat4In) mat3(mat4In[0].xyw,mat4In[1].xyw,mat4In[3].xyw) + +void main() { +#ifdef COMPILE_ENABLE_TEX_GEN + v_objectPosition3f = a_position3f; +#endif + v_position4f = u_modelviewMat4f * vec4(a_position3f, 1.0); + +#ifdef COMPILE_TEXTURE_ATTRIB + vec3 v_textureTmp3f = TEX_MAT3(u_textureMat4f01) * vec3(a_texture2f, 1.0); + v_texture2f = v_textureTmp3f.xy / v_textureTmp3f.z; +#endif + +#ifdef COMPILE_COLOR_ATTRIB + v_color4f = a_color4f; +#endif + +#ifdef COMPILE_NORMAL_ATTRIB + v_normal3f = normalize(mat3(u_modelviewMat4f) * a_normal4f.xyz); + v_block1f = floor((a_normal4f.w + 1.0) * 127.0 + 0.5); +#endif + +#ifdef COMPILE_LIGHTMAP_ATTRIB + vec3 v_lightmapTmp3f = TEX_MAT3(u_textureMat4f02) * vec3(a_lightmap2f, 1.0); + v_lightmap2f = v_lightmapTmp3f.xy / v_lightmapTmp3f.z; +#endif + +#ifdef COMPILE_PARABOLOID + vec3 pos = v_position4f.xyz / v_position4f.w; + float dist = pos.z; + pos.xyz = normalize(pos.xyz); + pos.xy /= 1.0 - pos.z; + pos.z = dist / u_farPlane1f + 1.00005; + gl_Position = vec4(pos.xyz, 1.0); +#else + gl_Position = u_projectionMat4f * v_position4f; +#endif + +#ifdef COMPILE_FOG_LIGHT_SHAFTS + v_positionClip2f = gl_Position.xy / gl_Position.w; +#endif +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/forward_glass_highlights.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/forward_glass_highlights.fsh new file mode 100644 index 0000000..5f0100f --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/forward_glass_highlights.fsh @@ -0,0 +1,308 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision highp sampler2DShadow; + +in vec4 v_position4f; + +uniform vec4 u_color4f; + +#ifdef COMPILE_NORMAL_ATTRIB +in vec3 v_normal3f; +in float v_block1f; +#else +uniform vec3 u_uniformNormal3f; +uniform float u_blockConstant1f; +#endif + +#ifdef COMPILE_LIGHTMAP_ATTRIB +in vec2 v_lightmap2f; +#else +uniform vec2 u_textureCoords02; +#endif + +uniform mat4 u_inverseViewMatrix4f; + +layout(location = 0) out vec4 output4f; + +#ifdef COMPILE_DYNAMIC_LIGHTS +struct DynamicLight { + mediump vec4 u_lightPosition4f; + mediump vec4 u_lightColor4f; +}; +layout(std140) uniform u_chunkLightingData { + mediump int u_dynamicLightCount1i; + mediump int _paddingA_; + mediump int _paddingB_; + mediump int _paddingC_; + DynamicLight u_dynamicLightArray[12]; +}; +#endif + +layout(std140) uniform u_worldLightingData { + mediump vec4 u_sunDirection4f; + mediump vec4 u_sunColor3f_sky1f; + mediump vec4 u_fogParameters4f; + mediump vec4 u_fogColorLight4f; + mediump vec4 u_fogColorDark4f; + mediump vec4 u_fogColorAddSun4f; + mediump vec4 u_blockSkySunDynamicLightFac4f; +#ifdef COMPILE_SUN_SHADOW_LOD0 + mediump mat4 u_sunShadowMatrixLOD04f; +#define DO_COMPILE_SUN_SHADOWS +#define SUN_SHADOW_MAP_FRAC 1.0 +#endif +#ifdef COMPILE_SUN_SHADOW_LOD1 + mediump mat4 u_sunShadowMatrixLOD04f; + mediump mat4 u_sunShadowMatrixLOD14f; +#define DO_COMPILE_SUN_SHADOWS +#define SUN_SHADOW_MAP_FRAC 0.5 +#endif +#ifdef COMPILE_SUN_SHADOW_LOD2 + mediump mat4 u_sunShadowMatrixLOD04f; + mediump mat4 u_sunShadowMatrixLOD14f; + mediump mat4 u_sunShadowMatrixLOD24f; +#define DO_COMPILE_SUN_SHADOWS +#define SUN_SHADOW_MAP_FRAC 0.3333333 +#endif +}; + +uniform sampler2D u_environmentMap; +uniform sampler2D u_brdfLUT; + +#define GLASS_ROUGHNESS 0.15 +#define GLASS_F0 0.4 + +vec3 eaglercraftLighting_Glass(in vec3 radiance, in vec3 viewDir, in vec3 lightDir, in vec3 normalVec) { + float roughness = 1.0 - GLASS_ROUGHNESS * 0.85; + vec3 H = normalize(viewDir + lightDir); + vec3 NdotHVL = max(normalVec * mat3(H, viewDir, lightDir), vec3(0.0)); + float NDF = (GLASS_ROUGHNESS * GLASS_ROUGHNESS * GLASS_ROUGHNESS * GLASS_ROUGHNESS); + float denom = NdotHVL.x * NdotHVL.x * (NDF - 1.0) + 1.0; + NDF /= denom * denom * 3.141592; + float gs = GLASS_ROUGHNESS + 1.0; + gs *= gs * 0.125; + vec2 Ndot = NdotHVL.yz; + Ndot /= Ndot * (1.0 - gs) + gs; + NDF *= Ndot.x * Ndot.y; + float fresnel = pow(max(1.0 - NdotHVL.x, 0.0), 5.0); + vec3 F = vec3(GLASS_F0 + (1.0 - GLASS_F0) * fresnel); + denom = 4.0 * NdotHVL.y * NdotHVL.z + 0.0001; + return (NDF * F / denom) * radiance * NdotHVL.z; +} + +vec3 eaglercraftIBL_Specular_Glass(in vec3 envMapSample, in vec3 viewDir, in vec3 normalVec) { + float NdotV = dot(normalVec, -viewDir); + float fresnel = pow(max(1.0 - NdotV, 0.0), 5.0); + vec3 F = vec3(GLASS_F0 + (max(1.0 - GLASS_ROUGHNESS, GLASS_F0) - GLASS_F0) * fresnel); + vec2 brdf2f = vec2(max(NdotV, 0.0), GLASS_ROUGHNESS); + brdf2f = 1.0 - brdf2f; + brdf2f *= brdf2f; + brdf2f = 1.0 - brdf2f; + brdf2f = textureLod(u_brdfLUT, brdf2f, 0.0).rg; + return envMapSample * (F * brdf2f.r + brdf2f.g); +} + +#ifdef DO_COMPILE_SUN_SHADOWS +uniform sampler2DShadow u_sunShadowDepthTexture; +#ifdef COMPILE_SUN_SHADOW_SMOOTH +const vec2 POISSON_DISK[7] = vec2[]( +vec2(-0.077, 0.995), vec2(0.998, 0.015), +vec2(-0.116, -0.987), vec2(-0.916, 0.359), +vec2(-0.697, -0.511), vec2(0.740, -0.612), +vec2(0.675, 0.682)); +#define SMOOTH_SHADOW_SAMPLES 1.0 / 8.0 +#define SMOOTH_SHADOW_RADIUS 0.00075 +#define SMOOTH_SHADOW_POISSON_SAMPLE(idx, tex, lod, vec3Pos, accum, tmpVec2)\ + tmpVec2 = vec3Pos.xy + POISSON_DISK[idx] * SMOOTH_SHADOW_RADIUS;\ + tmpVec2 = clamp(tmpVec2, vec2(0.001), vec2(0.999));\ + tmpVec2.y += lod;\ + tmpVec2.y *= SUN_SHADOW_MAP_FRAC;\ + accum += textureLod(tex, vec3(tmpVec2, vec3Pos.z), 0.0) * SMOOTH_SHADOW_SAMPLES; +#endif +#endif + +void main() { + vec4 worldPosition4f; + vec4 worldDirection4f; + vec3 normalVector3f; + vec2 lightmapCoords2f; + float block1f; + + // =========== RESOLVE CONSTANTS ============ // + + worldPosition4f = u_inverseViewMatrix4f * v_position4f; + worldPosition4f.xyz /= worldPosition4f.w; + worldPosition4f.w = 1.0; + worldDirection4f = u_inverseViewMatrix4f * vec4(v_position4f.xyz / v_position4f.w, 0.0); + worldDirection4f.xyz = normalize(worldDirection4f.xyz); + +#ifdef COMPILE_ENABLE_LIGHTMAP +#ifdef COMPILE_LIGHTMAP_ATTRIB + lightmapCoords2f = v_lightmap2f; +#else + lightmapCoords2f = u_textureCoords02; +#endif +#else + lightmapCoords2f = vec2(0.0, 1.0); +#endif + +#ifdef COMPILE_NORMAL_ATTRIB + normalVector3f = normalize(v_normal3f); + block1f = v_block1f; +#else + normalVector3f = u_uniformNormal3f; + block1f = u_blockConstant1f; +#endif + + normalVector3f = normalize(mat3(u_inverseViewMatrix4f) * normalVector3f); + + // ============ SUN LIGHTING ============== // + + vec3 lightColor3f = vec3(0.0); + if(dot(u_sunDirection4f.xyz, normalVector3f) > 0.0 && lightmapCoords2f.g > 0.5 && + (u_sunColor3f_sky1f.r + u_sunColor3f_sky1f.g + u_sunColor3f_sky1f.b) > 0.001) { +#ifdef DO_COMPILE_SUN_SHADOWS + + // ========== SUN SHADOW: LOD0 ============ // + + float skyLight = max(lightmapCoords2f.g * 2.0 - 1.0, 0.0); + float shadowSample = 1.0; + vec4 shadowWorldPos4f = worldPosition4f; + shadowWorldPos4f.xyz += normalVector3f * 0.05; + + vec4 shadowTexPos4f; + vec2 tmpVec2; + for(;;) { + shadowTexPos4f = u_sunShadowMatrixLOD04f * shadowWorldPos4f; + if(shadowTexPos4f.xyz == clamp(shadowTexPos4f.xyz, vec3(0.005), vec3(0.995))) { + shadowSample = textureLod(u_sunShadowDepthTexture, vec3(shadowTexPos4f.xy * vec2(1.0, SUN_SHADOW_MAP_FRAC), shadowTexPos4f.z), 0.0); +#ifdef COMPILE_SUN_SHADOW_SMOOTH + shadowSample *= SMOOTH_SHADOW_SAMPLES; + SMOOTH_SHADOW_POISSON_SAMPLE(0, u_sunShadowDepthTexture, 0.0, shadowTexPos4f.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(1, u_sunShadowDepthTexture, 0.0, shadowTexPos4f.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(2, u_sunShadowDepthTexture, 0.0, shadowTexPos4f.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(3, u_sunShadowDepthTexture, 0.0, shadowTexPos4f.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(4, u_sunShadowDepthTexture, 0.0, shadowTexPos4f.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(5, u_sunShadowDepthTexture, 0.0, shadowTexPos4f.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(6, u_sunShadowDepthTexture, 0.0, shadowTexPos4f.xyz, shadowSample, tmpVec2) + shadowSample = max(shadowSample * 2.0 - 1.0, 0.0); +#endif + break; + } + +#if defined(COMPILE_SUN_SHADOW_LOD1) || defined(COMPILE_SUN_SHADOW_LOD2) + shadowTexPos4f = u_sunShadowMatrixLOD14f * shadowWorldPos4f; + if(shadowTexPos4f.xyz == clamp(shadowTexPos4f.xyz, vec3(0.005), vec3(0.995))) { + shadowTexPos4f.y += 1.0; + shadowTexPos4f.y *= SUN_SHADOW_MAP_FRAC; + shadowSample = textureLod(u_sunShadowDepthTexture, vec3(shadowTexPos4f.xy, shadowTexPos4f.z + 0.00015), 0.0); + break; + } +#endif + +#ifdef COMPILE_SUN_SHADOW_LOD2 + shadowTexPos4f = u_sunShadowMatrixLOD24f * shadowWorldPos4f; + if(shadowTexPos4f.xyz == clamp(shadowTexPos4f.xyz, vec3(0.005), vec3(0.995))) { + shadowTexPos4f.y += 2.0; + shadowTexPos4f.y *= SUN_SHADOW_MAP_FRAC; + shadowSample = textureLod(u_sunShadowDepthTexture, vec3(shadowTexPos4f.xy, shadowTexPos4f.z + 0.00015), 0.0); + } +#endif + break; + } +#endif + lightColor3f = u_sunColor3f_sky1f.rgb * max(lightmapCoords2f.g * 2.0 - 1.0, 0.0); +#ifdef DO_COMPILE_SUN_SHADOWS + lightColor3f *= shadowSample * skyLight; +#endif + lightColor3f = eaglercraftLighting_Glass(lightColor3f, -worldDirection4f.xyz, u_sunDirection4f.xyz, normalVector3f) * u_blockSkySunDynamicLightFac4f.z; + } + + // =========== ENVIRONMENT MAP =========== // + + for(;;) { + float dst2 = dot(worldPosition4f.xyz, worldPosition4f.xyz); + if(dst2 > 16.0) { + break; + } + vec3 reflectDir = reflect(worldDirection4f.xyz, normalVector3f); + reflectDir.xz /= abs(reflectDir.y) + 1.0; + float dst = 1.0 - dot(reflectDir.xz, reflectDir.xz); + dst *= dst; + reflectDir.xz = reflectDir.xz * 0.975; + vec4 envMapSample4f; + if(dst < 0.005) { + vec4 sample1 = textureLod(u_environmentMap, reflectDir.xz * vec2(0.5, 0.25) + vec2(0.5, 0.25), 0.0); + vec4 sample2 = textureLod(u_environmentMap, reflectDir.xz * vec2(0.5, -0.25) + vec2(0.5, 0.75), 0.0); + envMapSample4f = vec4(mix(sample1.rgb, sample2.rgb, smoothstep(0.0, 1.0, reflectDir.y * -12.5 + 0.5)).rgb, min(sample1.a, sample2.a)); + }else { + reflectDir.xz = reflectDir.xz * vec2(0.5, reflectDir.y > 0.0 ? 0.25 : -0.25); + reflectDir.xz += vec2(0.5, reflectDir.y > 0.0 ? 0.25 : 0.75); + envMapSample4f = textureLod(u_environmentMap, reflectDir.xz, 0.0); + } + if(envMapSample4f.a > 0.0) { + lightColor3f += eaglercraftIBL_Specular_Glass(envMapSample4f.rgb, worldDirection4f.xyz, normalVector3f) * (1.0 - sqrt(dst2) * 0.25); + } + break; + } + +#ifdef COMPILE_DYNAMIC_LIGHTS + + // =========== DYNAMIC LIGHTING =========== // + + vec3 dlightDist3f, dlightDir3f, dlightColor3f; + int safeLightCount = u_dynamicLightCount1i > 12 ? 0 : u_dynamicLightCount1i; // hate this + for(int i = 0; i < safeLightCount; ++i) { + dlightDist3f = u_dynamicLightArray[i].u_lightPosition4f.xyz - worldPosition4f.xyz; + dlightDir3f = normalize(dlightDist3f); + if(dot(dlightDir3f, normalVector3f) <= 0.0) { + continue; + } + dlightColor3f = u_dynamicLightArray[i].u_lightColor4f.rgb / dot(dlightDist3f, dlightDist3f); + if(dlightColor3f.r + dlightColor3f.g + dlightColor3f.b < 0.025) { + continue; + } + lightColor3f += eaglercraftLighting_Glass(dlightColor3f, -worldDirection4f.xyz, dlightDir3f, normalVector3f) * u_blockSkySunDynamicLightFac4f.w; + } + +#endif + + // ============ CACLULATE FOG ============= // + + float fogFade = 0.0; + if(u_fogParameters4f.x > 0.0) { + float atmos = u_fogParameters4f.x >= 4.0 ? 4.0 : 0.0; + float type = u_fogParameters4f.x - atmos; + fogFade = mix(u_fogColorDark4f.a, u_fogColorLight4f.a, lightmapCoords2f.g); + + float f; + float l = length(v_position4f.xyz); + if(type == 1.0) { + f = (l - u_fogParameters4f.z) / (u_fogParameters4f.w - u_fogParameters4f.z); + }else { + f = 1.0 - exp(-u_fogParameters4f.y * l); + } + + fogFade *= clamp(f, 0.0, 1.0); + } + + // ============ OUTPUT COLOR ============== // + + output4f = vec4(lightColor3f * (1.0 - fogFade), 0.1); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/forward_glass_highlights.vsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/forward_glass_highlights.vsh new file mode 100644 index 0000000..97681c1 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/forward_glass_highlights.vsh @@ -0,0 +1,54 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +in vec3 a_position3f; + +out vec4 v_position4f; + +#ifdef COMPILE_NORMAL_ATTRIB +in vec4 a_normal4f; +out vec3 v_normal3f; +out float v_block1f; +#endif + +#ifdef COMPILE_LIGHTMAP_ATTRIB +in vec2 a_lightmap2f; +out vec2 v_lightmap2f; +uniform mat4 u_textureMat4f02; +#endif + +uniform mat4 u_modelviewMat4f; +uniform mat4 u_projectionMat4f; + +#define TEX_MAT3(mat4In) mat3(mat4In[0].xyw,mat4In[1].xyw,mat4In[3].xyw) + +void main() { + v_position4f = u_modelviewMat4f * vec4(a_position3f, 1.0); + +#ifdef COMPILE_NORMAL_ATTRIB + v_normal3f = normalize(mat3(u_modelviewMat4f) * a_normal4f.xyz); + v_block1f = floor((a_normal4f.w + 1.0) * 127.0 + 0.5); +#endif + +#ifdef COMPILE_LIGHTMAP_ATTRIB + vec3 v_lightmapTmp3f = TEX_MAT3(u_textureMat4f02) * vec3(a_lightmap2f, 1.0); + v_lightmap2f = v_lightmapTmp3f.xy / v_lightmapTmp3f.z; +#endif + + gl_Position = u_projectionMat4f * v_position4f; +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/gbuffer_debug_view.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/gbuffer_debug_view.fsh new file mode 100644 index 0000000..60f873e --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/gbuffer_debug_view.fsh @@ -0,0 +1,111 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec2 v_position2f; + +layout(location = 0) out vec4 output4f; + +uniform sampler2D u_texture0; +uniform sampler2D u_texture1; + +#ifdef DEBUG_VIEW_18 +precision highp sampler3D; +uniform sampler3D u_texture3D0; +uniform float u_fuckU1f; +#endif + +uniform mat4 u_inverseViewMatrix; +uniform vec2 u_depthSliceStartEnd2f; + +void main() { +#ifdef DEBUG_VIEW_0 + output4f = vec4(textureLod(u_texture0, v_position2f, 0.0).rgb, 1.0); +#endif +#ifdef DEBUG_VIEW_1 + vec3 color3f = textureLod(u_texture0, v_position2f, 0.0).rgb; + if(color3f.x == 0.0 && color3f.y == 0.0 && color3f.z == 0.0) { + output4f = vec4(0.0, 0.0, 0.0, 1.0); + }else { + output4f = vec4(normalize(mat3(u_inverseViewMatrix) * (color3f * 2.0 - 1.0)), 1.0); + } +#endif +#ifdef DEBUG_VIEW_2 + output4f = vec4(textureLod(u_texture0, v_position2f, 0.0).a, textureLod(u_texture1, v_position2f, 0.0).a, 0.0, 1.0); +#endif +#ifdef DEBUG_VIEW_3 + vec4 color4f = textureLod(u_texture0, v_position2f, 0.0); + output4f = vec4(color4f.b > 0.99 ? 1.0 : 0.0, color4f.a, 0.0, 1.0); +#endif +#ifdef DEBUG_VIEW_4 + output4f = vec4(vec3(clamp((textureLod(u_texture0, v_position2f, 0.0).r - u_depthSliceStartEnd2f.x) * u_depthSliceStartEnd2f.y, 0.0, 1.0)), 1.0); +#endif +#ifdef DEBUG_VIEW_5 + output4f = vec4(vec3(textureLod(u_texture0, (v_position2f + vec2(0.0, u_depthSliceStartEnd2f.y)) * vec2(1.0, u_depthSliceStartEnd2f.x), 0.0).r), 1.0); +#endif +#ifdef DEBUG_VIEW_6 + output4f = vec4(vec3(textureLod(u_texture0, v_position2f, 0.0).r), 1.0); +#endif +#ifdef DEBUG_VIEW_7 + output4f = vec4(vec3(textureLod(u_texture0, v_position2f, 0.0).a > 0.0 ? 1.0 : 0.0), 1.0); +#endif +#ifdef DEBUG_VIEW_8 + output4f = vec4(textureLod(u_texture0, v_position2f, 0.0).rgb * 10.0, 1.0); + output4f.xyz /= (output4f.xyz + 1.0); + output4f.xyz = sqrt(output4f.xyz); +#endif +#ifdef DEBUG_VIEW_9 + output4f = vec4(vec3(textureLod(u_texture0, v_position2f, 0.0).g), 1.0); +#endif +#ifdef DEBUG_VIEW_10 + vec2 coord = (v_position2f + vec2(0.0, u_depthSliceStartEnd2f.y)) * vec2(1.0, u_depthSliceStartEnd2f.x); + vec4 color2 = textureLod(u_texture1, coord, 0.0); + output4f = vec4(mix(color2.rgb, vec3(textureLod(u_texture0, coord, 0.0).r), color2.a), 1.0); +#endif +#ifdef DEBUG_VIEW_11 + output4f = vec4(vec3(textureLod(u_texture0, v_position2f, 0.0).a * 0.017), 1.0); +#endif +#ifdef DEBUG_VIEW_12 + output4f = vec4(abs(textureLod(u_texture0, v_position2f, 0.0).rgb) * 0.1, 1.0); +#endif +#ifdef DEBUG_VIEW_13 + output4f = vec4(vec3(textureLod(u_texture0, v_position2f, 0.0).g > 0.0 ? 1.0 : 0.0), 1.0); +#endif +#ifdef DEBUG_VIEW_14 + output4f = vec4(textureLod(u_texture0, v_position2f.yx, 0.0).rgb * 2.5, 1.0); + output4f.xyz /= (output4f.xyz + 1.0); + output4f.xyz = sqrt(output4f.xyz); +#endif +#ifdef DEBUG_VIEW_15 + output4f = vec4(vec3(textureLod(u_texture0, v_position2f.yx, 0.0).a > 0.0 ? 1.0 : 0.0), 1.0); +#endif +#ifdef DEBUG_VIEW_16 + output4f = vec4(textureLod(u_texture0, v_position2f, 0.0).rg, 0.0, 1.0); +#endif +#ifdef DEBUG_VIEW_17 + output4f = vec4(vec3(textureLod(u_texture0, v_position2f, 0.0).r) * 10.0, 1.0); + output4f.xyz /= (output4f.xyz + 1.0); + output4f.xyz = sqrt(output4f.xyz); +#endif +#ifdef DEBUG_VIEW_18 + output4f = vec4(vec3(textureLod(u_texture3D0, vec3(v_position2f, u_fuckU1f), 0.0).r), 1.0); +#endif +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/hand_depth_mask.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/hand_depth_mask.fsh new file mode 100644 index 0000000..9386082 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/hand_depth_mask.fsh @@ -0,0 +1,29 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision mediump float; +precision highp sampler2D; + +in vec2 v_position2f; + +uniform sampler2D u_depthTexture; + +void main() { + gl_FragDepth = textureLod(u_depthTexture, v_position2f, 0.0).r <= 0.0000001 ? 0.0 : 1.0; +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/lens_ghosts.bmp b/desktopRuntime/resources/assets/eagler/glsl/deferred/lens_ghosts.bmp new file mode 100644 index 0000000..29fd027 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/lens_ghosts.bmp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/lens_streaks.bmp b/desktopRuntime/resources/assets/eagler/glsl/deferred/lens_streaks.bmp new file mode 100644 index 0000000..1f470c2 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/lens_streaks.bmp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/lens_sun_occlusion.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/lens_sun_occlusion.fsh new file mode 100644 index 0000000..b500d0e --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/lens_sun_occlusion.fsh @@ -0,0 +1,70 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +layout(location = 0) out float occlusionOut1f; + +uniform mat3 u_sampleMatrix3f; +uniform sampler2D u_depthBufferTexture; +uniform sampler2D u_cloudsSunOcclusion; + +#define SAMPLE_DEPTH(v, a, f)\ + f = u_sampleMatrix3f * v;\ + f.xy /= f.z;\ + if(f.xy == clamp(f.xy, vec2(0.001), vec2(0.999)))\ + a += textureLod(u_depthBufferTexture, f.xy, 0.0).r > 0.000001 ? 0.0 : 0.0417; + +void main() { + vec3 f; + float accum = 0.0; + float cloud = textureLod(u_cloudsSunOcclusion, vec2(0.5, 0.5), 0.0).r; + if(cloud < 0.01) { + occlusionOut1f = 0.0; + return; + } + + SAMPLE_DEPTH(vec3(0.0, 0.0, 1.0), accum, f) + SAMPLE_DEPTH(vec3(-0.235, -0.962, 1.0), accum, f) + SAMPLE_DEPTH(vec3(0.029, 0.996, 1.0), accum, f) + SAMPLE_DEPTH(vec3(0.834, -0.509, 1.0), accum, f) + SAMPLE_DEPTH(vec3(-0.981, -0.086, 1.0), accum, f) + SAMPLE_DEPTH(vec3(0.821, 0.478, 1.0), accum, f) + SAMPLE_DEPTH(vec3(-0.614, 0.563, 1.0), accum, f) + SAMPLE_DEPTH(vec3(0.251, -0.578, 1.0), accum, f) + SAMPLE_DEPTH(vec3(-0.571, -0.491, 1.0), accum, f) + SAMPLE_DEPTH(vec3(0.142, 0.494, 1.0), accum, f) + SAMPLE_DEPTH(vec3(0.533, -0.036, 1.0), accum, f) + SAMPLE_DEPTH(vec3(0.970, -0.035, 1.0), accum, f) + SAMPLE_DEPTH(vec3(-0.388, 0.918, 1.0), accum, f) + SAMPLE_DEPTH(vec3(-0.521, 0.067, 1.0), accum, f) + SAMPLE_DEPTH(vec3(-0.140, -0.471, 1.0), accum, f) + SAMPLE_DEPTH(vec3(0.487, 0.692, 1.0), accum, f) + SAMPLE_DEPTH(vec3(-0.157, 0.331, 1.0), accum, f) + SAMPLE_DEPTH(vec3(0.559, -0.760, 1.0), accum, f) + SAMPLE_DEPTH(vec3(0.156, -0.956, 1.0), accum, f) + SAMPLE_DEPTH(vec3(0.181, -0.267, 1.0), accum, f) + SAMPLE_DEPTH(vec3(-0.773, 0.272, 1.0), accum, f) + SAMPLE_DEPTH(vec3(0.329, 0.228, 1.0), accum, f) + SAMPLE_DEPTH(vec3(-0.341, -0.187, 1.0), accum, f) + SAMPLE_DEPTH(vec3(-0.121, 0.689, 1.0), accum, f) + + occlusionOut1f = min(accum * cloud, 1.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/lib/pbr_env_map.glsl b/desktopRuntime/resources/assets/eagler/glsl/deferred/lib/pbr_env_map.glsl new file mode 100644 index 0000000..960b410 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/lib/pbr_env_map.glsl @@ -0,0 +1,122 @@ + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifdef LIB_INCLUDE_PBR_IMAGE_BASED_LIGHTING +#ifndef _HAS_PBR_IMAGE_BASED_LIGHTING_FUNCTION +#define _HAS_PBR_IMAGE_BASED_LIGHTING_FUNCTION + +vec3 eaglercraftIBL_NoBlur(in vec3 albedo, in vec3 irradiance, in vec3 envMapSample, in vec3 viewDir, in vec3 normalVec, in vec3 materials) { + if(materials.g < 0.25) { + return albedo * irradiance * 0.1; + }else { + float roughness = 1.0 - materials.r * 0.85; + float NdotV = dot(normalVec, -viewDir); + float fresnel = pow(max(1.0 - NdotV, 0.0), 5.0); + vec3 kD = vec3(0.05); + vec3 F; + if(materials.g < 0.9) { + F = vec3(materials.g + (max(1.0 - roughness, materials.g) - materials.g) * fresnel); + kD = (1.0 - F) * albedo / 3.141592; + }else if(materials.g < 0.964) { + vec2 lutUV = vec2(0.25, (materials.g - 0.9) * 15.625); + vec3 mN = textureLod(u_metalsLUT, lutUV, 0.0).rgb; + lutUV.x += 0.5; + vec3 mK = textureLod(u_metalsLUT, lutUV, 0.0).rgb; + fresnel = 1.0 - fresnel; + mK *= mK; + mK += mN * mN; + vec3 nv = mN * fresnel * 2.0; + fresnel *= fresnel; + vec3 num = mK - nv + fresnel; + vec3 den = mK + nv + fresnel; + vec3 r = num / den; + mK *= fresnel; + mK += 1.0; + num = mK - nv; + den = mK + nv; + r += num / den; + r = clamp(r * 0.5, vec3(0.0), vec3(1.0)); + F = r * r; + }else { + F = (1.0 - albedo) + albedo * fresnel; + kD = vec3(0.05); + } + vec2 brdf2f = vec2(max(NdotV, 0.0), roughness); + brdf2f = 1.0 - brdf2f; + brdf2f *= brdf2f; + brdf2f = 1.0 - brdf2f; + brdf2f = textureLod(u_brdfLUT, brdf2f, 0.0).rg; + return kD * albedo * irradiance + envMapSample * (F * brdf2f.r + brdf2f.g); + } +} + +#endif +#endif + +#ifdef LIB_INCLUDE_PBR_IMAGE_BASED_LIGHTING_SPECULAR +#ifndef _HAS_PBR_IMAGE_BASED_LIGHTING_SPECULAR_FUNCTION +#define _HAS_PBR_IMAGE_BASED_LIGHTING_SPECULAR_FUNCTION + +#ifdef LIB_INCLUDE_PBR_IMAGE_BASED_LIGHTING_PREFETCH +vec3 eaglercraftIBL_Specular(in vec3 albedo, in vec3 envMapSample, in vec3 viewDir, in vec3 normalVec, in vec3 materials, vec3 metalN, vec3 metalK) { +#else +vec3 eaglercraftIBL_Specular(in vec3 albedo, in vec3 envMapSample, in vec3 viewDir, in vec3 normalVec, in vec3 materials) { +#endif + float NdotV = dot(normalVec, -viewDir); + float roughness = 1.0 - materials.r * 0.85; + float fresnel = pow(max(1.0 - NdotV, 0.0), 5.0); + vec3 F; + if(materials.g < 0.9) { + F = vec3(materials.g + (max(1.0 - roughness, materials.g) - materials.g) * fresnel); + }else if(materials.g < 0.964) { +#ifdef LIB_INCLUDE_PBR_IMAGE_BASED_LIGHTING_PREFETCH + vec3 mN = metalN; + vec3 mK = metalK; +#else + vec2 lutUV = vec2(0.25, (materials.g - 0.9) * 15.625); + vec3 mN = textureLod(u_metalsLUT, lutUV, 0.0).rgb; + lutUV.x += 0.5; + vec3 mK = textureLod(u_metalsLUT, lutUV, 0.0).rgb; +#endif + fresnel = 1.0 - fresnel; + mK *= mK; + mK += mN * mN; + vec3 nv = mN * fresnel * 2.0; + fresnel *= fresnel; + vec3 num = mK - nv + fresnel; + vec3 den = mK + nv + fresnel; + vec3 r = num / den; + mK *= fresnel; + mK += 1.0; + num = mK - nv; + den = mK + nv; + r += num / den; + r = clamp(r * 0.5, vec3(0.0), vec3(1.0)); + F = r * r; + }else { + F = (1.0 - albedo) + albedo * fresnel; + } + vec2 brdf2f = vec2(max(NdotV, 0.0), roughness); + brdf2f = 1.0 - brdf2f; + brdf2f *= brdf2f; + brdf2f = 1.0 - brdf2f; + brdf2f = textureLod(u_brdfLUT, brdf2f, 0.0).rg; + return envMapSample * (F * brdf2f.r + brdf2f.g); +} + +#endif +#endif \ No newline at end of file diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/lib/pbr_lighting.glsl b/desktopRuntime/resources/assets/eagler/glsl/deferred/lib/pbr_lighting.glsl new file mode 100644 index 0000000..4aefafa --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/lib/pbr_lighting.glsl @@ -0,0 +1,88 @@ + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifdef LIB_INCLUDE_PBR_LIGHTING_FUNCTION +#ifndef _HAS_PBR_LIGHTING_FUNCTION +#define _HAS_PBR_LIGHTING_FUNCTION + +#ifdef LIB_INCLUDE_PBR_LIGHTING_PREFETCH +#define PREFETCH_METALS(albedo, materialG1f, metalN3f, metalK3f)\ + if(materialG1f >= 0.9 && materialG1f < 0.964) {\ + metalK3f.xy = vec2(0.25, (materialG1f - 0.9) * 15.625);\ + metalN3f = textureLod(u_metalsLUT, metalK3f.xy, 0.0).rgb;\ + metalK3f.x += 0.5;\ + metalK3f = textureLod(u_metalsLUT, metalK3f.xy, 0.0).rgb;\ + } +#endif + +#ifdef LIB_INCLUDE_PBR_LIGHTING_PREFETCH +vec3 eaglercraftLighting(in vec3 albedo, in vec3 radiance, in vec3 viewDir, in vec3 lightDir, in vec3 normalVec, in vec3 materials, in vec3 metalN, in vec3 metalK) { +#else +vec3 eaglercraftLighting(in vec3 albedo, in vec3 radiance, in vec3 viewDir, in vec3 lightDir, in vec3 normalVec, in vec3 materials) { +#endif + float roughness = 1.0 - materials.r * 0.85; + vec3 H = normalize(viewDir + lightDir); + vec3 NdotHVL = max(normalVec * mat3(H, viewDir, lightDir), vec3(0.0)); + float NDF = roughness * roughness; + NDF *= NDF; + float denom = NdotHVL.x * NdotHVL.x * (NDF - 1.0) + 1.0; + NDF /= denom * denom * 3.141592; + float gs = roughness + 1.0; + gs *= gs * 0.125; + vec2 Ndot = NdotHVL.yz; + Ndot /= Ndot * (1.0 - gs) + gs; + NDF *= Ndot.x * Ndot.y; + float fresnel = pow(max(1.0 - NdotHVL.x, 0.0), 5.0); + vec3 kD = vec3(0.03); + vec3 F; + if(materials.g < 0.9) { + F = vec3(materials.g + (1.0 - materials.g) * fresnel); + kD = (1.0 - F) * albedo / 3.141592; + }else if(materials.g < 0.964) { +#ifdef LIB_INCLUDE_PBR_LIGHTING_PREFETCH + vec3 mN = metalN; + vec3 mK = metalK; +#else + vec2 lutUV = vec2(0.25, (materials.g - 0.9) * 15.625); + vec3 mN = textureLod(u_metalsLUT, lutUV, 0.0).rgb; + lutUV.x += 0.5; + vec3 mK = textureLod(u_metalsLUT, lutUV, 0.0).rgb * length(albedo); +#endif + fresnel = 1.0 - fresnel; + mK *= mK; + mK += mN * mN; + vec3 nv = mN * fresnel * 2.0; + fresnel *= fresnel; + vec3 num = mK - nv + fresnel; + vec3 den = mK + nv + fresnel; + vec3 r = num / den; + mK *= fresnel; + mK += 1.0; + num = mK - nv; + den = mK + nv; + r += num / den; + r = clamp(r * 0.5, vec3(0.0), vec3(1.0)); + F = r * r; + }else { + F = albedo + (1.0 - albedo) * fresnel; + } + denom = 4.0 * NdotHVL.y * NdotHVL.z + 0.0001; + return (kD + (NDF * F / denom)) * radiance * NdotHVL.z; +} + +#endif +#endif diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/lib/waving_blocks.glsl b/desktopRuntime/resources/assets/eagler/glsl/deferred/lib/waving_blocks.glsl new file mode 100644 index 0000000..6e1921e --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/lib/waving_blocks.glsl @@ -0,0 +1,220 @@ + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifdef LIB_INCLUDE_WAVING_BLOCKS_FUNCTION +#ifndef _HAS_INCLUDED_WAVING_BLOCKS +#define _HAS_INCLUDED_WAVING_BLOCKS + +#define _WAVING_BLOCK_TYPE_LEAF_BLOCK 1 +#define _WAVING_BLOCK_TYPE_LEAF_BLOCK_F 1.0 +#define _WAVING_BLOCK_TYPE_TALL_GRASS 2 +#define _WAVING_BLOCK_TYPE_TALL_GRASS_F 2.0 +#define _WAVING_BLOCK_TYPE_CROPS 3 +#define _WAVING_BLOCK_TYPE_CROPS_F 3.0 +#define _WAVING_BLOCK_TYPE_DOUBLE_PLANT_BOTTOM 4 +#define _WAVING_BLOCK_TYPE_DOUBLE_PLANT_BOTTOM_F 4.0 +#define _WAVING_BLOCK_TYPE_DOUBLE_PLANT_TOP 5 +#define _WAVING_BLOCK_TYPE_DOUBLE_PLANT_TOP_F 5.0 +#define _WAVING_BLOCK_TYPE_PLANT 6 +#define _WAVING_BLOCK_TYPE_PLANT_F 6.0 +#define _WAVING_BLOCK_TYPE_SUGARCANE 7 +#define _WAVING_BLOCK_TYPE_SUGARCANE_F 7.0 +#define _WAVING_BLOCK_TYPE_VINES 8 +#define _WAVING_BLOCK_TYPE_VINES_F 8.0 +#define _WAVING_BLOCK_TYPE_WATER_STILL 9 +#define _WAVING_BLOCK_TYPE_WATER_STILL_F 9.0 +#define _WAVING_BLOCK_TYPE_WATER_FLOW 10 +#define _WAVING_BLOCK_TYPE_WATER_FLOW_F 10.0 +#define _WAVING_BLOCK_TYPE_LILYPAD 11 +#define _WAVING_BLOCK_TYPE_LILYPAD_F 11.0 +#define _WAVING_BLOCK_TYPE_FIRE_FLOOR 12 +#define _WAVING_BLOCK_TYPE_FIRE_FLOOR_F 12.0 +#define _WAVING_BLOCK_TYPE_FIRE_WALL 13 +#define _WAVING_BLOCK_TYPE_FIRE_WALL_F 13.0 + +// ignore wall fire for now, they clip +#define _WAVING_BLOCK_MIN _WAVING_BLOCK_TYPE_LEAF_BLOCK_F +#define _WAVING_BLOCK_MAX _WAVING_BLOCK_TYPE_FIRE_FLOOR_F + +#ifndef FAKE_SIN +#error the FAKE_SIN function must be defined to use waving blocks +#endif + +#define _WAVING_BLOCK_COORD_DERIVE_HACK 0.001 +#define _WAVING_BLOCK_COORD_DERIVE_HACK_05 0.0005 +#define _WAVING_BLOCK_COORD_DERIVE_HACK_INV 1000.0 + +vec3 _computeWavingBlockNoise(in vec3 pos, in vec3 amp1, in float timer) { + float fac, fac2; + fac = dot(vec4(pos, timer), vec4(0.5, 0.5, 0.5, 0.0027)); + FAKE_SIN(fac, fac2) + fac2 *= 0.04; + fac2 += 0.04; + vec3 vf0, d0; + vf0 = timer * vec3(0.0127, 0.0089, 0.0114); + FAKE_SIN(vf0, d0); + d0.xyz += d0.yzx; + d0.xyz += timer * vec3(0.0063, 0.0224, 0.0015); + d0.y += pos.z; + d0.xz += pos.y; + d0.xz += pos.zx; + d0.xz -= pos.xz; + vec3 ret; + FAKE_SIN(d0, ret) + ret *= fac2; + return ret * amp1; +} + +vec3 _computeWavingBlockNoise(in vec3 pos, in vec3 vf_a, in vec3 vf_b, in vec3 amp1, in vec3 amp2, in float timer) { + float fac, fac2; + fac = dot(vec4(pos, timer), vec4(0.5, 0.5, 0.5, 0.0027)); + FAKE_SIN(fac, fac2) + fac2 *= 0.04; + fac2 += 0.04; + vec3 vf0, d0; + vf0 = timer * vec3(0.0127, 0.0089, 0.0114); + FAKE_SIN(vf0, d0); + d0.xyz += d0.yzx; + d0.xyz += timer * vec3(0.0063, 0.0224, 0.0015); + d0.y += pos.z; + d0.xz += pos.y; + d0.xz += pos.zx; + d0.xz -= pos.xz; + vec3 ret; + FAKE_SIN(d0, ret) + ret *= fac2; + vec3 move = ret * amp1; + vec3 pos2 = move + pos; + fac = dot(vec4(pos2, timer), vec4(0.5, 0.5, 0.5, 0.0027)); + FAKE_SIN(fac, fac2) + fac2 *= 0.04; + fac2 += 0.04; + vf0 = timer * vf_a; + FAKE_SIN(vf0, d0); + d0.xyz += d0.yzx; + d0.xyz += timer * vf_b; + d0.y += pos2.z; + d0.xz += pos2.y; + d0.xz += pos2.zx; + d0.xz -= pos2.xz; + FAKE_SIN(d0, ret) + ret *= fac2; + move += ret * amp2; + return move; +} + +vec3 _computeWavingBlockById(in vec3 realPos, in vec3 referencePos, in vec4 wavingBlockParam, in float type) { + int typeInt = int(type); + highp float refY, fractY1, fractY2; + refY = referencePos.y; + switch(typeInt) { + case _WAVING_BLOCK_TYPE_CROPS: + refY += 0.0625625; + case _WAVING_BLOCK_TYPE_TALL_GRASS: + case _WAVING_BLOCK_TYPE_PLANT: + case _WAVING_BLOCK_TYPE_DOUBLE_PLANT_BOTTOM: + case _WAVING_BLOCK_TYPE_FIRE_FLOOR: + // check if it is the bottom half of the block, + // if vertex is at Y = 0.0 then don't offset + fractY1 = fract(refY + _WAVING_BLOCK_COORD_DERIVE_HACK_05); + fractY2 = fract(refY - _WAVING_BLOCK_COORD_DERIVE_HACK_05); + if(fractY2 > fractY1) { + return vec3(0.0); + } + default: + break; + } + vec3 ret = vec3(0.0); + switch(typeInt) { + case _WAVING_BLOCK_TYPE_LEAF_BLOCK: + ret = _computeWavingBlockNoise( + referencePos, + vec3(0.0040, 0.0064, 0.0043), + vec3(0.0035, 0.0037, 0.0041), + vec3(1.0, 0.2, 1.0), + vec3(0.5, 0.1, 0.5), + wavingBlockParam.y); + break; + case _WAVING_BLOCK_TYPE_TALL_GRASS: + case _WAVING_BLOCK_TYPE_CROPS: + ret = _computeWavingBlockNoise( + referencePos, + vec3(1.0, 0.2, 1.0), + wavingBlockParam.y); + break; + case _WAVING_BLOCK_TYPE_PLANT: + case _WAVING_BLOCK_TYPE_DOUBLE_PLANT_BOTTOM: + case _WAVING_BLOCK_TYPE_DOUBLE_PLANT_TOP: + ret = _computeWavingBlockNoise( + referencePos, + vec3(0.0041, 0.007, 0.0044), + vec3(0.0038, 0.024, 0.0), + vec3(0.8, 0.0, 0.8), + vec3(0.4, 0.0, 0.4), + wavingBlockParam.y); + break; + case _WAVING_BLOCK_TYPE_SUGARCANE: + ret = _computeWavingBlockNoise( + referencePos, + vec3(0.3, 0.0, 0.3), + wavingBlockParam.y); + break; + case _WAVING_BLOCK_TYPE_VINES: + ret = _computeWavingBlockNoise( + referencePos, + vec3(0.0040, 0.0064, 0.0043), + vec3(0.0035, 0.0037, 0.0041), + vec3(0.5, 0.3, 0.5), + vec3(0.25, 0.2, 0.25), + wavingBlockParam.y); + break; + case _WAVING_BLOCK_TYPE_WATER_STILL: + + break; + case _WAVING_BLOCK_TYPE_WATER_FLOW: + + break; + case _WAVING_BLOCK_TYPE_FIRE_FLOOR: + ret = _computeWavingBlockNoise( + referencePos, + vec3(0.0105, 0.0096, 0.0087), + vec3(0.0063, 0.0097, 0.0156), + vec3(1.2, 0.4, 1.2), + vec3(0.8, 0.8, 0.8), + wavingBlockParam.y); + break; + default: + break; + } + return ret; +} + +#define COMPUTE_WAVING_BLOCKS(pos4f, amount, range, block1f, modelMatrix, viewMatrix, modelViewMatrix, wavingBlockOffset, wavingBlockParam)\ + if(block1f >= _WAVING_BLOCK_MIN && block1f <= _WAVING_BLOCK_MAX) {\ + pos4f = modelMatrix * pos4f;\ + pos4f.xyz /= pos4f.w;\ + pos4f.w = 1.0;\ + if(dot(pos4f.xyz, pos4f.xyz) < range * range) {\ + pos4f.xyz += _computeWavingBlockById(pos4f.xyz, pos4f.xyz + wavingBlockOffset, wavingBlockParam, block1f) * amount * 0.5;\ + }\ + pos4f = viewMatrix * pos4f;\ + }else {\ + pos4f = modelViewMatrix * pos4f;\ + } + +#endif +#endif diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/light_point_mesh.dat b/desktopRuntime/resources/assets/eagler/glsl/deferred/light_point_mesh.dat new file mode 100644 index 0000000..0ff3f49 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/light_point_mesh.dat differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/light_shafts_sample.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/light_shafts_sample.fsh new file mode 100644 index 0000000..85a1509 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/light_shafts_sample.fsh @@ -0,0 +1,160 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; +precision highp sampler2DShadow; + +in vec2 v_position2f; + +layout(location = 0) out float output1f; + +uniform sampler2D u_gbufferDepthTexture; +uniform sampler2DShadow u_sunShadowDepthTexture; +uniform sampler2D u_ditherTexture; + +uniform mat4 u_inverseViewProjMatrix4f; + +uniform vec2 u_ditherScale2f; +uniform vec3 u_eyePosition3f; +uniform float u_sampleStep1f; + +#define SAMPLES_PER_STEP 8.0 +#define SAMPLES_PER_STEP_1 0.125 + +#ifdef COMPILE_SUN_SHADOW_LOD0 +uniform mat4 u_sunShadowMatrixLOD04f; +#define SUN_SHADOW_MAP_FRAC 1.0 +#endif +#ifdef COMPILE_SUN_SHADOW_LOD1 +uniform mat4 u_sunShadowMatrixLOD04f; +uniform mat4 u_sunShadowMatrixLOD14f; +#define SUN_SHADOW_MAP_FRAC 0.5 +#endif +#ifdef COMPILE_SUN_SHADOW_LOD2 +uniform mat4 u_sunShadowMatrixLOD04f; +uniform mat4 u_sunShadowMatrixLOD14f; +uniform mat4 u_sunShadowMatrixLOD24f; +#define SUN_SHADOW_MAP_FRAC 0.3333333 +#endif + +float shadow(in vec3 coords) { + vec4 shadowSpacePosition = u_sunShadowMatrixLOD04f * vec4(coords, 1.0); + if(shadowSpacePosition.xyz == clamp(shadowSpacePosition.xyz, vec3(0.005), vec3(0.995))) { + shadowSpacePosition.y *= SUN_SHADOW_MAP_FRAC; + return textureLod(u_sunShadowDepthTexture, shadowSpacePosition.xyz, 0.0); + } +#if defined(COMPILE_SUN_SHADOW_LOD1) || defined(COMPILE_SUN_SHADOW_LOD2) + shadowSpacePosition = u_sunShadowMatrixLOD14f * vec4(coords, 1.0); + if(shadowSpacePosition.xyz == clamp(shadowSpacePosition.xyz, vec3(0.005), vec3(0.995))) { + shadowSpacePosition.y += 1.0; + shadowSpacePosition.y *= SUN_SHADOW_MAP_FRAC; + return textureLod(u_sunShadowDepthTexture, shadowSpacePosition.xyz, 0.0); + } +#endif +#ifdef COMPILE_SUN_SHADOW_LOD2 + shadowSpacePosition = u_sunShadowMatrixLOD24f * vec4(coords, 1.0); + if(shadowSpacePosition.xyz == clamp(shadowSpacePosition.xyz, vec3(0.005), vec3(0.995))) { + shadowSpacePosition.y += 2.0; + shadowSpacePosition.y *= SUN_SHADOW_MAP_FRAC; + return textureLod(u_sunShadowDepthTexture, shadowSpacePosition.xyz, 0.0); + } +#endif + return -1.0; +} + +#define STEP2DST(stepNum) (stepNum * stepNum * 0.06 + stepNum * 0.05) + +void main() { + output1f = 0.0; + float depth = textureLod(u_gbufferDepthTexture, v_position2f, 0.0).r; + if(depth < 0.00001) { + return; + } + + vec4 fragPos4f = vec4(v_position2f, depth, 1.0); + fragPos4f.xyz *= 2.0; + fragPos4f.xyz -= 1.0; + + fragPos4f = u_inverseViewProjMatrix4f * fragPos4f; + fragPos4f.xyz /= fragPos4f.w; + fragPos4f.w = 1.0; + fragPos4f.xyz -= u_eyePosition3f; + + float viewDist = length(fragPos4f.xyz); + fragPos4f.xyz /= viewDist; + float sampleNum = textureLod(u_ditherTexture, u_ditherScale2f * v_position2f, 0.0).r; + sampleNum += u_sampleStep1f * SAMPLES_PER_STEP + 1.0; + + float cloudSample = STEP2DST(sampleNum); + if(cloudSample > viewDist) return; + cloudSample = shadow(u_eyePosition3f + fragPos4f.xyz * cloudSample); + if(cloudSample < 0.0) return; + output1f += cloudSample * SAMPLES_PER_STEP_1; + + sampleNum += 1.0; + cloudSample = STEP2DST(sampleNum); + if(cloudSample > viewDist) return; + cloudSample = shadow(u_eyePosition3f + fragPos4f.xyz * cloudSample); + if(cloudSample < 0.0) return; + output1f += cloudSample * SAMPLES_PER_STEP_1; + + sampleNum += 1.0; + cloudSample = STEP2DST(sampleNum); + if(cloudSample > viewDist) return; + cloudSample = shadow(u_eyePosition3f + fragPos4f.xyz * cloudSample); + if(cloudSample < 0.0) return; + output1f += cloudSample * SAMPLES_PER_STEP_1; + + sampleNum += 1.0; + cloudSample = STEP2DST(sampleNum); + if(cloudSample > viewDist) return; + cloudSample = shadow(u_eyePosition3f + fragPos4f.xyz * cloudSample); + if(cloudSample < 0.0) return; + output1f += cloudSample * SAMPLES_PER_STEP_1; + + sampleNum += 1.0; + cloudSample = STEP2DST(sampleNum); + if(cloudSample > viewDist) return; + cloudSample = shadow(u_eyePosition3f + fragPos4f.xyz * cloudSample); + if(cloudSample < 0.0) return; + output1f += cloudSample * SAMPLES_PER_STEP_1; + + sampleNum += 1.0; + cloudSample = STEP2DST(sampleNum); + if(cloudSample > viewDist) return; + cloudSample = shadow(u_eyePosition3f + fragPos4f.xyz * cloudSample); + if(cloudSample < 0.0) return; + output1f += cloudSample * SAMPLES_PER_STEP_1; + + sampleNum += 1.0; + cloudSample = STEP2DST(sampleNum); + if(cloudSample > viewDist) return; + cloudSample = shadow(u_eyePosition3f + fragPos4f.xyz * cloudSample); + if(cloudSample < 0.0) return; + output1f += cloudSample * SAMPLES_PER_STEP_1; + + sampleNum += 1.0; + cloudSample = STEP2DST(sampleNum); + if(cloudSample > viewDist) return; + cloudSample = shadow(u_eyePosition3f + fragPos4f.xyz * cloudSample); + if(cloudSample < 0.0) return; + output1f += cloudSample * SAMPLES_PER_STEP_1; + +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/lighting_mesh.vsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/lighting_mesh.vsh new file mode 100644 index 0000000..4703532 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/lighting_mesh.vsh @@ -0,0 +1,29 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +layout(location = 0) in vec3 a_position3f; + +uniform mat4 u_modelViewProjMatrix4f; + +void main() { + gl_Position = u_modelViewProjMatrix4f * vec4(a_position3f, 1.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/lighting_point.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/lighting_point.fsh new file mode 100644 index 0000000..a771f2e --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/lighting_point.fsh @@ -0,0 +1,88 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +layout(location = 0) out vec4 output4f; + +uniform sampler2D u_gbufferColorTexture; +uniform sampler2D u_gbufferNormalTexture; +uniform sampler2D u_gbufferMaterialTexture; + +uniform sampler2D u_gbufferDepthTexture; +uniform sampler2D u_metalsLUT; + +uniform mat4 u_inverseProjectionMatrix4f; +uniform mat4 u_inverseViewMatrix4f; + +uniform vec2 u_viewportSize2f; +uniform vec3 u_lightPosition3f; +uniform vec3 u_lightColor3f; + +#define LIB_INCLUDE_PBR_LIGHTING_FUNCTION +#EAGLER INCLUDE (3) "eagler:glsl/deferred/lib/pbr_lighting.glsl" + +void main() { + vec2 v_position2f = gl_FragCoord.xy * u_viewportSize2f; + vec3 diffuseColor3f; + vec3 normalVector3f; + vec2 lightmapCoords2f; + vec3 materialData3f; + + float depth = textureLod(u_gbufferDepthTexture, v_position2f, 0.0).r; + if(depth < 0.00001) { + discard; + } + + vec4 worldSpacePosition = vec4(v_position2f, depth, 1.0); + worldSpacePosition.xyz *= 2.0; + worldSpacePosition.xyz -= 1.0; + worldSpacePosition = u_inverseProjectionMatrix4f * worldSpacePosition; + vec4 worldSpacePosition2 = worldSpacePosition; + worldSpacePosition = u_inverseViewMatrix4f * worldSpacePosition; + vec3 lightDist = (worldSpacePosition.xyz / worldSpacePosition.w) - u_lightPosition3f; + vec3 color3f = u_lightColor3f / dot(lightDist, lightDist); + + if(color3f.r + color3f.g + color3f.b < 0.025) { + discard; + } + + vec4 sampleVar4f = textureLod(u_gbufferColorTexture, v_position2f, 0.0); + diffuseColor3f.rgb = sampleVar4f.rgb; + lightmapCoords2f.x = sampleVar4f.a; + sampleVar4f = textureLod(u_gbufferNormalTexture, v_position2f, 0.0); + normalVector3f.xyz = sampleVar4f.rgb * 2.0 - 1.0; + lightmapCoords2f.y = sampleVar4f.a; + materialData3f = textureLod(u_gbufferMaterialTexture, v_position2f, 0.0).rgb; + + vec3 worldSpaceNormal = normalize(mat3(u_inverseViewMatrix4f) * normalVector3f); + + vec3 lightDir3f = normalize(lightDist); + lightDir3f = materialData3f.b == 1.0 ? worldSpaceNormal : -lightDir3f; + + if(dot(lightDir3f, worldSpaceNormal) <= 0.0) { + discard; + } + + diffuseColor3f *= diffuseColor3f; + worldSpacePosition2 = u_inverseViewMatrix4f * vec4(worldSpacePosition2.xyz / worldSpacePosition2.w, 0.0); + worldSpacePosition2.xyz = normalize(worldSpacePosition2.xyz); + output4f = vec4(eaglercraftLighting(diffuseColor3f, color3f, -worldSpacePosition2.xyz, lightDir3f, worldSpaceNormal, materialData3f), 0.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/lighting_sun.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/lighting_sun.fsh new file mode 100644 index 0000000..0edbba4 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/lighting_sun.fsh @@ -0,0 +1,102 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec2 v_position2f; + +layout(location = 0) out vec4 output4f; + +uniform sampler2D u_gbufferColorTexture; +uniform sampler2D u_gbufferNormalTexture; +uniform sampler2D u_gbufferMaterialTexture; + +uniform sampler2D u_gbufferDepthTexture; +uniform sampler2D u_metalsLUT; + +uniform mat4 u_inverseViewMatrix4f; +uniform mat4 u_inverseProjectionMatrix4f; + +#ifdef COMPILE_SUN_SHADOW +uniform sampler2D u_sunShadowTexture; +#endif + +uniform vec3 u_sunDirection3f; +uniform vec3 u_sunColor3f; + +#define LIB_INCLUDE_PBR_LIGHTING_FUNCTION +#EAGLER INCLUDE (3) "eagler:glsl/deferred/lib/pbr_lighting.glsl" + +void main() { + vec3 diffuseColor3f; + vec3 normalVector3f; + vec2 lightmapCoords2f; + vec3 materialData3f; + +#ifdef COMPILE_SUN_SHADOW +#ifdef COMPILE_COLORED_SHADOW + vec4 shadow = textureLod(u_sunShadowTexture, v_position2f, 0.0); + if(shadow.a < 0.05) { + discard; + } +#else + vec3 shadow = vec3(textureLod(u_sunShadowTexture, v_position2f, 0.0).r); + if(shadow.r < 0.05) { + discard; + } +#endif +#endif + + vec4 sampleVar4f = textureLod(u_gbufferNormalTexture, v_position2f, 0.0); + +#ifndef COMPILE_SUN_SHADOW + vec3 shadow = vec3(sampleVar4f.a, 0.0, 0.0); + if(shadow.r < 0.5) { + discard; + } + shadow = vec3(max(shadow.r * 2.0 - 1.0, 0.0)); +#endif + + normalVector3f.xyz = sampleVar4f.rgb * 2.0 - 1.0; + lightmapCoords2f.y = sampleVar4f.a; + + float depth = textureLod(u_gbufferDepthTexture, v_position2f, 0.0).r; + +#ifndef COMPILE_SUN_SHADOW + if(depth < 0.00001) { + discard; + } +#endif + + sampleVar4f = textureLod(u_gbufferColorTexture, v_position2f, 0.0); + diffuseColor3f.rgb = sampleVar4f.rgb; + lightmapCoords2f.x = sampleVar4f.a; + materialData3f = textureLod(u_gbufferMaterialTexture, v_position2f, 0.0).rgb; + + vec3 worldSpaceNormal = normalize(mat3(u_inverseViewMatrix4f) * normalVector3f); + vec4 worldSpacePosition = vec4(v_position2f, depth, 1.0); + worldSpacePosition.xyz *= 2.0; + worldSpacePosition.xyz -= 1.0; + worldSpacePosition = u_inverseProjectionMatrix4f * worldSpacePosition; + worldSpacePosition = u_inverseViewMatrix4f * vec4(worldSpacePosition.xyz / worldSpacePosition.w, 0.0); + + diffuseColor3f *= diffuseColor3f; + output4f = vec4(eaglercraftLighting(diffuseColor3f, u_sunColor3f * shadow.rgb, normalize(-worldSpacePosition.xyz), u_sunDirection3f, worldSpaceNormal, materialData3f), 0.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/material_block_constants.csv b/desktopRuntime/resources/assets/eagler/glsl/deferred/material_block_constants.csv new file mode 100644 index 0000000..1c4f7a2 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/material_block_constants.csv @@ -0,0 +1,583 @@ +textureId,smoothness,reflectance,emission +blocks/anvil_base,158,230,0 +blocks/anvil_top_damaged_0,150,230,0 +blocks/anvil_top_damaged_1,143,230,0 +blocks/anvil_top_damaged_2,158,230,0 +blocks/beacon,158,16,200 +blocks/bed_feet_end,31,10,0 +blocks/bed_feet_side,28,9,0 +blocks/bed_feet_top,61,13,0 +blocks/bed_head_end,31,10,0 +blocks/bed_head_side,31,9,0 +blocks/bed_head_top,80,13,0 +blocks/bedrock,46,5,0 +blocks/bookshelf,64,13,0 +blocks/brewing_stand,130,47,0 +blocks/brewing_stand_base,149,10,0 +blocks/brick,37,8,0 +blocks/cactus_bottom,60,7,0 +blocks/cactus_side,71,7,0 +blocks/cactus_top,71,7,0 +blocks/cake_bottom,64,4,0 +blocks/cake_inner,29,3,0 +blocks/cake_side,43,3,0 +blocks/cake_top,127,10,0 +blocks/carrots_stage_0,71,7,0 +blocks/carrots_stage_1,71,7,0 +blocks/carrots_stage_2,71,7,0 +blocks/carrots_stage_3,71,7,0 +blocks/cauldron_bottom,38,230,0 +blocks/cauldron_inner,122,230,0 +blocks/cauldron_side,110,230,0 +blocks/cauldron_top,76,230,0 +blocks/clay,133,13,0 +blocks/coal_block,155,20,0 +blocks/coal_ore,84,10,0 +blocks/coarse_dirt,50,4,0 +blocks/cobblestone,83,10,0 +blocks/cobblestone_mossy,117,8,0 +blocks/cocoa_stage_0,133,8,0 +blocks/cocoa_stage_1,146,8,0 +blocks/cocoa_stage_2,156,8,0 +blocks/command_block,136,99,8 +blocks/comparator_off,115,5,0 +blocks/comparator_on,115,5,14 +blocks/crafting_table_front,113,29,0 +blocks/crafting_table_side,104,20,0 +blocks/crafting_table_top,97,14,0 +blocks/daylight_detector_inverted_top,95,6,0 +blocks/daylight_detector_side,70,5,0 +blocks/daylight_detector_top,95,6,0 +blocks/deadbush,18,10,0 +blocks/diamond_block,235,150,0 +blocks/diamond_ore,90,25,0 +blocks/dirt,50,4,0 +blocks/dirt_podzol_side,27,1,0 +blocks/dirt_podzol_top,47,15,0 +blocks/dispenser_front_horizontal,138,9,0 +blocks/dispenser_front_vertical,114,9,0 +blocks/door_acacia_lower,92,2,0 +blocks/door_acacia_upper,91,5,0 +blocks/door_birch_lower,79,14,0 +blocks/door_birch_upper,110,14,0 +blocks/door_dark_oak_lower,88,3,0 +blocks/door_dark_oak_upper,87,4,0 +blocks/door_iron_lower,214,230,0 +blocks/door_iron_upper,214,230,0 +blocks/door_jungle_lower,56,2,0 +blocks/door_jungle_upper,58,5,0 +blocks/door_spruce_lower,57,16,0 +blocks/door_spruce_upper,58,17,0 +blocks/door_wood_lower,70,2,0 +blocks/door_wood_upper,74,6,0 +blocks/double_plant_fern_bottom,71,7,0 +blocks/double_plant_fern_top,71,7,0 +blocks/double_plant_grass_bottom,71,7,0 +blocks/double_plant_grass_top,71,7,0 +blocks/double_plant_paeonia_bottom,71,7,0 +blocks/double_plant_paeonia_top,71,7,0 +blocks/double_plant_rose_bottom,71,7,0 +blocks/double_plant_rose_top,71,7,0 +blocks/double_plant_sunflower_back,71,7,0 +blocks/double_plant_sunflower_bottom,71,7,0 +blocks/double_plant_sunflower_front,71,7,0 +blocks/double_plant_sunflower_top,71,7,0 +blocks/double_plant_syringa_bottom,71,7,0 +blocks/double_plant_syringa_top,71,7,0 +blocks/dragon_egg,45,15,16 +blocks/dropper_front_horizontal,138,9,0 +blocks/dropper_front_vertical,112,9,0 +blocks/emerald_block,228,130,0 +blocks/emerald_ore,93,26,0 +blocks/enchanting_table_bottom,210,120,0 +blocks/enchanting_table_side,199,8,0 +blocks/enchanting_table_top,118,16,0 +blocks/end_stone,107,15,0 +blocks/endframe_eye,144,37,46 +blocks/endframe_side,141,19,0 +blocks/endframe_top,144,13,0 +blocks/farmland_dry,60,5,0 +blocks/farmland_wet,41,40,0 +blocks/fern,71,7,0 +blocks/fire_layer_0,30,5,162 +blocks/fire_layer_1,30,5,159 +blocks/flower_allium,71,7,0 +blocks/flower_blue_orchid,71,7,0 +blocks/flower_dandelion,71,7,0 +blocks/flower_houstonia,71,7,0 +blocks/flower_oxeye_daisy,71,7,0 +blocks/flower_pot,59,5,0 +blocks/flower_rose,71,7,0 +blocks/flower_tulip_orange,71,7,0 +blocks/flower_tulip_pink,71,7,0 +blocks/flower_tulip_red,71,7,0 +blocks/flower_tulip_white,71,7,0 +blocks/furnace_front_off,102,6,0 +blocks/furnace_front_on,102,7,25 +blocks/furnace_side,140,10,0 +blocks/furnace_top,114,10,0 +blocks/glass,210,100,0 +blocks/glass_black,230,100,0 +blocks/glass_blue,230,100,0 +blocks/glass_brown,230,100,0 +blocks/glass_cyan,230,100,0 +blocks/glass_gray,230,100,0 +blocks/glass_green,230,100,0 +blocks/glass_light_blue,230,100,0 +blocks/glass_lime,230,100,0 +blocks/glass_magenta,230,100,0 +blocks/glass_orange,230,100,0 +blocks/glass_pane_top,230,100,0 +blocks/glass_pane_top_black,230,100,0 +blocks/glass_pane_top_blue,230,100,0 +blocks/glass_pane_top_brown,230,100,0 +blocks/glass_pane_top_cyan,230,100,0 +blocks/glass_pane_top_gray,230,100,0 +blocks/glass_pane_top_green,230,100,0 +blocks/glass_pane_top_light_blue,230,100,0 +blocks/glass_pane_top_lime,230,100,0 +blocks/glass_pane_top_magenta,230,100,0 +blocks/glass_pane_top_orange,230,100,0 +blocks/glass_pane_top_pink,230,100,0 +blocks/glass_pane_top_purple,230,100,0 +blocks/glass_pane_top_red,230,100,0 +blocks/glass_pane_top_silver,230,100,0 +blocks/glass_pane_top_white,230,100,0 +blocks/glass_pane_top_yellow,230,100,0 +blocks/glass_pink,230,100,0 +blocks/glass_purple,230,100,0 +blocks/glass_red,230,100,0 +blocks/glass_silver,230,100,0 +blocks/glass_white,230,100,0 +blocks/glass_yellow,230,100,0 +blocks/glowstone,194,60,150 +blocks/gold_block,218,231,0 +blocks/gold_ore,96,37,0 +blocks/grass_side,50,4,0 +blocks/grass_side_overlay,12,5,0 +blocks/grass_side_snowed,146,15,0 +blocks/grass_top,12,5,0 +blocks/gravel,68,5,0 +blocks/hardened_clay,59,5,0 +blocks/hardened_clay_stained_black,59,5,0 +blocks/hardened_clay_stained_blue,59,5,0 +blocks/hardened_clay_stained_brown,59,5,0 +blocks/hardened_clay_stained_cyan,59,5,0 +blocks/hardened_clay_stained_gray,59,5,0 +blocks/hardened_clay_stained_green,59,5,0 +blocks/hardened_clay_stained_light_blue,59,5,0 +blocks/hardened_clay_stained_lime,59,5,0 +blocks/hardened_clay_stained_magenta,59,5,0 +blocks/hardened_clay_stained_orange,59,5,0 +blocks/hardened_clay_stained_pink,59,5,0 +blocks/hardened_clay_stained_purple,59,5,0 +blocks/hardened_clay_stained_red,59,5,0 +blocks/hardened_clay_stained_silver,59,5,0 +blocks/hardened_clay_stained_white,59,5,0 +blocks/hardened_clay_stained_yellow,59,5,0 +blocks/hay_block_side,112,12,0 +blocks/hay_block_top,114,13,0 +blocks/hopper_inside,71,230,0 +blocks/hopper_outside,173,230,0 +blocks/hopper_top,105,230,0 +blocks/ice,180,70,0 +blocks/ice_packed,168,40,0 +blocks/iron_bars,64,230,0 +blocks/iron_block,232,230,0 +blocks/iron_ore,95,15,0 +blocks/iron_trapdoor,214,230,0 +blocks/itemframe_background,0,0,0 +blocks/jukebox_side,89,13,0 +blocks/jukebox_top,83,13,0 +blocks/ladder,30,6,0 +blocks/lapis_block,222,20,0 +blocks/lapis_ore,96,10,0 +blocks/lava_flow,30,15,200 +blocks/lava_still,30,15,200 +blocks/leaves_acacia,60,10,0 +blocks/leaves_big_oak,105,4,0 +blocks/leaves_birch,73,5,0 +blocks/leaves_jungle,71,7,0 +blocks/leaves_oak,77,6,0 +blocks/leaves_spruce,59,6,0 +blocks/lever,97,10,0 +blocks/log_acacia,15,10,0 +blocks/log_acacia_top,9,10,0 +blocks/log_big_oak,26,10,0 +blocks/log_big_oak_top,20,10,0 +blocks/log_birch,24,5,0 +blocks/log_birch_top,20,10,0 +blocks/log_jungle,14,10,0 +blocks/log_jungle_top,20,10,0 +blocks/log_oak,18,10,0 +blocks/log_oak_top,20,10,0 +blocks/log_spruce,23,10,0 +blocks/log_spruce_top,21,10,0 +blocks/melon_side,156,14,0 +blocks/melon_stem_connected,18,10,0 +blocks/melon_stem_disconnected,18,10,0 +blocks/melon_top,153,14,0 +blocks/mob_spawner,71,230,0 +blocks/mushroom_block_inside,151,10,0 +blocks/mushroom_block_skin_brown,96,10,0 +blocks/mushroom_block_skin_red,148,10,0 +blocks/mushroom_block_skin_stem,142,10,0 +blocks/mushroom_brown,96,10,0 +blocks/mushroom_red,148,10,0 +blocks/mycelium_side,63,15,0 +blocks/mycelium_top,70,15,0 +blocks/nether_brick,37,15,0 +blocks/nether_wart_stage_0,11,5,0 +blocks/nether_wart_stage_1,30,5,0 +blocks/nether_wart_stage_2,39,5,0 +blocks/netherrack,20,10,0 +blocks/noteblock,89,13,0 +blocks/obsidian,210,120,0 +blocks/piston_bottom,80,4,0 +blocks/piston_inner,87,4,0 +blocks/piston_side,104,22,0 +blocks/piston_top_normal,109,25,0 +blocks/piston_top_sticky,116,28,0 +blocks/planks_acacia,92,11,0 +blocks/planks_big_oak,92,11,0 +blocks/planks_birch,92,11,0 +blocks/planks_jungle,92,11,0 +blocks/planks_oak,92,11,0 +blocks/planks_spruce,92,11,0 +blocks/portal,71,7,120 +blocks/potatoes_stage_0,71,7,0 +blocks/potatoes_stage_1,71,7,0 +blocks/potatoes_stage_2,71,7,0 +blocks/potatoes_stage_3,71,7,0 +blocks/prismarine_bricks,230,20,0 +blocks/prismarine_dark,194,26,0 +blocks/prismarine_rough,115,33,0 +blocks/pumpkin_face_off,56,15,0 +blocks/pumpkin_face_on,56,15,74 +blocks/pumpkin_side,52,15,0 +blocks/pumpkin_stem_connected,18,10,0 +blocks/pumpkin_stem_disconnected,18,10,0 +blocks/pumpkin_top,130,15,0 +blocks/quartz_block_bottom,220,60,0 +blocks/quartz_block_chiseled,220,60,0 +blocks/quartz_block_chiseled_top,220,60,0 +blocks/quartz_block_lines,220,60,0 +blocks/quartz_block_lines_top,220,60,0 +blocks/quartz_block_side,220,60,0 +blocks/quartz_block_top,220,60,0 +blocks/quartz_ore,45,10,0 +blocks/rail_activator,84,50,0 +blocks/rail_activator_powered,84,50,32 +blocks/rail_detector,102,62,0 +blocks/rail_detector_powered,102,62,32 +blocks/rail_golden,112,75,0 +blocks/rail_golden_powered,112,75,48 +blocks/rail_normal,85,50,0 +blocks/rail_normal_turned,85,50,0 +blocks/red_sand,32,2,0 +blocks/red_sandstone_bottom,52,10,0 +blocks/red_sandstone_carved,90,10,0 +blocks/red_sandstone_normal,43,10,0 +blocks/red_sandstone_smooth,90,10,0 +blocks/red_sandstone_top,128,15,0 +blocks/redstone_block,184,15,0 +blocks/redstone_dust_cross,100,5,0 +blocks/redstone_dust_cross_overlay,100,5,0 +blocks/redstone_dust_line,100,5,0 +blocks/redstone_dust_line_overlay,100,5,0 +blocks/redstone_lamp_off,191,20,0 +blocks/redstone_lamp_on,191,20,132 +blocks/redstone_ore,88,10,0 +blocks/redstone_torch_off,135,9,0 +blocks/redstone_torch_on,135,9,64 +blocks/reeds,71,7,0 +blocks/repeater_off,151,5,0 +blocks/repeater_on,151,5,32 +blocks/sand,46,8,0 +blocks/sandstone_bottom,52,8,0 +blocks/sandstone_carved,113,10,0 +blocks/sandstone_normal,43,10,0 +blocks/sandstone_smooth,90,10,0 +blocks/sandstone_top,128,15,0 +blocks/sapling_acacia,71,7,0 +blocks/sapling_birch,71,7,0 +blocks/sapling_jungle,71,7,0 +blocks/sapling_oak,71,7,0 +blocks/sapling_roofed_oak,71,7,0 +blocks/sapling_spruce,71,7,0 +blocks/sea_lantern,194,60,80 +blocks/slime,209,0,0 +blocks/snow,146,15,0 +blocks/soul_sand,35,15,0 +blocks/sponge,38,11,0 +blocks/sponge_wet,240,16,0 +blocks/stone,77,10,0 +blocks/stone_andesite,50,9,0 +blocks/stone_andesite_smooth,230,20,0 +blocks/stone_diorite,54,9,0 +blocks/stone_diorite_smooth,230,20,0 +blocks/stone_granite,38,9,0 +blocks/stone_granite_smooth,230,20,0 +blocks/stone_slab_side,120,20,0 +blocks/stone_slab_top,120,20,0 +blocks/stonebrick,70,10,0 +blocks/stonebrick_carved,58,10,0 +blocks/stonebrick_cracked,37,10,0 +blocks/stonebrick_mossy,53,9,0 +blocks/tallgrass,71,7,0 +blocks/tnt_bottom,78,5,0 +blocks/tnt_side,94,15,0 +blocks/tnt_top,61,5,0 +blocks/torch_on,135,9,128 +blocks/trapdoor,43,5,0 +blocks/trip_wire,230,20,0 +blocks/trip_wire_source,132,142,0 +blocks/vine,116,13,0 +blocks/water_flow,220,40,0 +blocks/water_still,220,40,0 +blocks/waterlily,78,15,0 +blocks/web,230,20,0 +blocks/wheat_stage_0,71,7,0 +blocks/wheat_stage_1,71,7,0 +blocks/wheat_stage_2,71,7,0 +blocks/wheat_stage_3,71,7,0 +blocks/wheat_stage_4,71,7,0 +blocks/wheat_stage_5,71,7,0 +blocks/wheat_stage_6,71,7,0 +blocks/wheat_stage_7,71,7,0 +blocks/wool_colored_black,50,10,0 +blocks/wool_colored_blue,50,10,0 +blocks/wool_colored_brown,50,10,0 +blocks/wool_colored_cyan,50,10,0 +blocks/wool_colored_gray,50,10,0 +blocks/wool_colored_green,50,10,0 +blocks/wool_colored_light_blue,50,10,0 +blocks/wool_colored_lime,50,10,0 +blocks/wool_colored_magenta,50,10,0 +blocks/wool_colored_orange,50,10,0 +blocks/wool_colored_pink,50,10,0 +blocks/wool_colored_purple,50,10,0 +blocks/wool_colored_red,50,10,0 +blocks/wool_colored_silver,50,10,0 +blocks/wool_colored_white,50,10,0 +blocks/wool_colored_yellow,50,10,0 +default,64,2,0 +items/apple,90,25,0 +items/apple_golden,150,231,0 +items/arrow,64,2,0 +items/barrier,64,2,0 +items/bed,80,15,0 +items/beef_cooked,70,10,0 +items/beef_raw,50,20,0 +items/blaze_powder,64,15,30 +items/blaze_rod,75,20,30 +items/boat,90,11,0 +items/bone,110,40,0 +items/book_enchanted,64,10,0 +items/book_normal,64,10,0 +items/book_writable,64,10,0 +items/book_written,64,10,0 +items/bow_pulling_0,80,15,0 +items/bow_pulling_1,80,15,0 +items/bow_pulling_2,80,15,0 +items/bow_standby,80,15,0 +items/bowl,90,10,0 +items/bread,75,5,0 +items/brewing_stand,64,10,0 +items/brick,40,8,0 +items/bucket_empty,110,230,0 +items/bucket_lava,110,230,0 +items/bucket_milk,110,230,0 +items/bucket_water,110,230,32 +items/cake,70,10,0 +items/carrot,64,5,0 +items/carrot_golden,90,231,0 +items/carrot_on_a_stick,80,10,0 +items/cauldron,75,230,0 +items/chainmail_boots,100,230,0 +items/chainmail_chestplate,100,230,0 +items/chainmail_helmet,100,230,0 +items/chainmail_leggings,100,230,0 +items/charcoal,130,20,0 +items/chicken_cooked,64,20,0 +items/chicken_raw,50,20,0 +items/clay_ball,120,13,0 +items/clock,90,230,0 +items/coal,130,20,0 +items/comparator,115,5,0 +items/compass,80,230,0 +items/cookie,64,5,0 +items/diamond,200,120,0 +items/diamond_axe,80,10,0 +items/diamond_boots,200,120,0 +items/diamond_chestplate,200,120,0 +items/diamond_helmet,200,120,0 +items/diamond_hoe,80,10,0 +items/diamond_horse_armor,200,120,0 +items/diamond_leggings,200,120,0 +items/diamond_pickaxe,80,10,0 +items/diamond_shovel,80,10,0 +items/diamond_sword,80,10,0 +items/door_acacia,66,25,0 +items/door_birch,66,25,0 +items/door_dark_oak,66,25,0 +items/door_iron,200,230,0 +items/door_jungle,66,25,0 +items/door_spruce,66,25,0 +items/door_wood,66,25,0 +items/dye_powder_black,64,5,0 +items/dye_powder_blue,64,5,0 +items/dye_powder_brown,64,5,0 +items/dye_powder_cyan,64,5,0 +items/dye_powder_gray,64,5,0 +items/dye_powder_green,64,5,0 +items/dye_powder_light_blue,64,5,0 +items/dye_powder_lime,64,5,0 +items/dye_powder_magenta,64,5,0 +items/dye_powder_orange,64,5,0 +items/dye_powder_pink,64,5,0 +items/dye_powder_purple,64,5,0 +items/dye_powder_red,64,5,0 +items/dye_powder_silver,64,5,0 +items/dye_powder_white,64,5,0 +items/dye_powder_yellow,64,5,0 +items/egg,75,15,0 +items/emerald,228,130,0 +items/ender_eye,80,10,40 +items/ender_pearl,80,10,0 +items/experience_bottle,210,100,0 +items/feather,64,10,0 +items/fireball,64,5,40 +items/fireworks,80,20,0 +items/fireworks_charge,70,15,0 +items/fireworks_charge_overlay,70,15,0 +items/fish_clownfish_raw,90,25,0 +items/fish_cod_cooked,70,10,0 +items/fish_cod_raw,90,25,0 +items/fish_pufferfish_raw,90,25,0 +items/fish_salmon_cooked,70,10,0 +items/fish_salmon_raw,90,25,0 +items/fishing_rod_cast,80,10,0 +items/fishing_rod_uncast,80,10,0 +items/flint,110,30,0 +items/flint_and_steel,90,230,0 +items/flower_pot,80,5,0 +items/ghast_tear,120,50,0 +items/glowstone_dust,120,20,70 +items/gold_axe,80,10,0 +items/gold_boots,200,231,0 +items/gold_chestplate,200,231,0 +items/gold_helmet,200,231,0 +items/gold_hoe,80,10,0 +items/gold_horse_armor,200,231,0 +items/gold_ingot,200,231,0 +items/gold_leggings,200,231,0 +items/gold_nugget,200,231,0 +items/gold_pickaxe,80,10,0 +items/gold_shovel,80,10,0 +items/gold_sword,80,10,0 +items/gunpowder,64,15,0 +items/hopper,90,230,0 +items/iron_axe,80,10,0 +items/iron_boots,200,230,0 +items/iron_chestplate,200,230,0 +items/iron_helmet,200,230,0 +items/iron_hoe,80,10,0 +items/iron_horse_armor,200,230,0 +items/iron_ingot,200,230,0 +items/iron_leggings,200,230,0 +items/iron_pickaxe,80,10,0 +items/iron_shovel,80,10,0 +items/iron_sword,80,10,0 +items/item_frame,70,20,0 +items/lead,64,5,0 +items/leather,70,15,0 +items/leather_boots,70,15,0 +items/leather_boots_overlay,70,15,0 +items/leather_chestplate,70,15,0 +items/leather_chestplate_overlay,70,15,0 +items/leather_helmet,70,15,0 +items/leather_helmet_overlay,70,15,0 +items/leather_leggings,70,15,0 +items/leather_leggings_overlay,70,15,0 +items/magma_cream,90,20,32 +items/map_empty,64,10,0 +items/map_filled,64,10,0 +items/melon,90,15,0 +items/melon_speckled,90,25,20 +items/minecart_chest,110,230,0 +items/minecart_command_block,110,230,0 +items/minecart_furnace,110,230,0 +items/minecart_hopper,110,230,0 +items/minecart_normal,110,230,0 +items/minecart_tnt,110,230,0 +items/mushroom_stew,90,10,0 +items/mutton_cooked,70,10,0 +items/mutton_raw,50,20,0 +items/name_tag,64,5,0 +items/nether_star,90,20,50 +items/nether_wart,45,20,0 +items/netherbrick,37,15,0 +items/painting,70,20,0 +items/paper,64,10,0 +items/porkchop_cooked,70,10,0 +items/porkchop_raw,50,20,0 +items/potato,60,10,0 +items/potato_baked,60,10,0 +items/potato_poisonous,60,5,0 +items/potion_bottle_drinkable,210,100,0 +items/potion_bottle_empty,210,100,0 +items/potion_bottle_splash,210,100,0 +items/potion_overlay,210,100,0 +items/prismarine_crystals,230,90,0 +items/prismarine_shard,230,20,0 +items/pumpkin_pie,90,25,0 +items/quartz,220,60,0 +items/rabbit_cooked,70,10,0 +items/rabbit_foot,64,5,0 +items/rabbit_hide,70,15,0 +items/rabbit_raw,50,20,0 +items/rabbit_stew,90,10,0 +items/record_11,135,40,0 +items/record_13,135,40,0 +items/record_blocks,135,40,0 +items/record_cat,135,40,0 +items/record_chirp,135,40,0 +items/record_far,135,40,0 +items/record_mall,135,40,0 +items/record_mellohi,135,40,0 +items/record_stal,135,40,0 +items/record_strad,135,40,0 +items/record_wait,135,40,0 +items/record_ward,135,40,0 +items/redstone_dust,70,10,0 +items/reeds,70,7,0 +items/repeater,115,5,0 +items/rotten_flesh,70,15,0 +items/saddle,70,15,0 +items/seeds_melon,64,5,0 +items/seeds_pumpkin,64,5,0 +items/seeds_wheat,64,5,0 +items/shears,90,230,0 +items/sign,90,15,0 +items/slimeball,150,50,0 +items/snowball,130,20,0 +items/spawn_egg,75,15,0 +items/spawn_egg_overlay,75,15,0 +items/spider_eye,100,30,0 +items/spider_eye_fermented,100,40,0 +items/stick,80,10,0 +items/stone_axe,80,10,0 +items/stone_hoe,80,10,0 +items/stone_pickaxe,80,10,0 +items/stone_shovel,80,10,0 +items/stone_sword,80,10,0 +items/string,80,25,0 +items/sugar,100,30,0 +items/wheat,110,15,0 +items/wood_axe,80,10,0 +items/wood_hoe,80,10,0 +items/wood_pickaxe,80,10,0 +items/wood_shovel,80,10,0 +items/wood_sword,80,10,0 +items/wooden_armorstand,80,10,0 diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/metals.csv b/desktopRuntime/resources/assets/eagler/glsl/deferred/metals.csv new file mode 100644 index 0000000..80c2dbb --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/metals.csv @@ -0,0 +1,9 @@ +Metal,ID,Nr,Ng,Nb,Kr,Kg,Kb +Iron,230,2.9114,2.9497,2.5845,3.0893,2.9318,2.7670 +Gold,231,0.18299,0.42108,1.3734,3.4242,2.3459,1.7704 +Aluminum,232,1.3456,0.96521,0.61722,7.4746,6.3995,5.3031 +Chrome,233,3.1071,3.1812,2.3230,3.3314,3.3291,3.1350 +Copper,234,0.27105,0.67693,1.3164,3.6092,2.6248,2.2921 +Lead,235,1.9100,1.8300,1.4400,3.5100,3.4000,3.1800 +Platinum,236,2.3757,2.0847,1.8453,4.2655,3.7153,3.1365 +Silver,237,0.15943,0.14512,0.13547,3.9291,3.1900,2.3808 \ No newline at end of file diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/moon_render.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/moon_render.fsh new file mode 100644 index 0000000..190b5cc --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/moon_render.fsh @@ -0,0 +1,52 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec2 v_position2f; +in vec3 v_position3f; + +layout(location = 0) out vec4 output4f; + +uniform vec3 u_moonColor3f; +uniform vec3 u_lightDir3f; + +uniform sampler2D u_moonTextures; +uniform sampler2D u_cloudsTexture; + +void main() { + gl_FragDepth = 0.0; + vec4 color4f = texture(u_moonTextures, v_position2f); + if(color4f.a < 0.99) { + discard; + } + vec3 moonNormal3f; + moonNormal3f.xy = color4f.rg * 2.0 - 1.0; + moonNormal3f.z = sqrt(1.0 - dot(moonNormal3f.xy, moonNormal3f.xy)); + float NdotV = dot(moonNormal3f, u_lightDir3f); + output4f = vec4(u_moonColor3f * (color4f.b * color4f.b * mix(max(NdotV, 0.0), max(NdotV + 0.45, 0.0) * 0.5f, max(u_lightDir3f.z * u_lightDir3f.z * -u_lightDir3f.z, 0.0))), 0.0); + vec3 viewDir = normalize(v_position3f); + if(viewDir.y < 0.01) { + return; + } + vec2 cloudSampleCoord2f = (viewDir.xz / (viewDir.y + 1.0)) * 0.975 * 0.5 + 0.5; + vec4 cloudSample = textureLod(u_cloudsTexture, cloudSampleCoord2f, 0.0); + output4f.rgb = mix(output4f.rgb, output4f.rgb * max(cloudSample.a * 1.25 - 0.25, 0.0), smoothstep(0.0, 1.0, min(viewDir.y * 8.0, 1.0))); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/moon_render.vsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/moon_render.vsh new file mode 100644 index 0000000..84b61f9 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/moon_render.vsh @@ -0,0 +1,37 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +layout(location = 0) in vec2 a_position2f; + +out vec2 v_position2f; +out vec3 v_position3f; + +uniform mat4 u_modelMatrix4f; +uniform mat4 u_viewMatrix4f; +uniform mat4 u_projMatrix4f; + +void main() { + v_position2f = a_position2f * 0.5 + 0.5; + v_position3f = (u_modelMatrix4f * vec4(a_position2f, -13.0, 1.0)).xyz; + gl_Position = u_viewMatrix4f * vec4(v_position3f, 0.0); + gl_Position = u_projMatrix4f * vec4(gl_Position.xyz, 1.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/particles_s.png b/desktopRuntime/resources/assets/eagler/glsl/deferred/particles_s.png new file mode 100644 index 0000000..8382136 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/particles_s.png differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/post_bloom_blur.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_bloom_blur.fsh new file mode 100644 index 0000000..6ba0ac7 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_bloom_blur.fsh @@ -0,0 +1,50 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec2 v_position2f; + +layout(location = 0) out vec4 output4f; + +uniform sampler2D u_inputTexture; + +uniform vec2 u_sampleOffset2f; +uniform vec4 u_outputSize4f; + +void main() { + vec2 alignedUV = (floor(v_position2f * u_outputSize4f.xy) + 0.5) * u_outputSize4f.zw; + vec4 accum = textureLod(u_inputTexture, alignedUV - u_sampleOffset2f * 7.0, 0.0) * 0.0005; + accum += textureLod(u_inputTexture, alignedUV - u_sampleOffset2f * 6.0, 0.0) * 0.0024; + accum += textureLod(u_inputTexture, alignedUV - u_sampleOffset2f * 5.0, 0.0) * 0.0092; + accum += textureLod(u_inputTexture, alignedUV - u_sampleOffset2f * 4.0, 0.0) * 0.0278; + accum += textureLod(u_inputTexture, alignedUV - u_sampleOffset2f * 3.0, 0.0) * 0.0656; + accum += textureLod(u_inputTexture, alignedUV - u_sampleOffset2f * 2.0, 0.0) * 0.1210; + accum += textureLod(u_inputTexture, alignedUV - u_sampleOffset2f, 0.0) * 0.1747; + accum += textureLod(u_inputTexture, alignedUV, 0.0) * 0.1974; + accum += textureLod(u_inputTexture, alignedUV + u_sampleOffset2f, 0.0) * 0.1747; + accum += textureLod(u_inputTexture, alignedUV + u_sampleOffset2f * 2.0, 0.0) * 0.1210; + accum += textureLod(u_inputTexture, alignedUV + u_sampleOffset2f * 3.0, 0.0) * 0.0656; + accum += textureLod(u_inputTexture, alignedUV + u_sampleOffset2f * 4.0, 0.0) * 0.0278; + accum += textureLod(u_inputTexture, alignedUV + u_sampleOffset2f * 5.0, 0.0) * 0.0092; + accum += textureLod(u_inputTexture, alignedUV + u_sampleOffset2f * 6.0, 0.0) * 0.0024; + accum += textureLod(u_inputTexture, alignedUV + u_sampleOffset2f * 7.0, 0.0) * 0.0005; + output4f = accum; +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/post_bloom_bright.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_bloom_bright.fsh new file mode 100644 index 0000000..e232ea8 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_bloom_bright.fsh @@ -0,0 +1,50 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec2 v_position2f; + +layout(location = 0) out vec4 output4f; + +uniform sampler2D u_lightingHDRFramebufferTexture; +uniform sampler2D u_framebufferLumaAvgInput; +uniform sampler2D u_gbufferMaterialTexture; +uniform sampler2D u_gbufferDepthTexture; + +uniform vec4 u_outputSize4f; + +void main() { + float exposure = textureLod(u_framebufferLumaAvgInput, vec2(0.5), 0.0).r; + float emission = 0.0; + vec2 alignedUV = (floor(v_position2f * u_outputSize4f.xy) + 0.5) * u_outputSize4f.zw; + vec4 inputColor = textureLod(u_lightingHDRFramebufferTexture, alignedUV, 0.0); + if(inputColor.a > 0.0) { + emission = textureLod(u_gbufferMaterialTexture, alignedUV, 0.0).b; + }else { + emission = textureLod(u_gbufferDepthTexture, alignedUV, 0.0).r <= 0.0000001 ? 10.0 : 0.0; + } + float f = dot(inputColor.rgb, vec3(0.2126, 0.7152, 0.0722)) * (5.0 + emission * 15.0); + if(f > 2.0 + exposure) { + output4f = vec4(min(inputColor.rgb, vec3(5.0)) * (0.75 + exposure * 1.5) * min(f - 2.0 - exposure, 1.0), 1.0); + }else { + output4f = vec4(0.0); + } +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/post_exposure_avg.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_exposure_avg.fsh new file mode 100644 index 0000000..db38332 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_exposure_avg.fsh @@ -0,0 +1,46 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec2 v_position2f; + +layout(location = 0) out float exposureOut1f; + +uniform sampler2D u_inputTexture; +uniform vec4 u_sampleOffset4f; + +#ifdef CALCULATE_LUMINANCE +#define TAKE_SAMPLE(samplerIn, posIn) dot(textureLod(samplerIn, posIn, 0.0).rgb, vec3(0.299, 0.587, 0.114)) +#else +#define TAKE_SAMPLE(samplerIn, posIn) textureLod(samplerIn, posIn, 0.0).r +#endif + +void main() { + + vec2 pixelPos = floor(v_position2f / u_sampleOffset4f.xy); + + float a = min(TAKE_SAMPLE(u_inputTexture, (pixelPos + vec2(0.25, 0.25)) * u_sampleOffset4f.zw), 250.0); + a += min(TAKE_SAMPLE(u_inputTexture, (pixelPos + vec2(0.75, 0.25)) * u_sampleOffset4f.zw), 250.0); + a += min(TAKE_SAMPLE(u_inputTexture, (pixelPos + vec2(0.75, 0.75)) * u_sampleOffset4f.zw), 250.0); + a += min(TAKE_SAMPLE(u_inputTexture, (pixelPos + vec2(0.25, 0.75)) * u_sampleOffset4f.zw), 250.0); + + exposureOut1f = a * 0.25; +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/post_exposure_final.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_exposure_final.fsh new file mode 100644 index 0000000..81f2788 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_exposure_final.fsh @@ -0,0 +1,42 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec2 v_position2f; + +layout(location = 0) out float exposureOut1f; + +uniform sampler2D u_inputTexture; +uniform vec2 u_inputSize2f; + +void main() { + + float a = 0.0; + float b = 0.0; + for(vec2 v = vec2(0.0, u_inputSize2f * 0.5); v.y < 1.0; v.y += u_inputSize2f.y) { + for(v.x = u_inputSize2f.x * 0.5; v.x < 1.0; v.x += u_inputSize2f.x) { + a += textureLod(u_inputTexture, v, 0.0).r * (1.0 - length(v - 0.5)); + b += 1.0; + } + } + + exposureOut1f = a / b; +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/post_fxaa.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_fxaa.fsh new file mode 100644 index 0000000..1c47e53 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_fxaa.fsh @@ -0,0 +1,275 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +/* + * This file was modified by lax1dude to remove dead code + * + * Original: https://gist.github.com/kosua20/0c506b81b3812ac900048059d2383126 + * + */ + +/* + * ============================================================================ + * + * + * NVIDIA FXAA 3.11 by TIMOTHY LOTTES + * + * + * ------------------------------------------------------------------------------ + * COPYRIGHT (C) 2010, 2011 NVIDIA CORPORATION. ALL RIGHTS RESERVED. + * ------------------------------------------------------------------------------ + * TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED + * *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS + * OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA + * OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR + * CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR + * LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, + * OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE + * THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGES. + * + */ + + +precision lowp int; +precision mediump float; +precision mediump sampler2D; + +in vec2 v_position2f; + +layout(location = 0) out vec4 output4f; + +uniform sampler2D u_screenTexture; +uniform vec2 u_screenSize2f; + +#ifndef FXAA_GREEN_AS_LUMA + // For those using non-linear color, + // and either not able to get luma in alpha, or not wanting to, + // this enables FXAA to run using green as a proxy for luma. + // So with this enabled, no need to pack luma in alpha. + // + // This will turn off AA on anything which lacks some amount of green. + // Pure red and blue or combination of only R and B, will get no AA. + // + // Might want to lower the settings for both, + // fxaaConsoleEdgeThresholdMin + // fxaaQualityEdgeThresholdMin + // In order to insure AA does not get turned off on colors + // which contain a minor amount of green. + // + // 1 = On. + // 0 = Off. + // + #define FXAA_GREEN_AS_LUMA 0 +#endif + +#ifndef FXAA_DISCARD + // 1 = Use discard on pixels which don't need AA. + // 0 = Return unchanged color on pixels which don't need AA. + #define FXAA_DISCARD 0 +#endif + +/*============================================================================ + API PORTING +============================================================================*/ + #define FxaaBool bool + #define FxaaDiscard discard + #define FxaaFloat float + #define FxaaFloat2 vec2 + #define FxaaFloat3 vec3 + #define FxaaFloat4 vec4 + #define FxaaHalf float + #define FxaaHalf2 vec2 + #define FxaaHalf3 vec3 + #define FxaaHalf4 vec4 + #define FxaaInt2 ivec2 + #define FxaaSat(x) clamp(x, 0.0, 1.0) + #define FxaaTex sampler2D +/*--------------------------------------------------------------------------*/ + + #define FxaaTexTop(t, p) textureLod(t, p, 0.0) + #define FxaaLuma(rgba) rgba.a + +/*============================================================================ + FXAA3 CONSOLE - PC VERSION +============================================================================*/ +/*--------------------------------------------------------------------------*/ +FxaaFloat4 FxaaPixelShader( + // See FXAA Quality FxaaPixelShader() source for docs on Inputs! + // + // Use noperspective interpolation here (turn off perspective interpolation). + // {xy} = center of pixel + FxaaFloat2 pos, + // + // Used only for FXAA Console, and not used on the 360 version. + // Use noperspective interpolation here (turn off perspective interpolation). + // {xy__} = upper left of pixel + // {__zw} = lower right of pixel + FxaaFloat4 fxaaConsolePosPos, + // + // Input color texture. + // {rgb_} = color in linear or perceptual color space + // if (FXAA_GREEN_AS_LUMA == 0) + // {___a} = luma in perceptual color space (not linear) + FxaaTex tex, + // + // Only used on FXAA Console. + // This must be from a constant/uniform. + // This effects sub-pixel AA quality and inversely sharpness. + // Where N ranges between, + // N = 0.50 (default) + // N = 0.33 (sharper) + // {x___} = -N/screenWidthInPixels + // {_y__} = -N/screenHeightInPixels + // {__z_} = N/screenWidthInPixels + // {___w} = N/screenHeightInPixels + FxaaFloat4 fxaaConsoleRcpFrameOpt, + // + // Only used on FXAA Console. + // Not used on 360, but used on PS3 and PC. + // This must be from a constant/uniform. + // {x___} = -2.0/screenWidthInPixels + // {_y__} = -2.0/screenHeightInPixels + // {__z_} = 2.0/screenWidthInPixels + // {___w} = 2.0/screenHeightInPixels + FxaaFloat4 fxaaConsoleRcpFrameOpt2, + // + // Only used on FXAA Console. + // This used to be the FXAA_CONSOLE__EDGE_SHARPNESS define. + // It is here now to allow easier tuning. + // This does not effect PS3, as this needs to be compiled in. + // Use FXAA_CONSOLE__PS3_EDGE_SHARPNESS for PS3. + // Due to the PS3 being ALU bound, + // there are only three safe values here: 2 and 4 and 8. + // These options use the shaders ability to a free *|/ by 2|4|8. + // For all other platforms can be a non-power of two. + // 8.0 is sharper (default!!!) + // 4.0 is softer + // 2.0 is really soft (good only for vector graphics inputs) + FxaaFloat fxaaConsoleEdgeSharpness, + // + // Only used on FXAA Console. + // This used to be the FXAA_CONSOLE__EDGE_THRESHOLD define. + // It is here now to allow easier tuning. + // This does not effect PS3, as this needs to be compiled in. + // Use FXAA_CONSOLE__PS3_EDGE_THRESHOLD for PS3. + // Due to the PS3 being ALU bound, + // there are only two safe values here: 1/4 and 1/8. + // These options use the shaders ability to a free *|/ by 2|4|8. + // The console setting has a different mapping than the quality setting. + // Other platforms can use other values. + // 0.125 leaves less aliasing, but is softer (default!!!) + // 0.25 leaves more aliasing, and is sharper + FxaaFloat fxaaConsoleEdgeThreshold, + // + // Only used on FXAA Console. + // This used to be the FXAA_CONSOLE__EDGE_THRESHOLD_MIN define. + // It is here now to allow easier tuning. + // Trims the algorithm from processing darks. + // The console setting has a different mapping than the quality setting. + // This does not apply to PS3, + // PS3 was simplified to avoid more shader instructions. + // 0.06 - faster but more aliasing in darks + // 0.05 - default + // 0.04 - slower and less aliasing in darks + // Special notes when using FXAA_GREEN_AS_LUMA, + // Likely want to set this to zero. + // As colors that are mostly not-green + // will appear very dark in the green channel! + // Tune by looking at mostly non-green content, + // then start at zero and increase until aliasing is a problem. + FxaaFloat fxaaConsoleEdgeThresholdMin +) { +/*--------------------------------------------------------------------------*/ + FxaaFloat lumaNw = FxaaLuma(FxaaTexTop(tex, fxaaConsolePosPos.xy)); + FxaaFloat lumaSw = FxaaLuma(FxaaTexTop(tex, fxaaConsolePosPos.xw)); + FxaaFloat lumaNe = FxaaLuma(FxaaTexTop(tex, fxaaConsolePosPos.zy)); + FxaaFloat lumaSe = FxaaLuma(FxaaTexTop(tex, fxaaConsolePosPos.zw)); +/*--------------------------------------------------------------------------*/ + FxaaFloat4 rgbyM = FxaaTexTop(tex, pos.xy); + FxaaFloat lumaM = FxaaLuma(rgbyM); +/*--------------------------------------------------------------------------*/ + FxaaFloat lumaMaxNwSw = max(lumaNw, lumaSw); + lumaNe += 1.0/384.0; + FxaaFloat lumaMinNwSw = min(lumaNw, lumaSw); +/*--------------------------------------------------------------------------*/ + FxaaFloat lumaMaxNeSe = max(lumaNe, lumaSe); + FxaaFloat lumaMinNeSe = min(lumaNe, lumaSe); +/*--------------------------------------------------------------------------*/ + FxaaFloat lumaMax = max(lumaMaxNeSe, lumaMaxNwSw); + FxaaFloat lumaMin = min(lumaMinNeSe, lumaMinNwSw); +/*--------------------------------------------------------------------------*/ + FxaaFloat lumaMaxScaled = lumaMax * fxaaConsoleEdgeThreshold; +/*--------------------------------------------------------------------------*/ + FxaaFloat lumaMinM = min(lumaMin, lumaM); + FxaaFloat lumaMaxScaledClamped = max(fxaaConsoleEdgeThresholdMin, lumaMaxScaled); + FxaaFloat lumaMaxM = max(lumaMax, lumaM); + FxaaFloat dirSwMinusNe = lumaSw - lumaNe; + FxaaFloat lumaMaxSubMinM = lumaMaxM - lumaMinM; + FxaaFloat dirSeMinusNw = lumaSe - lumaNw; + if(lumaMaxSubMinM < lumaMaxScaledClamped) + { + #if (FXAA_DISCARD == 1) + FxaaDiscard; + #else + return rgbyM; + #endif + } +/*--------------------------------------------------------------------------*/ + FxaaFloat2 dir; + dir.x = dirSwMinusNe + dirSeMinusNw; + dir.y = dirSwMinusNe - dirSeMinusNw; +/*--------------------------------------------------------------------------*/ + FxaaFloat2 dir1 = normalize(dir.xy); + FxaaFloat4 rgbyN1 = FxaaTexTop(tex, pos.xy - dir1 * fxaaConsoleRcpFrameOpt.zw); + FxaaFloat4 rgbyP1 = FxaaTexTop(tex, pos.xy + dir1 * fxaaConsoleRcpFrameOpt.zw); +/*--------------------------------------------------------------------------*/ + FxaaFloat dirAbsMinTimesC = min(abs(dir1.x), abs(dir1.y)) * fxaaConsoleEdgeSharpness; + FxaaFloat2 dir2 = clamp(dir1.xy / dirAbsMinTimesC, -2.0, 2.0); +/*--------------------------------------------------------------------------*/ + FxaaFloat2 dir2x = dir2 * fxaaConsoleRcpFrameOpt2.zw; + FxaaFloat4 rgbyN2 = FxaaTexTop(tex, pos.xy - dir2x); + FxaaFloat4 rgbyP2 = FxaaTexTop(tex, pos.xy + dir2x); +/*--------------------------------------------------------------------------*/ + FxaaFloat4 rgbyA = rgbyN1 + rgbyP1; + FxaaFloat4 rgbyB = ((rgbyN2 + rgbyP2) * 0.25) + (rgbyA * 0.25); +/*--------------------------------------------------------------------------*/ + float lumaB = FxaaLuma(rgbyB); + if((lumaB < lumaMin) || (lumaB > lumaMax)) rgbyB.xyz = rgbyA.xyz * 0.5; + return rgbyB; +} +/*==========================================================================*/ + +#define edgeSharpness 3.0 +#define edgeThreshold 0.15 +#define edgeThresholdMin 0.05 + +void main(){ + vec2 screenSize05 = 0.5 * u_screenSize2f; + + vec4 posPos; + posPos.xy = v_position2f; + posPos.zw = v_position2f + u_screenSize2f; + + vec4 rcpFrameOpt; + rcpFrameOpt.xy = -screenSize05; + rcpFrameOpt.zw = screenSize05; + + output4f = vec4(FxaaPixelShader(v_position2f + screenSize05, posPos, u_screenTexture, rcpFrameOpt, rcpFrameOpt * 4.0, edgeSharpness, edgeThreshold, edgeThresholdMin).rgb, 1.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/post_lens_distort.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_lens_distort.fsh new file mode 100644 index 0000000..3e37d9e --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_lens_distort.fsh @@ -0,0 +1,40 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec2 v_position2f; + +layout(location = 0) out vec4 output4f; + +uniform sampler2D u_inputTexture; + +vec2 distortUV(in vec2 uv, in float k){ + vec2 t = uv - 0.5; + return dot(t, t) * k * t + t + 0.5; +} + +#define DISTORT_AMOUNT -0.05 + +void main() { + output4f = vec4(textureLod(u_inputTexture, distortUV(v_position2f, DISTORT_AMOUNT + 0.01), 0.0).r, + textureLod(u_inputTexture, distortUV(v_position2f, DISTORT_AMOUNT), 0.0).ga, + textureLod(u_inputTexture, distortUV(v_position2f, DISTORT_AMOUNT - 0.01), 0.0).b).rgab; +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/post_lens_ghosts.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_lens_ghosts.fsh new file mode 100644 index 0000000..ad41fed --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_lens_ghosts.fsh @@ -0,0 +1,36 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision mediump float; +precision mediump sampler2D; + +layout(location = 0) out vec4 output4f; + +in vec2 v_texcoord2f; +in vec3 v_color3f; +in float v_occlusion1f; + +uniform sampler2D u_flareTexture; + +uniform vec3 u_flareColor3f; + +void main() { + vec3 color3f = vec3(texture(u_flareTexture, v_texcoord2f).r); + output4f = vec4(color3f * color3f * v_color3f * v_occlusion1f * u_flareColor3f, 0.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/post_lens_ghosts.vsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_lens_ghosts.vsh new file mode 100644 index 0000000..5a73c7b --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_lens_ghosts.vsh @@ -0,0 +1,67 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +layout(location = 0) in vec2 a_position2f; + +layout(location = 1) in vec2 e_elementOffsetScale; +layout(location = 2) in vec4 e_elementTexture4f; +layout(location = 3) in vec3 e_elementColor3f; + +out vec2 v_texcoord2f; +out vec3 v_color3f; +out float v_occlusion1f; + +uniform sampler2D u_exposureValue; +uniform sampler2D u_sunOcclusionValue; + +uniform vec2 u_sunPosition2f; +uniform float u_aspectRatio1f; +uniform float u_baseScale1f; + +#define FAKE_SIN(valueIn, valueOut)\ + valueOut = abs(1.0 - fract(valueIn * 0.159155) * 2.0);\ + valueOut = valueOut * valueOut * (3.0 - 2.0 * valueOut) * 2.0 - 1.0; + +void main() { + v_occlusion1f = max(textureLod(u_sunOcclusionValue, vec2(0.5, 0.5), 0.0).r * 1.5 - 0.5, 0.0); + if(v_occlusion1f == 0.0) { + gl_Position = vec4(-10.0, -10.0, -10.0, 1.0); + return; + } + + v_texcoord2f = e_elementTexture4f.xy + (a_position2f * 0.5 + 0.5) * e_elementTexture4f.zw; + + float r = textureLod(u_exposureValue, vec2(0.5, 0.5), 0.0).r * 7.5; + + mat2 rotationMatrix; + FAKE_SIN(vec2(r + 1.570795, r), rotationMatrix[0]) + rotationMatrix[1].x = -rotationMatrix[0].y; + rotationMatrix[1].y = rotationMatrix[0].x; + + vec2 transformedVertex = rotationMatrix * (a_position2f * u_baseScale1f * e_elementOffsetScale.y / (4.0 + r * 0.75)); + transformedVertex.x *= u_aspectRatio1f; + transformedVertex += u_sunPosition2f * (1.0 - e_elementOffsetScale.x); + + v_color3f = e_elementColor3f * (0.05 + dot(u_sunPosition2f, u_sunPosition2f)); + + gl_Position = vec4(transformedVertex, 0.0, 1.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/post_lens_streaks.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_lens_streaks.fsh new file mode 100644 index 0000000..e93341b --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_lens_streaks.fsh @@ -0,0 +1,36 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision mediump float; +precision mediump sampler2D; + +layout(location = 0) out vec4 output4f; + +in vec2 v_texcoord2f; +in float v_occlusion1f; + +uniform sampler2D u_flareTexture; + +uniform vec3 u_flareColor3f; + +void main() { + vec3 color = vec3(texture(u_flareTexture, v_texcoord2f).r); + color = length(u_flareColor3f * color) * vec3(0.0, 0.05, 0.3) + u_flareColor3f * color * color * color; + output4f = vec4(color * v_occlusion1f, 0.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/post_lens_streaks.vsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_lens_streaks.vsh new file mode 100644 index 0000000..02d3198 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_lens_streaks.vsh @@ -0,0 +1,42 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +layout(location = 0) in vec2 a_position2f; +layout(location = 1) in vec2 a_texcoord2f; + +out vec2 v_texcoord2f; +out float v_occlusion1f; + +uniform sampler2D u_sunOcclusionValue; + +uniform mat3 u_sunFlareMatrix3f; + +void main() { + v_occlusion1f = max(textureLod(u_sunOcclusionValue, vec2(0.5, 0.5), 0.0).r * 1.5 - 0.5, 0.0); + if(v_occlusion1f == 0.0) { + gl_Position = vec4(-10.0, -10.0, -10.0, 1.0); + return; + } + v_texcoord2f = a_texcoord2f; + vec3 pos3f = u_sunFlareMatrix3f * vec3(a_position2f, 1.0); + gl_Position = vec4(pos3f.x, pos3f.y, 0.0, pos3f.z); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/post_tonemap.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_tonemap.fsh new file mode 100644 index 0000000..ccbf6ba --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/post_tonemap.fsh @@ -0,0 +1,57 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec2 v_position2f; + +layout(location = 0) out vec4 output4f; + +uniform sampler2D u_lightingHDRFramebufferTexture; +uniform sampler2D u_framebufferLumaAvgInput; +uniform sampler2D u_ditherTexture; +uniform vec3 u_exposure3f; +uniform vec2 u_ditherScale2f; + +void main() { + float lumaHDR = textureLod(u_framebufferLumaAvgInput, vec2(0.5), 0.0).r; + vec3 input3f = textureLod(u_lightingHDRFramebufferTexture, v_position2f, 0.0).rgb; + + input3f /= (0.07 + clamp(lumaHDR * 6.0, 0.2, 4.0)); + + input3f *= u_exposure3f; + + // ACES, modified to approximate gamma correction + const float a = 1.22; + const float b = 1.78; + const float c = 1.22; + const float d = 1.79; + const float e = 0.29; + + input3f = clamp((input3f * (a * input3f + b)) / (input3f * (c * input3f + d) + e), 0.0, 1.0); + + // desaturate a bit, makes it look like less of a cartoon + float sat = 0.8; + float luma = dot(input3f, vec3(0.299, 0.587, 0.114)); + input3f = (input3f - luma) * sat + luma; + input3f += textureLod(u_ditherTexture, v_position2f * u_ditherScale2f, 0.0).r / 255.0; + + output4f = vec4(clamp(input3f, 0.0, 1.0), luma); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/rain.png b/desktopRuntime/resources/assets/eagler/glsl/deferred/rain.png new file mode 100644 index 0000000..fe8d59c Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/rain.png differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_control.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_control.fsh new file mode 100644 index 0000000..a0c477d --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_control.fsh @@ -0,0 +1,201 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec2 v_position2f; + +layout(location = 0) out vec4 realisticWaterReflectionOutput4f; +layout(location = 1) out vec4 realisticWaterHitVectorOutput4f; +layout(location = 2) out vec4 realisticWaterRefraction4f; + +uniform sampler2D u_gbufferColorTexture4f; +uniform sampler2D u_gbufferDepthTexture; +uniform sampler2D u_realisticWaterMaskNormal; +uniform sampler2D u_realisticWaterDepthTexture; +uniform sampler2D u_lastFrameReflectionInput4f; +uniform sampler2D u_lastFrameHitVectorInput4f; +uniform sampler2D u_lastFrameColorTexture; +uniform sampler2D u_lastFrameDepthTexture; + +uniform mat4 u_inverseProjectionMatrix4f; +uniform mat4 u_inverseViewProjMatrix4f; +uniform mat4 u_reprojectionMatrix4f; +uniform mat4 u_lastInverseProjMatrix4f; +uniform mat4 u_reprojectionInverseViewMatrix4f; +uniform mat4 u_projectionMatrix4f; +uniform mat4 u_viewToPreviousProjMatrix4f; + +// x = near plane +// y = far plane +// z = near plane * 2 +// w = far plane - near plane +uniform vec4 u_nearFarPlane4f; + +uniform vec4 u_pixelAlignment4f; + +uniform vec4 u_refractFogColor4f; + +#define reprojDepthLimit 0.25 + +#define GET_LINEAR_DEPTH_FROM_VALUE(depthSample) (u_nearFarPlane4f.z / (u_nearFarPlane4f.y + u_nearFarPlane4f.x + (depthSample * 2.0 - 1.0) * u_nearFarPlane4f.w)) + +#define CREATE_DEPTH_MATRIX(matrix4fInput) mat4x2(matrix4fInput[0].zw,matrix4fInput[1].zw,matrix4fInput[2].zw,matrix4fInput[3].zw) + +void main() { + vec2 v_position2f2 = (floor(v_position2f * u_pixelAlignment4f.xy) + 0.25) * (2.0 / u_pixelAlignment4f.zw); + realisticWaterReflectionOutput4f = vec4(0.0, 0.0, 0.0, 0.0); + realisticWaterHitVectorOutput4f = vec4(0.0, 0.0, 0.0, 0.0); + realisticWaterRefraction4f = vec4(0.0, 0.0, 0.0, 0.0); + vec4 waterSurfaceNormal4f = textureLod(u_realisticWaterMaskNormal, v_position2f2, 0.0); + + if(waterSurfaceNormal4f.a <= 0.0) { + return; + } + + float gbufferDepth = textureLod(u_gbufferDepthTexture, v_position2f2, 0.0).r; + + if(gbufferDepth < 0.000001) { + return; + } + + vec4 gbufferDepthClipSpace4f = vec4(v_position2f2, gbufferDepth, 1.0); + gbufferDepthClipSpace4f.xyz *= 2.0; + gbufferDepthClipSpace4f.xyz -= 1.0; + vec2 gbufferDepthView = CREATE_DEPTH_MATRIX(u_inverseProjectionMatrix4f) * gbufferDepthClipSpace4f; + gbufferDepthView.x /= gbufferDepthView.y; + + float waterSurfaceDepth = textureLod(u_realisticWaterDepthTexture, v_position2f2, 0.0).r; + vec4 waterSurfaceDepthClipSpace4f = vec4(gbufferDepthClipSpace4f.xy, waterSurfaceDepth * 2.0 - 1.0, 1.0); + vec2 waterDepthView = CREATE_DEPTH_MATRIX(u_inverseProjectionMatrix4f) * waterSurfaceDepthClipSpace4f; + waterDepthView.x /= waterDepthView.y; + + float fog = clamp(1.25 - 1.0 / exp((waterDepthView.x - gbufferDepthView.x) * 0.05), 0.0, 1.0); + + vec3 refractColor3f = textureLod(u_gbufferColorTexture4f, v_position2f2, 0.0).rgb; + refractColor3f *= mix(vec3(1.0), vec3(0.02, 0.025, 0.12), min(fog + 0.1, 1.0)); + vec3 fogColor3f = u_refractFogColor4f.rgb * (waterSurfaceNormal4f.a * u_refractFogColor4f.a * 0.95 + 0.05); + realisticWaterRefraction4f = vec4(mix(refractColor3f, fogColor3f, fog), 1.0); + + vec4 fragPos4f = u_inverseViewProjMatrix4f * waterSurfaceDepthClipSpace4f; + fragPos4f.xyz /= fragPos4f.w; + fragPos4f.w = 1.0; + vec4 reprojPos4f = u_reprojectionMatrix4f * fragPos4f; + vec4 reprojClipPos4f = vec4(reprojPos4f.xyz / reprojPos4f.w, 1.0); + reprojPos4f = reprojClipPos4f; + reprojPos4f.xyz *= 0.5; + reprojPos4f.xyz += 0.5; + reprojPos4f.xy = (floor(reprojPos4f.xy * u_pixelAlignment4f.zw) + 0.5) * (0.5 / u_pixelAlignment4f.xy); + if(reprojPos4f.xy != clamp(reprojPos4f.xy, vec2(0.001), vec2(0.999)) || abs(GET_LINEAR_DEPTH_FROM_VALUE(textureLod(u_lastFrameDepthTexture, reprojPos4f.xy, 0.0).r) - GET_LINEAR_DEPTH_FROM_VALUE(reprojPos4f.z)) > reprojDepthLimit) { + realisticWaterHitVectorOutput4f = vec4(0.0, 0.0, 0.0, 50.0); + return; + } + + vec4 lastFrameHitVector4f = textureLod(u_lastFrameHitVectorInput4f, reprojPos4f.xy, 0.0); + if(lastFrameHitVector4f.g <= 0.0) { + realisticWaterReflectionOutput4f = textureLod(u_lastFrameReflectionInput4f, reprojPos4f.xy, 0.0); + realisticWaterHitVectorOutput4f = vec4(0.0, 0.0, 0.0, lastFrameHitVector4f.a); + return; + } + + realisticWaterReflectionOutput4f = vec4(0.0, 0.0, 0.0, 1.0); + + lastFrameHitVector4f.g -= 0.004; + + vec4 lastFrameFragPosView4f = u_lastInverseProjMatrix4f * vec4(reprojClipPos4f.xyz, 1.0); + lastFrameFragPosView4f.xyz /= lastFrameFragPosView4f.w; + lastFrameFragPosView4f.w = 1.0; + vec4 lastFrameHitPos4f = vec4(lastFrameFragPosView4f.xyz + lastFrameHitVector4f.xyz, 1.0); + + vec4 thisFrameHitPos4f = u_reprojectionInverseViewMatrix4f * lastFrameHitPos4f; + thisFrameHitPos4f.xyz /= thisFrameHitPos4f.w; + thisFrameHitPos4f.w = 1.0; + + vec4 thisFrameHitPosProj4f = u_projectionMatrix4f * thisFrameHitPos4f; + thisFrameHitPosProj4f.xyz /= thisFrameHitPosProj4f.w; + thisFrameHitPosProj4f.w = 1.0; + vec3 thisFrameHitPosProjTex3f = thisFrameHitPosProj4f.xyz * 0.5 + 0.5; + + if(thisFrameHitPosProjTex3f.xy != clamp(thisFrameHitPosProjTex3f.xy, vec2(0.001), vec2(0.999))) { + return; + } + + float fragDepthSample = textureLod(u_gbufferDepthTexture, thisFrameHitPosProjTex3f.xy, 0.0).r * 2.0 - 1.0; + vec2 thisFrameHitPosProjDepthPos = CREATE_DEPTH_MATRIX(u_inverseProjectionMatrix4f) * vec4(thisFrameHitPosProj4f.xy, fragDepthSample, 1.0); + thisFrameHitPosProjDepthPos.x /= thisFrameHitPosProjDepthPos.y; + + if(thisFrameHitPosProjDepthPos.x - thisFrameHitPos4f.z - 0.125 < 0.0) { + return; + } + + waterSurfaceNormal4f.xyz *= 2.0; + waterSurfaceNormal4f.xyz -= 1.0; + + vec3 lastFrameHitPosNormal3f = textureLod(u_realisticWaterMaskNormal, thisFrameHitPosProjTex3f.xy, 0.0).rgb; + lastFrameHitPosNormal3f *= 2.0; + lastFrameHitPosNormal3f -= 1.0; + + vec4 fragPosView4f = u_inverseProjectionMatrix4f * waterSurfaceDepthClipSpace4f; + fragPosView4f.xyz /= fragPosView4f.w; + fragPosView4f.w = 1.0; + + vec3 rayOrigin = fragPosView4f.xyz; + vec3 planePos = thisFrameHitPos4f.xyz; + vec3 planeNormal = lastFrameHitPosNormal3f; + + vec3 newRayDirection = reflect(normalize(rayOrigin), waterSurfaceNormal4f.xyz); + + float dist = dot(planeNormal, newRayDirection); + if(dist > 0.9) { + return; + } + + dist = dot(planeNormal, planePos - rayOrigin) / dist; + if(dist < 0.0) { + return; + } + + realisticWaterHitVectorOutput4f = vec4(newRayDirection * dist, 1.0); + realisticWaterHitVectorOutput4f.y += 0.004; + + thisFrameHitPosProj4f = u_viewToPreviousProjMatrix4f * vec4(rayOrigin + newRayDirection * dist, 1.0); + thisFrameHitPosProj4f.xyz /= thisFrameHitPosProj4f.w; + thisFrameHitPosProj4f.w = 1.0; + thisFrameHitPosProjTex3f = thisFrameHitPosProj4f.xyz * 0.5 + 0.5; + + if(thisFrameHitPosProjTex3f.xy != clamp(thisFrameHitPosProjTex3f.xy, vec2(0.001), vec2(0.999))) { + return; + } + + fragDepthSample = textureLod(u_lastFrameDepthTexture, thisFrameHitPosProjTex3f.xy, 0.0).r * 2.0 - 1.0; + + vec2 thisFrameHitPosProjPos = CREATE_DEPTH_MATRIX(u_lastInverseProjMatrix4f) * thisFrameHitPosProj4f; + thisFrameHitPosProjPos.x /= thisFrameHitPosProjPos.y; + + thisFrameHitPosProjDepthPos = CREATE_DEPTH_MATRIX(u_lastInverseProjMatrix4f) * vec4(thisFrameHitPosProj4f.xy, fragDepthSample, 1.0); + thisFrameHitPosProjDepthPos.x /= thisFrameHitPosProjDepthPos.y; + + if(thisFrameHitPosProjDepthPos.x - thisFrameHitPosProjPos.x - 0.125 < 0.0) { + realisticWaterHitVectorOutput4f = vec4(0.0, 0.0, 0.0, 0.0); + return; + } + + realisticWaterReflectionOutput4f = vec4(textureLod(u_lastFrameColorTexture, thisFrameHitPosProjTex3f.xy, 0.0).rgb, 0.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_mask.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_mask.fsh new file mode 100644 index 0000000..e9d318f --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_mask.fsh @@ -0,0 +1,37 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +layout(location = 0) out vec4 output4f; + +#ifdef COMPILE_NORMAL_ATTRIB +in vec3 v_normal3f; +#endif + +#ifdef COMPILE_LIGHTMAP_ATTRIB +in vec2 v_lightmap2f; +#else +uniform vec2 u_textureCoords02; +#endif + +void main() { +#ifdef COMPILE_NORMAL_ATTRIB + output4f = vec4(v_normal3f * 0.5 + 0.5, 1.0); +#else + output4f = vec4(0.0, 1.0, 0.0, 1.0); +#endif +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_mask.vsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_mask.vsh new file mode 100644 index 0000000..4d2ffd8 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_mask.vsh @@ -0,0 +1,46 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +in vec3 a_position3f; + +#ifdef COMPILE_NORMAL_ATTRIB +in vec4 a_normal4f; +out vec3 v_normal3f; +#endif + +#ifdef COMPILE_LIGHTMAP_ATTRIB +in vec2 a_lightmap2f; +out vec2 v_lightmap2f; +uniform mat4 u_textureMat4f02; +#endif + +uniform mat4 u_modelviewMat4f; +uniform mat4 u_modelviewProjMat4f; + +#define TEX_MAT3(mat4In) mat3(mat4In[0].xyw,mat4In[1].xyw,mat4In[3].xyw) + +void main() { +#ifdef COMPILE_NORMAL_ATTRIB + v_normal3f = normalize(mat3(u_modelviewMat4f) * a_normal4f.xyz); +#endif +#ifdef COMPILE_LIGHTMAP_ATTRIB + vec3 v_lightmapTmp3f = TEX_MAT3(u_textureMat4f02) * vec3(a_lightmap2f, 1.0); + v_lightmap2f = v_lightmapTmp3f.xy / v_lightmapTmp3f.z; +#endif + gl_Position = u_modelviewProjMat4f * vec4(a_position3f, 1.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_noise.bmp b/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_noise.bmp new file mode 100644 index 0000000..324756b --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_noise.bmp @@ -0,0 +1 @@ +_[_]a_gaqa|b†cŽf“j”p’w‡†}q—ežZ¡S PšQ‘U…\xcngihggjfpexf‚iŒn•v››•™Š¡~¦s¥lŸi•kˆq||sˆo“mšmœp™u’{‡zˆmŒb^Š^„\|[tZmYfYbY_[_]a_gajtpnslwo|t€z„‡‚‡‚„€z{qvhr_qVqQrNtPvTw[wdukqpout~|ˆ†’™—œ™š“‘Š‡€z{uxrvpuptqrrnqgobjbdfan`vaf†nŠwŠ„‰{Žq‘i‘cŽa‰aƒe{jtpnslwomkonqpvrqˆo‘n–m™o˜r”wŽ~††|o™d¡[¥V¥U Y—a‹jsvwpwmtmqomtk{k‚nˆt~‹ˆ˜~£t©jªd¥b›elwwƒqn—mœoœs˜x†„|ˆs‰p†on|lvkrjoimjmkonqpvrkzruvtzx„‡ˆ‹‘‹’ˆ„‰~€xuskqbq[sXuXw\yczjyqvutyxŠ‡’˜”›—š––‘‡‡~yywvwuzv|w~yz|yuvnongqaw]~^…b‹is‹~„‡yn‘e’_^`‡e€kzruvtzxyz|}€€„€‹~’y˜u›q›o—p‘rˆx€€vŠj•`ŸZ¥X§Z¤ak“v‰€€„yƒtqzpurquoyp}v€€{›r§i¯a°\¬\£`—hŠs€€yŒt–qœpŸržu™y’}‰‚€€}z~w|uztytxvyyz|}€€„€sƒ{€€€ƒ„ˆ‹“’š”ž“ž‘›Œ”†Š€€{uylyezb}bf‚mƒuƒ|€€~ƒ€‰…‹•™“™“–‘‰‰€€wxsuttwu|y}†ˆƒ†ƒ€€ywwnye}_‚]‡^‹d‹mˆw€€t‡jŒb^_cŒj‡sƒ{€€€ƒ„ƒ†ˆˆŒŠ‘Š–†š€œz›t—om‡n}styk„aZœV¥W©\ªe¥qž}•†ŒŠ…‰~…yuystsrtsvyw‚vržjªb²[´W±X©\ep†|€ˆy’ušržqŸrs˜u’wv‹u‹sŠrˆs‡u†y…~…ƒ†ˆˆŒŠ‘Š€ŠŽŽ’’—˜›žŸ£ ¦ ¥ ˜™“…ˆ{‡r‡mˆjŠlqx€ˆ‹Œˆ‰”Œ˜Ž›œ™Ž“‰‹wwoplnnpstzz‚ˆ‡ŒŒŒŽ†Š‚}w}ld‚_„^…a„h€pwym€e‡a`‘d“k“u’€ŠŽŽ’’”‘™’œŸ‹ …ž}™v‘r†ozoosfy_ƒYTœS§V®]±g¯rª~¢‡š‹’‰Š„ƒ~}xysvrustytƒsožh©a±[³X°X¨\c‘mˆw‚|Šw’t—ršršr˜s–t“t“r”q”r”t“y“~’…‘”‘™’œ‘Ÿ›ž ž£ ¦¤©§«©¬©«¦© ¤™ ›‡˜~—w˜s™r›tœy€œ‰™‘•–‘™žŽ¡¢‹ ˆ›„’}‡u{kqdjcifllsu|~…‡Ž”–‹“…Š~€sjdb}dziupmwfa‡aŽe•mšx„ž‘Ÿ›ž ž£ ”˜œ–¢•¦“§¥†Ÿ–yŠu|sntbw[|V…R‘PžQªV³]·g¸r´}®„¦‡ž„•Œy…so{nxqwwvuŽq›k¦e¬`®]ª]¢_˜dk†rz|y‡vŒut’t”u”v•u—tšsœtžwž|žƒœ‹š”˜œ–¢•¦“¡¬«¬°¬±¬³¬´¬´ª´§³¢°›­”ª§†¥€¦{¨xªw«y«©†¦¡—›œ•¡‘¦Œ©ˆ©ƒ¦}žw“p†hx`lZfYf]kdsm}xˆ‚“ŠšŽ™ˆ…„‚xo|iyguipmjtdz__‰c’k›w¢…§“ª¡¬«¬°¬±¬–Ÿ˜§•«‘«Œ¦…ž’{ƒxsxezY}SPˆO“P S¬Xµ`»h½q»y¶®€¦}œw“q‹l…i€j}m|u{y‹v—r m¥i¦f¢eše‘g‡ko~s{vyzx~x‚x†y‹zz“z˜xx¢x¥z§§…¥¢–Ÿ˜§•«‘­¶¶¶ºµº²º¯¹ª¸¥¶Ÿ´™³“±°ˆ¯„°€²}µ{·{¸}·‚³ˆ­¦˜žŸ—¥«‡¯€°y¬r£k–d‡^xWkReReUj\sfq‹|•…‹ ›Š‘‡†ƒ{~synsmmogtbz]\…`h–t ‚¨‘¯ ³­¶¶¶ºµº²•Ÿž˜§’¬«‡¥‚›~Ž{~{n}_€TƒP†PŒR–U¡Y¬^µd¼j¾p½v¸y±y¨uŸo–ie‰c…d‚ir}ˆ}“zšwžtq˜o‘nˆm€m{mzmzmzmzo{s}x~~†€Ž€•~œ}¤|ª|­®„¬Œ¦•Ÿž˜§’¬´º»º¾·¼³º¬·¤´›±“°¯‡¯ƒ¯±´€¹~¾}Á}Á~¿‚¹‡°Ž§–”¦Š®€´wµn±g¨a›\‹WzRmOfNfQkWu_€iŒt–~‡ŸŠšŠˆ…„|~uwrpsivb{][…]‰d‘oš}£Œ¬›³©¸´º»º¾·¼³Ÿ™•¢¨†¨€¢|˜zŠz{}k€^…U‰S‹VZ–^ cªg²k¸nºq¹sµt®s¥nœg”aŽ^Š]‡`†f†o†z…†„‚”—•}{ˆx€uyqvnwjye{a}ac‚hƒq…{†††„™£~¬}±}³°‡©Ÿ™•¢¨†µ¸¹·º³·¬³£®˜©¦„¤~¤z¦y©z­}³»Á~Æ}Æ~»ƒ°‰¤™˜Ž£‚­wµm¹e¶_®[¡XVSpQiOhPmTvZcŒm•w›œ‡–Š‹‰…zuwtovg{`\‡\Šak“x›†¤”¬¡²­·µ¸¹·º³·¬†ž‘š†¡¢yv”vˆxz|l‚aˆZ[Ž`f•ko¥r¬t°t²s±r¬q¥oœi•bŽ\ŠX‡X‡\ˆd‰n‹yŠ„‰Œ‰Š‘ŠŽ‰‰†ƒz}twsqvhy_}X€TƒU†Zˆc‰pŠ~Š‰ˆ•„¡¬{³yµz²ª†ž‘š†¡°±±®¯ª«¡¥•Ÿˆ™|•s”n•m™ožt¥{­·ÀÅ}Æ|Â|¹~¬‚žˆ’‘†yªnµd»]ºZ³X§Y–Z„ZuWmUlTpUxX^Šg’p—z—ƒˆ„‰{†u€sytqxi~c…`‹bju“‚š¢›¨¤­«°°±±®¯ª«¡|œ…Ž˜xšr—pp†t{zp‚hˆdgnu‘{—~€¢¦|§x¥t q™ng‰_„Y‚VVƒ[†c‰nŒyŒƒ‹‹ŽŽ’‹’…‘~w†s~suwj{]RƒK†I‰NŠX‹f‹vŒƒŠ„Ÿ}«w´s·r³uª|œ…Ž˜x¦¥£¢ ››‘”„Œv…kc`ƒb‰hp˜y¢¯¹€Á}Âz¾xµw§z—Š‰}—p¦e³]¼Y½X¸Z¬^œbŠd{cr_p[sYyY\‰ck’u€ˆ‡}‰uˆpƒo|rtwmh†gŒkt€‘Œ––œŸ¡¤¥¦¦¦¥£¢ ››‘qœzŒ†~t“n’kŽl‡pww~q…p‰t‰|ˆ„ŠŠŽ“Ž—‹š†š€˜z“v‹qƒj}ay[xWyX|\e…oˆ{‰…‰Œ’Ž–‹˜…˜•yŽu…wz{m€]ƒO‡F‰CŠGŠQ‰`‰p‰†€x«pµk¸i´kªqœzŒ†~t™˜““Œ‰tyfr\nVnVqZxdo‹{–‚¤„±‚º~¼y¹u¯s¡t‘xƒ‚v‘j¢`±Z¼X¿[»`°g nŽrpvkseu`z]€^‡bŒiŽs‹~‚‡w‹oŠj‡jmztt{pƒpˆv‰€ˆ‹‹•œ“ —¡™žš™˜““Œ‰jŸtŽ€€‰uŽnjj‰lƒq~wz}z€€€ˆ~‘€—„šˆšŒ—Ž‘ŽŠŒ„‡€€{wrqinbm^n]rawi|t€€Š€†””“‘˜Œš†˜“~‹€€„q‡`‰QŠG‰D‡G…Q‚`€q€€}ŽwŸo®g¸c»a·d­jŸtŽ€€‰uŒ…‡€€zurhi\cS_P`RdZleus€€Œ‡›ˆ©†³·{µu¬ržrŽv€€sh¡_±\»\¿a»i±r¡{€€~vxspuizd€c†eŠkŒt‰€€‰tŽkŽf‹e‡hm|ty{y€€Š~“›„Ÿˆ ŒœŽ–ŽŒ…‡€€zud¤n•z‡…|‹sŽlihŠj†m„p…rŠq“o›r w¤|¤ …›†”…Ž€‰y„q|ksgkfggfjjnqs{v†vx–~™†™—–“›Žœ‰˜†‘ˆ‡‹yhŒY‰N…J€LzUucqrq€oi b¯]¹Y¾Y»]²d¤n•z‡…|€„w€qyloed^ZYTWSYW^`fnp|y‰…”‘¢Ž«‰°‚®|¦wšv‹y}‚q‘g¡`°^¹`¼g¸p­{ž„‰~‡vszurzm€k…l‰qŠy‡„~r’h“b’_Ž`‰d…iƒo„sŠs“sšužzŸ›ƒ•…‹†€„w€qylo]«gs~„‡yp‘i’e’c‘b‘b’b–`_£b¨iªp©w¦} ™“~Žw‰o‚izesdpephslzp‚sŒs”t™{›„›™˜•ž¡Œ Š›‹’…Œtˆe‚Y{SsSkYecap`}_Š[›V«Q·O½P½U¶]«gs~„p€f}`w]oXfU^S[S\Wb]lfzo‰w•œŽ™›¡•¤Ž¢‡›~‚€v‡l“d¡_¬^³bµi°s¦~™‡ŠŒ}‹v†u€w{|wu…vˆz‡‚Šy’m—b™[˜W–V“Y‘^c‘h–iœj mŸs›x”}‰€}p€f}`w]oV°a¤l˜xŒƒ€t”j™b›]œYœVT Q¥P©U¬]­g«q§y¡~š”xŠpƒj~gyfwgyj|nƒrŠt‘t–u™{š…™—š“¢Ž§‹¨‰¥‰žŠ‘‡€rxeo]eZ]\VcRmRwRƒO“K£H±G¹I¼N¸V°a¤l˜xŒa€W}RyQsPlPgQfUh[obzj‡r•y¡€¨ˆª§•¢—›””ƒˆxˆnŒf•`ž]¦^ªb©j¥sœ}‘††‹|‹xˆx…{‚€€„††„ƒ‰}s–gš\œSNLœN›S›Y_¡b¤d£ižo•uŠ{|~n€a€W}RyQsR³\©gžt’…x˜lŸa¤Y¦S¦N¦J¦G¨FªL«V«a¨m¤wž˜ƒ‘‚Œ|‡tƒnk}j~l€o…sŠvy”x–x—~–‡”’‘œ¥Š«‡®…¬…¦„›w~mqcgYaQ`KdHiIpJ{HŠEšC¨C³E¸J¸R³\©gžt’UL€I}JyLuPrUr\uc|j†q’xŸ|©°„³‡²‰®ˆ¨„ ™w’og‘b•^š\œ^b›i–rz‰‚†|ˆ{ˆ}ˆˆ…ˆˆ‰‰‹†x”n˜b›VLŸF¡D¢F£K¤S¥Z¨_¨c£i™pv{paUL€I}JyQ²Z«e¡r•ˆzœm¥b«Y­Q¬KªG¨C§C§I¦T¥`¢mžy™“††‡€‚ys~qp‚r†u‹y}”•~”}’‚‰Œ“‰œ†¥ƒ¬¯€¯«}¢v•m‡c{XpPiIeEeDgFkHsGE‘DŸD«E²JµQ²Z«e¡r•M„GƒF‚IOV}^~go‡v{™¤€­€´€¸¹}·z²v«q£l›g•c“`”^“^‘`ŽcŠi‡oƒv|}€|ƒ~†ƒŠ‰’”ˆ•€–u–j—^™R›Gž@¡>¤@§F¨OªYª`§fžm’tƒzte‚W„M„GƒF‚IS®[©e s•ƒˆ“{¡o«d°[±T¯OªK¥G¢GŸMW›d™q–}’…Š‡Š…}}{x}v€v…xŠ|€“ƒ•…“„‚Š…†‹ƒ’€š~¢|¨{¬{­zªv£n™dŽ[‚RxKpFkEhFgJiMnMzLˆJ–I¢J«M¯S®[©e s•K‡H‡J‡OˆX‡b‡lˆv‹}ƒ•…œ†¤„¬³|¸w»r»n¸j²g©d c™b”aaŠb„c~fyjvnusvwyz}~‚„Š‹‘‘–––™“›Œš˜u•i“]”P–Eš>ž;¢>¦E¨P©[¨e¡l–tˆ{x€i„\†R‡K‡H‡J‡OˆY§`£i›w‡…˜z¥p¯h³a²\­X¥UžQ˜Q”V’`lŽwŒ‚ŠŠ‡Ž‚Ž|ˆxw|zz€{†}Œ‘…”‰”Šˆˆ†‚‡|Šyw•v›v¡w¥w¦u¤pŸh˜_V‡OKwIqKmOjTiXmXvW‚USšS¢T§Y§`£i›wO‰P‰TŠ[eŽqŽ}†Œ’•™ŒŸ‡¥€¬x³p¸i»d¹a´`­a£c™e’fŠh€iujmkhlfnhpnsvv}{†ƒ‘Œš”Ÿ›Ÿž›Ÿ‘…˜w’k_ŒRŽF’>—<œ? G£S¤` l˜u‹}|ƒnˆaŠW‹QŠO‰P‰TŠ[aŸg›o“}‰€wªq²l´h°f¨ežc”`Œ_ˆd…l„u„„ˆ„Ž‚y‰t‚u~y|}‡ƒ‘ˆ“‹‘ŒŠŠ€‡y†s‡p‰op‘r–t™v›tšn—f“]ŽV‰QƒO}QxUt[pcmgnhufc‰`“^š^žaŸg›o“}‰W‰\ˆb‹jv‘ƒ‘Ž‘–šš–’•ˆš¡tªj±b¶]·[³]¬a¢f—ko‚qurhr^rXqXq^qgrst~zŠƒ—Ž¡—§ž¨¡£¡™œ‹•|Œp†dƒV…JˆB?“B˜K›X›g–uŒ~‡pŒdŽ[UT‹W‰\ˆb‹jj•o‘w‰…€”y£t®q´p³p­q¢s•s‰q€o{szxz|†~Œy†uu{zz€{‡~‚‘†‘‰Š„ˆy„ql€jkƒn†r‰vŒxwqŒiŠa‰[‡W…Xƒ[b|jxruwtxyu€q‡mŽj“i–j•o‘w‰…€a†j„rˆ{Œ‡“œŽ¢Œ£‰ ˆ™‡ˆ†Œ{”pže§]®Z°Z®^¨ežm’u‡yz|j}\}Q{LyNwVubuqw}‡œ’¨›¯¡°£«¡¡š’‘ƒ†w~kz]{P~GƒD‰GŽP‘^nŠ|‡rŽf’\“W‘WZ‰a†j„rˆ{Œswˆ€€Œw›r¨p±p´r±v¨{›€€w~ss‚u†zŠƒ†‹…‡€€zx{t~s„t‰vŽz~‰‚€€u{mxivivlwqyw|}~€€€yq€i‚d„a†b‡g†n…wƒ€€„~…‚…}ŠyŽusswˆ€€Œwk~w|€€ˆ…“‡ž‡¥…¨‚¦ }–{Š|€€u‡j’aœ[¤Y§\¦c m—w‹€€„r‡b‰TˆI†E„HR`~p€€†Žž˜« ´¤¶¤²Ÿ¨—š‹Œ€€wssesWvM{I€K…T‡a†q€€uŠi‘_“Y“WZ‰aƒk~w|€€ˆ…|‰€‚ˆz”s¡o¬o³q´v¯|¥ƒ˜ˆ‰‹|‰t‡q†r‡vˆ|ˆ‚ˆˆ…ŒŒ{ˆsƒl‚i„g‡i‹lpuŠx„zzwpskojmlkrkzlƒnŠoqŽp‡qtwxp}mƒm‡qŠwŒ‹‡‰Œ‡Œˆ‰‹…~||‰€‚ˆz”ssx~u‡x}˜~ }¥{¥w¡s˜pŒn€nurkza…ZW™Yž^h™t…‡yŒl\’O’E‘BEŽOŒ]Œn}’‹š›¡ª¦´¨¸¥¶ž¯“£‡–{‹rmpmapUtOyO~Ua€oz}pˆfŽ^YZŠ_„g}sx~u‡x}‡†Š€‘yšs¥q­s²w±}¬„¢Š–ˆ‘}v‹s‰t‡x…~‚„~Šztmeˆ^‡[ˆ\ˆ_‰c‰i†o‚t{wrukpikkgqc{a…__™_ž``—aŽf…l~ty|wƒyˆ~Œ„ŽŠŽ‹ŒŽ‹ˆ†Ž…‹‡†Š€‘yšswvt‰vz—ywŸrl—gb€_s_hb^kWwR„QŽU•]–i“u‹€ŠuŽh“Y–K™Bš?›CšLšYšh›vžƒ¤“¨£«¯ª¶¥¸´‘­„£w™nŽi~hnj`nWtTyV}_}jywp‚hˆb‹_‹`‡e‚m|wvt‰vz†”€˜{Ÿw¦w«{­€¬†§ŒŸ‘””‰•€‘{Œyˆyƒ|€z…tŠng‘_XŒRŠP‰RˆW†^ƒf~nytrxjwfrglnex_„Y‘UžS§Q¬Q«Q¤T›Y’a‰jƒs€|€ƒ‚‰…ŒŠŒŒŽŽŽŽŽŽŽŠ†”€˜{Ÿwzy‚w‡yz’x•s–k“c‹\VtRgR\US_MlJzL†QŽ[‘gtˆ€~ˆsŒf’W—KœB ?£B¥J¥U¦c¦n§zª‰­˜®¦«°¥µ›¶³‚­u¦lœfŒd{eki_oYvX{\}e{puzn‚j†h‡h†l‚r~zy‚w‡yz˜†š‚ ~£€¥„¦Š¤ “š–“—Œ•†Š„~~wq„kˆdŒ]ŽVŽNIŒIŠL†R‚[}ewopwj|d|cwhorf^ŽVœO©J²H¶G´H­K¤Q›Y’b‹l†u„}„ƒ…‡‡‰ˆ‰Š‹ŒŒŽŒ’‹•‰˜†š‚ ~{€|ƒ}†}ŠyŒq‹gˆ]€TvMjI^HTLLVGeEtH‚O‹YeŽrˆ}~ƒs‡fX•LœD£A¨C¬I­S­^¬g¬p­~®Œ­šª¦£¯š´µ‚´u°k§d˜a†auegk^sYzZ`j{tw|t‚r†r†t…w‚{€|ƒ}†}œ†ž…žƒž…‰œ›”™˜–›“š˜“‹Œˆ……~ƒwpj‚d„^†X‰QŒKFŒF‰K…R\xgqrj{da‚c}ltxj‡`—V¥M°G·DºC·E°I§OŸV–^gŠo†v„|ƒ‚„ƒ……‡ˆ‰ŒŠŠ•‰™ˆœ†ž…žƒž…|…}ƒ~ƒ‚{‚q‚e~ZxPoIeEZEQJITEcDtG‚NŒX‘doŠy€}thˆ[PšH¢E©G®L°T°\­b«iªsª€©¦š ¥™­Ž²ƒ´w´k­cŸ^^~anhcq\zZ^„f‚py€~†}‰|‰|ˆ|…}ƒ~ƒ‚†ž‡œˆ˜‹“’˜Œ‹ Š ‹Œ—Ž‡Šw†p‚je~`~\€XƒS‡M‹I‹JˆNƒV}`ukmvg€b†aˆgƒrz€odžYªP³J¸F¸F³I¬M¥RX–^e‹k‡pƒv€z}~|~ƒƒ…‰†‡•‡š††ž‡œˆ˜‹}Œz‰x‰x…y}zrzfxZsQmJeG\HSMLXHhHxK‡Q‘Z–d•mŽuƒxwzk_‹U•OŸL§N­R¯X®^©a¥e£l£u¢ œ˜—¢ª…¯y±m­c¡]“[ƒ^tehn`y\ƒ^ˆe‰nŠxŠ‰ˆ‡Œ„ŽŽ}Œz‰x‰x…›…›‡–Š‡˜ }¥{§}¥Ÿ†–Œ‹xŒq‡k‚f}cyax_y]}ZƒVˆRŠRˆVƒ]|ftpm{g„dŠeŒm‡z‰t—i£_¬W²Q³O°OªS£W\—_’cŽfŠj†m‚q~uyyw}y€~‚…ƒŒ„“„˜„›…›‡–Š‘yŽuŒsˆtusugu\sToOjNcQ[VTbPqO‚RW™^f›m“rˆt{vo|d†\‘W›U¢V§Z©_¦c dšd˜g˜m˜u˜—Š””ž‡¥|©o§dž\’Y…Zxalkdx`ƒa‹gp’z“„“‹‘Œ“†“‘yŽuŒsˆ—ƒ•†ŽŠ„’zœr¥mªl¬o¨v ~•‡‰Ž}tŒm†hfyeterfsgwfc†_‰^ˆ`„e}mvup~k†i‹mŒv‰ƒ‘xžn§f¬_­[©[£]œb–f‘iŽkŒkŠlˆl†m‚o~rxwt|uz€‰•—ƒ•†ŽŠ„’ƒ“ztq‡r~ssuiw`wZvXrYm]fd_o[~ZŽ[›_£d¥j¡p˜sŒs~tsziƒc_–_a e iœk”kh‹gŒiŽms’{’…‰—~œqœd—[ŽV„Wz]qgjtgg‹m‘u–šˆ›˜•“—‹–ƒ“ztq‡’~Ž†‡z‘nœd¦^¬^®bªj¢u–€ˆ‰|‹sˆl‚i{hujpmnqottu}r†mŠkŠl†nr{xu~q„qˆv‰€†€™x£q¨k©g¦fžh•lr‡v„x„x„v†t†r†q„q€syxt~u€y€†}‘}’~Ž†‡z‘ˆ’~w‰tƒt{vryi|c~`a~ezktsm~hŒg›g¦j¬m¬r¦uœxŽv€vu{mƒh‹f’g—k™o—t’vˆtok€h„hˆjowŽŠ‡€rdŒY‡SRzWtbpon}p‡u}—†œŽŸ”ž˜™˜‘–ˆ’~w‰tƒw‰z€€sŠe–[¢TªS®W¬`¤k™wŒ€€‚v€q|nvoqrnwm|o€v‚€€‰{wŽt‹s‡tv}yy|z€€Š}–y t¦p¨m¦mžo”s‰y€€z„z†{„‚ƒ~‡{‰y‰x†z€€z…y†|…‚‡~‹zŽxw‰z€€sŠ‹‡„€€|{|sl‚g…dˆeŠh‰o†w€€yŠt˜s¥s®u²x°|©œŽ€€uƒnˆjŽj“n•s•y‘Š‚€€xyvrxl}hƒgˆhŒms‰z€€q‚c‚V€O}MzQwZvgwuz€€ˆ‡’Žš”Ÿ˜ ™ž–˜‘‹‡„€€|{Œr‡s~xq‚dXœQ¦N«Q«X¦al’t†w~vysxpzn}nƒp‰uŽ}‡Žˆ•ƒ–~“yvŠt…ssr†rpšm¢k¦j¥l o—t‹{‚u‰ppsŽyŒ‰††‹„„Œ††Š€Ž‚‹††ŠzŽuŒr‡s~xq‚™ƒ’{‹v‡r‡mˆh‹eŽei‘oxŽ‚ˆ‹‚•~¡|¬}³€µƒ±ˆ§‹˜ˆŒz‹pŽj’i–k˜q˜y•ˆ‡Œ}Šuƒszuqyid„bˆc‰g…l}qot`uTvLvIvLwSy_|kt‡}ˆ““—›˜ –¡’ž‹™ƒ’{‹v‡rrŠrvuhŠ]–TŸP¥P§T¤[žb–hk†kƒjƒk†l‹p‘u˜}‡Ÿ’ž›™Ÿ’ ‹ƒ˜|’uŒo‡k†gŠe‘c™bŸb¡eŸj˜pŽytŠje“e•h”o“w‘†‹Œ‘ˆ•„—„–†‘ŠŠŽƒ|‘vrŠrvu ~›w•soŽlŽiŽhj’p“x“‚‘–ˆ …«„³…¸ˆ¶®‘¢•‘˜€˜q˜h›ežf k¡sŸ}š‡“‰“‘w‰t~trwg{_Z‚XƒX€[y`mc`fUiMlJoKsPwX}b‚iˆrŽ}’Š•••’¢Œ£… ~›w•so”vu‡w|~p‡e\˜VT UŸXœ]—`‘aaŒcŽe’j˜qŸ{¥†ª’­¬¥¨©¡©˜¦Ž¡„™y’o‹fˆ_ŠZX•Y™[ša—ir…|y†lb“\•Z—]—c—l—u—~˜…˜‰š‡„†š‰•ŽŽ’†•–y”vu‡w|~¦{£vs–q’omnqŽw€‹–Ž ‹©Š³Š¹‹º¶“«—œœ‰Ÿw¡i¢a¦_©b«jªt§¡‹˜“Ž˜„•|ŒwuqudwYyQ{L{KzMuPlTcXZ]SbPgOmRtVz\€a†gŠsŽ€Ž™Œ¡‡¥¦{£vs–q™{•zŽ{„z„pŠha“]–[—Z—[•[“Z’Z”\—aœh¢s©®³š¶¥¶­³±­±¤®š¨Ÿ€–rŽfˆ[‡TŠRŽS‘W‘_Žhˆts‰g‘]”V”S•T–X˜`šjœt}Ÿƒ ƒ¡ƒŸ†›Œ–‘–‰™ƒš~™{•zŽ{„¨{¦x w˜v‘t‹t‡t…x†~ˆ†Š›¥Œ¯Œ·¼Ž»‘´•¨š–žƒ£p¦a©[­[±`³i²u®§ž•”™Š–‚‹|}wnt_sSsJsDtBtCrFmIhNbT^Z[aYhXoYvZ|[`„k†x‡†‡”…ž‚¥~¨{¦x w˜v™€“€Œ€„|ƒu…n‡iŠdŒa^‘[“X•W™X^£g©s®³‘¶Ÿ¹ªº°¸´´µ­²£¬–£ˆ™yj‡]ƒT„P†QˆV‰_‡j‚v{q‹g‘\‘TNM’O•U™^œi s¢|¢¡†™“”Ž™Š†žƒ™€“€Œ€§{¦{ |–}Œ|ƒ{}{z}z‚}‰’†œŠ§‹°Œ¸¼º‘²”¤˜’œ~¡k¦]«X±Y¶`¹j¸v³ƒ¬Ž¢•˜˜“ˆˆyxjr[nOmFmAn?p@pBpEoJnPlVj^gedl`r]wZ{]}e~r€~Ž~š}£|§{¦{ |–}ž‡›†–…‘‚Œ~‡{‚z|zw|q€k…e‹_Z•V›W [¦dªq®€±³Ÿµ©¶¯·´¶µ²³ª®Ÿ¥‘›‚r…cX~S~T€Ybmxzƒs‹j`V‰N‰IŒIM•Uš_žk¡u¡{—†’ŽŽ•‹›ˆŸ‡ ‡ž‡›†–…‘‚£|¢›‚ƒƒ‚xp€llƒp‰w™…£‰­‹µŒ¹·Ž°¢’–}›j¡]©Y±[·bºmºy¶„®Ž¥“›”“Ž‹‚‚txepXjNgFgCiBmCqEuHyL|Q}X|^yesjlpds^u]vdvov|w‰w•xžz£|¢›‚ƒ‹š‹–ˆ“‚‘{tnŠl…nrwzoƒfŒ_“YšW Z¥b¨m©|ªŒªšª£¬©°®²±±±®­¦¥š›Œ|„m{ax[x[z_|g~q~{}„xŠqŒg‡[‚QI„F‰GM•Wšdœoœw–~†‰†—…œ…Ÿ‡Ÿ‰‹š‹–ˆ“‚}œ‚”‡‡‰xˆk…aƒ]]‚c…mŠw’œ†§‰¯‰´‰´ˆ­ˆ¡Š‘Œ‘n™b£^­`´h¹q¹|µ†®¤‘›”ˆŒ|‚nwamWfObKcJfKlNsP{Q„U‹Y^cŒh„lzooqerbrfqnpyp…rt˜x}œ‚”‡‡‰™Œ–’Š‘“v•k–c•_’`Œf„oz{p‡f^˜YY¡_¡h uŸ„‘œ™žŸ£¥©ª­¬®ªª¤¢›—ˆ„yzltesdvgzn}v€~…‰z‰p‚c{VyL|FEˆJS”`–m”v~…ˆ}—~œ€„œ‰™Œ–’Š‘–|”ƒ‹‰}ŒmŠ^‡TƒOQ}X~drˆ}’„‡¨‡®…°‚¬€¢€”‚„†uj›f¦i¯o´xµ±ˆª¡Ž—‹‘‚Švjs_iWbS^R`TeXm]w_‚`bše¡h£lŸn–q‰r{roripjnplxl‚n‹q’v–|”ƒ‹‰}Œ“ŠŽ‹‹‡‹}p•c™Y›TšU–\g…uy‚mc•[™Y›[™b–m’yŽ…ŒŒŽ“•šž¡¦¦«¦¬£¨œŸ‘“……zxtpsmvpzu€|„‚‡‡‡‰ƒ‡ykv]tPwH|F‚J‰SŽ`ny…‚{‹v’t˜všzš€—…“ŠŽ‹‹‡‹}y€„‡uŠd‰T„JFzIwRv_xo~|‡„”† …¨‚­~«z¥xšxŒ|~…t’qžs¨y­€®†«Œ£ŽšˆŠƒsyhm_d[]Y\\^aehpm{p‰q™r¦t¯v²w¯x¥y–x†wxvqsppsmykkˆnsy€„‡uŠ‰ƒƒ„€€u‡gZ–Q›MœOšV”b‹q€€s‹f’]•W•W’[d†ny~€€†ˆ“˜ž ¦£ª£©ž£•™ŠŒ€€ywwtzv{„€‰†ŠŒ‰ˆ€€qwbtVvNzK€O†YŠfŒt‰€€ˆuo–n™o™s–y~‰ƒƒ„€€uŒs‰y€€pƒ_Q}GxDsHoRnapqv€€‡Œ‰š‡¥‚«}­w©s¡s•v‰€€Œ|˜~¢‚¦ˆ§¢‘š’†Š€€ytpjfc^`YaYf^mgvs}€€Ž€Ÿ®‚¸ƒ»„¸„®„ŸƒŽ€€w|uwwr|m‚k‡k‹nŒs‰y€€pƒ}y}vyxobˆW‘O˜LœOœX˜e‘t†‚yŒl’a”Z“WY†_~hwqswt}|‡ˆ‘”šžŸ¥¡¦ž¢—šŽ„ƒ~z|w~x‚|‡‚Œ‡Ž‹ŽŠŠ‚tzfw[yU}TƒYˆcŒqŒ€‰‹€“v™pmœn™q’uŠy}y}vyxo‰j„n{tmw]vOsGoDkIiTjdmtt‚}ŠŠ‹˜‰£ƒ«}®v¬q¥p›r{ˆ‡…’‡™‹œ•–˜™‚–xq…kycp\iWgViYoawl€zˆ‡‹•Œ¥³½‘À’¼“²“¤’”†~Š{ƒ|{tƒn‡j‰i‰j„n{tmw||t|qwtn|c†Z‘TšS W¡`Ÿm™{ˆ„‘w–l–d“_Œ_‚bxhooitizp‚|Œ‰””™œ› šž”˜„ƒz}vv‚y†~‰ƒ‹ˆ‹Šˆ‰€‚u|j{a}]‚_ˆeq‘Ž™… {¤u¥r¢r›t’w‡z||t|qwtn‚d|eshfkXjLhEfDeIfTicosw€€‡Œ‰˜†¢ª{¬tªo¥lœm“tŒ~Š‡’˜‡ }¡rh–aŒ\€VvRoQmTo\tg}u†„‘“ž•­™¹œÁ Ã¢¿¤¶¤©£š¡ŽŸ‡šƒ’ƒ‡ƒ|„s…k„f‚d|eshfk{s~pztr}iˆa“]^¤c§l¦x¢…š—…›z™q”lŒjkvnkrduazg€q‡}‰‘’“˜’˜Ž”ˆŒ‚}x|r}qr‚v„{†€…„ƒ…}u~m~hƒg‰jr”~—Œ—š”¦Œ¬ƒ®}¬z§yz’|†~{s~pztryar^i_^`R`I_C`CbHfSl`so|{†‚„™ƒ¡¦y¨r¥m i™i‘mŒuŒ|‘€˜Ÿ~¥x¨o¨e¤[T’O†K|JtMpTq_vn‰’œ˜§œ³¡½§Ã¬Ä°À³·´¬³Ÿ±–®¨ŒžŠ’ˆ††yƒofyar^i_^`{…tƒrwxqŒl—j k§p«y«„¨¢—š‘žˆœ€—zŽwƒvwvkxbz]|`€i„t‡‰‰‰ˆ‘…‰}zuymyizi|l}q~w~}}€z€uq‚oˆpu–~›‰ž—¤š®“´‹µ†±ƒ©‚Ÿ‚“ƒ†„{…tƒrwxraj\bZYZOYHYD[D`IgRo^yjƒuŒ{”~šŸ|¡x rm˜h’fŒhŠmŒq“tœt¥q«l¯d®[ªR¢K—G‹DEvKqUpcuu}‡ˆ˜’¤™®Ÿ·§½¯Á¶À»¼¿´¿«¾¢»›·˜±”§‘›ŒŽ‡€tziraj\bZYZ}Šw‰w…}†zwšv£x©}¬…¬ª–§œ¡ ›¡”žŽ™ˆ‘„†z€n€d€^€^€dmw€ˆ~‹|‹z†x|wqvhvbv_v`vewlwtw{v~u€t†uŽx–~œ†¡‘£œ¢¨ž±˜¶’¶Ž²‹©ŠŸŠ“Š‡‹}Šw‰w…}led^]ZWWPUJVGYG`LhSs]g‰o‘v—zš|›|šy—u’pŽj‰f†e…gŠi“jžj¨h°d³^²W­O¥IšDB€DuKnWlgpyxŒ‚Ž©–°ž¶©¹³º¼¸Â´Å­Æ§Ã¡¿žº´š«– “‰‡€zvoled^]ZWW{}Šƒ…Œ‚•€£ƒ§ˆªŽª”¨š¦ž¤Ÿ  œŸ˜›””‹Œ‰u‡j†b„_c~jzrx{u‚t†s†tƒtzuntcsZrVqVpZpbqlrut|vxŠ{“›…¢Œ¥”¦¤¦ ¯š³–³’®‘¦œ‘‡{}Šƒ…kmbd\^XYTVPVNYN`QjVv]ƒeŽl•r—w—{•}‘}Œz‡u‚oj~f€e‡d“eŸeªd²aµ^´Y®S¤L™GŒE}HqOh[ejh|oŽzž‡¨‘­›°§±³¯½¬Ä§Ç£ÆŸÂœ¼·ž±©™ “–‹Œ€uvkmbd\^XY€’‚‰Š‘‡˜‡ˆ¡‹£Ž¤“£—¢š¡›¢›¡œ ž›œ—˜‘”ˆ~sŠi†de{iuppwm~lƒm„orxult_sTpNnLlPlYmeoqt{yƒ}—„ ‰¥§“¦™£Ÿž§™«–«”¦“Ÿ“–“Ž“†“€’‚‰Šlvdn`e^^[YYXX[XbYl]xa„fk•q–x’~‚‡ƒ€‚{}wwvpwi|e…d’c d¬d³dµc³a«\¡V•PˆMxNjT`^\l^|eŒqš£Š¦–¦¤¤± »œÁ˜Ã•À“»”³˜¬œ§¢›œ•–‚ˆwlvdn`e^^€’€†Š”‰˜Šœ‹œ›“™•˜–˜•›”–Ÿ˜Ÿ™Ÿ™œ–˜”‡}‹r†kiwkopjwg}giƒnsyvkw]tPqHnFkJjSk`oou{|…‚‘…›ˆ¢Š¦Œ§Ž¤ž”˜š”Ÿ’Ÿ‘›‘•‘’ˆ’ƒ’€’€†Šrkyhohfg_e\d^dcdlewhƒkn’t‘{‹ƒ„‰}Œv‹q‡ooxspyj„g’f¡g¬i³k´m°m§j›d]XqWbZWaRlTy\†h’w™„›‘™Ÿ”¬¶‹»‡»†·‡¯Š¦‘ž—™š–š•–“‘†|ˆrkyhohf}Œ…‰‡’†–‡—‰–‹“ŒŽŒŽ‹ŽŒ‹Š•™’›–œ˜š˜—•’†ˆ{ƒrznroksfxd~eƒj…pƒw{|m|]yPuFqCnGlPm^qny|‚ˆ‡”ŠŠ£Š¥ˆ£†ž†—‡Œ‹‘Š‘ŠŠŠ‹…~Ž}Œ…‰‡zŠtƒsytntes`r`qcpjptq~r†uŠzˆ‚ƒ‹{’t–n–j’i‹l‚rwzp†l”l¢n­r²u±y«z¡y“s‡kydi`Z`OcJjLsU}b‡qŠ›…¨±z´w²w«z¡–ˆ‰–‰˜‹–Ž‘Š‚zŠtƒsytnv„y‚€€‡}Œ}Ž~Ž€Œ‚ˆƒ„„€„~ƒ€€„‰ƒŽ‰‘’•‘˜Ž—‰“„‹€€zvsrlsfvd|e‚i‡o‰w‡€€„r„bS|IxFtIrRsawq€€ˆŒŒ—ŸŒ£ˆ¢ƒž–|{„€€„~…ƒ€{ƒx„v„v„y‚€€‡}„€Š€€tj€c_~`}e|l|u}|€€…~x•rœm i hœj”oŠv€€x‹t™t¦v¯{²¯„§†›…Œ€€wrnbgTdJcFfIlRsazq€€€|›w¦q­m®kªl¡o•v‰€€‰|~•‚–ˆ”‘Š’„€Š€€tjtmssp{o€oƒpƒru~wzywzuyvvzv{‚‚…Š…ƒ”€•{‘uŠqmvgsctayb€f‡mv‘€‰‰{kŠ\…R€M|PyYyf|v„„Œ™Ÿ‹ †€•z‹vuuxp}o}ozpvrqsmtjujtmssp{o‹‰Š‰€ŠtŠjŠa‰]ˆ[‡^†c†i‡o‰qŽp•lh£e¦d¥f¡k™rŽ{„…|yz©}°ƒ²ˆ®¤—ˆŠ{nv_mQfHbEbIdShbmrq€ro™k£g¨d¨c£e™jqzwƒu‹w‘}”ƒ”Š’‘‹‰Š‰€Št]b_ae_l^r_wayeyixmupsrqsrrtrwxxx‡vs‘o‘je…az^r[pYsZz^ƒeo•zš…›•”ˆ”x’h]ˆX‚Y~`|m~|„Š‹•œŒŸ‰„–~‹x~tptdw^z]y]u^o`iacb_b]b_ae_l^ŒŠ‹…Œ|qŽgŽ_ŽYWŒW‹Z‹^‹aca—^[¢[¥\£aŸh—q{ƒ„|{œ}¦‚®‰°‘¬—£›–›ˆ•{‹n_sSjJbG^K]T^a`pc}cˆa“_›]Ÿ]Ÿ_šb’h‡o|wtr†uŒz†ŠŽŒŒŠ‹…Œ|qQRRQWP_OfQlUqYt_uetjsnrqrqrsryp€m‡iŒdŽ_ŒZ‡VStRmQlQqTzZ…c‘oœ{£‡¦’¡˜•™…˜u”iŽcˆb‚h~s}€Ž†˜ˆž‡Ÿ…š}‚yrwbvUzO|NyNsNkObP[QURQRRQWP_O‰ƒ‰~ŠvŒmdŽ]ŽXŽTŽTTŒVŒWŒWT”Q™PPžTZ™c’m‰w€zŠz–~¡†©Ž¬—ªŸ¢¤—¤‰ž}“q‡cyWmOcL\NXUV`VmWwV€V‰UW“Y“]cŠj‚q{wu}t‚w†{ˆ€Š„Š†Š†‰ƒ‰~ŠvŒmJFIFMEUF]HfLmRrYv`wgwmurttswo}j„dŠ^XR‰N‚KyJnJgKhMnQxX…b“mŸz©‡­’ª™Ÿœœ€™s“kŒj…nw|„}‘€›Ÿž€—~‹}{{j{X|JDC{CsCiD_DVENFJFIFMEUFƒ|„v…oˆhŠbŒ]YVTŒSŠS‰RˆO‰LH‘G”H•L”S]Šh‚sz{u„w~›‡£’¨œ§¤¡©˜ªŒ¤™u‹h~]qUfQ]SWXS`PjOqNwN~PƒT†Y‡`†gƒou{yy|y~{~€‚‚‚‚€ƒ|„v…oˆhGAFAIBQBZEdJnPuWz_}g}o|uyyu}o„fŠ^ŽVOŽJˆGGuHjIdJeMkQvX„a’l x«„°®—¤–Ÿ‡z˜q‘nˆq€yz…x‘y›zŸzž{–|‰}y~f€T‚F„@„?~?u?j?_?U@L@GAFAIBQB{v}pj‚e…bˆ_Š]Š\ŠZ‰X‡V…RƒNƒI„D‡B‰C‹HŠO‡Y‚c|nuuq}t‰|”‡“£ž¤§¡¬š«¥…šzn€dt]iY`YY\TbPhMmKpLsPwUy]{e}n}u}z}|~{zyƒxƒx‚x€y|{v}pj‚eJCIDLESG]IhMsS{Ya…i…qƒy~y„o‹e‘[”R”LH‰G~HsKhNcPcRiUtZajœt§€®Š­”¤œ— ˆ |œs•pŒr‚yyƒttšsžtv–yŠ|z€h„WˆJŠDˆCBxBmAbAXBPBJCIDLESGsrwlyg|e€eƒe†fˆeˆd†bƒ^€X}R{K|F}CC€G€MW|awjqqnxr‚{Ž†˜’Ÿ¢¥ ª›©’¢‰—~‹t€kvdmaf``b[eVhQjNkOkTl[ndqmtvx}|€€ƒ|…w‡sˆp‡o„oqysrwlyg|eSLRNTP[QeSpV{Z„_ŠemŒu‰|„ƒ|Šq’e˜Z›QšL•JŒL€PtUjYdZd[i\q_}c‰i•q z¦…¦Ÿš“¡…£z¡qšno„vy€rŒp—oœpœr—w|‚o‡_‹SNŠN„M{LqKgK^KWKSLRNTP[Qmqrkuhxh|kn„q†s†r„oj|cx[uSuLuHwGxIyOyWwatioomur~{Š†”‘››Ÿ¢Ÿ¥›£”›Š‡x~qwlrimhiiej`lZkVhWf\edemhvl~s„z†ƒ‡|‹tmi‹f†g€iymqrkuhxh_[_]a_gaqa|b†cŽf“j”p’w‡†}q—ežZ¡S PšQ‘U…\xcngihggjfpexf‚iŒn•v››•™Š¡~¦s¥lŸi•kˆq||sˆo“mšmœp™u’{‡zˆmŒb^Š^„\|[tZmYfYbY_[_]a_gajtpnslwo|t€z„‡‚‡‚„€z{qvhr_qVqQrNtPvTw[wdukqpout~|ˆ†’™—œ™š“‘Š‡€z{uxrvpuptqrrnqgobjbdfan`vaf†nŠwŠ„‰{Žq‘i‘cŽa‰aƒe{jtpnslwomkonqpvrqˆo‘n–m™o˜r”wŽ~††|o™d¡[¥V¥U Y—a‹jsvwpwmtmqomtk{k‚nˆt~‹ˆ˜~£t©jªd¥b›elwwƒqn—mœoœs˜x†„|ˆs‰p†on|lvkrjoimjmkonqpvrkzruvtzx„‡ˆ‹‘‹’ˆ„‰~€xuskqbq[sXuXw\yczjyqvutyxŠ‡’˜”›—š––‘‡‡~yywvwuzv|w~yz|yuvnongqaw]~^…b‹is‹~„‡yn‘e’_^`‡e€kzruvtzxyz|}€€„€‹~’y˜u›q›o—p‘rˆx€€vŠj•`ŸZ¥X§Z¤ak“v‰€€„yƒtqzpurquoyp}v€€{›r§i¯a°\¬\£`—hŠs€€yŒt–qœpŸržu™y’}‰‚€€}z~w|uztytxvyyz|}€€„€s€{„€€ƒ„ˆ‹“’š”ž“ž‘›Œ”†Š€€{uylyezb}bf‚mƒuƒ|€€~ƒ€‰…‹•™“™“–‘‰‰€€wxsuttwu|y}†ˆƒ†ƒ€€ywwnye}_‚]‡^‹d‹mˆw€€t‡jŒb^_cŒj‡sƒ{€€€ƒ„ƒ†ˆˆŒŠ‘Š–†š€œz›t—om‡n}styk„aZœV¥W©\ªe¥qž}•†ŒŠ…‰~…yuystsrtsvyw‚vržjªb²[´W±X©\ep†|€ˆy’ušržqŸrs˜u’wv‹u‹sŠrˆs‡u†y…~…ƒ†ˆˆŒŠ‘Š€ŽŠ’Ž’’—˜›žŸ£ ¦ ¥ ˜™“…ˆ{‡r‡mˆjŠlqx€ˆ‹Œˆ‰”Œ˜Ž›œ™Ž“‰‹wwoplnnpstzz‚ˆ‡ŒŒŒŽ†Š‚}w}ld‚_„^…a„h€pwym€e‡a`‘d“k“u’€ŠŽŽ’’bklSuKƒR—Y¤]¥]™Y…TvXpfswz„ˆzh|T„EŽA•F“P…Xs_jgholyoƒkŠ`ŠWˆS‡S‰V’X™[–gŒy}Žp£l¯p¹pÂlÇdÃZ¹S­U˜azocz[c|u{…†”œ‘œ”Ÿ|¦i`‡bklSuKƒRg”\OhlMœP›hhea`q°Œ¥œ¦zº©|vzB…>ƒl‰v¥_ªV”q~ovPmI]jL|hn“dŒŽj©n‘ˆf”Z h¦« œ±¨_‹]r~‰œ|›{wtaejvk l³€³ˆ·j¨OŒMrKkQvfkwarrg”\OhlM`}jktei”m¡o¡m•jgsmsz{†„‹‰‡‚{nuZ{O‡Q[g‚jtgrewg}o}vŠg_Ž^Šcˆii•f•iŽr‚€vp™q p©n­kªi¢g—l…vl\ƒZ€gw|uŠ~ŒŠˆ”ƒ•‚‹w›f›^`}jkteimciN`un¢zŸmvZq[–f©f{Ž “”±w{FoAzc”c§R­Y°€Ÿ’~‰WwJ\bLel`”o‰¢gµh˜v„Š}¦q¢f†Ž°ºv¦dƒpv…”Ÿ~ZqUw}‰­‰¿³…­_šR}ThKrT‰d€nk}fmciN`ungŽuƒ€€Œƒœ†¦†¤„•€€s…s{—…—‰Ž€€lx\}X‡aŽq€€€txuolˆq‹€€o‘il„v}€€‰wpo‹r„y€€†~Ž~“~‘‰€€…o\“R’V‹h€€{ŒŠ‡Œx‹u€€n‘a™_˜gŽuƒ€€Œƒ–z‹w€€–žš¥€€]g]s€€Œa‚[€€Š³‡³€€mWd]€€”z‰o€€šŸ—€€_{c~€€u“iž€€­e©q€€Œ‘–€€TdXl€€žwŸs€€^¡]§€€€KrK€€“¥‡Ÿ€€~…tŽ€€„fwj€€‚…s„€€–z‹w€€–žwžŒ™™—¤š°œµœ®š—‰”{˜w¡y¦}¤~›u‹f‚\„]‰jŒ}ˆŒzŒoƒsz€uŽy•‡•~–z~‡srŽ{ƒ„w‹ompŒtŒy~ŽŽzŽpŽf‘Y—KšH™S’iˆ‚€Ž…zyun|a^šf wžŒ™™—¤š{´‰®Š¨Œ¶vµT”7w@j’|xvw‹ƒ¨œvwpouŽ‡²€Ÿ]LŠeœn„WlVv†ˆ¯˜¬‚¦„z›kŒ„a”^“z—„‡ib_LgJy_{`²:Â5µS‡WRPDacztqe_Lcls¡†¬Œ‰YN€fc•a³{´‰®Š¨Œ¶ˆ¬¡¬±ªºªÁ¬Á­¸«§¨—£Š£¨{¬wªt¡o’f‡a…c†n†~ŒrŽh†o}€x”}¡‹žš“ž–‘…•t—m’q…wx}pƒnˆrŠvy’w•p•d“WMŽD>BT‹n„ˆ}—wšr“kˆd}[~W‹]šo¥ˆ¬¡¬±ªºªdÅvÁy¤qŸf§R›7rCir…•Œ•‰——•vˆpŒŠŽ¥€³a–KuK‚Zb~Tzd‚—~®‹£±™«‹xˆm‚ƒf†I{^Œˆ”x’XpJmeu™d²;¸6°RSeNW^]„U‡LfL]qn¢w®}‘ŠjƒOnWc‡]²dÅvÁy¤qŸ‘¯ª³¹°Á­Å®Â°¸°ª­ ¥– ˆ£|§s§n o‘n„k€lq€z{…m‰c‚iz|w“{¦Š¨œ¡¦Ÿ¢Ÿ“~˜qŽmktmosq{y‚€ˆx–k–[‘L‰Cƒ>=}E}X}szŒtžl§d¥\™WŠS‚Vˆc–w¤‘¯ª³¹°Á­w ¤€€zqƒ€€\YWW€€—™‹€€pŽh€€Ž˜™€€aljb€€‡‹Šz€€‚…Šu€€³Ž³€€yt‹†€€MhMr€€³|³€€u‚‡†€€Z‰_”€€}msy€€ªn­o€€n|€€ƒŠ€€pf~g€€w ¤€€zq¦¢¬°¦· ¸¢´¦«¨¢¦ž›˜’‰”z™oœm™t‹z}yzv{s}t{}nb|euur‹wŸ†¥œ£­¥°¤£Ÿ”y…mubl_kdto€x‰‚‡Ž}•o”_‹R€MtJlHiOk^pusŒo¡f±^´X©V•Z…aƒn~š¦¢¬°¦· “{¨{®`¥d¡{ |ƒ[d[j„yli\Qgduƒwž–…vthcgup“’¡›«x«d™ou€\ŸhÈrÇ^œ_‡ˆ„˜ykZYK{M°`º‹’§‹šŸoŸLƒ^€vŒh‹X”r¬ŠÊ~Û‘‘Œ‰o|¥¢Ÿ°†ƒ‡Z^“{¨{®`¥d‡•Žš˜’ŸŠ Œœ“•™‘—’‹€ƒu‰mn{ƒ‡u‡t€yxr€xu~gycrkn|r•š™²Ÿº¢°œ˜}nm]dWf\riu‹Šƒ—y•n‰gzekb`]]]bdktsˆq iµc¼`²cœk…u||€‹‡•Žš˜’ŸŠ–w¥i®^£z‘‘™£k…]dzkr_bT[t¤‰ž€wqahu`h~„“–®’¨e™]m{_¥|¾{¼[£Q‰ssœk‰YpIM¯^¸}œ¢”¥žw¦LŸ`‘y}isJŠX®y¾v·r£‚ ¤•¢{~|yœ˜¤²€‰o]€e–w¥i®^£z|†z‰€€‡w‡{„„~Œ|Œ€€€twvm€i‰o‹€€ŽssŠ|€…z‰€€…ndudolqy€€š†³“¼›²›™‘€€km[bW``iqv€€Œš€¢~ž}~€€p{epcgjfvo€€~˜x°r¹p°u™€€‡t‡u‚}|†z‰€€‡wƒ€€yšl–€€¬e¨_€€‚‹‘|€€b©kª€€yQwP€€u‰kw€€ˆ¯y¯€€„]tb€€¨¥€€^t\u€€zqu€€£yœl€€u¡vš€€’Ž—˜€€bVeZ€€‹‡r€€ª–ª€€re}l€€`m\c€€ƒ€€yšqwfzhrolqtn€k‹hkƒlxhyf€j†v…ˆy•p˜u’‰Žƒ”‡‹Šwev[nZo`}d—m®~·®“—npech^vb‰j—p rªv­}¨†›Ž•€y‚ys‚lo™}—–­†¶‚­„•Ž}•oŽmqqwfzhrol†›a¥P¬V°b‰„]«O­`—¥Ž°™›«j»P™Y`iD…V¡Ÿu•Y¤]˜‡g—Z…ud‹S¤c»v©xƒp_sH~U‰U“T¢o­•“um‚[­^¶p–¢µ¯ª }{V€Q¦]¯n¤v¥¶­¦«•n„lxoaY`Wƒ{†›a¥P¬V°ifUiQgWg\r^^Ž\“\\…]‚cq„x–l h t™†—ƒžƒ•‚~wdjQcHfHuKU¥g±x¬‚›‚ˆy~m{eƒc‘f¢kªl¬j­nªx¤†œ—”£¢”…šz¦y°„®š£°–¸¯™—p”fdifUiQgWg~ž_±O¯V¯g’Šd›WkŽv³u¼‘ ®m³L’__rZ€x™‡¨f¡P¦W—bfmX|{t˜`©l©~r€dˆV~RvE’I­n¬Ÿ‡¢s{Œ[¸_¼€“©Š½Ÿ«¥Šƒh€R£TÀq½‰¨•Ÿ§–®‘¤”“’‹tXcOxt~ž_±O¯V¯kXR^GcLjTw[†^‘]—Y–U‘W‹c„wyŽn c¦e¤v›Œ€£{˜uhb\KX?_>nA…KœZ©i©ržt’oŽk’l›p§t°u±p©iŸf—m’~’””¦—©™ ž’¦‡¯ƒ¸‹· ª´š¼Ž³Œž–‡ s™b†XkXR^GcLj‘ž†—€€w‘l›€€…qt‚€€ªf¥l€€[“W™€€‡zuŠ€€“a„h€€ƒpxf€€†‰t€€„ƒ€€„’‡Š€€c”\˜€€°[¯Z€€V­W¯€€¡hŸu€€}a‡]€€k¥p¢€€~l{p€€ƒ”€š€€rUiT€€‘ž†—€€w‘xP^[PiSu]g‹m’k•b—X—Y’e‡zy‘kŸb£i¡}˜’‹Ÿ}¡t”jz[^QJQB\EmLS•^¡g¢lœm–k—n x©‚¯†®„§z—k…_y_xn†œ—¥¢ ˜¢Ž§‰®¯£¢µ’¼…´ƒ Štž]PxP^[PiSu«™¨Š™uy‹U¦\™mŒm¡u©ˆƒZqY\x\Œ~x‡„—|r˜W´a¢|ƒ Ÿ|ohKl\szb‰\‘n–„™sœvzœRÀC®NweKŽJ¨t‰h{dco|W¦H¯\“€y{mVfMj`vqmqYjVY\Slm«™¨Š™uy‹Ow`guhƒsŒ~ƒ€‹rc•^“e‹uˆs“m–v—ˆ“˜‹Ÿšt‰frW[OPSPaZse„k“pšr™q”pp–y¡ˆ¨”©—¡“‚}lfXYQ][os„‹’™˜›—•“Œ‘‡—Œ™ž°·w°w„‰˜q¢YžKOw`guhƒ³€µ†‡c‘I¦WŸrŽ{™n¬^Še]_x}izn”l–{šŽ£œƒ«YµJ±f–œw¥iweKdRfhgv\„LŒ`|f–vq¡PÁb³s€jQwR—’†en_j}’v°Z±Z«}™}|XgWquˆ‚ucVQ\Xhym”…‹³€µ†‡c‘¡Qg€€€Ž‰’’•„}€€m‰aaŽj‰x‚€€„ˆ‹– Ÿ‰“€€pj`ZXW]amr€€Ž…•†•…‚„€€‡‰”—›Ÿš‘€€hgQOFEONff€€ŽŽ’‘ŒŒƒ‚|{€€ƒ‘|¤s¬m¥q”€€–i§R«I¡Qg€€€Ž´h´u€€Za‡€€šižj€€UuUi€€…œu“€€•t‰n€€œ ‰€€R•Qœ€€¢r›~€€xzŒ€€ŽR”P€€_™_Ž€€¦œ©£€€OsP…€€…SsS€€ž•€€€’¢š¤€€`ufƒ€€t]i^€€†©u­€€´h´u€€Z³Q¥l˜†™” –¥Ž¤›v‰vue]–_šf›jšož|£‰¢’™“‡Œt~do]hbnr|†Œ”•–”•Š’|ŽoŒku•…Ÿ’—‰ˆzwcbLLCBLHd\~s€€Šx~muewh{zxŽs˜s”yƒ‰pŸ[±H¸D³Q¥l˜†™”¾¬zsq\_zX©U¿E¼A¤Q„bp}| €¯{¢™}Žfwdz’Š³|©es{NŸc¤Ž›œ¤‹©Œ§¢¨µŸ³†ž‚œg¨b z¡ ¯¥œ~wGk:lahkXeav{…Ÿs©‹¿’¿tžRˆWtpv[m‹£¤‘«™”¾¬zsq\_¾P¶n¯Š²š¸ž»—µŠ§|”x‚m‘a \¬\²Z³^°m©›Ž‰”ue‚_xdus|‡ˆ™“¢’ž‡–wŽhŠ]Š]Žl•€˜–”Œ€}ugfOTEHLHbS{cŒl’ja†U|N{Q~c|x|„€ƒ‰u˜b©N¹>À>¾P¶n¯Š²š¶¤œœi€TXpF¥WµV¬K¦S®q ‡¦‚œ‚…yW™Nn‹š¢±—¬q‡e\ƒ^¦„¤žy§z¨šœµž§­†«q¢lŽu‚‹™ª ­‚†oOl>b_kh‰a–p‡‰Œˆ£…¨¢¬¤²}œX‹`‹…{Šk‹y §x˜Šžœ¶¤œœi€TX¼N¹m¸Š¾Æ¦È£¿˜­ˆ˜…‡u•j¥c³^¼W¼W³d¢vŒ‡wfŠ^czr}††™¤“¤ˆ˜u‰b~V{T\‡o‡Ž˜Šœ‚”z…wnrUfHZMR`RxY‹^˜ZšR“IˆDƒGƒXƒn…|‹|–p¢^­I¶:»:¼N¹m¸Š¾ œŸ €€[XXX€€Œˆ~{€€¤¥‡€€{qŠf€€N•Mˆ€€›¢§€€xUqY€€€œt€€o„su€€¢}€€{_vY€€Ÿ£€€TUq€€„¯u­€€wƒ…€€£}¨Œ€€VxZ‰€€uu…€€ˆ]{a€€ œŸ €€[X¨Lªj¯‡ºœÅ«È®¿¤«”•‰…Š{”u¡q¬l³a²[¥cryhˆ`axoy…šŠ¥¥Œšyˆ`sOgLfUpf~}„–ƒ¦~§x›vŠ|t[}MsOga]x[]žX¥R M”K‹P‡_…tˆŽ‚˜w d¥N§<¨;¨Lªj¯‡ºœ˜wºŠ®xˆTn\w‰x’hƒa†p‘m‚Uvijše¥pŒQgfMrjcx]buI”X¯{¹p¤U…ZicVW\Ymur’UG~Zx~‹††€aƒO‰vˆª“­œ¡‚¥^˜Zn]eT“b§…Š‡XxCr\^b\[xh|p^_Vc^˜wºŠ®xˆT‹Kf˜‚§™¶¬¼²´ª¡™‹Š‡}‹’™r™h‹jwtga„d{ns‚wš©‹«Žžƒ‹jsP]CRIV]guxŽ¦|²u­rœtŠ€tŽ\“OR€dqzj‘i¤e¬a¦_˜a‹f…t€‡“†’Ž…”r“ZD‹>‹Kf˜‚§™Ÿk¼‡°„¢X“T}u‡swewOŠK‹S‰ov›eª{‰en^LUTO]e[Ž^©v±§vˆUsX]jOadUviwp‚Y™X—vŠ€Žs€s^t[ˆ”­”®q¬W©^…ga^nQži®–•g†Jr`YjW`iomwmcsieŸk¼‡°„¢XpLve€€‘—£©¬­§£•€€vzy{‚~ŠƒŒ„€€srsd{^„bˆp€€w”{©…³­˜€€dgJR@KJUdk€€˜…­³u©o”r€€k“VžMžS•h‡€€–}¦y«w¡wz€€wŒrœq¥u¢{“€€}fvMqCpLve€€‘—¥ržƒ€€‹U—T€€w‰€€\Žb‡€€‰p‡f€€¡š€€hx_y€€Ÿ•€€€}s|m€€m–c’€€|–€€|—€€‰l’z€€o‚x€€€R†S€€^”XŠ€€¦ŠŸ‰€€bƒ\ˆ€€†yt~€€‰Žv™€€¥ržƒ€€‹U\U_mg‡w›Š¦•£“‘†yufoawc…iq“u‡s{i|`„_Žg’wŠˆ€š„¬Œ±’¥‘Ž„ui`QRGTOef€–’™ ¢•v€tn€_”R£O¨[¥q‡˜˜˜¡•““w•fš^£X­W¯\¦d”j€iicS]K\U_mg‡w›£—Œr|r_~gz‡‚‡œ~œ„Ž‹›~«vžt…qv~x”ƒ–‰v‡d™|®—ŸˆntMKŠcŒˆ€«}¼Ž´™¯œ›¦|žrp|R{v}œš“ªy«s¡ojfiu\—B¡Hk“ˆŠhtbZtW‰vw‘ft§·r¸œ£—Œr|r_NdL}O”[¢j¥u™y€ubmNoJ~MW›d›oŽr‚mƒfŒd•j˜v……•ˆ£¤—–—~‹frV]RS^Ywj—z­„®ˆ „Žy€j|_‡[šZ©`°n°­­•°•²Š³v²_±O²Eµ?´>­EQ‰[w]fYXSVNdL}O”[¢¨¢§Ÿƒ‰gyf~€}•fŸb¡s²}¹ƒ§ˆ“‡Œ‰v{nqt{vrrcˆx«’¬Ž}†N•@‘R{z~¢º‘´Œ£†©m…\XaU|‡Ž¥›‹¨y½³~uƒu’b’L‹Vd…r]ˆO…lh|\{ib‹Yn¡w½l»{£¨¢§Ÿƒ‰gyPsGŠEžK§S¤\’cvhXkEv@‹CžN¦^¡o‘y…x†rŽm–m™rŽ}„Œ‡——™‰šr]zRjUcffƒp£v·tµm§e•_‡[„\Žcžn©{¯†°¯³Ž¼†ÃxÆfÄT¿F»;·2®1 :ŽI{Xm_c_^YcPsGŠEžK§¬‹©“€€V}SŒ€€“_…f€€¡¤}€€g™oŸ€€rims€€|jne€€” ‡ž€€˜bš`€€‚š•€€l}y€€€bd_\€€­¯€€q¤‚¤€€|€€€ns|…€€zN„M€€lp|€€r„it€€„Ÿs—€€¬‹©“€€V}c|UŽNL¤L OWyc_oNƒGœG­O¯_£sŽ‚‚…ƒ‹w“p”o‰v~„‹•„˜qŽ_}Ws[qkt„xŸu¯g­XŸNN†W†cu‰¢˜£¢—¢©ƒ·xÃmÇcÃYºO±B©6œ3<~Nqbjoetfomc|UŽNL¤™{€‡To4v:šbšjuYsXŒvzfwY•S©N’Sƒzž©´¥ˆ‘VœTž‡z²l±›œ”† … ‰r\`hlŽo›dq[¤z¯Šœzzzput~zt…ttfmnƒ–ˆ£n{\oU‘g˜–¯ƒ ƒ•dž]›nŠhŒ`™{€‡To4v}pˆe’^™T™P’V„esxf’]¬V¹W´cŸu‡†{}Š…€vŽp‚uvƒyƒ’ŽŠ’{ˆm{dxd|l€|Žx™b–MŒCI|]€s‹‹•¤•±­‹œ‹†”w¥n´k¹k³l¥g™XHƒBzIs]pso…not}pˆe’^™y˜h¡Sy=yBš[›UnKb[{lŽf‘i‰|o©PJ~rœ¨´«‹™[ŸQ›zz¨x²›±—®vž|‘Š€vcih}Œ}x\•N¤v„Šl„tˆx¥t¥}Ž‘w†ch_kq}“y§UšFVš‚”­v­v¤ƒ¥lžX–P–Q‹jy˜h¡Sy=y›w‹z€€tˆdZ”]‘kˆ€€šs´f¾^³bšo€€t‰wŠ…ŠŒ{€€stš}Ÿ†šŠ€€uuwm€lˆpŠy€€f}NuEnNmfs€€š‡²…¼}³wšv€€p’k¡o¦yžŽ€€ow\rRqWui|€€”~¢z¤w›w‹z€€tˆl´z³€€mtq…€€qYg\€€…”t‘€€ª§›€€]e\q€€ˆs{s€€€‰qˆ€€¦¢™€€‡y•‹€€rw„‰€€vL„L€€UT€€€‡˜v”€€£qœo€€„‚Œ{€€^ƒ]{€€¤~£s€€}™Œ”€€{dŒ\€€l´z³€€mt±p¤mšqŒ{wˆg’b•j“{Ž”©p±b§_gxuq€x……†„“„ˆ‹{™y¥~©ƒ£‚—wŒmsulj–mruq^jUe^eslŠx €µ}¼t±k˜g~np~p‹zŠ…˜u™gˆatbhkiyxˆŒ‘¡Ž±„¶y±p¤mšqŒ{•—”¦{o”j^wQhd~„‰‡ˆ™v·‚¯••Žyrh\{Nˆ]xŒl¨b–Sq]Sg°ƒ¢všl”|wt\f\wZ}Y^oYwu]u`aˆfwze€O¯Z»~¡¤¢¡±y­\’]\¢]¥kŽŠs§r«užn–rˆ„v|•—”¦{oÅo»i²l¢xˆ„pŽc’c’o‘‚ˆ’w—hb€fqsr„…„ „•Œ‰™…¢„¤„ž~”ph…qz„p—k¢k›p†rtnnkuk…q”|¤„³¸v®h˜^€^thwp†q›j­]±P£KO„]ƒsŠ˜¯—À‹Ç|Åo»i²l¢xb•e¢€³€¢g~\^hVpqs€‡Œˆ£~Ž…‹•Ž”t‰O¤dš—u£[ŠQpXV~b¦ƒœ|Œi‰pskLOFXWx\‚mvƒi{VmPmŽz`‰Pº`ÁzšŸ¶¦—®b¥]§h¡c€ho’§ˆpvsˆ£›†zb•e¢€³€ÌrÄk»pª|…t‰cŠ^‰f‹qˆy||oxhrjnwx‚Œ†žƒ©©~ž†“‘Ž—Œ–ˆ‰o†g…q}…všq§q¢w‘|…{ƒx‰x“{™…Ÿ©Œ­¨p˜_„WxZ{^Š_¡[µR¼G°@¢B—P•hœƒ§–¶˜ÄŽÍ€ÌrÄk»pª|ŠKyK€€ª¨€€^–`‘€€‚u†€€€hpd€€ ž€€©ƒ¬‘€€fuq…€€|™€€vn‡|€€YX^U€€{¤pž€€ƒ_sY€€‹’{ƒ€€¯}±o€€j²x²€€„w‰€€RoR~€€„WsU€€Š²x³€€ŠKyK€€ªÁwºr±z¡„‰‡s„e€`}d‚h†hgugojqq}ƒ‰™‰ª‚°zªwœ~”ˆ’Š’†Ž€„{s~i‚q€‚{–x¢yž€‘ˆŒ‰Ž†”ƒ˜„•‹“–™™ž’ž–m†^yYxZ…[˜\¬Y²Q«F¡A›H™[v¤Œ¯“»ŽÂ‚Áwºr±z¡„eDa?up¤–µ¦¤«‰»y¶„¢†ƒtbmVcJ\Kuf{Œa˜]‰’ˆªˆŒ|||‹“—ˆœ¢t‚{£ƒ¡„ˆb”c­™¸tÁj±fŠfh„}—¡ˆ¬­ž˜wkm[Šm’u}kxgYwGf[fhˆ`…n‘ˆŠ§i¥bzeDa?up¤–©{¢x™‹Œ{Šo‚ixitm|k„d_z`uivx‚¥Œ±ƒ¯x¡r‘yŒƒ‚“|“u‹rzyn‚qƒ~€Œ|•}†‡ˆ‘Ž”ˆ”†‹‹ƒ˜†¢¢“–’…nuepcvf„k”mšh–X‘JŽHŽS‘j•œŒ¥‹ªƒ©{¢x™‹ŒLAT?}o›¡¡·£¬Ÿ²‚²sš†eŠHuZQ]KXlmm†Y€_y•}®{–„Š’ˆ…’`±[´u—œ‚´z¦sŸZªa«Ž›°‡µo°M•Qoz¥ª¥»Ž®¤…ŠemaY}]…uizWqUmfg„aŽoŽ‘—š˜ƒ…„kŠ]tLAT?}o›¡y‰v€€uŠn‰mqyyv€€z‰n…e}dumt€€—‹ª‹¯„¦|’x€€}‰…‡Ž€“yw€€r‰pˆwz†x€€x‰|Š…†‹‹{€€ux €¨‰£‹“€€ntesexnz„€€}nzZyPzV}i€€…‹Š’‚y‰v€€uŠ[OVO€€§|£€€–‡Ž”€€˜M¡O€€R…Vs€€€’rƒ€€¦£q€€ƒ†t€€N¨M£€€§w¡}€€‚cŒ\€€”‡€€KxKk€€ª§¥¡€€ˆŠ•€€vO‚P€€il€€“}–n€€{µ‡´€€wt†€€[OVO€€§…oivqom…r†{…††‡–{r„qyyuˆ›Š¨‹¨†š‚ƒ‚o‹l•t”Š„‹€€†ts‰x€~wszyrtyv|l{dogfxiŽrž{¡—w‡f|[{W[‹c“h’gƒhqjgmjqxt‹y“‹…}…oivqorvfqt›q²[›Xx€~¦€°g§Q‹qg¡Ož`Ž˜¡wŒ{ƒwpNnfu™w¥ƒ–x™y y•U–_xdrSŽV‰oarRMeK}u››«™“{u~€ŠˆtsVxjzŸq´z¯ˆ®“œ‰~hŠU¿UÂU^‡{ ˆ£rvfqt›q²„b€Zycuuv…{ƒ–Šš ˆ¡™~„†€‘‡œŽ£‹Ÿ†‚y…f‘^bžm—yŒ‚‚‚z†|ƒ‚~†y‡x€xƒs{pmm\fP\OU_Xx`k—r“p†dyXwP~N‹P™UžY—`g‡n‡sŽv™{™€‰„t„b€Zycuu‹„‹~už`¬V˜Uˆr¢®_‰ega¤[—b•€¡ˆ›r‚or{~f‚Mqdq’…ª‰Ÿ{š¢Š‹œa¢X‰pslQšF~SViS`uY”l£œ—‰Œ†Œ„€rhg[urŠ ‹¼€¼v°‡”{qHÀ@ÂU’a†mx§‹„‹~už`¬ˆW†Sƒ]‚s„Š‡›‰¥ˆ§…¦‚¢š…’‹Œ‘Œ•‘˜šˆ–‹|x‚fXŸT¤Yžg‘v~{{‰zz’}‚Šˆ‰w~mlcYZJREMRNiU_ŒiŒn€jq_kTpL€J”O¡Z¤f¥q¤y¡~Ÿ€ ‚—†€ˆhˆW†Sƒ]‚s§e«b€€jŒw€€€•Š•€€ab‹€€}mps€€ƒƒ€€‘Š›€€}t{†€€…^„d€€l›e¢€€¡gœq€€gleh€€…”yŽ€€“sŒn€€ˆ“‹€€lkke€€›–€€‘fœ`€€S®W¯€€†k{w€€§e«b€€jŒŒR‹T‹by”¦Œ­…©| y˜~‘ˆ‘Ž–’’•ŽŽŽŽs‰p~ynŠZœL¦J¤W•k‚}t‰q•q›v›–‰‰}ƒptdc[TWNTVQiS{Z†f…rzuhn\b]WmS„Y˜h¦x²ƒ¶‰±‰¦‰Š‹s‹]ŒR‹T‹by¢a­e˜}‘¥t±w™’uš]‰W|pl™TœG…Yr“Œ£©±«°¢™Šnxl\‡X‡lfpZb\`n†¦„·q´l¨r–lƒo…‚‘b•O…S_WL]mq›’¯§Œ‰c[cUƒg‘d‰\‰OƒLoidƒˆ®[¬Vl…u¢a­e˜}‘‰RŠ^Œp‘‡– –¯®„¡w‘t…|ˆ€’†“‰„‚q‡e‹cˆoy‚`˜J§B©Mœe†}uml¢r}”ˆŽ‰Œ€‡vmuhliefj_v[‚^ˆi…yxƒc€QuMkYfqmŠ ³”»”´¢‹‹|Šd‰T‰RŠ^Œp‘‡{z„ŸŒ¥}­y²‰”šg’awjntfTªE–]sƒy¨™»²¦¡ŠtxdimSŒ]”ˆˆ{mdfKŒZª~š„’~¤‚­†“xuq‚f”PŒQboFxNaiRp­¡•šjklRŽQŒQwcff_[jk€‰›x°V¬eƒt…{z„ŸŒ¥}{W|j€€‡•’ª—±–©Œ•€€{rmŠov~€€usyb‚X‹[Œj€€d—J«@±J§d’€€“užožo•u‡|€€~€{ƒy…y…{„€€|q‰g‘e“n€€ŒhŒQ„GzOvf€€˜š®šµ‘«†•€€l}X{P{W|j€€‡•lxj€€‰iƒi€€s•h•€€†tˆ€€­aªa€€l¤r§€€wjtt€€vj„€€²Œ³˜€€iLvL€€`\€€¥’¡‹€€‡t”m€€V¨[ª€€€NvN€€}™n€€£oœd€€h‰bw€€”Ÿ‹–€€ŠŽ€€lxj€€‰i__bvf‹q›§§—™–ƒŽn‰dŠa‹d‰krsrlgsYSˆX‰h}|b’J¦A®K¨d˜}ˆ|–q”k‰j{nspsuv{‰„Ž’–’…•y›sžxšˆ–z˜a“R‹R‡aŽu™‹›Ÿ‘¤šo„eod^aQ_Q__bvf‹q›qlSiNW]Jc[_q^ƒy’£ˆ§‡„‡¦f·T«\”|~”rƒys˜±‰ub~]šr’hqTOd[uY–Hv^oˆ‹ œ‰›}‘xzt¸Â­¡n^^Y‚p—‘‰®sºa³w¤‚—p s‘z”]‰h…wŠkqlSiNW]JCjIP‘\—o—Ž~–l–_’\Ž`‡h~prtgqgfsZ€U‰Y‡exs`‚K’DšM˜at„y‡m‰eƒdzgtlsuv…~“‹›š›§•¦š’—„†¡”ž£Ž©x¨e¡[š]›gŸx—‰†oˆZvNbITDOAWCjIP‘\—wa„NZaWttg€[y}}¨wµv¥€…x}k“i¬_°gŸˆƒ‘†€¢{±w¡[‰Otdpzou`fSZge†v•XzZzp“ˆ“v–i~fu˜¬±º¬§|ƒQr[Œ†žŸŒ™v—c£X³o¼~µo g”vxevOl\exuwa„NZaW4u=‰H‘T‹duqƒdŽ\”Y•`Žlƒxthbxjm{b‰^Ž_‡euk`rPzL€S‚blzrrzg€a‚ah}qxw’|Ÿ‰£›œ«‘®†¦‚™†œš¢¬·Ž¹|²k§`¡_œjx|€f~RqF_=S5T1a4u=‰H‘T‹”°’¯€€v™…€€\qd}€€›~¢ˆ€€W\€€›lœx€€vz€€€€‚bŽ[€€p˜zŒ€€hsgg€€„‰zw€€{œl“€€‹nye€€©ž¦—€€[jYd€€¥—£€€goih€€›“ŸŠ€€|ƒ€€€Wn\d€€”°’¯€€v7DŒR‹\zdfmWvRW`’oŒ‚p“ffvv‹n™k™k‹lvjdgYgXj_nhrkrkmqdz`ƒcˆm‡z}t¡s«}¨Ž™¡‡©w¥l›l’xŒ˜œ¬¢»ŸÀ’¹ªl›a‘e„qv{h}[vPfD\7`3m7DŒR‹\z ¬›Ã™¢¥¦Š’j~R›[­x°µl®X¢[’j}yp…s|wh„[šV˜wx¥t¥™š¶§°©†{q^{s‰Š…•„€“n…‹›|˜t¢Ž¬¢„YRKI\]†™—~¤[ªY§aži¢x¨ˆ›Š‰¡Ž’žwˆ†e¡p ¬›Ã™¢¥I†XŒiƒpkoSmGnKu\ƒo„Šš¦s¤l—r†ˆ|Ÿx«x¦y‘xzrjge`h`oeumrrlnogxcƒf‹rŠ‚|˜m¬e´j«z–ši™W’SŠ_†wŽŽ£ž¶§½¤µ•¢Žnmyvu€s†o‚htXjInDyI†XŒiƒpkv©pÁŽ¤Ÿ›—Š^–c¬vµn³f¯‰|uqh{y‚ˆu W¨YŒŠk²v§ ¢¾®¹¥“ˆ`ƒNŒs˜Ÿ¥‹Žby]nˆy¤r¥m§‰˜§k‹[U^Obp{‚ŒhŽ^¥Á½t¢d–tŒ}§d²l—”‹Ž›l›nv©pÁŽ¤Ÿ^ŠnŒ€€„e~NuEoPqg€€Œ•Œ¨„¯{§w“€€˜w¯x¹~°…™‡€€rrpivhn…y€€v{tpwg}g‚p€€q—_®V·Z¯j˜€€ŒgP†G}Pxg€€••©¨²­ª¥–‘€€s|rƒwŒ‘„Ž€€ou_wX^ŠnŒ€€„eK«K©€€Žk~q€€rql€€‹‚€€ª|­s€€]‹d‚€€u¡k¦€€¦V¤[€€¥Œª€€iJsK€€®š«€€LaLc€€—vŠi€€x°n®€€†jwr€€†ivb€€°¬±«€€Wu[ƒ€€ U£R€€}‹x€€K«K©€€Žkr“ƒ”•ˆšp“Z‡QZ~n‰„”–”£¤„—€€‡k›e®j¶w­„™‹ƒ‡xzxr€s‹{“‡†‰}zukpckfetYŒM¥J²S¯h~‰Šr‰X€ItKk[opƒ‡˜ž£« ¨š{Šq†tŒ”Œš•™‘Œ€ƒp…kŒr“ƒ”•ˆšpZ¶T©p{|fwa_IzJiŽ}‘wª’bE‘>lKWPrh†‘s£Gƒ9ZN^re‚ZlWOian—zº—©˜uj`Yp|ŠymlP‡]½{Ê•©ˆ|uV‚N—D’CZž‰ayJˆW¨y¨“x‹ibŽY˜p‡zZ¶T©p{|fƒ¢–¡©—°ƒ«o¡d—e‘p–~Š›’”‹‚…l‡X’RœY h›x„‚‚}w€pˆq“zœˆ“•‡wle`V_LkD‚?™D§T§m„‘e…QtJePb`pw…‘”¡˜£˜€‰w„}‰‹“šž¢£Œ–}˜yžƒ¢–¡©—°ƒ…¸t²eŠk€{|g†?{B‘q˜—‚›‡‰—”y¢]˜WƒMpK[JX_i‹h“Ko@]Mg\_dWcrbŠw}œm½±‚‡notz›^}`Q‰b¹‰Ä¬g€YSwPŸU§QŒVog\v[…_©s¼Š§Ÿz‘od”D˜T…}…¸t²eŠk€ˆ«¨±¡»“¼ƒµv«p quŸ{€—~s‡bƒP‚IN€\€l€x€xn„gŠh’qšŸŽ‘€}ne`O]Bi=}=G™[šu–Œ“™‰›t‘^~PiN]Xenvˆ‡˜’›’‘‡‚€{‡~”‰¡˜§¤ ¦¤~¦|©ˆ«¨±¡»“¤©¥€€s†s”€€rJgJ€€‡¦uŸ€€•‹ˆ—€€‹t†…€€llbw€€p{q€€„y€€Ÿ|¢s€€Y¦[§€€}rn€€«X§U€€„£’œ€€PlRh€€­Œ¯…€€Yv_l€€ƒ§}¦€€X£W€€MƒLr€€¤©¥€€s†~¨•¥© ¶™¾½…³|¥t›p™q—u•upˆf~XrOeP`Xeepp}qƒh†_‡]‰eŽu˜…ž‰˜ˆppeXbLnHI‰RŒd‹{‰Žž¦‚ o_wWd]cqoˆ•–“ŠŒz†pŒo—x¡ˆ¢™˜£ƒ¥s¨qª~¨•¥© ¶™‹«¡Ÿ£uŒsj{elgBiJƒ€——”~–`¢x˜‘Ž‰•Ž– “pxZƒs˜‘™“§¢­¡ž‰·„¡im\MwXŠ|€s}e’zŸ©x¬Zˆp‡†—n’RldcŒª¢³ž²p¬RŠc[ˆV~ofmeW”K´^¢‚l€Ptg†‹«¡Ÿ£uŒsj›–•“¥”²“¶Ž¯†Ÿ|r‹pŒtyŽzˆv|kf`Q\I_Qgfp|r†i‡]‚X~]kŠ}™…€•u„lpkexa…]‡`ƒk}{|Œ†¬Œ®€¡r‰hsljn’z›ˆ—ˆŠw„jŠc“g™t—†Š”sšaž^žj›–•“¥”c³z­œ„”qqkpb€H€RŽƒ¯±q™i“„Ž“|®†³€XcLelŽ“¡Œ«›ž¡‰…—x½Š­~s_ZWopuŠd‰}™¨‹¢ixpp|†bœU‰‚q©oª‰«²k©M‚X\vSkP]NoV¢l¹…§‘ƒ€dv_Žc³z­œ„”qW†l€€… Œ§¡‘‰€€z|€€‰†ŽŠŒ‰€€ftNnDoMve}€€‹vˆh_vatm€€“‰Ÿ… |—sˆs€€y‹o‰ijvrt€€”Ž¨‘²‹«‚—{€€s‘q¢w¨€¢…‘€€zo€bŠ]dŽr€€g‡S‹MŠW†l€€…c§\¥€€ˆpvx€€c€\€€¦ˆ§v€€x‘‡‚€€w©…¬€€XKXK€€“ˆŠv€€p”e‡€€µ¡µ¥€€cXmZ€€f|^n€€¬‰¨w€€fi}€€‡¥ƒ¤€€•|›Š€€alfu€€rmfi€€¦– ’€€zhc€€c§\¥€€ˆpEvWtitz|ŠŠ’—ž~m•it„“’”˜‡w}`zV]ˆsŒ’•‡w‚ntom|uŽˆ—˜’ ‡ }š{–‡Ž‘}Œmcrbllvƒ‡Ž®¯‰¡…Œ‰|˜s¨q°q­p¡i’fpm~^‰Y‰]|fcnKt@wEvWtitz|upSpb]lqaŸf³hSxSŽqxmfmp|sšw£”²¦h}InM‚qvddNfPc‰~Š ¤¬µ“¥nQfJiMhik{©«†›ž‰ w†u‡ƒ™}²S¶T¦fjŠyž¡³³˜¡{”‹˜ª˜›ua~E›>¢VupSpb]lq6oCsRuc€v“€¤}¯o°^¨ZŸg™~••‘¤‹¢‚|zo‰t•†›œ£Žœ~Šuuyfˆfœu¤…Ÿ““žˆ¤…¨¡™‹r^lUc[jt|•‡­Œ´Š«†™‡†‘ui§`ªZ¨R£S”c|vd„R‡J{M`WEa6i6oCsRuc€lRSR[`d‹e±_³Q—GˆQ˜X[lidzo‡s—…ºŽÃu¦bˆdydtfkj^fO_\l{}€zw~ˆ™œ©ˆ¥_Jrbm‰~˜…o€”¤©—Ÿx†{†’i°R§R‰Z„p¤š··³²”¬¤“±…¨€‡jF¤@šRlRSR[`d‹1q;zHYŠmžy°x¹k¸Z®S¡_–v‘‡§€¬xžwŽ€„Ž†š’¡£œ«Š¥x“q{yfŒ^¢eªo¤~˜ Š­•©““w^jQ]Ubpu“„­Œ·Š°„Ÿ€Š‚uˆc‘VšN£H¨M `Švn†U‰E|DaMEZ3f1q;zHYŠbmld€€ˆ¢Œ€€lmmm€€s‚g{€€‰}ws€€¬Š©~€€w”ƒ€€y„ƒ‰€€…€“Š€€Wh\m€€‹š†¢€€Žv’‰€€YYT`€€ªx¥n€€ee„€€zvli€€¥§Ÿ¡€€fŠc—€€ v‰€€‡_”i€€bmld€€ˆ¢9yD‚Qˆa”u¦´¹t³b¥W•[ˆl…zw§q s”€Œ‹š“œ ’ª}©jœd†nn…aœ]¥^ g•y‹ˆ£“¤›”“|emX`]dxw˜ˆ¯¶­ƒ›x‡rqoatWR’O¡W¡k“€|dŒQ~MdUJa:m9yD‚Qˆa”“‰¡š¤˜¬vŸ]SI±L¡^Œu‘†‰wvW„S¡r†SœV«v²„¦Œ¤¨±°²¯¬¦­ƒ¨O’Eyel‹z¬€´g¢fz_vWQaYzx“zyoƒJ‹A]Ÿj ju‘Š¥z•Ws:{;Š_v†n‚xxƒi™‡ŽŸ“‰¡š¤˜LZ…g‹v–‰¦”¯“®…£q’b‚\wcqurŠt–r“uŒƒ…ƒ—ˆ”’…Ÿm¦X¢Q“]~vnŽ`˜U”U‹b‚y€Š—”€ƒptgkno‡‚¢“²š±•¢†Žv|hl\cZafd{fn™€–Š—y‘i€egkRrHyLZ…g‹v––‰£–˜›“r¢U™dŠq ^±LªX¢k’trjlXŽQ r€˜Q–M–a§s …¤ ²³º¦¯ž†¨O´D n{žm¹k´`jeƒev‡XizŠ}’‰‰|vJc=nb—€·}±j˜s˜t•\ƒ4€5…apkž‰uŽpž˜––‰£–˜›“r^}q}€€Ž‹Ÿš¨¢¤Ÿ”’€€lq^k\meut~€€‚yt—r™v‘€€ežN¤EŸOg€€m‰Y†P~Vviu€€‹ŒŠ‚‡y~vy€€–‘«¢³©«¢–‘€€plgYgPoWzj€€‡Ž••ž“ž‹“€€i‚X‚T^}q}€€Ž‹‡s•„€€vO‰N€€jŸx–€€…’ƒ€€R~T€€ž‘šœ€€pur‡€€„aj€€˜q k€€K¨K©€€£nœy€€d‰]•€€´^´f€€s“…™€€OTOQ€€¨­£ª€€„y‘…€€P~PŒ€€£zž‹€€~x†Š€€‡s•„€€vOhp{fŠe˜p¨±‰¬ˆœ}‡mrbacZn^}h‹pnf—_ž\ž_”h‚yhP›DžK—^Œs{zfvZn\fje~oŠ|Š„„ˆ}Šzƒ––§¥·§½š·‚§l–`_ggWvU†bv’‡ž’¥—£—–”‚•m•^Œ\hp{fŠe˜p}{˜„p‚J†[s•R®V¦fš}Ÿ”•‰\•^¦|£™˜¥”|„}‡Ž‰‡r{nvv€n…nw}`—j“f§X‹r`ˆO‰f‡šrº`¤fmpj{„Š†‰fgf]‚¤¢¹”±r«j©aœR‚a„€£|±|™šxŸz‹„sy}{˜„p‚JiezQ‡K•V§d±m®mŸeŠXvSf[_la€hŽleX—LžFŸH–Q…alvV‡K‘N“[h„judj\jVuU†\iw†…|”v¡{­‰¼’ÊЀÊi»V¬P•Vvd_wW‡^p‘‚œ¤™¥ž› Š¥u¥d–`~iezQ‡K•V‚š™ž™vPŒbqšE Go›žª‹Œvx’«Š›’qšd‡|x‘€™•v–€ˆ‰vˆkŒzŒ“•‹g«K–ZivOujmŸh¬{ŒŠc€kf‰e”|vŠl|„|—›†²~¤€—fžP©eªy¨o¦n—Š¥”Œ—r‚w‚š™ž™vPfbsI~AŒJŸU«\«]W‰NwNl[iolqŒqŠd‡RC—<›?–H†Upd`sXZ‡a‹f‰aY{R{NOŽS–\”l‰€|–q©q·zÃ}ÏxÔkÏZÃLµKžV~fdwY„_…p‡‚’ž—£œž ©z«iœafbsI~AŒJt´€´€€„P’S€€LKq€€¯œ­’€€v™‚¡€€€KJ€€s—ƒŠ€€mv€€cƒ[ˆ€€ˆ“”€€˜[¡a€€SWy€€”Ÿ€€~W€W€€‘ƒ›s€€_‹gy€€s•jŠ€€œ‘–“€€zn{p€€p–e€€t´€´€€„PbklSuKƒR—Y¤]¥]™Y…TvXpfswz„ˆzh|T„EŽA•F“P…Xs_jgholyoƒkŠ`ŠWˆS‡S‰V’X™[–gŒy}Žp£l¯p¹pÂlÇdÃZ¹S­U˜azocz[c|u{…†”œ‘œ”Ÿ|¦i`‡bklSuKƒRg”\OhlMœP›hhea`q°Œ¥œ¦zº©|vzB…>ƒl‰v¥_ªV”q~ovPmI]jL|hn“dŒŽj©n‘ˆf”Z h¦« œ±¨_‹]r~‰œ|›{wtaejvk l³€³ˆ·j¨OŒMrKkQvfkwarrg”\OhlM`}jktei”m¡o¡m•jgsmsz{†„‹‰‡‚{nuZ{O‡Q[g‚jtgrewg}o}vŠg_Ž^Šcˆii•f•iŽr‚€vp™q p©n­kªi¢g—l…vl\ƒZ€gw|uŠ~ŒŠˆ”ƒ•‚‹w›f›^`}jkteimciN`un¢zŸmvZq[–f©f{Ž “”±w{FoAzc”c§R­Y°€Ÿ’~‰WwJ\bLel`”o‰¢gµh˜v„Š}¦q¢f†Ž°ºv¦dƒpv…”Ÿ~ZqUw}‰­‰¿³…­_šR}ThKrT‰d€nk}fmciN`ungŽuƒ€€Œƒœ†¦†¤„•€€s…s{—…—‰Ž€€lx\}X‡aŽq€€€txuolˆq‹€€o‘il„v}€€‰wpo‹r„y€€†~Ž~“~‘‰€€…o\“R’V‹h€€{ŒŠ‡Œx‹u€€n‘a™_˜gŽuƒ€€Œƒ–z‹w€€–žš¥€€]g]s€€Œa‚[€€Š³‡³€€mWd]€€”z‰o€€šŸ—€€_{c~€€u“iž€€­e©q€€Œ‘–€€TdXl€€žwŸs€€^¡]§€€€KrK€€“¥‡Ÿ€€~…tŽ€€„fwj€€‚…s„€€–z‹w€€–žwžŒ™™—¤š°œµœ®š—‰”{˜w¡y¦}¤~›u‹f‚\„]‰jŒ}ˆŒzŒoƒsz€uŽy•‡•~–z~‡srŽ{ƒ„w‹ompŒtŒy~ŽŽzŽpŽf‘Y—KšH™S’iˆ‚€Ž…zyun|a^šf wžŒ™™—¤š{´‰®Š¨Œ¶vµT”7w@j’|xvw‹ƒ¨œvwpouŽ‡²€Ÿ]LŠeœn„WlVv†ˆ¯˜¬‚¦„z›kŒ„a”^“z—„‡ib_LgJy_{`²:Â5µS‡WRPDacztqe_Lcls¡†¬Œ‰YN€fc•a³{´‰®Š¨Œ¶ \ No newline at end of file diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_noise.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_noise.fsh new file mode 100644 index 0000000..0b9a60e --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_noise.fsh @@ -0,0 +1,41 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec2 v_position2f; + +layout(location = 0) out float realisticWaterDisplacementOutput1f; + +uniform sampler2D u_noiseTexture; + +uniform vec4 u_waveTimer4f; + +void main() { + vec2 sampleA = v_position2f + vec2(-0.093, -0.056) * (u_waveTimer4f.x + 0.12); + sampleA = textureLod(u_noiseTexture, fract(sampleA) * 0.46875 + vec2(0.015625, 0.015625), 0.0).rg; + vec2 sampleB = v_position2f + vec2(0.075, 0.153) * (u_waveTimer4f.x + 1.33); + sampleB = textureLod(u_noiseTexture, fract(sampleB) * 0.46875 + vec2(0.515625, 0.015625), 0.0).rg; + vec2 sampleC = v_position2f + vec2(0.075, -0.113) * u_waveTimer4f.x + vec2(sampleA.g, sampleB.g) * 0.15; + sampleC = textureLod(u_noiseTexture, fract(sampleC) * 0.46875 + vec2(0.515625, 0.515625), 0.0).rg; + vec2 sampleD = v_position2f + vec2(-0.135, 0.092) * u_waveTimer4f.x + sampleC * 0.1; + sampleD = textureLod(u_noiseTexture, fract(sampleD) * 0.46875 + vec2(0.015625, 0.515625), 0.0).rg; + realisticWaterDisplacementOutput1f = dot(vec4(sampleA.r, sampleB.r, sampleC.r, sampleD.r), vec4(0.63, 0.40, 0.035, 0.035)) + dot(vec2(sampleC.g, sampleD.g), vec2(-0.075 * sampleA.g, 0.053 * sampleA.r)); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_normals.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_normals.fsh new file mode 100644 index 0000000..65bb351 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_normals.fsh @@ -0,0 +1,35 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec2 v_position2f; + +layout(location = 0) out vec2 realisticWaterNormalOutput2f; + +uniform sampler2D u_displacementTexture; +uniform vec2 u_sampleOffset2f; + +void main() { + float A = textureLod(u_displacementTexture, v_position2f, 0.0).r; + float B = textureLod(u_displacementTexture, v_position2f + vec2(u_sampleOffset2f.x, 0.0), 0.0).r; + float C = textureLod(u_displacementTexture, v_position2f - vec2(0.0, u_sampleOffset2f.y), 0.0).r; + realisticWaterNormalOutput2f = clamp((vec2(A * A) - vec2(B, C) * vec2(B, C)) * 10.0 + 0.5, vec2(0.0), vec2(1.0)); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_render.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_render.fsh new file mode 100644 index 0000000..5413ff5 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_render.fsh @@ -0,0 +1,435 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision highp sampler2DShadow; + +in vec4 v_position4f; +in vec2 v_positionClip2f; + +#ifdef COMPILE_TEXTURE_ATTRIB +in vec2 v_texture2f; +#else +uniform vec2 u_textureCoords01; +#endif + +uniform vec4 u_color4f; + +#ifdef COMPILE_COLOR_ATTRIB +in vec4 v_color4f; +#endif + +#ifdef COMPILE_NORMAL_ATTRIB +in vec3 v_normal3f; +in float v_block1f; +#else +uniform vec3 u_uniformNormal3f; +uniform float u_blockConstant1f; +#endif + +#ifdef COMPILE_LIGHTMAP_ATTRIB +in vec2 v_lightmap2f; +#else +uniform vec2 u_textureCoords02; +#endif + +uniform mat4 u_inverseViewMatrix4f; +uniform mat4 u_modelViewProjMat4f_; + +layout(location = 0) out vec4 output4f; + +#ifdef COMPILE_DYNAMIC_LIGHTS +struct DynamicLight { + mediump vec4 u_lightPosition4f; + mediump vec4 u_lightColor4f; +}; +layout(std140) uniform u_chunkLightingData { + mediump int u_dynamicLightCount1i; + mediump int _paddingA_; + mediump int _paddingB_; + mediump int _paddingC_; + DynamicLight u_dynamicLightArray[12]; +}; +#endif + +layout(std140) uniform u_worldLightingData { + mediump vec4 u_sunDirection4f; + mediump vec4 u_sunColor3f_sky1f; + mediump vec4 u_fogParameters4f; + mediump vec4 u_fogColorLight4f; + mediump vec4 u_fogColorDark4f; + mediump vec4 u_fogColorAddSun4f; + mediump vec4 u_blockSkySunDynamicLightFac4f; +#ifdef COMPILE_SUN_SHADOW_LOD0 + mediump mat4 u_sunShadowMatrixLOD04f; +#define DO_COMPILE_SUN_SHADOWS +#define SUN_SHADOW_MAP_FRAC 1.0 +#endif +#ifdef COMPILE_SUN_SHADOW_LOD1 + mediump mat4 u_sunShadowMatrixLOD04f; + mediump mat4 u_sunShadowMatrixLOD14f; +#define DO_COMPILE_SUN_SHADOWS +#define SUN_SHADOW_MAP_FRAC 0.5 +#endif +#ifdef COMPILE_SUN_SHADOW_LOD2 + mediump mat4 u_sunShadowMatrixLOD04f; + mediump mat4 u_sunShadowMatrixLOD14f; + mediump mat4 u_sunShadowMatrixLOD24f; +#define DO_COMPILE_SUN_SHADOWS +#define SUN_SHADOW_MAP_FRAC 0.3333333 +#endif +}; + +#ifdef DO_COMPILE_SUN_SHADOWS +uniform sampler2DShadow u_sunShadowDepthTexture; +#ifdef COMPILE_SUN_SHADOW_SMOOTH +const vec2 POISSON_DISK[7] = vec2[]( +vec2(-0.077, 0.995), vec2(0.998, 0.015), +vec2(-0.116, -0.987), vec2(-0.916, 0.359), +vec2(-0.697, -0.511), vec2(0.740, -0.612), +vec2(0.675, 0.682)); +#define SMOOTH_SHADOW_SAMPLES 1.0 / 8.0 +#define SMOOTH_SHADOW_RADIUS 0.00075 +#define SMOOTH_SHADOW_POISSON_SAMPLE(idx, tex, lod, vec3Pos, accum, tmpVec2)\ + tmpVec2 = vec3Pos.xy + POISSON_DISK[idx] * SMOOTH_SHADOW_RADIUS;\ + tmpVec2 = clamp(tmpVec2, vec2(0.001), vec2(0.999));\ + tmpVec2.y += lod;\ + tmpVec2.y *= SUN_SHADOW_MAP_FRAC;\ + accum += textureLod(tex, vec3(tmpVec2, vec3Pos.z), 0.0) * SMOOTH_SHADOW_SAMPLES; +#endif +#endif + +uniform sampler2D u_environmentMap; +uniform sampler2D u_irradianceMap; +uniform sampler2D u_reflectionMap; +uniform sampler2D u_refractionMap; +uniform sampler2D u_brdfLUT; +uniform sampler2D u_normalMap; + +#ifdef COMPILE_FOG_LIGHT_SHAFTS +uniform sampler2D u_lightShaftsTexture; +#endif + +uniform vec4 u_waterWindOffset4f; +uniform vec3 u_wavingBlockOffset3f; + +#define WATER_ROUGHNESS 0.05 +#define WATER_F0 0.5 + +vec3 eaglercraftLighting_Water(in vec3 albedo, in vec3 radiance, in vec3 viewDir, in vec3 lightDir, in vec3 normalVec) { + float roughness = 1.0 - WATER_ROUGHNESS * 0.85; + vec3 H = normalize(viewDir + lightDir); + vec3 NdotHVL = max(normalVec * mat3(H, viewDir, lightDir), vec3(0.0)); + float NDF = (WATER_ROUGHNESS * WATER_ROUGHNESS * WATER_ROUGHNESS * WATER_ROUGHNESS); + float denom = NdotHVL.x * NdotHVL.x * (NDF - 1.0) + 1.0; + NDF /= denom * denom * 3.141592; + float gs = WATER_ROUGHNESS + 1.0; + gs *= gs * 0.125; + vec2 Ndot = NdotHVL.yz; + Ndot /= Ndot * (1.0 - gs) + gs; + NDF *= Ndot.x * Ndot.y; + float fresnel = pow(max(1.0 - NdotHVL.x, 0.0), 5.0); + vec3 F = vec3(WATER_F0 + (1.0 - WATER_F0) * fresnel); + vec3 kD = (1.0 - F) * albedo / 3.141592; + denom = 4.0 * NdotHVL.y * NdotHVL.z + 0.0001; + return (kD + (NDF * F / denom)) * radiance * NdotHVL.z; +} + +vec3 eaglercraftIBL_Specular_Water(in vec3 envMapSample, in vec3 viewDir, in vec3 normalVec) { + float NdotV = dot(normalVec, -viewDir); + float fresnel = pow(max(1.0 - NdotV, 0.0), 5.0); + vec3 F = vec3(WATER_F0 + (max(1.0 - WATER_ROUGHNESS, WATER_F0) - WATER_F0) * fresnel); + vec2 brdf2f = vec2(max(NdotV, 0.0), WATER_ROUGHNESS); + brdf2f = 1.0 - brdf2f; + brdf2f *= brdf2f; + brdf2f = 1.0 - brdf2f; + brdf2f = textureLod(u_brdfLUT, brdf2f, 0.0).rg; + return envMapSample * (F * brdf2f.r + brdf2f.g); +} + +mat3 cotangent_frame(in vec3 N, in vec3 p, in vec2 uv) { + vec3 dp1 = dFdx(p); + vec3 dp2 = dFdy(p); + vec2 duv1 = dFdx(uv); + vec2 duv2 = dFdy(uv); + vec3 dp2perp = cross(dp2, N); + vec3 dp1perp = cross(N, dp1); + vec3 T = dp2perp * duv1.x + dp1perp * duv2.x; + vec3 B = dp2perp * duv1.y + dp1perp * duv2.y; + float invmax = inversesqrt(max(dot(T,T), dot(B,B))); + return mat3(T * invmax, B * invmax, N); +} + +void main() { + vec4 worldPosition4f; + vec4 worldDirection4f; + vec4 diffuseColor4f; + vec3 normalVector3f; + vec2 lightmapCoords2f; + float block1f; + + // =========== RESOLVE CONSTANTS ============ // + + worldPosition4f = u_inverseViewMatrix4f * v_position4f; + worldPosition4f.xyz /= worldPosition4f.w; + worldPosition4f.w = 1.0; + worldDirection4f = u_inverseViewMatrix4f * vec4(v_position4f.xyz / v_position4f.w, 0.0); + worldDirection4f.xyz = normalize(worldDirection4f.xyz); + +#ifdef COMPILE_ENABLE_LIGHTMAP +#ifdef COMPILE_LIGHTMAP_ATTRIB + lightmapCoords2f = v_lightmap2f; +#else + lightmapCoords2f = u_textureCoords02; +#endif +#endif + +#ifdef COMPILE_NORMAL_ATTRIB + normalVector3f = normalize(v_normal3f); + block1f = round(v_block1f); +#else + normalVector3f = u_uniformNormal3f; + block1f = u_blockConstant1f; +#endif + + normalVector3f = normalize(mat3(u_inverseViewMatrix4f) * normalVector3f); + + // ========= CALCULATE DIFFUSE COLOR ========== // + +#ifdef COMPILE_COLOR_ATTRIB + diffuseColor4f = v_color4f * u_color4f; +#else + diffuseColor4f = u_color4f; +#endif + + diffuseColor4f *= vec4(0.0478, 0.0585, 0.17, 1.0); + + // ======== SAMPLE REFLECT/REFRACT ======== // + +#ifdef COMPILE_TEXTURE_ATTRIB + vec2 texCoords2f = v_texture2f; +#else + vec2 texCoords2f = u_textureCoords01; +#endif + + vec4 worldPosition4fOff = worldPosition4f; + worldPosition4fOff.xyz += u_wavingBlockOffset3f; + + vec2 rotatedUV2f = worldPosition4fOff.xz + (block1f == 10.0 ? u_waterWindOffset4f.z * texCoords2f : u_waterWindOffset4f.xy); + rotatedUV2f *= (block1f == 10.0 ? 0.75 : 0.25); + mat3 cf = cotangent_frame(normalVector3f, worldDirection4f.xyz, rotatedUV2f); + vec3 surfaceNormalsMap3f = vec3(textureLod(u_normalMap, rotatedUV2f, 0.0).rg, 0.0); + surfaceNormalsMap3f.xy *= 2.0; + surfaceNormalsMap3f.xy -= 1.0; + + vec3 surfaceNormalsMapFlat3f = cf * surfaceNormalsMap3f; + surfaceNormalsMapFlat3f *= 0.1; + + surfaceNormalsMap3f.z = 8.0; + surfaceNormalsMap3f = normalize(surfaceNormalsMap3f); + normalVector3f = surfaceNormalsMap3f = cf * surfaceNormalsMap3f; + + vec4 worldPosition4fOff2 = worldPosition4f; + worldPosition4fOff2.xyz -= surfaceNormalsMapFlat3f * 4.0; + vec3 reflectCoordsR = mat4x3( + u_modelViewProjMat4f_[0].xyw, + u_modelViewProjMat4f_[1].xyw, + u_modelViewProjMat4f_[2].xyw, + u_modelViewProjMat4f_[3].xyw) * worldPosition4fOff2; + reflectCoordsR.xy /= reflectCoordsR.z; + reflectCoordsR.xy *= 0.5; + reflectCoordsR.xy += 0.5; + + worldPosition4fOff2 = worldPosition4f; + worldPosition4fOff2.xyz += surfaceNormalsMapFlat3f; + vec3 reflectCoordsL = mat4x3( + u_modelViewProjMat4f_[0].xyw, + u_modelViewProjMat4f_[1].xyw, + u_modelViewProjMat4f_[2].xyw, + u_modelViewProjMat4f_[3].xyw) * worldPosition4fOff2; + reflectCoordsL.xy /= reflectCoordsL.z; + reflectCoordsL.xy *= 0.5; + reflectCoordsL.xy += 0.5; + + vec4 envMapSample4f = textureLod(u_reflectionMap, reflectCoordsR.xy, 0.0); + vec4 refractionSample = textureLod(u_refractionMap, reflectCoordsL.xy, 0.0); + +#ifdef COMPILE_COLOR_ATTRIB + refractionSample *= v_color4f * v_color4f * u_color4f * u_color4f; +#else + refractionSample *= u_color4f * u_color4f; +#endif + + // ============ SUN LIGHTING ============== // + + diffuseColor4f.rgb *= diffuseColor4f.rgb; + + vec3 lightColor3f = vec3(0.0); + if(dot(u_sunDirection4f.xyz, normalVector3f) > 0.0 && lightmapCoords2f.g > 0.5 && + (u_sunColor3f_sky1f.r + u_sunColor3f_sky1f.g + u_sunColor3f_sky1f.b) > 0.001) { +#ifdef DO_COMPILE_SUN_SHADOWS + + // ========== SUN SHADOW: LOD0 ============ // + + float skyLight = max(lightmapCoords2f.g * 2.0 - 1.0, 0.0); + float shadowSample = 1.0; + vec4 shadowWorldPos4f = worldPosition4f; + shadowWorldPos4f.xyz += normalVector3f * 0.05; + + vec4 shadowTexPos4f; + vec2 tmpVec2; + for(;;) { + shadowTexPos4f = u_sunShadowMatrixLOD04f * shadowWorldPos4f; + if(shadowTexPos4f.xyz == clamp(shadowTexPos4f.xyz, vec3(0.005), vec3(0.995))) { + shadowSample = textureLod(u_sunShadowDepthTexture, vec3(shadowTexPos4f.xy * vec2(1.0, SUN_SHADOW_MAP_FRAC), shadowTexPos4f.z), 0.0); +#ifdef COMPILE_SUN_SHADOW_SMOOTH + shadowSample *= SMOOTH_SHADOW_SAMPLES; + SMOOTH_SHADOW_POISSON_SAMPLE(0, u_sunShadowDepthTexture, 0.0, shadowTexPos4f.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(1, u_sunShadowDepthTexture, 0.0, shadowTexPos4f.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(2, u_sunShadowDepthTexture, 0.0, shadowTexPos4f.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(3, u_sunShadowDepthTexture, 0.0, shadowTexPos4f.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(4, u_sunShadowDepthTexture, 0.0, shadowTexPos4f.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(5, u_sunShadowDepthTexture, 0.0, shadowTexPos4f.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(6, u_sunShadowDepthTexture, 0.0, shadowTexPos4f.xyz, shadowSample, tmpVec2) + shadowSample = max(shadowSample * 2.0 - 1.0, 0.0); +#endif + break; + } + +#if defined(COMPILE_SUN_SHADOW_LOD1) || defined(COMPILE_SUN_SHADOW_LOD2) + shadowTexPos4f = u_sunShadowMatrixLOD14f * shadowWorldPos4f; + if(shadowTexPos4f.xyz == clamp(shadowTexPos4f.xyz, vec3(0.005), vec3(0.995))) { + shadowTexPos4f.y += 1.0; + shadowTexPos4f.y *= SUN_SHADOW_MAP_FRAC; + shadowSample = textureLod(u_sunShadowDepthTexture, vec3(shadowTexPos4f.xy, shadowTexPos4f.z + 0.00015), 0.0); + break; + } +#endif + +#ifdef COMPILE_SUN_SHADOW_LOD2 + shadowTexPos4f = u_sunShadowMatrixLOD24f * shadowWorldPos4f; + if(shadowTexPos4f.xyz == clamp(shadowTexPos4f.xyz, vec3(0.005), vec3(0.995))) { + shadowTexPos4f.y += 2.0; + shadowTexPos4f.y *= SUN_SHADOW_MAP_FRAC; + shadowSample = textureLod(u_sunShadowDepthTexture, vec3(shadowTexPos4f.xy, shadowTexPos4f.z + 0.00015), 0.0); + } +#endif + break; + } +#endif + lightColor3f = u_sunColor3f_sky1f.rgb * max(lightmapCoords2f.g * 2.0 - 1.0, 0.0); +#ifdef DO_COMPILE_SUN_SHADOWS + lightColor3f *= shadowSample * skyLight; +#endif + lightColor3f = eaglercraftLighting_Water(diffuseColor4f.rgb, lightColor3f, -worldDirection4f.xyz, u_sunDirection4f.xyz, normalVector3f) * u_blockSkySunDynamicLightFac4f.z; + } + + // =========== REFLECTION MAP =========== // + + lightmapCoords2f *= lightmapCoords2f; + + float e = 0.0; + e += envMapSample4f.g <= 0.0 ? 0.0 : 1.0; + e += lightmapCoords2f.y > 0.5 ? 0.0 : 1.0; + //e += abs(normalVector3f.y) > 0.1 ? 0.0 : 1.0; + if(e == 0.0) { + vec3 reflectDir = reflect(worldDirection4f.xyz, normalVector3f); + reflectDir.xz /= abs(reflectDir.y) + 1.0; + float dst = 1.0 - dot(reflectDir.xz, reflectDir.xz); + dst *= dst; + reflectDir.xz *= 0.975; + if(dst < 0.005) { + vec4 sample1 = textureLod(u_environmentMap, reflectDir.xz * vec2(0.5, 0.25) + vec2(0.5, 0.25), 0.0); + vec4 sample2 = textureLod(u_environmentMap, reflectDir.xz * vec2(0.5, -0.25) + vec2(0.5, 0.75), 0.0); + envMapSample4f = vec4(mix(sample1.rgb, sample2.rgb, smoothstep(0.0, 1.0, reflectDir.y * -12.5 + 0.5)).rgb, min(sample1.a, sample2.a)); + }else { + reflectDir.xz *= vec2(0.5, reflectDir.y > 0.0 ? 0.25 : -0.25); + reflectDir.xz += vec2(0.5, reflectDir.y > 0.0 ? 0.25 : 0.75); + envMapSample4f = textureLod(u_environmentMap, reflectDir.xz, 0.0); + } + envMapSample4f.rgb *= (lightmapCoords2f.y * 2.0 - 1.0); + } + + if(envMapSample4f.g > 0.0) { + lightColor3f += eaglercraftIBL_Specular_Water(envMapSample4f.rgb, worldDirection4f.xyz, normalVector3f) * 0.5; + } + +#ifdef COMPILE_DYNAMIC_LIGHTS + + // =========== DYNAMIC LIGHTING =========== // + + vec3 dlightDist3f, dlightDir3f, dlightColor3f; + int safeLightCount = u_dynamicLightCount1i > 12 ? 0 : u_dynamicLightCount1i; // hate this + for(int i = 0; i < safeLightCount; ++i) { + dlightDist3f = u_dynamicLightArray[i].u_lightPosition4f.xyz - worldPosition4f.xyz; + dlightDir3f = normalize(dlightDist3f); + if(dot(dlightDir3f, normalVector3f) <= 0.0) { + continue; + } + dlightColor3f = u_dynamicLightArray[i].u_lightColor4f.rgb / dot(dlightDist3f, dlightDist3f); + if(dlightColor3f.r + dlightColor3f.g + dlightColor3f.b < 0.025) { + continue; + } + lightColor3f += eaglercraftLighting_Water(diffuseColor4f.rgb, dlightColor3f, -worldDirection4f.xyz, dlightDir3f, normalVector3f) * u_blockSkySunDynamicLightFac4f.w; + } + +#endif + + // ============ CACLULATE FOG ============= // + + vec4 fogBlend4f = vec4(0.0); + while(u_fogParameters4f.x > 0.0) { + float atmos = u_fogParameters4f.x >= 4.0 ? 4.0 : 0.0; + float type = u_fogParameters4f.x - atmos; + fogBlend4f = mix(u_fogColorLight4f, u_fogColorDark4f, lightmapCoords2f.g); + + float f, l = length(v_position4f.xyz); + if(type == 1.0) { + f = (l - u_fogParameters4f.z) / (u_fogParameters4f.w - u_fogParameters4f.z); + }else { + f = 1.0 - exp(-u_fogParameters4f.y * l); + } + + fogBlend4f.a *= clamp(f, 0.0, 1.0); + + if(atmos == 0.0) { + break; + } + + vec3 atmosSamplePos = v_position4f.xyz / -l; + atmosSamplePos.xz /= abs(atmosSamplePos.y) + 1.0; + atmosSamplePos.xz *= vec2(-0.5, -0.25) * 0.75; + atmosSamplePos.xz += vec2(0.5, 0.25); + + fogBlend4f.rgb *= textureLod(u_irradianceMap, atmosSamplePos.xz, 0.0).rgb + u_fogColorAddSun4f.rgb; + +#ifdef COMPILE_FOG_LIGHT_SHAFTS + fogBlend4f.rgb *= pow(textureLod(u_lightShaftsTexture, v_positionClip2f * 0.5 + 0.5, 0.0).r * 0.9 + 0.1, 2.25); + fogBlend4f.a = fogBlend4f.a * 0.9 + 0.1; +#endif + break; + } + + // ============ OUTPUT COLOR ============== // + + vec3 blockLight = lightmapCoords2f.r * vec3(1.0, 0.5809, 0.2433) * 2.0 * u_blockSkySunDynamicLightFac4f.x; + vec3 skyLight = (lightmapCoords2f.g + 0.05) * vec3(0.9102, 0.9, 1.0) * u_blockSkySunDynamicLightFac4f.y; + diffuseColor4f.rgb *= (skyLight + blockLight) * 0.075; + diffuseColor4f.rgb += lightColor3f; + diffuseColor4f.rgb = mix(diffuseColor4f.rgb + refractionSample.rgb, fogBlend4f.rgb, fogBlend4f.a); + output4f = vec4(diffuseColor4f.rgb, 1.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_render.vsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_render.vsh new file mode 100644 index 0000000..b4e04e1 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/realistic_water_render.vsh @@ -0,0 +1,82 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +in vec3 a_position3f; + +out vec4 v_position4f; + +#ifdef COMPILE_FOG_LIGHT_SHAFTS +out vec2 v_positionClip2f; +#endif + +#ifdef COMPILE_TEXTURE_ATTRIB +in vec2 a_texture2f; +out vec2 v_texture2f; +uniform mat4 u_textureMat4f01; +#endif + +#ifdef COMPILE_COLOR_ATTRIB +in vec4 a_color4f; +out vec4 v_color4f; +#endif + +#ifdef COMPILE_NORMAL_ATTRIB +in vec4 a_normal4f; +out vec3 v_normal3f; +out float v_block1f; +#endif + +#ifdef COMPILE_LIGHTMAP_ATTRIB +in vec2 a_lightmap2f; +out vec2 v_lightmap2f; +uniform mat4 u_textureMat4f02; +#endif + +uniform mat4 u_modelviewMat4f; +uniform mat4 u_projectionMat4f; + +#define TEX_MAT3(mat4In) mat3(mat4In[0].xyw,mat4In[1].xyw,mat4In[3].xyw) + +void main() { + v_position4f = u_modelviewMat4f * vec4(a_position3f, 1.0); + +#ifdef COMPILE_TEXTURE_ATTRIB + vec3 v_textureTmp3f = TEX_MAT3(u_textureMat4f01) * vec3(a_texture2f, 1.0); + v_texture2f = v_textureTmp3f.xy / v_textureTmp3f.z; +#endif + +#ifdef COMPILE_COLOR_ATTRIB + v_color4f = a_color4f; +#endif + +#ifdef COMPILE_NORMAL_ATTRIB + v_normal3f = normalize(mat3(u_modelviewMat4f) * a_normal4f.xyz); + v_block1f = floor((a_normal4f.w + 1.0) * 127.0 + 0.5); +#endif + +#ifdef COMPILE_LIGHTMAP_ATTRIB + vec3 v_lightmapTmp3f = TEX_MAT3(u_textureMat4f02) * vec3(a_lightmap2f, 1.0); + v_lightmap2f = v_lightmapTmp3f.xy / v_lightmapTmp3f.z; +#endif + + gl_Position = u_projectionMat4f * v_position4f; + +#ifdef COMPILE_FOG_LIGHT_SHAFTS + v_positionClip2f = gl_Position.xy / gl_Position.w; +#endif +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/reproject_control.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/reproject_control.fsh new file mode 100644 index 0000000..a7a2c92 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/reproject_control.fsh @@ -0,0 +1,238 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec2 v_position2f; + +#ifdef COMPILE_REPROJECT_SSAO +layout(location = 0) out vec4 reprojectionSSAOOutput4f; +#ifdef COMPILE_REPROJECT_SSR +layout(location = 1) out vec4 reprojectionReflectionOutput4f; +layout(location = 2) out vec4 reprojectionHitVectorOutput4f; +#endif +#else +layout(location = 0) out vec4 reprojectionReflectionOutput4f; +layout(location = 1) out vec4 reprojectionHitVectorOutput4f; +#endif + +uniform sampler2D u_gbufferDepthTexture; +#ifdef COMPILE_REPROJECT_SSAO +uniform sampler2D u_ssaoSampleTexture; +// R: ssao history length +// G: ssao value +// B: pixel opacity +// A: padding +uniform sampler2D u_reprojectionSSAOInput4f; +#endif + +#ifdef COMPILE_REPROJECT_SSR +uniform sampler2D u_gbufferNormalTexture; +uniform sampler2D u_gbufferMaterialTexture; + +// R: reflection R +// G: reflection G +// B: reflection B +// A: current step +uniform sampler2D u_reprojectionReflectionInput4f; + +// R: relative X of reflected pixel from origin +// G: relative Y of reflected pixel from origin +// B: relative Z of reflected pixel from origin +// A: is reflected flag +uniform sampler2D u_reprojectionHitVectorInput4f; + +uniform sampler2D u_lastFrameColorInput4f; + +uniform mat4 u_projectionMatrix4f; +uniform mat4 u_inverseProjectionMatrix4f; +uniform mat4 u_lastInverseProjMatrix4f; + +// matrix to transform view pos in old frame to view pos in current frame +uniform mat4 u_reprojectionInverseViewMatrix4f; +uniform mat4 u_viewToPreviousProjMatrix4f; + +#endif + +uniform sampler2D u_reprojectionDepthTexture; + +uniform mat4 u_inverseViewProjMatrix4f; +uniform mat4 u_reprojectionMatrix4f; + +// x = near plane +// y = far plane +// z = near plane * 2 +// w = far plane - near plane +uniform vec4 u_nearFarPlane4f; + +uniform vec4 u_pixelAlignment4f; + +#define reprojDepthLimit 0.25 + +#define GET_LINEAR_DEPTH_FROM_VALUE(depthSample) (u_nearFarPlane4f.z / (u_nearFarPlane4f.y + u_nearFarPlane4f.x + (depthSample * 2.0 - 1.0) * u_nearFarPlane4f.w)) + +#define CREATE_DEPTH_MATRIX(matrix4fInput) mat4x2(matrix4fInput[0].zw,matrix4fInput[1].zw,matrix4fInput[2].zw,matrix4fInput[3].zw) + +void main() { + vec2 v_position2f2 = (floor(v_position2f * u_pixelAlignment4f.xy) + 0.25) * (2.0 / u_pixelAlignment4f.zw); +#ifdef COMPILE_REPROJECT_SSAO + reprojectionSSAOOutput4f = vec4(0.0, 1.0, 0.0, 0.0); +#endif +#ifdef COMPILE_REPROJECT_SSR + reprojectionReflectionOutput4f = vec4(0.0, 0.0, 0.0, 0.0); + reprojectionHitVectorOutput4f = vec4(0.0, 0.0, 0.0, 0.0); +#endif + float fragDepth = textureLod(u_gbufferDepthTexture, v_position2f, 0.0).r; + + if(fragDepth < 0.000001) { + return; + } + + vec4 fragClipSpacePos4f = vec4(v_position2f, fragDepth, 1.0) * 2.0 - 1.0; + vec4 fragPos4f = u_inverseViewProjMatrix4f * fragClipSpacePos4f; + fragPos4f.xyz /= fragPos4f.w; + fragPos4f.w = 1.0; + vec4 reprojPos4f = u_reprojectionMatrix4f * fragPos4f; + vec4 reprojClipPos4f = vec4(reprojPos4f.xyz / reprojPos4f.w, 1.0); + reprojPos4f = reprojClipPos4f; + reprojPos4f.xyz *= 0.5; + reprojPos4f.xyz += 0.5; + reprojPos4f.xy = (floor(reprojPos4f.xy * u_pixelAlignment4f.zw) + 0.5) * (0.5 / u_pixelAlignment4f.xy); + if(reprojPos4f.xy != clamp(reprojPos4f.xy, vec2(0.001), vec2(0.999)) || abs(GET_LINEAR_DEPTH_FROM_VALUE(textureLod(u_reprojectionDepthTexture, reprojPos4f.xy, 0.0).r) - GET_LINEAR_DEPTH_FROM_VALUE(reprojPos4f.z)) > reprojDepthLimit) { +#ifdef COMPILE_REPROJECT_SSAO + reprojectionSSAOOutput4f = vec4(0.01, textureLod(u_ssaoSampleTexture, v_position2f, 0.0).r, 1.0, 0.0); +#endif +#ifdef COMPILE_REPROJECT_SSR + reprojectionHitVectorOutput4f = vec4(0.0, 0.0, 0.0, 50.0); +#endif + return; + } + +#ifdef COMPILE_REPROJECT_SSAO + vec4 reprojectionSSAOInput4f = textureLod(u_reprojectionSSAOInput4f, reprojPos4f.xy, 0.0); + reprojectionSSAOInput4f.g = mix(textureLod(u_ssaoSampleTexture, v_position2f, 0.0).r, reprojectionSSAOInput4f.g, min(reprojectionSSAOInput4f.r * 10.0, 0.85)); + reprojectionSSAOInput4f.r = min(reprojectionSSAOInput4f.r + 0.01, 1.0); + reprojectionSSAOInput4f.b = 1.0; + reprojectionSSAOOutput4f = reprojectionSSAOInput4f; +#endif + +#ifdef COMPILE_REPROJECT_SSR + vec4 materials = textureLod(u_gbufferMaterialTexture, v_position2f2, 0.0); + float f = materials.g < 0.06 ? 1.0 : 0.0; + f += materials.r < 0.5 ? 1.0 : 0.0; + f += materials.a > 0.5 ? 1.0 : 0.0; + if(f > 0.0) { + return; + } + + vec4 lastFrameHitVector4f = textureLod(u_reprojectionHitVectorInput4f, reprojPos4f.xy, 0.0); + if(lastFrameHitVector4f.g <= 0.0) { + reprojectionReflectionOutput4f = textureLod(u_reprojectionReflectionInput4f, reprojPos4f.xy, 0.0); + reprojectionReflectionOutput4f.a = max(reprojectionReflectionOutput4f.a - 1.0, 1.0); + reprojectionHitVectorOutput4f = vec4(0.0, 0.0, 0.0, lastFrameHitVector4f.a); + return; + } + + reprojectionReflectionOutput4f = vec4(0.0, 0.0, 0.0, 1.0); + + lastFrameHitVector4f.g -= 0.0004; + + vec4 lastFrameFragPosView4f = u_lastInverseProjMatrix4f * vec4(reprojClipPos4f.xyz, 1.0); + lastFrameFragPosView4f.xyz /= lastFrameFragPosView4f.w; + lastFrameFragPosView4f.w = 1.0; + vec4 lastFrameHitPos4f = vec4(lastFrameFragPosView4f.xyz + lastFrameHitVector4f.xyz, 1.0); + + vec4 thisFrameHitPos4f = u_reprojectionInverseViewMatrix4f * lastFrameHitPos4f; + thisFrameHitPos4f.xyz /= thisFrameHitPos4f.w; + thisFrameHitPos4f.w = 1.0; + + vec4 thisFrameHitPosProj4f = u_projectionMatrix4f * thisFrameHitPos4f; + thisFrameHitPosProj4f.xyz /= thisFrameHitPosProj4f.w; + thisFrameHitPosProj4f.w = 1.0; + vec3 thisFrameHitPosProjTex3f = thisFrameHitPosProj4f.xyz * 0.5 + 0.5; + + if(thisFrameHitPosProjTex3f.xy != clamp(thisFrameHitPosProjTex3f.xy, vec2(0.001), vec2(0.999))) { + return; + } + + float fragDepthSample = textureLod(u_gbufferDepthTexture, thisFrameHitPosProjTex3f.xy, 0.0).r * 2.0 - 1.0; + vec2 thisFrameHitPosProjDepthPos = CREATE_DEPTH_MATRIX(u_inverseProjectionMatrix4f) * vec4(thisFrameHitPosProj4f.xy, fragDepthSample, 1.0); + thisFrameHitPosProjDepthPos.x /= thisFrameHitPosProjDepthPos.y; + + if(thisFrameHitPosProjDepthPos.x - thisFrameHitPos4f.z - 0.125 < 0.0) { + return; + } + + vec3 lastFrameHitPosNormal3f = textureLod(u_gbufferNormalTexture, thisFrameHitPosProjTex3f.xy, 0.0).rgb; + lastFrameHitPosNormal3f *= 2.0; + lastFrameHitPosNormal3f -= 1.0; + + vec3 currentNormal3f = textureLod(u_gbufferNormalTexture, v_position2f2, 0.0).xyz; + currentNormal3f *= 2.0; + currentNormal3f -= 1.0; + + vec4 fragPosView4f = u_inverseProjectionMatrix4f * fragClipSpacePos4f; + fragPosView4f.xyz /= fragPosView4f.w; + fragPosView4f.w = 1.0; + + vec3 rayOrigin = fragPosView4f.xyz; + vec3 planePos = thisFrameHitPos4f.xyz; + vec3 planeNormal = lastFrameHitPosNormal3f; + + vec3 newRayDirection = reflect(normalize(rayOrigin), currentNormal3f.xyz); + + float dist = dot(planeNormal, newRayDirection); + if(dist > 0.9) { + return; + } + + dist = dot(planeNormal, planePos - rayOrigin) / dist; + if(dist < 0.0) { + return; + } + + reprojectionHitVectorOutput4f = vec4(newRayDirection * dist, 1.0); + reprojectionHitVectorOutput4f.y += 0.0004; + + thisFrameHitPosProj4f = u_viewToPreviousProjMatrix4f * vec4(rayOrigin + newRayDirection * dist, 1.0); + thisFrameHitPosProj4f.xyz /= thisFrameHitPosProj4f.w; + thisFrameHitPosProj4f.w = 1.0; + thisFrameHitPosProjTex3f = thisFrameHitPosProj4f.xyz * 0.5 + 0.5; + + if(thisFrameHitPosProjTex3f.xy != clamp(thisFrameHitPosProjTex3f.xy, vec2(0.001), vec2(0.999))) { + return; + } + + fragDepthSample = textureLod(u_reprojectionDepthTexture, thisFrameHitPosProjTex3f.xy, 0.0).r * 2.0 - 1.0; + + vec2 thisFrameHitPosProjPos = CREATE_DEPTH_MATRIX(u_lastInverseProjMatrix4f) * thisFrameHitPosProj4f; + thisFrameHitPosProjPos.x /= thisFrameHitPosProjPos.y; + + thisFrameHitPosProjDepthPos = CREATE_DEPTH_MATRIX(u_lastInverseProjMatrix4f) * vec4(thisFrameHitPosProj4f.xy, fragDepthSample, 1.0); + thisFrameHitPosProjDepthPos.x /= thisFrameHitPosProjDepthPos.y; + + if(thisFrameHitPosProjDepthPos.x - thisFrameHitPosProjPos.x - 0.125 < 0.0) { + reprojectionHitVectorOutput4f = vec4(0.0, 0.0, 0.0, 0.0); + return; + } + + reprojectionReflectionOutput4f = vec4(textureLod(u_lastFrameColorInput4f, thisFrameHitPosProjTex3f.xy, 0.0).rgb, 0.0); +#endif +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/reproject_ssr.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/reproject_ssr.fsh new file mode 100644 index 0000000..343826a --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/reproject_ssr.fsh @@ -0,0 +1,112 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec2 v_position2f; + +layout(location = 0) out vec4 reflectionOutput4f; +layout(location = 1) out vec4 hitVectorOutput4f; + +uniform sampler2D u_gbufferDepthTexture; +uniform sampler2D u_gbufferNormalTexture; +uniform sampler2D u_reprojectionReflectionInput4f; +uniform sampler2D u_reprojectionHitVectorInput4f; +uniform sampler2D u_lastFrameColorInput4f; +uniform sampler2D u_lastFrameDepthInput; + +uniform mat4 u_lastProjectionMatrix4f; +uniform mat4x2 u_lastInverseProjMatrix4x2f; + +uniform mat4 u_inverseProjectionMatrix4f; + +uniform float u_sampleStep1f; + +uniform vec4 u_pixelAlignment4f; + +#define maxAge 55.0 +#define maxSamples 50.0 + +void main() { + vec2 v_position2f2 = (floor(v_position2f * u_pixelAlignment4f.xy) + 0.25) * (2.0 / u_pixelAlignment4f.zw); + reflectionOutput4f = vec4(0.0, 0.0, 0.0, 0.0); + hitVectorOutput4f = vec4(0.0, 0.0, 0.0, 0.0); + float fragDepth = textureLod(u_gbufferDepthTexture, v_position2f2, 0.0).r; + + if(fragDepth < 0.000001) { + return; + } + + vec4 reflectionInput4f = textureLod(u_reprojectionReflectionInput4f, v_position2f, 0.0); + vec4 hitVectorInput4f = textureLod(u_reprojectionHitVectorInput4f, v_position2f, 0.0); + hitVectorInput4f.a += 1.0; + float f = reflectionInput4f.a < 1.0 ? 1.0 : reflectionInput4f.a; + reflectionInput4f.a = hitVectorInput4f.a > maxAge ? f : reflectionInput4f.a; + if(reflectionInput4f.a < 1.0) { + reflectionOutput4f = reflectionInput4f; + hitVectorOutput4f = hitVectorInput4f; + return; + } + + vec4 fragPos4f = u_inverseProjectionMatrix4f * (vec4(v_position2f2, fragDepth, 1.0) * 2.0 - 1.0); + fragPos4f.xyz /= fragPos4f.w; + fragPos4f.w = 1.0; + vec4 reflectionNormal4f = textureLod(u_gbufferNormalTexture, v_position2f2, 0.0); + reflectionNormal4f.xyz *= 2.0; + reflectionNormal4f.xyz -= 1.0; + reflectionNormal4f.xyz = reflect(normalize(fragPos4f.xyz), reflectionNormal4f.xyz); + reflectionNormal4f.w = 1.0; + float sampleStepMod = (reflectionInput4f.a * 0.03 + 0.15 + length(fragPos4f.xyz) * 0.03) * u_sampleStep1f; + vec3 sampleOffset3f = reflectionNormal4f.xyz * reflectionInput4f.a * sampleStepMod; + fragPos4f.xyz += sampleOffset3f; + reflectionNormal4f = u_lastProjectionMatrix4f * fragPos4f; + reflectionNormal4f.xyz /= reflectionNormal4f.w; + reflectionNormal4f.w = 1.0; + vec3 reflectionSamplePos3f = reflectionNormal4f.xyz; + reflectionSamplePos3f *= 0.5; + reflectionSamplePos3f += 0.5; + reflectionSamplePos3f.xy = (floor(reflectionSamplePos3f.xy * u_pixelAlignment4f.zw) + 0.5) * (0.5 / u_pixelAlignment4f.xy); + + if(clamp(reflectionSamplePos3f.xy, vec2(0.001), vec2(0.999)) != reflectionSamplePos3f.xy) { + return; + } + + float reflectDepthSample = textureLod(u_lastFrameDepthInput, reflectionSamplePos3f.xy, 0.0).r; + vec2 sampleFragDepth = u_lastInverseProjMatrix4x2f * vec4(reflectionNormal4f.xy, reflectDepthSample * 2.0 - 1.0, 1.0); + sampleFragDepth.x /= sampleFragDepth.y; + + reflectDepthSample = sampleFragDepth.x - fragPos4f.z; + if(reflectDepthSample < sampleStepMod * 3.0) { + reflectionInput4f.a += 1.0; + reflectionOutput4f = reflectionInput4f.a >= maxSamples ? vec4(0.0, 0.0, 0.0, 0.0) : reflectionInput4f; + hitVectorOutput4f = vec4(0.0, 0.0, 0.0, hitVectorInput4f.a); + return; + } + + if(abs(reflectDepthSample) > sampleStepMod * 6.0) { + return; + } + + vec4 colorSample = textureLod(u_lastFrameColorInput4f, reflectionSamplePos3f.xy, 0.0); + reflectionOutput4f = vec4(colorSample.rgb, 0.0); + reflectionOutput4f.g += 0.0005; + hitVectorOutput4f = vec4(colorSample.a > 0.0 ? sampleOffset3f : vec3(0.0), 0.0); + hitVectorOutput4f.g += colorSample.a > 0.0 ? 0.0004 : 0.0; +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/shader_pack_icon.png b/desktopRuntime/resources/assets/eagler/glsl/deferred/shader_pack_icon.png new file mode 100644 index 0000000..1b0f1d1 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/shader_pack_icon.png differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/shader_pack_info.json b/desktopRuntime/resources/assets/eagler/glsl/deferred/shader_pack_info.json new file mode 100644 index 0000000..af5f511 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/shader_pack_info.json @@ -0,0 +1,24 @@ +{ + "name": "§eHigh Performance PBR", + "desc": "Pack made from scratch specifically for this client, designed to give what I call the best balance between quality and performance possible in a browser but obviously that's just my opinion", + "vers": "1.2.1", + "author": "lax1dude", + "api_vers": 1, + "features": [ + "WAVING_BLOCKS", + "DYNAMIC_LIGHTS", + "GLOBAL_AMBIENT_OCCLUSION", + "SHADOWS_SUN", + "SHADOWS_COLORED", + "SHADOWS_SMOOTHED", + "REFLECTIONS_PARABOLOID", + "REFLECTIONS_ROUGHNESS", + "REALISTIC_WATER", + "LIGHT_SHAFTS", + "SCREEN_SPACE_REFLECTIONS", + "POST_LENS_DISTORION", + "POST_LENS_FLARES", + "POST_BLOOM", + "POST_FXAA" + ] +} \ No newline at end of file diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/shadows_sun.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/shadows_sun.fsh new file mode 100644 index 0000000..cc466ed --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/shadows_sun.fsh @@ -0,0 +1,170 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; +precision highp sampler2DShadow; + +in vec2 v_position2f; + +#ifdef COMPILE_COLORED_SHADOW +layout(location = 0) out vec4 output4f; +#else +layout(location = 0) out float output1f; +#endif + +uniform sampler2D u_gbufferNormalTexture; +uniform sampler2D u_gbufferDepthTexture; +uniform sampler2DShadow u_sunShadowDepthTexture; +#ifdef COMPILE_COLORED_SHADOW +uniform sampler2D u_sunShadowColorTexture; +#endif + +uniform mat4 u_inverseViewMatrix4f; +uniform mat4 u_inverseViewProjMatrix4f; + +#ifdef COMPILE_SUN_SHADOW_LOD0 +uniform mat4 u_sunShadowMatrixLOD04f; +#define SUN_SHADOW_MAP_FRAC 1.0 +#endif +#ifdef COMPILE_SUN_SHADOW_LOD1 +uniform mat4 u_sunShadowMatrixLOD04f; +uniform mat4 u_sunShadowMatrixLOD14f; +#define SUN_SHADOW_MAP_FRAC 0.5 +#endif +#ifdef COMPILE_SUN_SHADOW_LOD2 +uniform mat4 u_sunShadowMatrixLOD04f; +uniform mat4 u_sunShadowMatrixLOD14f; +uniform mat4 u_sunShadowMatrixLOD24f; +#define SUN_SHADOW_MAP_FRAC 0.3333333 +#endif +#ifdef COMPILE_SUN_SHADOW_SMOOTH +const vec2 POISSON_DISK[7] = vec2[]( +vec2(-0.077, 0.995), vec2(0.998, 0.015), +vec2(-0.116, -0.987), vec2(-0.916, 0.359), +vec2(-0.697, -0.511), vec2(0.740, -0.612), +vec2(0.675, 0.682)); +#define SMOOTH_SHADOW_SAMPLES 1.0 / 8.0 +#define SMOOTH_SHADOW_RADIUS 0.00075 +#define SMOOTH_SHADOW_POISSON_SAMPLE(idx, tex, lod, vec3Pos, accum, tmpVec2)\ + tmpVec2 = vec3Pos.xy + POISSON_DISK[idx] * SMOOTH_SHADOW_RADIUS;\ + tmpVec2 = clamp(tmpVec2, vec2(0.001), vec2(0.999));\ + tmpVec2.y += lod;\ + tmpVec2.y *= SUN_SHADOW_MAP_FRAC;\ + accum += textureLod(tex, vec3(tmpVec2, vec3Pos.z), 0.0) * SMOOTH_SHADOW_SAMPLES; +#endif + +uniform vec3 u_sunDirection3f; + +void main() { +#ifdef COMPILE_COLORED_SHADOW + output4f = vec4(0.0); +#else + output1f = 0.0; +#endif + float depth = textureLod(u_gbufferDepthTexture, v_position2f, 0.0).r; + if(depth < 0.00001) { + return; + } + vec4 normalVector4f = textureLod(u_gbufferNormalTexture, v_position2f, 0.0); + if(normalVector4f.a < 0.5) { + return; + } + normalVector4f.xyz *= 2.0; + normalVector4f.xyz -= 1.0; + vec3 worldSpaceNormal = normalize(mat3(u_inverseViewMatrix4f) * normalVector4f.xyz); + if(dot(u_sunDirection3f, worldSpaceNormal) < 0.0) { + return; + } + vec4 worldSpacePosition = vec4(v_position2f, depth, 1.0); + worldSpacePosition.xyz *= 2.0; + worldSpacePosition.xyz -= 1.0; + worldSpacePosition = u_inverseViewProjMatrix4f * worldSpacePosition; + worldSpacePosition.xyz /= worldSpacePosition.w; + worldSpacePosition.xyz += worldSpaceNormal * 0.05; + worldSpacePosition.w = 1.0; + float skyLight = max(normalVector4f.a * 2.0 - 1.0, 0.0); + float shadowSample; + vec2 tmpVec2; + vec4 shadowSpacePosition; + for(;;) { + shadowSpacePosition = u_sunShadowMatrixLOD04f * worldSpacePosition; + if(shadowSpacePosition.xyz == clamp(shadowSpacePosition.xyz, vec3(0.005), vec3(0.995))) { + shadowSample = textureLod(u_sunShadowDepthTexture, vec3(shadowSpacePosition.xy * vec2(1.0, SUN_SHADOW_MAP_FRAC), shadowSpacePosition.z), 0.0); +#ifdef COMPILE_SUN_SHADOW_SMOOTH + shadowSample *= SMOOTH_SHADOW_SAMPLES; + SMOOTH_SHADOW_POISSON_SAMPLE(0, u_sunShadowDepthTexture, 0.0, shadowSpacePosition.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(1, u_sunShadowDepthTexture, 0.0, shadowSpacePosition.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(2, u_sunShadowDepthTexture, 0.0, shadowSpacePosition.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(3, u_sunShadowDepthTexture, 0.0, shadowSpacePosition.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(4, u_sunShadowDepthTexture, 0.0, shadowSpacePosition.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(5, u_sunShadowDepthTexture, 0.0, shadowSpacePosition.xyz, shadowSample, tmpVec2) + SMOOTH_SHADOW_POISSON_SAMPLE(6, u_sunShadowDepthTexture, 0.0, shadowSpacePosition.xyz, shadowSample, tmpVec2) + shadowSample = max(shadowSample * 2.0 - 1.0, 0.0); +#endif +#ifdef COMPILE_COLORED_SHADOW + shadowSpacePosition.y *= SUN_SHADOW_MAP_FRAC; +#endif + break; + } + +#if defined(COMPILE_SUN_SHADOW_LOD1) || defined(COMPILE_SUN_SHADOW_LOD2) + shadowSpacePosition = u_sunShadowMatrixLOD14f * worldSpacePosition; + if(shadowSpacePosition.xyz == clamp(shadowSpacePosition.xyz, vec3(0.005), vec3(0.995))) { + shadowSpacePosition.y += 1.0; + shadowSpacePosition.y *= SUN_SHADOW_MAP_FRAC; + shadowSample = textureLod(u_sunShadowDepthTexture, vec3(shadowSpacePosition.xy, shadowSpacePosition.z + 0.00015), 0.0); + break; + } +#endif + +#ifdef COMPILE_SUN_SHADOW_LOD2 + shadowSpacePosition = u_sunShadowMatrixLOD24f * worldSpacePosition; + if(shadowSpacePosition.xyz == clamp(shadowSpacePosition.xyz, vec3(0.005), vec3(0.995))) { + shadowSpacePosition.y += 2.0; + shadowSpacePosition.y *= SUN_SHADOW_MAP_FRAC; + shadowSample = textureLod(u_sunShadowDepthTexture, vec3(shadowSpacePosition.xy, shadowSpacePosition.z + 0.00015), 0.0); + break; + } +#endif + +#ifdef COMPILE_COLORED_SHADOW + output4f = vec4(normalVector4f.a); +#else + output1f = normalVector4f.a; +#endif + return; + } + + shadowSample *= skyLight; + +#ifdef COMPILE_COLORED_SHADOW + // reuse normalVector4f: + normalVector4f = shadowSample > 0.05 ? textureLod(u_sunShadowColorTexture, shadowSpacePosition.xy, 0.0) : vec4(0.0); + + // saturate the colors, looks nice + float luma = dot(normalVector4f.rgb, vec3(0.299, 0.587, 0.114)); + normalVector4f.rgb = clamp((normalVector4f.rgb - luma) * 1.5 + luma, vec3(0.0), vec3(1.0)); + + output4f = vec4(mix(normalVector4f.rgb, vec3(1.0), normalVector4f.a) * shadowSample, shadowSample); +#else + output1f = shadowSample; +#endif + +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/skybox.dat b/desktopRuntime/resources/assets/eagler/glsl/deferred/skybox.dat new file mode 100644 index 0000000..7d258a9 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/skybox.dat differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/skybox_atmosphere.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/skybox_atmosphere.fsh new file mode 100644 index 0000000..7ddd29c --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/skybox_atmosphere.fsh @@ -0,0 +1,128 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision mediump sampler2D; + +in vec2 v_position2f; + +layout(location = 0) out vec4 output4f; + +uniform sampler2D u_skyNormals; +uniform vec4 u_sunDirectionIntensity4f; +uniform vec3 u_scatteringCoefficient3f; +uniform float u_altitude1f; +uniform vec4 u_blendColor4f; + +// Source: https://github.com/wwwtyro/glsl-atmosphere + +#define PI 3.141592 +#define iSteps 16 +#define jSteps 4 + +vec2 rsi(vec3 r0, vec3 rd, float sr) { + float a = dot(rd, rd); + float b = 2.0 * dot(rd, r0); + float c = dot(r0, r0) - (sr * sr); + float d = (b*b) - 4.0*a*c; + if (d < 0.0) return vec2(1e5,-1e5); + a *= 2.0; + d = sqrt(d); + return vec2(-b - d, -b + d) / a; +} + +vec3 atmosphere(vec3 r, vec3 r0, vec3 pSun, float iSun, float rPlanet, float rAtmos, vec3 kRlh, float kMie, float shRlh, float shMie, float g) { + pSun = normalize(pSun); + r = normalize(r); + + vec2 p = rsi(r0, r, rAtmos); + if (p.x > p.y) return vec3(0.0); + p.y = min(p.y, rsi(r0, r, rPlanet).x); + float iStepSize = (p.y - p.x) / float(iSteps); + + float iTime = 0.0; + + vec3 totalRlh = vec3(0.0); + vec3 totalMie = vec3(0.0); + + float iOdRlh = 0.0; + float iOdMie = 0.0; + + float mu = dot(r, pSun); + float mumu = mu * mu; + float gg = g * g; + float pRlh = 3.0 / (16.0 * PI) * (1.0 + mumu); + float pMie = 3.0 / (8.0 * PI) * ((1.0 - gg) * (mumu + 1.0)) / (pow(1.0 + gg - 2.0 * mu * g, 1.5) * (2.0 + gg)); + + for (int i = 0; i < iSteps; i++) { + vec3 iPos = r0 + r * (iTime + iStepSize * 0.5); + float iHeight = length(iPos) - rPlanet; + float odStepRlh = exp(-iHeight / shRlh) * iStepSize; + float odStepMie = exp(-iHeight / shMie) * iStepSize; + iOdRlh += odStepRlh; + iOdMie += odStepMie; + float jStepSize = rsi(iPos, pSun, rAtmos).y / float(jSteps); + float jTime = 0.0; + float jOdRlh = 0.0; + float jOdMie = 0.0; + for (int j = 0; j < jSteps; j++) { + vec3 jPos = iPos + pSun * (jTime + jStepSize * 0.5); + float jHeight = length(jPos) - rPlanet; + jOdRlh += exp(-jHeight / shRlh) * jStepSize; + jOdMie += exp(-jHeight / shMie) * jStepSize; + jTime += jStepSize; + } + vec3 attn = exp(-(kMie * (iOdMie + jOdMie) + kRlh * (iOdRlh + jOdRlh))); + totalRlh += odStepRlh * attn; + totalMie += odStepMie * attn; + iTime += iStepSize; + + } + return iSun * (pRlh * kRlh * totalRlh + pMie * kMie * totalMie); +} + +void main() { + if(u_blendColor4f.a >= 1.0) { + output4f = vec4(u_blendColor4f.rgb, 0.0); + return; + } + vec4 normalIn = textureLod(u_skyNormals, v_position2f, 0.0); + if(normalIn.a != 1.0) { + output4f = vec4(0.0); + return; + } + normalIn.xyz *= 2.0; + normalIn.xyz -= 1.0; + output4f = vec4(atmosphere( + normalIn.xyz, // normalized ray direction + vec3(0,6373e3 + u_altitude1f * 50.0,0), // ray origin + u_sunDirectionIntensity4f.xyz, // position of the sun + u_sunDirectionIntensity4f.w, // intensity of the sun + 6371e3, // radius of the planet in meters + 6471e3, // radius of the atmosphere in meters + vec3(5.5e-6, 13.0e-6, 22.4e-6), // Rayleigh scattering coefficient + 21e-6, // Mie scattering coefficient + 8e3, // Rayleigh scale height + 1.2e3, // Mie scale height + 0.758 // Mie preferred scattering direction + ), 0.0); + if(u_blendColor4f.a > 0.0) { + output4f.rgb = mix(output4f.rgb, u_blendColor4f.rgb, u_blendColor4f.a); + } +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/skybox_irradiance.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/skybox_irradiance.fsh new file mode 100644 index 0000000..e997f63 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/skybox_irradiance.fsh @@ -0,0 +1,233 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec2 v_position2f; + +layout(location = 0) out vec4 output4f; + +uniform sampler2D u_paraboloidSkyboxTexture; + +#define SAMPLE_IRRADIANCE(tex, tmat3f, st, sm, accum3f, tmp3f)\ + tmp3f = tmat3f * st;\ + tmp3f.xz /= abs(tmp3f.y) + 1.0;\ + tmp3f.xz *= vec2(0.4875, tmp3f.y >= 0.0 ? 0.24375 : -0.24375);\ + tmp3f.xz += vec2(0.5, tmp3f.y >= 0.0 ? 0.25 : 0.75);\ + accum3f += textureLod(tex, tmp3f.xz, 0.0).rgb * sm * clamp(1.0 + tmp3f.y * 2.0, 0.0, 1.0); + +void main() { + vec2 latLong = v_position2f * vec2(2.0, 4.0); + latLong -= vec2(1.0, v_position2f.y >= 0.5 ? 3.0 : 1.0); + float latLongLen2 = dot(latLong, latLong); + if(latLongLen2 > 1.2) { + output4f = vec4(0.0); + return; + } + + vec2 texCoords = v_position2f; + texCoords = mod(texCoords, vec2(1.0, 0.5)); + texCoords = texCoords * vec2(2.0, 4.0) - 1.0; + texCoords *= (v_position2f.y < 0.5) ? vec2(1.0, 1.0) : vec2(1.0, -1.0); + + float mag2 = 2.0 / (latLongLen2 + 1.0); + vec3 dir; + dir.y = ((v_position2f.y < 0.5) ? 1.0 : -1.0) * (mag2 - 1.0); + if(dir.y < -0.25) { + output4f = vec4(0.0); + return; + } + + dir.xz = texCoords * mag2; + + vec3 tmp3f = cross(dir, vec3(0.0, 1.0, 0.0)); + mat3 tmat3f = mat3(tmp3f, cross(dir, tmp3f), dir); + vec3 accum3f = vec3(0.0); + + // note: sampling is divided into 3 draw calls to allow better driver multitasking, + // shader would otherwise run the full 156 texture samples in only a single thread + // per pixel which is not ideal. The resulting values of the 3 draw calls are added + // together using GL_ONE, GL_ONE blending on the destination framebuffer + +#ifdef PHASE_1 + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.247, 0.000, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.479, 0.000, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.682, 0.000, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.841, 0.000, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.949, 0.000, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.997, 0.000, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.240, 0.061, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.465, 0.119, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.660, 0.169, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.815, 0.208, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.919, 0.235, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.966, 0.247, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.217, 0.119, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.421, 0.230, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.598, 0.327, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.738, 0.403, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.833, 0.455, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.875, 0.478, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.181, 0.169, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.351, 0.327, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.499, 0.465, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.616, 0.574, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.694, 0.647, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.730, 0.680, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.134, 0.208, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.259, 0.403, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.368, 0.574, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.455, 0.708, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.513, 0.799, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.539, 0.839, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.078, 0.235, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.151, 0.455, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.215, 0.647, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.265, 0.799, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.299, 0.901, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.315, 0.947, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.018, 0.247, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.034, 0.478, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.048, 0.680, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.060, 0.839, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.067, 0.947, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.071, 0.995, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.044, 0.243, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.085, 0.472, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.121, 0.671, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.150, 0.828, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.169, 0.934, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.178, 0.982, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.103, 0.225, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.200, 0.436, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.284, 0.620, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.350, 0.765, 0.540), 0.0092, accum3f, tmp3f) +#endif +#ifdef PHASE_2 + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.395, 0.863, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.415, 0.907, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.155, 0.192, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.301, 0.373, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.428, 0.530, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.529, 0.655, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.596, 0.738, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.627, 0.776, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.198, 0.148, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.384, 0.287, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.546, 0.408, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.674, 0.504, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.760, 0.568, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.799, 0.597, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.229, 0.094, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.443, 0.183, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.630, 0.260, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.778, 0.321, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.877, 0.362, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.922, 0.381, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.245, 0.035, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.475, 0.068, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.675, 0.096, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.833, 0.119, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.939, 0.134, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.988, 0.141, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.246, -0.027, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.477, -0.052, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.678, -0.074, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.837, -0.091, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.943, -0.103, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.992, -0.108, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.232, -0.087, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.449, -0.168, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.638, -0.239, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.788, -0.295, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.889, -0.333, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.934, -0.350, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.203, -0.141, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.393, -0.274, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.559, -0.390, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.690, -0.481, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.779, -0.542, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.819, -0.570, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.162, -0.187, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.313, -0.363, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.446, -0.516, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.550, -0.637, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.620, -0.718, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.652, -0.755, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.110, -0.221, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.214, -0.429, 0.878), 0.0085, accum3f, tmp3f) +#endif +#ifdef PHASE_3 + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.304, -0.610, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.375, -0.753, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.423, -0.849, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.445, -0.893, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.052, -0.242, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.101, -0.469, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.144, -0.666, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.177, -0.823, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.200, -0.928, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(-0.210, -0.975, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.009, -0.247, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.018, -0.479, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.026, -0.681, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.032, -0.841, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.036, -0.948, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.038, -0.997, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.070, -0.237, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.136, -0.460, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.193, -0.654, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.239, -0.807, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.269, -0.910, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.283, -0.957, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.127, -0.213, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.246, -0.412, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.349, -0.585, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.431, -0.723, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.486, -0.815, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.511, -0.857, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.175, -0.175, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.340, -0.338, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.483, -0.481, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.596, -0.594, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.673, -0.670, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.707, -0.704, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.213, -0.126, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.413, -0.244, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.587, -0.346, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.725, -0.428, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.817, -0.482, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.859, -0.507, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.238, -0.069, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.460, -0.134, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.654, -0.190, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.808, -0.235, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.911, -0.265, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.958, -0.279, 0.071), 0.0014, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.247, -0.008, 0.969), 0.0048, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.479, -0.016, 0.878), 0.0085, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.681, -0.023, 0.732), 0.0100, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.841, -0.028, 0.540), 0.0092, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.948, -0.031, 0.315), 0.0060, accum3f, tmp3f) + SAMPLE_IRRADIANCE(u_paraboloidSkyboxTexture, tmat3f, vec3(0.997, -0.033, 0.071), 0.0014, accum3f, tmp3f) +#endif + + output4f = vec4(accum3f * min(1.0 + dir.y * 4.0, 1.0), 0.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/skybox_render.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/skybox_render.fsh new file mode 100644 index 0000000..783e479 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/skybox_render.fsh @@ -0,0 +1,62 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec3 v_position3f; +in vec3 v_color3f; + +layout(location = 0) out vec4 output4f; + +uniform vec3 u_sunDirection3f; +uniform vec3 u_sunColor3f; +uniform vec4 u_lightningColor4f; + +#ifdef COMPILE_CLOUDS +uniform sampler2D u_cloudsTexture; +#endif + +uniform sampler2D u_sunOcclusion; + +#define SKY_BRIGHTNESS 5.0 + +void main() { + gl_FragDepth = 0.0; + vec3 viewDir = normalize(v_position3f); +#ifdef COMPILE_PARABOLOID_SKY + output4f = vec4(v_color3f * SKY_BRIGHTNESS, 0.0); +#else + float f = max(dot(viewDir, u_sunDirection3f) - 0.995, 0.0) * 100.0; + float intensity = min(f * 2.0, 1.0); + intensity *= intensity * intensity * intensity * textureLod(u_sunOcclusion, vec2(0.5, 0.5), 0.0).r * 2.0; + output4f = vec4(v_color3f * SKY_BRIGHTNESS + intensity * u_sunColor3f, 0.0); +#endif +#ifdef COMPILE_CLOUDS + if(viewDir.y < 0.01) { + output4f.rgb = output4f.rgb * u_lightningColor4f.a + u_lightningColor4f.rgb; + return; + } + vec2 cloudSampleCoord2f = (viewDir.xz / (viewDir.y + 1.0)) * 0.975 * 0.5 + 0.5; + vec4 cloudSample = textureLod(u_cloudsTexture, cloudSampleCoord2f, 0.0); + output4f.rgb = mix(output4f.rgb, output4f.rgb * cloudSample.a + cloudSample.rgb, smoothstep(0.0, 1.0, min(viewDir.y * 8.0, 1.0))); +#endif + output4f.rgb = output4f.rgb * u_lightningColor4f.a + u_lightningColor4f.rgb; + +} \ No newline at end of file diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/skybox_render.vsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/skybox_render.vsh new file mode 100644 index 0000000..f48cea5 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/skybox_render.vsh @@ -0,0 +1,51 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +layout(location = 0) in vec3 a_position3f; +layout(location = 1) in vec2 a_colorIndex2f; + +out vec3 v_position3f; +out vec3 v_color3f; + +uniform mat4 u_viewMatrix4f; +#ifdef COMPILE_PARABOLOID_SKY +uniform float u_farPlane1f; +#else +uniform mat4 u_projMatrix4f; +#endif +uniform sampler2D u_renderedAtmosphere; + +void main() { + v_position3f = a_position3f; + v_color3f = textureLod(u_renderedAtmosphere, a_colorIndex2f, 0.0).rgb; + vec4 pos = u_viewMatrix4f * vec4(a_position3f, 0.0); + +#ifdef COMPILE_PARABOLOID_SKY + float dist = pos.z; + pos.xyz = normalize(pos.xyz); + pos.xy /= 1.0 - pos.z; + pos.z = dist / u_farPlane1f; + gl_Position = vec4(pos.xyz, 1.0); +#else + gl_Position = u_projMatrix4f * vec4(pos.xyz, 1.0); +#endif +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/skybox_render_end.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/skybox_render_end.fsh new file mode 100644 index 0000000..f8fd32c --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/skybox_render_end.fsh @@ -0,0 +1,47 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec3 v_position3f; + +layout(location = 0) out vec4 output4f; + +#define SKY_BRIGHTNESS 0.05 + +uniform sampler2D u_skyTexture; + +uniform vec2 u_skyTextureScale2f; + +void main() { + gl_FragDepth = 0.0; + vec3 viewDir = normalize(v_position3f); + + vec3 blending = abs(viewDir * viewDir * viewDir); + blending = normalize(max(blending, 0.00001)); + float b = (blending.x + blending.y + blending.z); + blending /= b; + + vec3 blendedSkyColor = texture(u_skyTexture, v_position3f.zy * u_skyTextureScale2f).rgb * blending.x; + blendedSkyColor += texture(u_skyTexture, v_position3f.xz * u_skyTextureScale2f).rgb * blending.y; + blendedSkyColor += texture(u_skyTexture, v_position3f.xy * u_skyTextureScale2f).rgb * blending.z; + + output4f = vec4(blendedSkyColor * blendedSkyColor * blendedSkyColor * SKY_BRIGHTNESS, 0.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/skybox_render_end.vsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/skybox_render_end.vsh new file mode 100644 index 0000000..da9a646 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/skybox_render_end.vsh @@ -0,0 +1,35 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision mediump sampler2D; + +layout(location = 0) in vec3 a_position3f; +layout(location = 1) in vec2 a_colorIndex2f; + +out vec3 v_position3f; + +uniform mat4 u_viewMatrix4f; +uniform mat4 u_projMatrix4f; + +void main() { + v_position3f = a_position3f; + vec4 pos = u_viewMatrix4f * vec4(a_position3f, 0.0); + gl_Position = u_projMatrix4f * vec4(pos.xyz, 1.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/ssao_generate.fsh b/desktopRuntime/resources/assets/eagler/glsl/deferred/ssao_generate.fsh new file mode 100644 index 0000000..f2b310a --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/ssao_generate.fsh @@ -0,0 +1,98 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec2 v_position2f; + +layout(location = 0) out float output1f; + +uniform sampler2D u_gbufferDepthTexture; +uniform sampler2D u_gbufferNormalTexture; +uniform sampler2D u_noiseConstantTexture; + +uniform mat4 u_projectionMatrix4f; +uniform mat4 u_inverseProjectionMatrix4f; + +uniform mat2 u_randomizerDataMatrix2f; + +const vec3 ssaoKernel[8] = vec3[]( +vec3(0.599,0.721,0.350),vec3(0.114,0.791,0.601), +vec3(0.067,0.995,0.069),vec3(0.511,-0.510,0.692), +vec3(0.626,-0.667,0.404),vec3(0.896,-0.169,0.411), +vec3(0.716,-0.439,0.543),vec3(-0.400,0.733,0.550)); +#define radius 1.5 +#define SAMPLE_SSAO(idx, pos, matTBN, matProjInv2f, divisor, occlusion, tmpVec4_1, tmpVec4_2)\ + tmpVec4_1.xyz = pos + (matTBN * ssaoKernel[idx]) * radius;\ + tmpVec4_1.w = 1.0;\ + tmpVec4_2 = u_projectionMatrix4f * tmpVec4_1;\ + tmpVec4_2.xyz /= tmpVec4_2.w;\ + tmpVec4_2.xyz = clamp(tmpVec4_2.xyz, -0.99, 0.99);\ + tmpVec4_2.zw = matProjInv2f * vec4(tmpVec4_2.xy, textureLod(u_gbufferDepthTexture, tmpVec4_2.xy * 0.5 + 0.5, 0.0).r * 2.0 - 1.0, 1.0);\ + tmpVec4_2.z /= tmpVec4_2.w;\ + tmpVec4_2.x = smoothstep(0.0, 1.0, radius * 0.5 / abs(pos.z - tmpVec4_2.z));\ + divisor += tmpVec4_2.x > 0.0 ? 1.0 : 0.0;\ + occlusion += (tmpVec4_2.z >= tmpVec4_1.z ? 1.0 : 0.0) * tmpVec4_2.x; + +void main() { + vec3 originalClipSpacePos = vec3(v_position2f, textureLod(u_gbufferDepthTexture, v_position2f, 0.0).r); + + if(originalClipSpacePos.z <= 0.0000001) { + output1f = 1.0; + return; + } + + originalClipSpacePos *= 2.0; + originalClipSpacePos -= 1.0; + + vec3 normal3f = textureLod(u_gbufferNormalTexture, v_position2f, 0.0).rgb; + normal3f *= 2.0; + normal3f -= 1.0; + + vec4 originalViewSpacePos = u_inverseProjectionMatrix4f * vec4(originalClipSpacePos, 1.0); + originalViewSpacePos.xyz /= originalViewSpacePos.w; + originalViewSpacePos.w = 1.0; + + vec4 noiseVec = textureLod(u_noiseConstantTexture, u_randomizerDataMatrix2f * (v_position2f + originalViewSpacePos.xy + normal3f.xz), 0.0); + noiseVec.xyz *= 2.0; + noiseVec.xyz -= 1.0; + + vec3 tangent = normalize(noiseVec.xyz - normal3f * dot(noiseVec.xyz, normal3f)); + vec3 bitangent = cross(normal3f, tangent); + mat3 TBN = mat3(tangent, bitangent, normal3f) * noiseVec.w; + + float divisor = 0.0; + float occlusion = 0.0; + vec4 tmpVec4_1; + vec4 tmpVec4_2; + + mat4x2 matProjInv2f = mat4x2(u_inverseProjectionMatrix4f[0].zw, u_inverseProjectionMatrix4f[1].zw, u_inverseProjectionMatrix4f[2].zw, u_inverseProjectionMatrix4f[3].zw); + + SAMPLE_SSAO(0, originalViewSpacePos.xyz, TBN, matProjInv2f, divisor, occlusion, tmpVec4_1, tmpVec4_2) + SAMPLE_SSAO(1, originalViewSpacePos.xyz, TBN, matProjInv2f, divisor, occlusion, tmpVec4_1, tmpVec4_2) + SAMPLE_SSAO(2, originalViewSpacePos.xyz, TBN, matProjInv2f, divisor, occlusion, tmpVec4_1, tmpVec4_2) + SAMPLE_SSAO(3, originalViewSpacePos.xyz, TBN, matProjInv2f, divisor, occlusion, tmpVec4_1, tmpVec4_2) + SAMPLE_SSAO(4, originalViewSpacePos.xyz, TBN, matProjInv2f, divisor, occlusion, tmpVec4_1, tmpVec4_2) + SAMPLE_SSAO(5, originalViewSpacePos.xyz, TBN, matProjInv2f, divisor, occlusion, tmpVec4_1, tmpVec4_2) + SAMPLE_SSAO(6, originalViewSpacePos.xyz, TBN, matProjInv2f, divisor, occlusion, tmpVec4_1, tmpVec4_2) + SAMPLE_SSAO(7, originalViewSpacePos.xyz, TBN, matProjInv2f, divisor, occlusion, tmpVec4_1, tmpVec4_2) + + output1f = max(1.0 - (occlusion / max(divisor, 0.001)), 0.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/ssao_noise.bmp b/desktopRuntime/resources/assets/eagler/glsl/deferred/ssao_noise.bmp new file mode 100644 index 0000000..22acc00 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/ssao_noise.bmp differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/temperatures.lut b/desktopRuntime/resources/assets/eagler/glsl/deferred/temperatures.lut new file mode 100644 index 0000000..eb2ec87 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/glsl/deferred/temperatures.lut differ diff --git a/desktopRuntime/resources/assets/eagler/glsl/deferred/vertex_ids.csv b/desktopRuntime/resources/assets/eagler/glsl/deferred/vertex_ids.csv new file mode 100644 index 0000000..ad3d472 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/deferred/vertex_ids.csv @@ -0,0 +1,120 @@ +model,value +minecraft:block/leaves,1 +minecraft:block/web,1 +minecraft:block/tallgrass,2 +minecraft:block/crop,3 +minecraft:block/double_fern_bottom,4 +minecraft:block/double_grass_bottom,4 +minecraft:block/double_paeonia_bottom,4 +minecraft:block/double_rose_bottom,4 +minecraft:block/double_sunflower_bottom,4 +minecraft:block/double_syringa_bottom,4 +minecraft:block/double_fern_top,5 +minecraft:block/double_grass_top,5 +minecraft:block/double_paeonia_top,5 +minecraft:block/double_rose_top,5 +minecraft:block/double_sunflower_top,5 +minecraft:block/double_syringa_top,5 +minecraft:block/acacia_sapling,6 +minecraft:block/birch_sapling,6 +minecraft:block/daisy,6 +minecraft:block/dandelion,6 +minecraft:block/dead_bush,6 +minecraft:block/houstonia,6 +minecraft:block/jungle_sapling,6 +minecraft:block/oak_sapling,6 +minecraft:block/orchid,6 +minecraft:block/poppy,6 +minecraft:block/red_tulip,6 +minecraft:block/spruce_sapling,6 +minecraft:block/white_tulip,6 +minecraft:block/pink_tulip,6 +minecraft:block/orange_tulip,6 +minecraft:block/allium,6 +minecraft:block/reeds,7 +minecraft:block/vine_1,8 +minecraft:block/vine_1u,8 +minecraft:block/vine_2,8 +minecraft:block/vine_2_opposite,8 +minecraft:block/vine_2u,8 +minecraft:block/vine_2u_opposite,8 +minecraft:block/vine_3,8 +minecraft:block/vine_3u,8 +minecraft:block/vine_4,8 +minecraft:block/vine_4u,8 +minecraft:block/vine_u,8 +eagler:builtin/water_still_vertex_id,9 +eagler:builtin/water_flow_vertex_id,10 +minecraft:block/waterlily,11 +minecraft:block/fire_floor_main,12 +minecraft:block/fire_n_main,13 +minecraft:block/fire_ne_main,13 +minecraft:block/fire_ns_main,13 +minecraft:block/fire_nse_main,13 +minecraft:block/fire_nsew_main,13 +minecraft:block/fire_u1_main,13 +minecraft:block/fire_nu1_main,13 +minecraft:block/fire_neu1_main,13 +minecraft:block/fire_nsu1_main,13 +minecraft:block/fire_nseu1_main,13 +minecraft:block/fire_nsewu1_main,13 +minecraft:block/fire_u2_main,13 +minecraft:block/fire_nu2_main,13 +minecraft:block/fire_neu2_main,13 +minecraft:block/fire_nsu2_main,13 +minecraft:block/fire_nseu2_main,13 +minecraft:block/fire_nsewu2_main,13 +minecraft:block/fire_n_alt,13 +minecraft:block/fire_ne_alt,13 +minecraft:block/fire_ns_alt,13 +minecraft:block/fire_nse_alt,13 +minecraft:block/fire_nsew_alt,13 +minecraft:block/fire_nu2_alt,13 +minecraft:block/fire_neu2_alt,13 +minecraft:block/fire_nsu2_alt,13 +minecraft:block/fire_nseu2_alt,13 +minecraft:block/fire_nsewu2_alt,13 +minecraft:block/fire_n_flip_main,13 +minecraft:block/fire_ne_flip_main,13 +minecraft:block/fire_ns_flip_main,13 +minecraft:block/fire_nse_flip_main,13 +minecraft:block/fire_nsew_flip_main,13 +minecraft:block/fire_nu1_flip_main,13 +minecraft:block/fire_neu1_flip_main,13 +minecraft:block/fire_nsu1_flip_main,13 +minecraft:block/fire_nseu1_flip_main,13 +minecraft:block/fire_nsewu1_flip_main,13 +minecraft:block/fire_nu2_flip_main,13 +minecraft:block/fire_neu2_flip_main,13 +minecraft:block/fire_nsu2_flip_main,13 +minecraft:block/fire_nseu2_flip_main,13 +minecraft:block/fire_nsewu2_flip_main,13 +minecraft:block/fire_n_alt_flip,13 +minecraft:block/fire_ne_alt_flip,13 +minecraft:block/fire_ns_alt_flip,13 +minecraft:block/fire_nse_alt_flip,13 +minecraft:block/fire_nsew_alt_flip,13 +minecraft:block/fire_nu1_alt_flip,13 +minecraft:block/fire_neu1_alt_flip,13 +minecraft:block/fire_nsu1_alt_flip,13 +minecraft:block/fire_nseu1_alt_flip,13 +minecraft:block/fire_nsewu1_alt_flip,13 +minecraft:block/fire_nu2_alt_flip,13 +minecraft:block/fire_neu2_alt_flip,13 +minecraft:block/fire_nsu2_alt_flip,13 +minecraft:block/fire_nseu2_alt_flip,13 +minecraft:block/fire_nsewu2_alt_flip,13 +minecraft:block/fire_nsewu2_alt_flip,13 +minecraft:block/glass,14 +minecraft:block/glass_pane_n,14 +minecraft:block/glass_pane_ne,14 +minecraft:block/glass_pane_new,14 +minecraft:block/glass_pane_ns,14 +minecraft:block/glass_pane_nse,14 +minecraft:block/glass_pane_nsew,14 +minecraft:block/glass_pane_nsw,14 +minecraft:block/glass_pane_nw,14 +minecraft:block/glass_pane_s,14 +minecraft:block/glass_pane_se,14 +minecraft:block/glass_pane_sew,14 +minecraft:block/glass_pane_sw,14 \ No newline at end of file diff --git a/desktopRuntime/resources/assets/eagler/glsl/dynamiclights/accel_particle_dynamiclights.fsh b/desktopRuntime/resources/assets/eagler/glsl/dynamiclights/accel_particle_dynamiclights.fsh new file mode 100644 index 0000000..c8289e8 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/dynamiclights/accel_particle_dynamiclights.fsh @@ -0,0 +1,71 @@ +#line 2 + +/* + * Copyright (c) 2024 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision mediump float; +precision mediump sampler2D; + +in vec4 v_position4f; +in vec2 v_texCoord2f; +in vec4 v_color4f; +in vec2 v_lightmap2f; + +layout(location = 0) out vec4 output4f; + +uniform sampler2D u_inputTexture; +uniform sampler2D u_lightmapTexture; + +uniform mat4 u_inverseViewMatrix4f; + +layout(std140) uniform u_chunkLightingData { + mediump int u_dynamicLightCount1i; + mediump int _paddingA_; + mediump int _paddingB_; + mediump int _paddingC_; + mediump vec4 u_dynamicLightArray[12]; +}; + +void main() { + vec4 color = texture(u_inputTexture, v_texCoord2f) * v_color4f; + + if(color.a < 0.004) { + discard; + } + + vec4 light; + float blockLight = v_lightmap2f.x; + float diffuse = 0.0; + float len; + if(u_dynamicLightCount1i > 0) { + vec4 worldPosition4f = u_inverseViewMatrix4f * v_position4f; + worldPosition4f.xyz /= worldPosition4f.w; + vec3 normalVector3f = normalize(u_inverseViewMatrix4f[2].xyz); + int safeLightCount = u_dynamicLightCount1i > 12 ? 0 : u_dynamicLightCount1i; + for(int i = 0; i < safeLightCount; ++i) { + light = u_dynamicLightArray[i]; + light.xyz = light.xyz - worldPosition4f.xyz; + len = length(light.xyz); + diffuse += max(dot(light.xyz / len, normalVector3f) * 0.8 + 0.2, 0.0) * max(light.w - len, 0.0); + } + blockLight = min(blockLight + diffuse * 0.066667, 1.0); + } + + color *= texture(u_lightmapTexture, vec2(blockLight, v_lightmap2f.y)); + + output4f = color; +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/dynamiclights/accel_particle_dynamiclights.vsh b/desktopRuntime/resources/assets/eagler/glsl/dynamiclights/accel_particle_dynamiclights.vsh new file mode 100644 index 0000000..202bd15 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/dynamiclights/accel_particle_dynamiclights.vsh @@ -0,0 +1,61 @@ +#line 2 + +/* + * Copyright (c) 2024 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision mediump sampler2D; + +layout(location = 0) in vec2 a_position2f; + +layout(location = 1) in vec3 p_position3f; +layout(location = 2) in vec2 p_texCoords2i; +layout(location = 3) in vec2 p_lightMap2f; +layout(location = 4) in vec2 p_particleSize_texCoordsSize_2i; +layout(location = 5) in vec4 p_color4f; + +out vec4 v_position4f; +out vec2 v_texCoord2f; +out vec4 v_color4f; +out vec2 v_lightmap2f; + +uniform mat4 u_modelViewMatrix4f; +uniform mat4 u_projectionMatrix4f; +uniform vec3 u_texCoordSize2f_particleSize1f; +uniform vec3 u_transformParam_1_2_5_f; +uniform vec2 u_transformParam_3_4_f; +uniform vec4 u_color4f; + +void main() { + v_color4f = u_color4f * p_color4f.bgra; + v_lightmap2f = p_lightMap2f; + + vec2 tex2f = a_position2f * 0.5 + 0.5; + tex2f.y = 1.0 - tex2f.y; + tex2f = p_texCoords2i + tex2f * p_particleSize_texCoordsSize_2i.y; + v_texCoord2f = tex2f * u_texCoordSize2f_particleSize1f.xy; + + float particleSize = u_texCoordSize2f_particleSize1f.z * p_particleSize_texCoordsSize_2i.x; + + vec3 pos3f = p_position3f; + vec2 spos2f = a_position2f * particleSize; + pos3f += u_transformParam_1_2_5_f * spos2f.xyy; + pos3f.zx += u_transformParam_3_4_f * spos2f; + + v_position4f = u_modelViewMatrix4f * vec4(pos3f, 1.0); + gl_Position = u_projectionMatrix4f * v_position4f; +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/dynamiclights/core_dynamiclights.fsh b/desktopRuntime/resources/assets/eagler/glsl/dynamiclights/core_dynamiclights.fsh new file mode 100644 index 0000000..aa3bc51 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/dynamiclights/core_dynamiclights.fsh @@ -0,0 +1,218 @@ +#line 2 + +/* + * Copyright (c) 2022-2024 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +in vec4 v_position4f; + +#ifdef COMPILE_TEXTURE_ATTRIB +in vec2 v_texture2f; +#endif + +uniform vec4 u_color4f; + +#ifdef COMPILE_BLEND_ADD +uniform vec4 u_colorBlendSrc4f; +uniform vec4 u_colorBlendAdd4f; +#endif + +#ifdef COMPILE_COLOR_ATTRIB +in vec4 v_color4f; +#endif + +#ifdef COMPILE_NORMAL_ATTRIB +in vec3 v_normal3f; +#endif + +#ifdef COMPILE_LIGHTMAP_ATTRIB +in vec2 v_lightmap2f; +#endif + +#ifdef COMPILE_ENABLE_TEXTURE2D +uniform sampler2D u_samplerTexture; +#if !defined(COMPILE_TEXTURE_ATTRIB) && !defined(COMPILE_ENABLE_TEX_GEN) +uniform vec2 u_textureCoords01; +#endif +#endif + +#ifdef COMPILE_ENABLE_LIGHTMAP +uniform sampler2D u_samplerLightmap; +#ifndef COMPILE_LIGHTMAP_ATTRIB +uniform vec2 u_textureCoords02; +#endif +#endif + +#ifdef COMPILE_ENABLE_ALPHA_TEST +uniform float u_alphaTestRef1f; +#endif + +#ifdef COMPILE_ENABLE_MC_LIGHTING +uniform int u_lightsEnabled1i; +uniform vec4 u_lightsDirections4fv[4]; +uniform vec3 u_lightsAmbient3f; +#endif + +#ifndef COMPILE_NORMAL_ATTRIB +uniform vec3 u_uniformNormal3f; +#endif + +#ifdef COMPILE_ENABLE_FOG +uniform vec4 u_fogParameters4f; +uniform vec4 u_fogColor4f; +#endif + +#ifdef COMPILE_ENABLE_TEX_GEN +in vec3 v_objectPosition3f; +uniform ivec4 u_texGenPlane4i; +uniform vec4 u_texGenS4f; +uniform vec4 u_texGenT4f; +uniform vec4 u_texGenR4f; +uniform vec4 u_texGenQ4f; +uniform mat4 u_textureMat4f01; +#endif + +#ifdef COMPILE_ENABLE_ANISOTROPIC_FIX +uniform vec2 u_textureAnisotropicFix; +#endif + +uniform mat4 u_inverseViewMatrix4f; + +layout(std140) uniform u_chunkLightingData { + mediump int u_dynamicLightCount1i; + mediump int _paddingA_; + mediump int _paddingB_; + mediump int _paddingC_; + mediump vec4 u_dynamicLightArray[12]; +}; + +layout(location = 0) out vec4 output4f; + +void main() { + +#ifdef COMPILE_COLOR_ATTRIB + vec4 color = v_color4f * u_color4f; +#else + vec4 color = u_color4f; +#endif + +#ifdef COMPILE_ENABLE_TEX_GEN + vec4 texGenVector; + + vec4 texGenPosSrc[2]; + texGenPosSrc[0] = vec4(v_objectPosition3f, 1.0); + texGenPosSrc[1] = v_position4f; + + texGenVector.x = dot(texGenPosSrc[u_texGenPlane4i.x], u_texGenS4f); + texGenVector.y = dot(texGenPosSrc[u_texGenPlane4i.y], u_texGenT4f); + texGenVector.z = dot(texGenPosSrc[u_texGenPlane4i.z], u_texGenR4f); + texGenVector.w = dot(texGenPosSrc[u_texGenPlane4i.w], u_texGenQ4f); + + texGenVector = u_textureMat4f01 * texGenVector; + color *= texture(u_samplerTexture, texGenVector.xy / texGenVector.w); + +#ifdef COMPILE_ENABLE_ALPHA_TEST + if(color.a < u_alphaTestRef1f) discard; +#endif + +#else + +#ifdef COMPILE_ENABLE_TEXTURE2D +#ifdef COMPILE_TEXTURE_ATTRIB +#ifdef COMPILE_ENABLE_ANISOTROPIC_FIX + // d3d11 doesn't support GL_NEAREST upscaling with anisotropic + // filtering enabled, so it needs this stupid fix to 'work' + vec2 uv = floor(v_texture2f * u_textureAnisotropicFix) + 0.5; + color *= texture(u_samplerTexture, uv / u_textureAnisotropicFix); +#else + color *= texture(u_samplerTexture, v_texture2f); +#endif +#else + color *= texture(u_samplerTexture, u_textureCoords01); +#endif +#endif + +#ifdef COMPILE_NORMAL_ATTRIB + vec3 normal = normalize(v_normal3f); +#else + vec3 normal = u_uniformNormal3f; +#endif + +#ifdef COMPILE_ENABLE_LIGHTMAP + float diffuse = 0.0; +#ifdef COMPILE_LIGHTMAP_ATTRIB + float blockLight = v_lightmap2f.x; +#else + float blockLight = u_textureCoords02.x; +#endif + float len; + vec4 light; + if(u_dynamicLightCount1i > 0) { + vec4 worldPosition4f = u_inverseViewMatrix4f * v_position4f; + worldPosition4f.xyz /= worldPosition4f.w; + vec3 normalVector3f = normalize(mat3(u_inverseViewMatrix4f) * normal); + int safeLightCount = u_dynamicLightCount1i > 12 ? 0 : u_dynamicLightCount1i; + for(int i = 0; i < safeLightCount; ++i) { + light = u_dynamicLightArray[i]; + light.xyz = light.xyz - worldPosition4f.xyz; + len = length(light.xyz); + diffuse += max(dot(light.xyz / len, normalVector3f) * 0.8 + 0.2, 0.0) * max(light.w - len, 0.0); + } + blockLight = min(blockLight + diffuse * 0.066667, 1.0); + } +#ifdef COMPILE_LIGHTMAP_ATTRIB + color *= texture(u_samplerLightmap, vec2(blockLight, v_lightmap2f.y)); +#else + color *= texture(u_samplerLightmap, vec2(blockLight, u_textureCoords02.y)); +#endif +#endif + +#ifdef COMPILE_BLEND_ADD + color = color * u_colorBlendSrc4f + u_colorBlendAdd4f; +#endif + +#ifdef COMPILE_ENABLE_ALPHA_TEST + if(color.a < u_alphaTestRef1f) discard; +#endif + +#endif + +#ifdef COMPILE_ENABLE_MC_LIGHTING +#ifndef COMPILE_ENABLE_LIGHTMAP + vec4 light; + float diffuse = 0.0; +#else + diffuse = 0.0; +#endif + for(int i = 0; i < u_lightsEnabled1i; ++i) { + light = u_lightsDirections4fv[i]; + diffuse += max(dot(light.xyz, normal), 0.0) * light.w; + } + color.rgb *= min(u_lightsAmbient3f + vec3(diffuse), 1.0); +#endif + +#ifdef COMPILE_ENABLE_FOG + vec3 fogPos = v_position4f.xyz / v_position4f.w; + float dist = sqrt(dot(fogPos, fogPos)); + float fogDensity = u_fogParameters4f.y; + float fogStart = u_fogParameters4f.z; + float fogEnd = u_fogParameters4f.w; + float f = u_fogParameters4f.x > 0.0 ? 1.0 - exp(-fogDensity * dist) : + (dist - fogStart) / (fogEnd - fogStart); + color.rgb = mix(color.rgb, u_fogColor4f.rgb, clamp(f, 0.0, 1.0) * u_fogColor4f.a); +#endif + + output4f = color; +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/dynamiclights/core_dynamiclights.vsh b/desktopRuntime/resources/assets/eagler/glsl/dynamiclights/core_dynamiclights.vsh new file mode 100644 index 0000000..023b204 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/dynamiclights/core_dynamiclights.vsh @@ -0,0 +1,80 @@ +#line 2 + +/* + * Copyright (c) 2022-2024 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +in vec3 a_position3f; + +out vec4 v_position4f; + +#ifdef COMPILE_ENABLE_TEX_GEN +out vec3 v_objectPosition3f; +#endif + +#ifdef COMPILE_TEXTURE_ATTRIB +in vec2 a_texture2f; +out vec2 v_texture2f; +uniform mat4 u_textureMat4f01; +#endif + +#ifdef COMPILE_COLOR_ATTRIB +in vec4 a_color4f; +out vec4 v_color4f; +#endif + +#ifdef COMPILE_NORMAL_ATTRIB +in vec4 a_normal4f; +out vec3 v_normal3f; +#endif + +#ifdef COMPILE_LIGHTMAP_ATTRIB +in vec2 a_lightmap2f; +out vec2 v_lightmap2f; +uniform mat4 u_textureMat4f02; +#endif + +uniform mat4 u_modelviewMat4f; +uniform mat4 u_projectionMat4f; + +#define TEX_MAT3(mat4In) mat3(mat4In[0].xyw,mat4In[1].xyw,mat4In[3].xyw) + +void main() { +#ifdef COMPILE_ENABLE_TEX_GEN + v_objectPosition3f = a_position3f; +#endif + + v_position4f = u_modelviewMat4f * vec4(a_position3f, 1.0); + +#ifdef COMPILE_TEXTURE_ATTRIB + vec3 v_textureTmp3f = TEX_MAT3(u_textureMat4f01) * vec3(a_texture2f, 1.0); + v_texture2f = v_textureTmp3f.xy / v_textureTmp3f.z; +#endif + +#ifdef COMPILE_COLOR_ATTRIB + v_color4f = a_color4f; +#endif + +#ifdef COMPILE_NORMAL_ATTRIB + v_normal3f = normalize(mat3(u_modelviewMat4f) * a_normal4f.xyz); +#endif + +#ifdef COMPILE_LIGHTMAP_ATTRIB + vec3 v_lightmapTmp3f = TEX_MAT3(u_textureMat4f02) * vec3(a_lightmap2f, 1.0); + v_lightmap2f = v_lightmapTmp3f.xy / v_lightmapTmp3f.z; +#endif + + gl_Position = u_projectionMat4f * v_position4f; +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/local.vsh b/desktopRuntime/resources/assets/eagler/glsl/local.vsh new file mode 100644 index 0000000..4617298 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/local.vsh @@ -0,0 +1,30 @@ +#line 2 + +/* + * Copyright (c) 2022-2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision lowp sampler2D; + +layout(location = 0) in vec2 a_position2f; + +out vec2 v_position2f; + +void main() { + v_position2f = a_position2f * 0.5 + 0.5; + gl_Position = vec4(a_position2f, 0.0, 1.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/post_fxaa.fsh b/desktopRuntime/resources/assets/eagler/glsl/post_fxaa.fsh new file mode 100644 index 0000000..9914f0a --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/post_fxaa.fsh @@ -0,0 +1,373 @@ +#line 2 + +// Remove this line below if you plan to modify this file +#define USE_OPTIMIZED + + +/* + * Copyright (c) 2022-2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + + +/* + * This file was modified by lax1dude to remove dead code + * + * Original: https://gist.github.com/kosua20/0c506b81b3812ac900048059d2383126 + * + */ + + +/* + * ============================================================================ + * + * + * NVIDIA FXAA 3.11 by TIMOTHY LOTTES + * + * + * ------------------------------------------------------------------------------ + * COPYRIGHT (C) 2010, 2011 NVIDIA CORPORATION. ALL RIGHTS RESERVED. + * ------------------------------------------------------------------------------ + * TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED + * *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS + * OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA + * OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR + * CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR + * LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, + * OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE + * THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGES. + * + */ + +precision lowp int; +precision mediump float; +precision mediump sampler2D; + + +in vec2 v_position2f; + +layout(location = 0) out vec4 output4f; + +uniform sampler2D u_screenTexture; +uniform vec2 u_screenSize2f; + +#ifndef USE_OPTIMIZED +#ifndef FXAA_GREEN_AS_LUMA + // For those using non-linear color, + // and either not able to get luma in alpha, or not wanting to, + // this enables FXAA to run using green as a proxy for luma. + // So with this enabled, no need to pack luma in alpha. + // + // This will turn off AA on anything which lacks some amount of green. + // Pure red and blue or combination of only R and B, will get no AA. + // + // Might want to lower the settings for both, + // fxaaConsoleEdgeThresholdMin + // fxaaQualityEdgeThresholdMin + // In order to insure AA does not get turned off on colors + // which contain a minor amount of green. + // + // 1 = On. + // 0 = Off. + // + #define FXAA_GREEN_AS_LUMA 0 +#endif + +#ifndef FXAA_DISCARD + // 1 = Use discard on pixels which don't need AA. + // 0 = Return unchanged color on pixels which don't need AA. + #define FXAA_DISCARD 0 +#endif + +/*============================================================================ + API PORTING +============================================================================*/ + #define FxaaBool bool + #define FxaaDiscard discard + #define FxaaFloat float + #define FxaaFloat2 vec2 + #define FxaaFloat3 vec3 + #define FxaaFloat4 vec4 + #define FxaaHalf float + #define FxaaHalf2 vec2 + #define FxaaHalf3 vec3 + #define FxaaHalf4 vec4 + #define FxaaInt2 ivec2 + #define FxaaSat(x) clamp(x, 0.0, 1.0) + #define FxaaTex sampler2D +/*--------------------------------------------------------------------------*/ + + #define FxaaTexTop(t, p) textureLod(t, p, 0.0) + +/*============================================================================ + GREEN AS LUMA OPTION SUPPORT FUNCTION +============================================================================*/ +#if (FXAA_GREEN_AS_LUMA == 0) + FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return dot(rgba.xyz * rgba.xyz, vec3(0.299, 0.587, 0.114)); } +#else + FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; } +#endif + +/*============================================================================ + FXAA3 CONSOLE - PC VERSION +============================================================================*/ +/*--------------------------------------------------------------------------*/ +FxaaFloat4 FxaaPixelShader( + // See FXAA Quality FxaaPixelShader() source for docs on Inputs! + // + // Use noperspective interpolation here (turn off perspective interpolation). + // {xy} = center of pixel + FxaaFloat2 pos, + // + // Used only for FXAA Console, and not used on the 360 version. + // Use noperspective interpolation here (turn off perspective interpolation). + // {xy__} = upper left of pixel + // {__zw} = lower right of pixel + FxaaFloat4 fxaaConsolePosPos, + // + // Input color texture. + // {rgb_} = color in linear or perceptual color space + // if (FXAA_GREEN_AS_LUMA == 0) + // {___a} = luma in perceptual color space (not linear) + FxaaTex tex, + // + // Only used on FXAA Console. + // This must be from a constant/uniform. + // This effects sub-pixel AA quality and inversely sharpness. + // Where N ranges between, + // N = 0.50 (default) + // N = 0.33 (sharper) + // {x___} = -N/screenWidthInPixels + // {_y__} = -N/screenHeightInPixels + // {__z_} = N/screenWidthInPixels + // {___w} = N/screenHeightInPixels + FxaaFloat4 fxaaConsoleRcpFrameOpt, + // + // Only used on FXAA Console. + // Not used on 360, but used on PS3 and PC. + // This must be from a constant/uniform. + // {x___} = -2.0/screenWidthInPixels + // {_y__} = -2.0/screenHeightInPixels + // {__z_} = 2.0/screenWidthInPixels + // {___w} = 2.0/screenHeightInPixels + FxaaFloat4 fxaaConsoleRcpFrameOpt2, + // + // Only used on FXAA Console. + // This used to be the FXAA_CONSOLE__EDGE_SHARPNESS define. + // It is here now to allow easier tuning. + // This does not effect PS3, as this needs to be compiled in. + // Use FXAA_CONSOLE__PS3_EDGE_SHARPNESS for PS3. + // Due to the PS3 being ALU bound, + // there are only three safe values here: 2 and 4 and 8. + // These options use the shaders ability to a free *|/ by 2|4|8. + // For all other platforms can be a non-power of two. + // 8.0 is sharper (default!!!) + // 4.0 is softer + // 2.0 is really soft (good only for vector graphics inputs) + FxaaFloat fxaaConsoleEdgeSharpness, + // + // Only used on FXAA Console. + // This used to be the FXAA_CONSOLE__EDGE_THRESHOLD define. + // It is here now to allow easier tuning. + // This does not effect PS3, as this needs to be compiled in. + // Use FXAA_CONSOLE__PS3_EDGE_THRESHOLD for PS3. + // Due to the PS3 being ALU bound, + // there are only two safe values here: 1/4 and 1/8. + // These options use the shaders ability to a free *|/ by 2|4|8. + // The console setting has a different mapping than the quality setting. + // Other platforms can use other values. + // 0.125 leaves less aliasing, but is softer (default!!!) + // 0.25 leaves more aliasing, and is sharper + FxaaFloat fxaaConsoleEdgeThreshold, + // + // Only used on FXAA Console. + // This used to be the FXAA_CONSOLE__EDGE_THRESHOLD_MIN define. + // It is here now to allow easier tuning. + // Trims the algorithm from processing darks. + // The console setting has a different mapping than the quality setting. + // This does not apply to PS3, + // PS3 was simplified to avoid more shader instructions. + // 0.06 - faster but more aliasing in darks + // 0.05 - default + // 0.04 - slower and less aliasing in darks + // Special notes when using FXAA_GREEN_AS_LUMA, + // Likely want to set this to zero. + // As colors that are mostly not-green + // will appear very dark in the green channel! + // Tune by looking at mostly non-green content, + // then start at zero and increase until aliasing is a problem. + FxaaFloat fxaaConsoleEdgeThresholdMin +) { +/*--------------------------------------------------------------------------*/ + FxaaFloat lumaNw = FxaaLuma(FxaaTexTop(tex, fxaaConsolePosPos.xy)); + FxaaFloat lumaSw = FxaaLuma(FxaaTexTop(tex, fxaaConsolePosPos.xw)); + FxaaFloat lumaNe = FxaaLuma(FxaaTexTop(tex, fxaaConsolePosPos.zy)); + FxaaFloat lumaSe = FxaaLuma(FxaaTexTop(tex, fxaaConsolePosPos.zw)); +/*--------------------------------------------------------------------------*/ + FxaaFloat4 rgbyM = FxaaTexTop(tex, pos.xy); + #if (FXAA_GREEN_AS_LUMA == 0) + // TODO Luma + FxaaFloat lumaM = FxaaLuma(rgbyM); + #else + FxaaFloat lumaM = rgbyM.y; + #endif +/*--------------------------------------------------------------------------*/ + FxaaFloat lumaMaxNwSw = max(lumaNw, lumaSw); + lumaNe += 1.0/384.0; + FxaaFloat lumaMinNwSw = min(lumaNw, lumaSw); +/*--------------------------------------------------------------------------*/ + FxaaFloat lumaMaxNeSe = max(lumaNe, lumaSe); + FxaaFloat lumaMinNeSe = min(lumaNe, lumaSe); +/*--------------------------------------------------------------------------*/ + FxaaFloat lumaMax = max(lumaMaxNeSe, lumaMaxNwSw); + FxaaFloat lumaMin = min(lumaMinNeSe, lumaMinNwSw); +/*--------------------------------------------------------------------------*/ + FxaaFloat lumaMaxScaled = lumaMax * fxaaConsoleEdgeThreshold; +/*--------------------------------------------------------------------------*/ + FxaaFloat lumaMinM = min(lumaMin, lumaM); + FxaaFloat lumaMaxScaledClamped = max(fxaaConsoleEdgeThresholdMin, lumaMaxScaled); + FxaaFloat lumaMaxM = max(lumaMax, lumaM); + FxaaFloat dirSwMinusNe = lumaSw - lumaNe; + FxaaFloat lumaMaxSubMinM = lumaMaxM - lumaMinM; + FxaaFloat dirSeMinusNw = lumaSe - lumaNw; + if(lumaMaxSubMinM < lumaMaxScaledClamped) + { + #if (FXAA_DISCARD == 1) + FxaaDiscard; + #else + return rgbyM; + #endif + } +/*--------------------------------------------------------------------------*/ + FxaaFloat2 dir; + dir.x = dirSwMinusNe + dirSeMinusNw; + dir.y = dirSwMinusNe - dirSeMinusNw; +/*--------------------------------------------------------------------------*/ + FxaaFloat2 dir1 = normalize(dir.xy); + FxaaFloat4 rgbyN1 = FxaaTexTop(tex, pos.xy - dir1 * fxaaConsoleRcpFrameOpt.zw); + FxaaFloat4 rgbyP1 = FxaaTexTop(tex, pos.xy + dir1 * fxaaConsoleRcpFrameOpt.zw); +/*--------------------------------------------------------------------------*/ + FxaaFloat dirAbsMinTimesC = min(abs(dir1.x), abs(dir1.y)) * fxaaConsoleEdgeSharpness; + FxaaFloat2 dir2 = clamp(dir1.xy / dirAbsMinTimesC, -2.0, 2.0); +/*--------------------------------------------------------------------------*/ + FxaaFloat2 dir2x = dir2 * fxaaConsoleRcpFrameOpt2.zw; + FxaaFloat4 rgbyN2 = FxaaTexTop(tex, pos.xy - dir2x); + FxaaFloat4 rgbyP2 = FxaaTexTop(tex, pos.xy + dir2x); +/*--------------------------------------------------------------------------*/ + FxaaFloat4 rgbyA = rgbyN1 + rgbyP1; + FxaaFloat4 rgbyB = ((rgbyN2 + rgbyP2) * 0.25) + (rgbyA * 0.25); +/*--------------------------------------------------------------------------*/ + #if (FXAA_GREEN_AS_LUMA == 0) + // TODO Luma + float lumaB = FxaaLuma(rgbyB); + #else + float lumaB = rgbyB.y; + #endif + if((lumaB < lumaMin) || (lumaB > lumaMax)) + rgbyB.xyz = rgbyA.xyz * 0.5; + // + return rgbyB; +} +/*==========================================================================*/ + +#define edgeSharpness 3.0 +#define edgeThreshold 0.15 +#define edgeThresholdMin 0.05 + +void main(){ + vec2 screenSize05 = 0.5 * u_screenSize2f; + + vec4 posPos; + posPos.xy = v_position2f; + posPos.zw = v_position2f + u_screenSize2f; + + vec4 rcpFrameOpt; + rcpFrameOpt.xy = -screenSize05; + rcpFrameOpt.zw = screenSize05; + + output4f = vec4(FxaaPixelShader(v_position2f + screenSize05, posPos, u_screenTexture, rcpFrameOpt, rcpFrameOpt * 4.0, edgeSharpness, edgeThreshold, edgeThresholdMin).rgb, 1.0); +} +#else + +// This 'optimized' code was generated using glslangValidator + spirv-cross + spirv-opt on the source code above +// Is it faster? Idfk, probably compiles faster at least, what matters it I tried + +float _616; +vec4 _617; + +void main() +{ + mediump vec2 _257 = u_screenSize2f * 0.5; + mediump vec4 _611 = vec4(v_position2f, v_position2f + u_screenSize2f); + mediump vec4 _612 = vec4(_616, _616, _257); + mediump vec2 _290 = v_position2f + _257; + mediump vec4 _608; + for(;;) + { + mediump vec3 _532 = textureLod(u_screenTexture, _611.xy, 0.0).xyz; + mediump float _536 = dot(_532 * _532, vec3(0.2989999949932098388671875, 0.58700001239776611328125, 0.114000000059604644775390625)); + mediump vec3 _540 = textureLod(u_screenTexture, _611.xw, 0.0).xyz; + mediump float _544 = dot(_540 * _540, vec3(0.2989999949932098388671875, 0.58700001239776611328125, 0.114000000059604644775390625)); + mediump vec3 _548 = textureLod(u_screenTexture, _611.zy, 0.0).xyz; + mediump vec3 _556 = textureLod(u_screenTexture, _611.zw, 0.0).xyz; + mediump float _560 = dot(_556 * _556, vec3(0.2989999949932098388671875, 0.58700001239776611328125, 0.114000000059604644775390625)); + mediump vec4 _390 = textureLod(u_screenTexture, _290, 0.0); + mediump vec3 _564 = _390.xyz; + mediump float _568 = dot(_564 * _564, vec3(0.2989999949932098388671875, 0.58700001239776611328125, 0.114000000059604644775390625)); + mediump float _397 = dot(_548 * _548, vec3(0.2989999949932098388671875, 0.58700001239776611328125, 0.114000000059604644775390625)) + 0.00260416674427688121795654296875; + mediump float _409 = max(max(_397, _560), max(_536, _544)); + mediump float _412 = min(min(_397, _560), min(_536, _544)); + mediump float _427 = _544 - _397; + mediump float _433 = _560 - _536; + if ((max(_409, _568) - min(_412, _568)) < max(0.0500000007450580596923828125, _409 * 0.1500000059604644775390625)) + { + _608 = _390; + break; + } + mediump vec2 _449 = normalize(vec2(_427 + _433, _427 - _433)); + vec2 hp_copy_449 = _449; + mediump vec2 _454 = _612.zw; + vec2 _614 = -hp_copy_449; + mediump vec2 mp_copy_614 = _614; + mediump vec2 _481 = clamp(_449 / vec2(min(abs(_449.x), abs(_449.y)) * 3.0), vec2(-2.0), vec2(2.0)); + vec2 hp_copy_481 = _481; + mediump vec2 _484 = (_612 * 4.0).zw; + vec2 _615 = -hp_copy_481; + mediump vec2 mp_copy_615 = _615; + mediump vec4 _498 = textureLod(u_screenTexture, mp_copy_614 * _454 + _290, 0.0) + textureLod(u_screenTexture, _449 * _454 + _290, 0.0); + mediump vec4 _505 = ((textureLod(u_screenTexture, mp_copy_615 * _484 + _290, 0.0) + textureLod(u_screenTexture, _481 * _484 + _290, 0.0)) * 0.25) + (_498 * 0.25); + mediump float _576 = dot(_505.xyz * _505.xyz, vec3(0.2989999949932098388671875, 0.58700001239776611328125, 0.114000000059604644775390625)); + mediump vec4 _607; + if ((_576 < _412) || (_576 > _409)) + { + mediump vec3 _518 = _498.xyz * 0.5; + mediump vec4 _600; + _600.x = _518.x; + _600.y = _518.y; + _600.z = _518.z; + _607 = _600; + } + else + { + _607 = _505; + } + _608 = _607; + break; + } + output4f = vec4(_608.xyz, 1.0); +} + +#endif \ No newline at end of file diff --git a/desktopRuntime/resources/assets/eagler/glsl/texture_blit.fsh b/desktopRuntime/resources/assets/eagler/glsl/texture_blit.fsh new file mode 100644 index 0000000..7b3fb59 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/texture_blit.fsh @@ -0,0 +1,47 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec2 v_texCoords2f; + +#ifndef COMPILE_BLIT_DEPTH +layout(location = 0) out vec4 output4f; +#endif + +uniform sampler2D u_inputTexture; +uniform float u_textureLod1f; + +#ifdef COMPILE_PIXEL_ALIGNMENT +uniform vec4 u_pixelAlignmentSizes4f; +uniform vec2 u_pixelAlignmentOffset2f; +#endif + +void main() { + vec2 uv2f = v_texCoords2f; +#ifdef COMPILE_PIXEL_ALIGNMENT + uv2f = (floor(uv2f * u_pixelAlignmentSizes4f.xy) + u_pixelAlignmentOffset2f) * u_pixelAlignmentSizes4f.zw; +#endif +#ifndef COMPILE_BLIT_DEPTH + output4f = textureLod(u_inputTexture, uv2f, u_textureLod1f); +#else + gl_FragDepth = textureLod(u_inputTexture, uv2f, u_textureLod1f).r; +#endif +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/texture_blit.vsh b/desktopRuntime/resources/assets/eagler/glsl/texture_blit.vsh new file mode 100644 index 0000000..645e1c4 --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/texture_blit.vsh @@ -0,0 +1,34 @@ +#line 2 + +/* + * Copyright (c) 2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision lowp float; +precision lowp sampler2D; + +layout(location = 0) in vec2 a_position2f; + +out vec2 v_texCoords2f; + +uniform vec4 u_srcCoords4f; +uniform vec4 u_dstCoords4f; + +void main() { + vec2 uv = a_position2f * 0.5 + 0.5; + v_texCoords2f = u_srcCoords4f.xy + u_srcCoords4f.zw * uv; + gl_Position = vec4(u_dstCoords4f.xy + u_dstCoords4f.zw * uv, 0.0, 1.0); +} diff --git a/desktopRuntime/resources/assets/eagler/glsl/texture_mix.fsh b/desktopRuntime/resources/assets/eagler/glsl/texture_mix.fsh new file mode 100644 index 0000000..3cef92f --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/glsl/texture_mix.fsh @@ -0,0 +1,37 @@ +#line 2 + +/* + * Copyright (c) 2022-2023 lax1dude. All Rights Reserved. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +precision lowp int; +precision highp float; +precision highp sampler2D; + +in vec2 v_position2f; + +layout(location = 0) out vec4 output4f; + +uniform sampler2D u_inputTexture; +uniform float u_textureLod1f; +uniform vec4 u_blendFactor4f; +uniform vec4 u_blendBias4f; +uniform mat3 u_matrixTransform; + +void main() { + vec3 coords = u_matrixTransform * vec3(v_position2f, 1.0); + vec4 color4f = textureLod(u_inputTexture, coords.xy, u_textureLod1f); + output4f = color4f * u_blendFactor4f + u_blendBias4f; +} diff --git a/desktopRuntime/resources/assets/eagler/gui/eagler_gui.png b/desktopRuntime/resources/assets/eagler/gui/eagler_gui.png new file mode 100644 index 0000000..7042858 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/gui/eagler_gui.png differ diff --git a/desktopRuntime/resources/assets/eagler/mesh/readme.txt b/desktopRuntime/resources/assets/eagler/mesh/readme.txt new file mode 100644 index 0000000..6c8b2bd --- /dev/null +++ b/desktopRuntime/resources/assets/eagler/mesh/readme.txt @@ -0,0 +1,9 @@ +THESE ARE NOT DOOM/GMOD MODELS! + +The FNAW skins are stored in a proprietary format created by lax1dude. + +The format is a container for raw OpenGL vertex buffer and index buffer data intended to be copied directly into the GPU's memory, along with a small amount of metadata. + +Data is rendered in GL_TRIANGLES mode using glDrawElements. + +See "net/lax1dude/eaglercraft/v1_8/opengl/EaglerMeshLoader.java" and "net/lax1dude/eaglercraft/v1_8/opengl/HighPolyMesh.java" for more details. \ No newline at end of file diff --git a/desktopRuntime/resources/assets/eagler/skins/01.default_steve.png b/desktopRuntime/resources/assets/eagler/skins/01.default_steve.png new file mode 100644 index 0000000..86ec331 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/01.default_steve.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/02.default_alex.png b/desktopRuntime/resources/assets/eagler/skins/02.default_alex.png new file mode 100644 index 0000000..b643fe2 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/02.default_alex.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/03.tennis_steve.png b/desktopRuntime/resources/assets/eagler/skins/03.tennis_steve.png new file mode 100644 index 0000000..2b21235 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/03.tennis_steve.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/04.tennis_alex.png b/desktopRuntime/resources/assets/eagler/skins/04.tennis_alex.png new file mode 100644 index 0000000..3f6abf7 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/04.tennis_alex.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/05.tuxedo_steve.png b/desktopRuntime/resources/assets/eagler/skins/05.tuxedo_steve.png new file mode 100644 index 0000000..9eb5f5a Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/05.tuxedo_steve.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/06.tuxedo_alex.png b/desktopRuntime/resources/assets/eagler/skins/06.tuxedo_alex.png new file mode 100644 index 0000000..a0258ab Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/06.tuxedo_alex.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/07.athlete_steve.png b/desktopRuntime/resources/assets/eagler/skins/07.athlete_steve.png new file mode 100644 index 0000000..8dda96d Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/07.athlete_steve.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/08.athlete_alex.png b/desktopRuntime/resources/assets/eagler/skins/08.athlete_alex.png new file mode 100644 index 0000000..a67a3c8 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/08.athlete_alex.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/09.cyclist_steve.png b/desktopRuntime/resources/assets/eagler/skins/09.cyclist_steve.png new file mode 100644 index 0000000..c65409f Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/09.cyclist_steve.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/10.cyclist_alex.png b/desktopRuntime/resources/assets/eagler/skins/10.cyclist_alex.png new file mode 100644 index 0000000..20461a7 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/10.cyclist_alex.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/11.boxer_steve.png b/desktopRuntime/resources/assets/eagler/skins/11.boxer_steve.png new file mode 100644 index 0000000..6975f65 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/11.boxer_steve.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/12.boxer_alex.png b/desktopRuntime/resources/assets/eagler/skins/12.boxer_alex.png new file mode 100644 index 0000000..cb20ba3 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/12.boxer_alex.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/13.prisoner_steve.png b/desktopRuntime/resources/assets/eagler/skins/13.prisoner_steve.png new file mode 100644 index 0000000..bbc6968 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/13.prisoner_steve.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/14.prisoner_alex.png b/desktopRuntime/resources/assets/eagler/skins/14.prisoner_alex.png new file mode 100644 index 0000000..a81c05f Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/14.prisoner_alex.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/15.scottish_steve.png b/desktopRuntime/resources/assets/eagler/skins/15.scottish_steve.png new file mode 100644 index 0000000..e78c739 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/15.scottish_steve.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/16.scottish_alex.png b/desktopRuntime/resources/assets/eagler/skins/16.scottish_alex.png new file mode 100644 index 0000000..a73a931 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/16.scottish_alex.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/17.developer_steve.png b/desktopRuntime/resources/assets/eagler/skins/17.developer_steve.png new file mode 100644 index 0000000..652a7c4 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/17.developer_steve.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/18.developer_alex.png b/desktopRuntime/resources/assets/eagler/skins/18.developer_alex.png new file mode 100644 index 0000000..9db32e3 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/18.developer_alex.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/19.herobrine.png b/desktopRuntime/resources/assets/eagler/skins/19.herobrine.png new file mode 100644 index 0000000..9ce121f Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/19.herobrine.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/20.notch.png b/desktopRuntime/resources/assets/eagler/skins/20.notch.png new file mode 100644 index 0000000..374923f Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/20.notch.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/21.creeper.png b/desktopRuntime/resources/assets/eagler/skins/21.creeper.png new file mode 100644 index 0000000..a71add5 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/21.creeper.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/22.zombie.png b/desktopRuntime/resources/assets/eagler/skins/22.zombie.png new file mode 100644 index 0000000..3b6fd16 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/22.zombie.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/23.pig.png b/desktopRuntime/resources/assets/eagler/skins/23.pig.png new file mode 100644 index 0000000..ad08bb5 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/23.pig.png differ diff --git a/desktopRuntime/resources/assets/eagler/skins/24.mooshroom.png b/desktopRuntime/resources/assets/eagler/skins/24.mooshroom.png new file mode 100644 index 0000000..e32b9b0 Binary files /dev/null and b/desktopRuntime/resources/assets/eagler/skins/24.mooshroom.png differ diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/acacia_door.json b/desktopRuntime/resources/assets/minecraft/blockstates/acacia_door.json new file mode 100644 index 0000000..6ef5a57 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/acacia_door.json @@ -0,0 +1,36 @@ +{ + "variants": { + "facing=east,half=lower,hinge=left,open=false": { "model": "acacia_door_bottom" }, + "facing=south,half=lower,hinge=left,open=false": { "model": "acacia_door_bottom", "y": 90 }, + "facing=west,half=lower,hinge=left,open=false": { "model": "acacia_door_bottom", "y": 180 }, + "facing=north,half=lower,hinge=left,open=false": { "model": "acacia_door_bottom", "y": 270 }, + "facing=east,half=lower,hinge=right,open=false": { "model": "acacia_door_bottom_rh" }, + "facing=south,half=lower,hinge=right,open=false": { "model": "acacia_door_bottom_rh", "y": 90 }, + "facing=west,half=lower,hinge=right,open=false": { "model": "acacia_door_bottom_rh", "y": 180 }, + "facing=north,half=lower,hinge=right,open=false": { "model": "acacia_door_bottom_rh", "y": 270 }, + "facing=east,half=lower,hinge=left,open=true": { "model": "acacia_door_bottom_rh", "y": 90 }, + "facing=south,half=lower,hinge=left,open=true": { "model": "acacia_door_bottom_rh", "y": 180 }, + "facing=west,half=lower,hinge=left,open=true": { "model": "acacia_door_bottom_rh", "y": 270 }, + "facing=north,half=lower,hinge=left,open=true": { "model": "acacia_door_bottom_rh" }, + "facing=east,half=lower,hinge=right,open=true": { "model": "acacia_door_bottom", "y": 270 }, + "facing=south,half=lower,hinge=right,open=true": { "model": "acacia_door_bottom" }, + "facing=west,half=lower,hinge=right,open=true": { "model": "acacia_door_bottom", "y": 90 }, + "facing=north,half=lower,hinge=right,open=true": { "model": "acacia_door_bottom", "y": 180 }, + "facing=east,half=upper,hinge=left,open=false": { "model": "acacia_door_top" }, + "facing=south,half=upper,hinge=left,open=false": { "model": "acacia_door_top", "y": 90 }, + "facing=west,half=upper,hinge=left,open=false": { "model": "acacia_door_top", "y": 180 }, + "facing=north,half=upper,hinge=left,open=false": { "model": "acacia_door_top", "y": 270 }, + "facing=east,half=upper,hinge=right,open=false": { "model": "acacia_door_top_rh" }, + "facing=south,half=upper,hinge=right,open=false": { "model": "acacia_door_top_rh", "y": 90 }, + "facing=west,half=upper,hinge=right,open=false": { "model": "acacia_door_top_rh", "y": 180 }, + "facing=north,half=upper,hinge=right,open=false": { "model": "acacia_door_top_rh", "y": 270 }, + "facing=east,half=upper,hinge=left,open=true": { "model": "acacia_door_top_rh", "y": 90 }, + "facing=south,half=upper,hinge=left,open=true": { "model": "acacia_door_top_rh", "y": 180 }, + "facing=west,half=upper,hinge=left,open=true": { "model": "acacia_door_top_rh", "y": 270 }, + "facing=north,half=upper,hinge=left,open=true": { "model": "acacia_door_top_rh" }, + "facing=east,half=upper,hinge=right,open=true": { "model": "acacia_door_top", "y": 270 }, + "facing=south,half=upper,hinge=right,open=true": { "model": "acacia_door_top" }, + "facing=west,half=upper,hinge=right,open=true": { "model": "acacia_door_top", "y": 90 }, + "facing=north,half=upper,hinge=right,open=true": { "model": "acacia_door_top", "y": 180 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/acacia_double_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/acacia_double_slab.json new file mode 100644 index 0000000..8394a73 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/acacia_double_slab.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "acacia_planks" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/acacia_fence.json b/desktopRuntime/resources/assets/minecraft/blockstates/acacia_fence.json new file mode 100644 index 0000000..fe9887b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/acacia_fence.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "acacia_fence_post" }, + "east=false,north=true,south=false,west=false": { "model": "acacia_fence_n", "uvlock": true }, + "east=true,north=false,south=false,west=false": { "model": "acacia_fence_n", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,west=false": { "model": "acacia_fence_n", "y": 180, "uvlock": true }, + "east=false,north=false,south=false,west=true": { "model": "acacia_fence_n", "y": 270, "uvlock": true }, + "east=true,north=true,south=false,west=false": { "model": "acacia_fence_ne", "uvlock": true }, + "east=true,north=false,south=true,west=false": { "model": "acacia_fence_ne", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,west=true": { "model": "acacia_fence_ne", "y": 180, "uvlock": true }, + "east=false,north=true,south=false,west=true": { "model": "acacia_fence_ne", "y": 270, "uvlock": true }, + "east=false,north=true,south=true,west=false": { "model": "acacia_fence_ns", "uvlock": true }, + "east=true,north=false,south=false,west=true": { "model": "acacia_fence_ns", "y": 90, "uvlock": true }, + "east=true,north=true,south=true,west=false": { "model": "acacia_fence_nse", "uvlock": true }, + "east=true,north=false,south=true,west=true": { "model": "acacia_fence_nse", "y": 90, "uvlock": true }, + "east=false,north=true,south=true,west=true": { "model": "acacia_fence_nse", "y": 180, "uvlock": true }, + "east=true,north=true,south=false,west=true": { "model": "acacia_fence_nse", "y": 270, "uvlock": true }, + "east=true,north=true,south=true,west=true": { "model": "acacia_fence_nsew", "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/acacia_fence_gate.json b/desktopRuntime/resources/assets/minecraft/blockstates/acacia_fence_gate.json new file mode 100644 index 0000000..c18d825 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/acacia_fence_gate.json @@ -0,0 +1,20 @@ +{ + "variants": { + "facing=south,in_wall=false,open=false": { "model": "acacia_fence_gate_closed" }, + "facing=west,in_wall=false,open=false": { "model": "acacia_fence_gate_closed", "y": 90, "uvlock": true }, + "facing=north,in_wall=false,open=false": { "model": "acacia_fence_gate_closed", "y": 180, "uvlock": true }, + "facing=east,in_wall=false,open=false": { "model": "acacia_fence_gate_closed", "y": 270, "uvlock": true }, + "facing=south,in_wall=false,open=true": { "model": "acacia_fence_gate_open" }, + "facing=west,in_wall=false,open=true": { "model": "acacia_fence_gate_open", "y": 90, "uvlock": true }, + "facing=north,in_wall=false,open=true": { "model": "acacia_fence_gate_open", "y": 180, "uvlock": true }, + "facing=east,in_wall=false,open=true": { "model": "acacia_fence_gate_open", "y": 270, "uvlock": true }, + "facing=south,in_wall=true,open=false": { "model": "acacia_wall_gate_closed" }, + "facing=west,in_wall=true,open=false": { "model": "acacia_wall_gate_closed", "y": 90, "uvlock": true }, + "facing=north,in_wall=true,open=false": { "model": "acacia_wall_gate_closed", "y": 180, "uvlock": true }, + "facing=east,in_wall=true,open=false": { "model": "acacia_wall_gate_closed", "y": 270, "uvlock": true }, + "facing=south,in_wall=true,open=true": { "model": "acacia_wall_gate_open" }, + "facing=west,in_wall=true,open=true": { "model": "acacia_wall_gate_open", "y": 90, "uvlock": true }, + "facing=north,in_wall=true,open=true": { "model": "acacia_wall_gate_open", "y": 180, "uvlock": true }, + "facing=east,in_wall=true,open=true": { "model": "acacia_wall_gate_open", "y": 270, "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/acacia_leaves.json b/desktopRuntime/resources/assets/minecraft/blockstates/acacia_leaves.json new file mode 100644 index 0000000..2ea28dc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/acacia_leaves.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "acacia_leaves" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/acacia_log.json b/desktopRuntime/resources/assets/minecraft/blockstates/acacia_log.json new file mode 100644 index 0000000..bba37a7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/acacia_log.json @@ -0,0 +1,8 @@ +{ + "variants": { + "axis=y": { "model": "acacia_log" }, + "axis=z": { "model": "acacia_log_side" }, + "axis=x": { "model": "acacia_log_side", "y": 90 }, + "axis=none": { "model": "acacia_bark" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/acacia_planks.json b/desktopRuntime/resources/assets/minecraft/blockstates/acacia_planks.json new file mode 100644 index 0000000..8394a73 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/acacia_planks.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "acacia_planks" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/acacia_sapling.json b/desktopRuntime/resources/assets/minecraft/blockstates/acacia_sapling.json new file mode 100644 index 0000000..a2c961f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/acacia_sapling.json @@ -0,0 +1,6 @@ +{ + "variants": { + "stage=0": { "model": "acacia_sapling" }, + "stage=1": { "model": "acacia_sapling" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/acacia_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/acacia_slab.json new file mode 100644 index 0000000..b0640a9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/acacia_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom": { "model": "half_slab_acacia" }, + "half=top": { "model": "upper_slab_acacia" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/acacia_stairs.json b/desktopRuntime/resources/assets/minecraft/blockstates/acacia_stairs.json new file mode 100644 index 0000000..13c597f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/acacia_stairs.json @@ -0,0 +1,44 @@ +{ + "variants": { + "facing=east,half=bottom,shape=straight": { "model": "acacia_stairs" }, + "facing=west,half=bottom,shape=straight": { "model": "acacia_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=straight": { "model": "acacia_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=straight": { "model": "acacia_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_right": { "model": "acacia_outer_stairs" }, + "facing=west,half=bottom,shape=outer_right": { "model": "acacia_outer_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=outer_right": { "model": "acacia_outer_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=outer_right": { "model": "acacia_outer_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_left": { "model": "acacia_outer_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=outer_left": { "model": "acacia_outer_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=outer_left": { "model": "acacia_outer_stairs" }, + "facing=north,half=bottom,shape=outer_left": { "model": "acacia_outer_stairs", "y": 180, "uvlock": true }, + "facing=east,half=bottom,shape=inner_right": { "model": "acacia_inner_stairs" }, + "facing=west,half=bottom,shape=inner_right": { "model": "acacia_inner_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=inner_right": { "model": "acacia_inner_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=inner_right": { "model": "acacia_inner_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=inner_left": { "model": "acacia_inner_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=inner_left": { "model": "acacia_inner_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=inner_left": { "model": "acacia_inner_stairs" }, + "facing=north,half=bottom,shape=inner_left": { "model": "acacia_inner_stairs", "y": 180, "uvlock": true }, + "facing=east,half=top,shape=straight": { "model": "acacia_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=straight": { "model": "acacia_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=straight": { "model": "acacia_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=straight": { "model": "acacia_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_right": { "model": "acacia_outer_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=outer_right": { "model": "acacia_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=outer_right": { "model": "acacia_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=outer_right": { "model": "acacia_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_left": { "model": "acacia_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=outer_left": { "model": "acacia_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=outer_left": { "model": "acacia_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=outer_left": { "model": "acacia_outer_stairs", "x": 180, "uvlock": true }, + "facing=east,half=top,shape=inner_right": { "model": "acacia_inner_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=inner_right": { "model": "acacia_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=inner_right": { "model": "acacia_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=inner_right": { "model": "acacia_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=inner_left": { "model": "acacia_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=inner_left": { "model": "acacia_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=inner_left": { "model": "acacia_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=inner_left": { "model": "acacia_inner_stairs", "x": 180, "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/activator_rail.json b/desktopRuntime/resources/assets/minecraft/blockstates/activator_rail.json new file mode 100644 index 0000000..a86fd69 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/activator_rail.json @@ -0,0 +1,16 @@ +{ + "variants": { + "powered=false,shape=north_south": { "model": "activator_rail_flat" }, + "powered=false,shape=east_west": { "model": "activator_rail_flat", "y": 90 }, + "powered=false,shape=ascending_east": { "model": "activator_rail_raised_ne", "y": 90 }, + "powered=false,shape=ascending_west": { "model": "activator_rail_raised_sw", "y": 90 }, + "powered=false,shape=ascending_north": { "model": "activator_rail_raised_ne" }, + "powered=false,shape=ascending_south": { "model": "activator_rail_raised_sw" }, + "powered=true,shape=north_south": { "model": "activator_rail_active_flat" }, + "powered=true,shape=east_west": { "model": "activator_rail_active_flat", "y": 90 }, + "powered=true,shape=ascending_east": { "model": "activator_rail_active_raised_ne", "y": 90 }, + "powered=true,shape=ascending_west": { "model": "activator_rail_active_raised_sw", "y": 90 }, + "powered=true,shape=ascending_north": { "model": "activator_rail_active_raised_ne" }, + "powered=true,shape=ascending_south": { "model": "activator_rail_active_raised_sw" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/allium.json b/desktopRuntime/resources/assets/minecraft/blockstates/allium.json new file mode 100644 index 0000000..88521a6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/allium.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "allium" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/andesite.json b/desktopRuntime/resources/assets/minecraft/blockstates/andesite.json new file mode 100644 index 0000000..15b6b38 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/andesite.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "andesite" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/anvil.json b/desktopRuntime/resources/assets/minecraft/blockstates/anvil.json new file mode 100644 index 0000000..c592bac --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/anvil.json @@ -0,0 +1,16 @@ +{ + "variants": { + "damage=0,facing=south": { "model": "anvil_undamaged" }, + "damage=0,facing=west": { "model": "anvil_undamaged", "y": 90 }, + "damage=0,facing=north": { "model": "anvil_undamaged", "y": 180 }, + "damage=0,facing=east": { "model": "anvil_undamaged", "y": 270 }, + "damage=1,facing=south": { "model": "anvil_slightly_damaged" }, + "damage=1,facing=west": { "model": "anvil_slightly_damaged", "y": 90 }, + "damage=1,facing=north": { "model": "anvil_slightly_damaged", "y": 180 }, + "damage=1,facing=east": { "model": "anvil_slightly_damaged", "y": 270 }, + "damage=2,facing=south": { "model": "anvil_very_damaged" }, + "damage=2,facing=west": { "model": "anvil_very_damaged", "y": 90 }, + "damage=2,facing=north": { "model": "anvil_very_damaged", "y": 180 }, + "damage=2,facing=east": { "model": "anvil_very_damaged", "y": 270 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/beacon.json b/desktopRuntime/resources/assets/minecraft/blockstates/beacon.json new file mode 100644 index 0000000..b97af99 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/beacon.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "beacon" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/bed.json b/desktopRuntime/resources/assets/minecraft/blockstates/bed.json new file mode 100644 index 0000000..0695774 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/bed.json @@ -0,0 +1,12 @@ +{ + "variants": { + "facing=north,part=foot": { "model": "bed_foot", "y": 180 }, + "facing=east,part=foot": { "model": "bed_foot", "y": 270 }, + "facing=south,part=foot": { "model": "bed_foot" }, + "facing=west,part=foot": { "model": "bed_foot", "y": 90 }, + "facing=north,part=head": { "model": "bed_head", "y": 180 }, + "facing=east,part=head": { "model": "bed_head", "y": 270 }, + "facing=south,part=head": { "model": "bed_head" }, + "facing=west,part=head": { "model": "bed_head", "y": 90 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/bedrock.json b/desktopRuntime/resources/assets/minecraft/blockstates/bedrock.json new file mode 100644 index 0000000..4070fc5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/bedrock.json @@ -0,0 +1,10 @@ +{ + "variants": { + "normal": [ + { "model": "bedrock" }, + { "model": "bedrock_mirrored" }, + { "model": "bedrock", "y": 180 }, + { "model": "bedrock_mirrored", "y": 180 } + ] + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/beetroots.json b/desktopRuntime/resources/assets/minecraft/blockstates/beetroots.json new file mode 100644 index 0000000..01ff76f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/beetroots.json @@ -0,0 +1,12 @@ +{ + "variants": { + "age=0": { "model": "beetroots_stage0" }, + "age=1": { "model": "beetroots_stage0" }, + "age=2": { "model": "beetroots_stage1" }, + "age=3": { "model": "beetroots_stage1" }, + "age=4": { "model": "beetroots_stage2" }, + "age=5": { "model": "beetroots_stage2" }, + "age=6": { "model": "beetroots_stage2" }, + "age=7": { "model": "beetroots_stage3" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/birch_door.json b/desktopRuntime/resources/assets/minecraft/blockstates/birch_door.json new file mode 100644 index 0000000..58de25c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/birch_door.json @@ -0,0 +1,36 @@ +{ + "variants": { + "facing=east,half=lower,hinge=left,open=false": { "model": "birch_door_bottom" }, + "facing=south,half=lower,hinge=left,open=false": { "model": "birch_door_bottom", "y": 90 }, + "facing=west,half=lower,hinge=left,open=false": { "model": "birch_door_bottom", "y": 180 }, + "facing=north,half=lower,hinge=left,open=false": { "model": "birch_door_bottom", "y": 270 }, + "facing=east,half=lower,hinge=right,open=false": { "model": "birch_door_bottom_rh" }, + "facing=south,half=lower,hinge=right,open=false": { "model": "birch_door_bottom_rh", "y": 90 }, + "facing=west,half=lower,hinge=right,open=false": { "model": "birch_door_bottom_rh", "y": 180 }, + "facing=north,half=lower,hinge=right,open=false": { "model": "birch_door_bottom_rh", "y": 270 }, + "facing=east,half=lower,hinge=left,open=true": { "model": "birch_door_bottom_rh", "y": 90 }, + "facing=south,half=lower,hinge=left,open=true": { "model": "birch_door_bottom_rh", "y": 180 }, + "facing=west,half=lower,hinge=left,open=true": { "model": "birch_door_bottom_rh", "y": 270 }, + "facing=north,half=lower,hinge=left,open=true": { "model": "birch_door_bottom_rh" }, + "facing=east,half=lower,hinge=right,open=true": { "model": "birch_door_bottom", "y": 270 }, + "facing=south,half=lower,hinge=right,open=true": { "model": "birch_door_bottom" }, + "facing=west,half=lower,hinge=right,open=true": { "model": "birch_door_bottom", "y": 90 }, + "facing=north,half=lower,hinge=right,open=true": { "model": "birch_door_bottom", "y": 180 }, + "facing=east,half=upper,hinge=left,open=false": { "model": "birch_door_top" }, + "facing=south,half=upper,hinge=left,open=false": { "model": "birch_door_top", "y": 90 }, + "facing=west,half=upper,hinge=left,open=false": { "model": "birch_door_top", "y": 180 }, + "facing=north,half=upper,hinge=left,open=false": { "model": "birch_door_top", "y": 270 }, + "facing=east,half=upper,hinge=right,open=false": { "model": "birch_door_top_rh" }, + "facing=south,half=upper,hinge=right,open=false": { "model": "birch_door_top_rh", "y": 90 }, + "facing=west,half=upper,hinge=right,open=false": { "model": "birch_door_top_rh", "y": 180 }, + "facing=north,half=upper,hinge=right,open=false": { "model": "birch_door_top_rh", "y": 270 }, + "facing=east,half=upper,hinge=left,open=true": { "model": "birch_door_top_rh", "y": 90 }, + "facing=south,half=upper,hinge=left,open=true": { "model": "birch_door_top_rh", "y": 180 }, + "facing=west,half=upper,hinge=left,open=true": { "model": "birch_door_top_rh", "y": 270 }, + "facing=north,half=upper,hinge=left,open=true": { "model": "birch_door_top_rh" }, + "facing=east,half=upper,hinge=right,open=true": { "model": "birch_door_top", "y": 270 }, + "facing=south,half=upper,hinge=right,open=true": { "model": "birch_door_top" }, + "facing=west,half=upper,hinge=right,open=true": { "model": "birch_door_top", "y": 90 }, + "facing=north,half=upper,hinge=right,open=true": { "model": "birch_door_top", "y": 180 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/birch_double_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/birch_double_slab.json new file mode 100644 index 0000000..7c7d4f2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/birch_double_slab.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "birch_planks" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/birch_fence.json b/desktopRuntime/resources/assets/minecraft/blockstates/birch_fence.json new file mode 100644 index 0000000..d21d31c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/birch_fence.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "birch_fence_post" }, + "east=false,north=true,south=false,west=false": { "model": "birch_fence_n", "uvlock": true }, + "east=true,north=false,south=false,west=false": { "model": "birch_fence_n", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,west=false": { "model": "birch_fence_n", "y": 180, "uvlock": true }, + "east=false,north=false,south=false,west=true": { "model": "birch_fence_n", "y": 270, "uvlock": true }, + "east=true,north=true,south=false,west=false": { "model": "birch_fence_ne", "uvlock": true }, + "east=true,north=false,south=true,west=false": { "model": "birch_fence_ne", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,west=true": { "model": "birch_fence_ne", "y": 180, "uvlock": true }, + "east=false,north=true,south=false,west=true": { "model": "birch_fence_ne", "y": 270, "uvlock": true }, + "east=false,north=true,south=true,west=false": { "model": "birch_fence_ns", "uvlock": true }, + "east=true,north=false,south=false,west=true": { "model": "birch_fence_ns", "y": 90, "uvlock": true }, + "east=true,north=true,south=true,west=false": { "model": "birch_fence_nse", "uvlock": true }, + "east=true,north=false,south=true,west=true": { "model": "birch_fence_nse", "y": 90, "uvlock": true }, + "east=false,north=true,south=true,west=true": { "model": "birch_fence_nse", "y": 180, "uvlock": true }, + "east=true,north=true,south=false,west=true": { "model": "birch_fence_nse", "y": 270, "uvlock": true }, + "east=true,north=true,south=true,west=true": { "model": "birch_fence_nsew", "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/birch_fence_gate.json b/desktopRuntime/resources/assets/minecraft/blockstates/birch_fence_gate.json new file mode 100644 index 0000000..21f5f49 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/birch_fence_gate.json @@ -0,0 +1,20 @@ +{ + "variants": { + "facing=south,in_wall=false,open=false": { "model": "birch_fence_gate_closed" }, + "facing=west,in_wall=false,open=false": { "model": "birch_fence_gate_closed", "y": 90, "uvlock": true }, + "facing=north,in_wall=false,open=false": { "model": "birch_fence_gate_closed", "y": 180, "uvlock": true }, + "facing=east,in_wall=false,open=false": { "model": "birch_fence_gate_closed", "y": 270, "uvlock": true }, + "facing=south,in_wall=false,open=true": { "model": "birch_fence_gate_open" }, + "facing=west,in_wall=false,open=true": { "model": "birch_fence_gate_open", "y": 90, "uvlock": true }, + "facing=north,in_wall=false,open=true": { "model": "birch_fence_gate_open", "y": 180, "uvlock": true }, + "facing=east,in_wall=false,open=true": { "model": "birch_fence_gate_open", "y": 270, "uvlock": true }, + "facing=south,in_wall=true,open=false": { "model": "birch_wall_gate_closed" }, + "facing=west,in_wall=true,open=false": { "model": "birch_wall_gate_closed", "y": 90, "uvlock": true }, + "facing=north,in_wall=true,open=false": { "model": "birch_wall_gate_closed", "y": 180, "uvlock": true }, + "facing=east,in_wall=true,open=false": { "model": "birch_wall_gate_closed", "y": 270, "uvlock": true }, + "facing=south,in_wall=true,open=true": { "model": "birch_wall_gate_open" }, + "facing=west,in_wall=true,open=true": { "model": "birch_wall_gate_open", "y": 90, "uvlock": true }, + "facing=north,in_wall=true,open=true": { "model": "birch_wall_gate_open", "y": 180, "uvlock": true }, + "facing=east,in_wall=true,open=true": { "model": "birch_wall_gate_open", "y": 270, "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/birch_leaves.json b/desktopRuntime/resources/assets/minecraft/blockstates/birch_leaves.json new file mode 100644 index 0000000..c3fcb28 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/birch_leaves.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "birch_leaves" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/birch_log.json b/desktopRuntime/resources/assets/minecraft/blockstates/birch_log.json new file mode 100644 index 0000000..8ebb352 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/birch_log.json @@ -0,0 +1,8 @@ +{ + "variants": { + "axis=y": { "model": "birch_log" }, + "axis=z": { "model": "birch_log_side" }, + "axis=x": { "model": "birch_log_side", "y": 90 }, + "axis=none": { "model": "birch_bark" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/birch_planks.json b/desktopRuntime/resources/assets/minecraft/blockstates/birch_planks.json new file mode 100644 index 0000000..7c7d4f2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/birch_planks.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "birch_planks" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/birch_sapling.json b/desktopRuntime/resources/assets/minecraft/blockstates/birch_sapling.json new file mode 100644 index 0000000..3a65405 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/birch_sapling.json @@ -0,0 +1,6 @@ +{ + "variants": { + "stage=0": { "model": "birch_sapling" }, + "stage=1": { "model": "birch_sapling" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/birch_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/birch_slab.json new file mode 100644 index 0000000..967ddcb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/birch_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom": { "model": "half_slab_birch" }, + "half=top": { "model": "upper_slab_birch" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/birch_stairs.json b/desktopRuntime/resources/assets/minecraft/blockstates/birch_stairs.json new file mode 100644 index 0000000..68bbf3e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/birch_stairs.json @@ -0,0 +1,44 @@ +{ + "variants": { + "facing=east,half=bottom,shape=straight": { "model": "birch_stairs" }, + "facing=west,half=bottom,shape=straight": { "model": "birch_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=straight": { "model": "birch_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=straight": { "model": "birch_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_right": { "model": "birch_outer_stairs" }, + "facing=west,half=bottom,shape=outer_right": { "model": "birch_outer_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=outer_right": { "model": "birch_outer_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=outer_right": { "model": "birch_outer_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_left": { "model": "birch_outer_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=outer_left": { "model": "birch_outer_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=outer_left": { "model": "birch_outer_stairs" }, + "facing=north,half=bottom,shape=outer_left": { "model": "birch_outer_stairs", "y": 180, "uvlock": true }, + "facing=east,half=bottom,shape=inner_right": { "model": "birch_inner_stairs" }, + "facing=west,half=bottom,shape=inner_right": { "model": "birch_inner_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=inner_right": { "model": "birch_inner_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=inner_right": { "model": "birch_inner_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=inner_left": { "model": "birch_inner_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=inner_left": { "model": "birch_inner_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=inner_left": { "model": "birch_inner_stairs" }, + "facing=north,half=bottom,shape=inner_left": { "model": "birch_inner_stairs", "y": 180, "uvlock": true }, + "facing=east,half=top,shape=straight": { "model": "birch_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=straight": { "model": "birch_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=straight": { "model": "birch_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=straight": { "model": "birch_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_right": { "model": "birch_outer_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=outer_right": { "model": "birch_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=outer_right": { "model": "birch_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=outer_right": { "model": "birch_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_left": { "model": "birch_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=outer_left": { "model": "birch_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=outer_left": { "model": "birch_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=outer_left": { "model": "birch_outer_stairs", "x": 180, "uvlock": true }, + "facing=east,half=top,shape=inner_right": { "model": "birch_inner_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=inner_right": { "model": "birch_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=inner_right": { "model": "birch_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=inner_right": { "model": "birch_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=inner_left": { "model": "birch_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=inner_left": { "model": "birch_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=inner_left": { "model": "birch_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=inner_left": { "model": "birch_inner_stairs", "x": 180, "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/black_carpet.json b/desktopRuntime/resources/assets/minecraft/blockstates/black_carpet.json new file mode 100644 index 0000000..61e62f1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/black_carpet.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "carpet_black" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/black_stained_glass.json b/desktopRuntime/resources/assets/minecraft/blockstates/black_stained_glass.json new file mode 100644 index 0000000..6ffc12a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/black_stained_glass.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "glass_black" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/black_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/blockstates/black_stained_glass_pane.json new file mode 100644 index 0000000..c337d9b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/black_stained_glass_pane.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "black_pane_nsew" }, + "east=false,north=true,south=false,west=false": { "model": "black_pane_n" }, + "east=true,north=false,south=false,west=false": { "model": "black_pane_n", "y": 90 }, + "east=false,north=false,south=true,west=false": { "model": "black_pane_s" }, + "east=false,north=false,south=false,west=true": { "model": "black_pane_s", "y": 90 }, + "east=true,north=true,south=false,west=false": { "model": "black_pane_ne" }, + "east=true,north=false,south=true,west=false": { "model": "black_pane_se" }, + "east=false,north=false,south=true,west=true": { "model": "black_pane_sw" }, + "east=false,north=true,south=false,west=true": { "model": "black_pane_nw" }, + "east=false,north=true,south=true,west=false": { "model": "black_pane_ns" }, + "east=true,north=false,south=false,west=true": { "model": "black_pane_ns", "y": 90 }, + "east=true,north=true,south=true,west=false": { "model": "black_pane_nse" }, + "east=true,north=false,south=true,west=true": { "model": "black_pane_sew" }, + "east=false,north=true,south=true,west=true": { "model": "black_pane_nsw" }, + "east=true,north=true,south=false,west=true": { "model": "black_pane_new" }, + "east=true,north=true,south=true,west=true": { "model": "black_pane_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/black_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/blockstates/black_stained_hardened_clay.json new file mode 100644 index 0000000..4bde9c2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/black_stained_hardened_clay.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hardened_clay_black" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/black_wool.json b/desktopRuntime/resources/assets/minecraft/blockstates/black_wool.json new file mode 100644 index 0000000..728ba54 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/black_wool.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "black_wool" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/blue_carpet.json b/desktopRuntime/resources/assets/minecraft/blockstates/blue_carpet.json new file mode 100644 index 0000000..d93906b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/blue_carpet.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "carpet_blue" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/blue_orchid.json b/desktopRuntime/resources/assets/minecraft/blockstates/blue_orchid.json new file mode 100644 index 0000000..a2e9806 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/blue_orchid.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "orchid" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/blue_stained_glass.json b/desktopRuntime/resources/assets/minecraft/blockstates/blue_stained_glass.json new file mode 100644 index 0000000..ad618dd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/blue_stained_glass.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "glass_blue" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/blue_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/blockstates/blue_stained_glass_pane.json new file mode 100644 index 0000000..2613bd5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/blue_stained_glass_pane.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "blue_pane_nsew" }, + "east=false,north=true,south=false,west=false": { "model": "blue_pane_n" }, + "east=true,north=false,south=false,west=false": { "model": "blue_pane_n", "y": 90 }, + "east=false,north=false,south=true,west=false": { "model": "blue_pane_s" }, + "east=false,north=false,south=false,west=true": { "model": "blue_pane_s", "y": 90 }, + "east=true,north=true,south=false,west=false": { "model": "blue_pane_ne" }, + "east=true,north=false,south=true,west=false": { "model": "blue_pane_se" }, + "east=false,north=false,south=true,west=true": { "model": "blue_pane_sw" }, + "east=false,north=true,south=false,west=true": { "model": "blue_pane_nw" }, + "east=false,north=true,south=true,west=false": { "model": "blue_pane_ns" }, + "east=true,north=false,south=false,west=true": { "model": "blue_pane_ns", "y": 90 }, + "east=true,north=true,south=true,west=false": { "model": "blue_pane_nse" }, + "east=true,north=false,south=true,west=true": { "model": "blue_pane_sew" }, + "east=false,north=true,south=true,west=true": { "model": "blue_pane_nsw" }, + "east=true,north=true,south=false,west=true": { "model": "blue_pane_new" }, + "east=true,north=true,south=true,west=true": { "model": "blue_pane_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/blue_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/blockstates/blue_stained_hardened_clay.json new file mode 100644 index 0000000..aadb0f6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/blue_stained_hardened_clay.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hardened_clay_blue" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/blue_wool.json b/desktopRuntime/resources/assets/minecraft/blockstates/blue_wool.json new file mode 100644 index 0000000..3cfcf7f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/blue_wool.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "blue_wool" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/bookshelf.json b/desktopRuntime/resources/assets/minecraft/blockstates/bookshelf.json new file mode 100644 index 0000000..175c626 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/bookshelf.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "bookshelf" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/brewing_stand.json b/desktopRuntime/resources/assets/minecraft/blockstates/brewing_stand.json new file mode 100644 index 0000000..0f1c7eb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/brewing_stand.json @@ -0,0 +1,12 @@ +{ + "variants": { + "has_bottle_0=false,has_bottle_1=false,has_bottle_2=false": { "model": "brewing_stand_empty" }, + "has_bottle_0=true,has_bottle_1=false,has_bottle_2=false": { "model": "brewing_stand_bottles_1" }, + "has_bottle_0=false,has_bottle_1=true,has_bottle_2=false": { "model": "brewing_stand_bottles_2" }, + "has_bottle_0=false,has_bottle_1=false,has_bottle_2=true": { "model": "brewing_stand_bottles_3" }, + "has_bottle_0=true,has_bottle_1=true,has_bottle_2=false": { "model": "brewing_stand_bottles_12" }, + "has_bottle_0=true,has_bottle_1=false,has_bottle_2=true": { "model": "brewing_stand_bottles_13" }, + "has_bottle_0=false,has_bottle_1=true,has_bottle_2=true": { "model": "brewing_stand_bottles_23" }, + "has_bottle_0=true,has_bottle_1=true,has_bottle_2=true": { "model": "brewing_stand_bottles_123" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/brick_block.json b/desktopRuntime/resources/assets/minecraft/blockstates/brick_block.json new file mode 100644 index 0000000..8afbf8f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/brick_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "brick" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/brick_double_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/brick_double_slab.json new file mode 100644 index 0000000..ceb2e14 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/brick_double_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "normal": { "model": "brick" }, + "all": { "model": "brick" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/brick_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/brick_slab.json new file mode 100644 index 0000000..7bdc95e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/brick_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom": { "model": "half_slab_brick" }, + "half=top": { "model": "upper_slab_brick" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/brick_stairs.json b/desktopRuntime/resources/assets/minecraft/blockstates/brick_stairs.json new file mode 100644 index 0000000..1b39369 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/brick_stairs.json @@ -0,0 +1,44 @@ +{ + "variants": { + "facing=east,half=bottom,shape=straight": { "model": "brick_stairs" }, + "facing=west,half=bottom,shape=straight": { "model": "brick_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=straight": { "model": "brick_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=straight": { "model": "brick_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_right": { "model": "brick_outer_stairs" }, + "facing=west,half=bottom,shape=outer_right": { "model": "brick_outer_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=outer_right": { "model": "brick_outer_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=outer_right": { "model": "brick_outer_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_left": { "model": "brick_outer_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=outer_left": { "model": "brick_outer_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=outer_left": { "model": "brick_outer_stairs" }, + "facing=north,half=bottom,shape=outer_left": { "model": "brick_outer_stairs", "y": 180, "uvlock": true }, + "facing=east,half=bottom,shape=inner_right": { "model": "brick_inner_stairs" }, + "facing=west,half=bottom,shape=inner_right": { "model": "brick_inner_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=inner_right": { "model": "brick_inner_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=inner_right": { "model": "brick_inner_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=inner_left": { "model": "brick_inner_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=inner_left": { "model": "brick_inner_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=inner_left": { "model": "brick_inner_stairs" }, + "facing=north,half=bottom,shape=inner_left": { "model": "brick_inner_stairs", "y": 180, "uvlock": true }, + "facing=east,half=top,shape=straight": { "model": "brick_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=straight": { "model": "brick_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=straight": { "model": "brick_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=straight": { "model": "brick_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_right": { "model": "brick_outer_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=outer_right": { "model": "brick_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=outer_right": { "model": "brick_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=outer_right": { "model": "brick_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_left": { "model": "brick_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=outer_left": { "model": "brick_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=outer_left": { "model": "brick_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=outer_left": { "model": "brick_outer_stairs", "x": 180, "uvlock": true }, + "facing=east,half=top,shape=inner_right": { "model": "brick_inner_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=inner_right": { "model": "brick_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=inner_right": { "model": "brick_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=inner_right": { "model": "brick_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=inner_left": { "model": "brick_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=inner_left": { "model": "brick_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=inner_left": { "model": "brick_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=inner_left": { "model": "brick_inner_stairs", "x": 180, "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/brown_carpet.json b/desktopRuntime/resources/assets/minecraft/blockstates/brown_carpet.json new file mode 100644 index 0000000..e5fd2d7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/brown_carpet.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "carpet_brown" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/brown_mushroom.json b/desktopRuntime/resources/assets/minecraft/blockstates/brown_mushroom.json new file mode 100644 index 0000000..ef1d42f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/brown_mushroom.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "brown_mushroom" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/brown_mushroom_block.json b/desktopRuntime/resources/assets/minecraft/blockstates/brown_mushroom_block.json new file mode 100644 index 0000000..7b1cb8c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/brown_mushroom_block.json @@ -0,0 +1,17 @@ +{ + "variants": { + "variant=north_west": { "model": "brown_mushroom_block_nw" }, + "variant=north": { "model": "brown_mushroom_block_n" }, + "variant=north_east": { "model": "brown_mushroom_block_ne" }, + "variant=west": { "model": "brown_mushroom_block_w" }, + "variant=center": { "model": "brown_mushroom_block_c" }, + "variant=east": { "model": "brown_mushroom_block_e" }, + "variant=south_west": { "model": "brown_mushroom_block_sw" }, + "variant=south": { "model": "brown_mushroom_block_s" }, + "variant=south_east": { "model": "brown_mushroom_block_se" }, + "variant=stem": { "model": "brown_mushroom_block_stem" }, + "variant=all_stem": { "model": "brown_mushroom_block_stem_all" }, + "variant=all_outside": { "model": "brown_mushroom_block_cap_all" }, + "variant=all_inside": { "model": "brown_mushroom_block_inside_all" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/brown_stained_glass.json b/desktopRuntime/resources/assets/minecraft/blockstates/brown_stained_glass.json new file mode 100644 index 0000000..81d4846 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/brown_stained_glass.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "glass_brown" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/brown_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/blockstates/brown_stained_glass_pane.json new file mode 100644 index 0000000..575852e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/brown_stained_glass_pane.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "brown_pane_nsew" }, + "east=false,north=true,south=false,west=false": { "model": "brown_pane_n" }, + "east=true,north=false,south=false,west=false": { "model": "brown_pane_n", "y": 90 }, + "east=false,north=false,south=true,west=false": { "model": "brown_pane_s" }, + "east=false,north=false,south=false,west=true": { "model": "brown_pane_s", "y": 90 }, + "east=true,north=true,south=false,west=false": { "model": "brown_pane_ne" }, + "east=true,north=false,south=true,west=false": { "model": "brown_pane_se" }, + "east=false,north=false,south=true,west=true": { "model": "brown_pane_sw" }, + "east=false,north=true,south=false,west=true": { "model": "brown_pane_nw" }, + "east=false,north=true,south=true,west=false": { "model": "brown_pane_ns" }, + "east=true,north=false,south=false,west=true": { "model": "brown_pane_ns", "y": 90 }, + "east=true,north=true,south=true,west=false": { "model": "brown_pane_nse" }, + "east=true,north=false,south=true,west=true": { "model": "brown_pane_sew" }, + "east=false,north=true,south=true,west=true": { "model": "brown_pane_nsw" }, + "east=true,north=true,south=false,west=true": { "model": "brown_pane_new" }, + "east=true,north=true,south=true,west=true": { "model": "brown_pane_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/brown_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/blockstates/brown_stained_hardened_clay.json new file mode 100644 index 0000000..31e344e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/brown_stained_hardened_clay.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hardened_clay_brown" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/brown_wool.json b/desktopRuntime/resources/assets/minecraft/blockstates/brown_wool.json new file mode 100644 index 0000000..112805f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/brown_wool.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "brown_wool" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/cactus.json b/desktopRuntime/resources/assets/minecraft/blockstates/cactus.json new file mode 100644 index 0000000..3212cd1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/cactus.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "cactus" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/cake.json b/desktopRuntime/resources/assets/minecraft/blockstates/cake.json new file mode 100644 index 0000000..c0c4af2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/cake.json @@ -0,0 +1,11 @@ +{ + "variants": { + "bites=0": { "model": "cake_uneaten" }, + "bites=1": { "model": "cake_slice1" }, + "bites=2": { "model": "cake_slice2" }, + "bites=3": { "model": "cake_slice3" }, + "bites=4": { "model": "cake_slice4" }, + "bites=5": { "model": "cake_slice5" }, + "bites=6": { "model": "cake_slice6" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/carrots.json b/desktopRuntime/resources/assets/minecraft/blockstates/carrots.json new file mode 100644 index 0000000..96a5347 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/carrots.json @@ -0,0 +1,12 @@ +{ + "variants": { + "age=0": { "model": "carrots_stage0" }, + "age=1": { "model": "carrots_stage0" }, + "age=2": { "model": "carrots_stage1" }, + "age=3": { "model": "carrots_stage1" }, + "age=4": { "model": "carrots_stage2" }, + "age=5": { "model": "carrots_stage2" }, + "age=6": { "model": "carrots_stage2" }, + "age=7": { "model": "carrots_stage3" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/cauldron.json b/desktopRuntime/resources/assets/minecraft/blockstates/cauldron.json new file mode 100644 index 0000000..885af8f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/cauldron.json @@ -0,0 +1,8 @@ +{ + "variants": { + "level=0": { "model": "cauldron_empty" }, + "level=1": { "model": "cauldron_level1" }, + "level=2": { "model": "cauldron_level2" }, + "level=3": { "model": "cauldron_level3" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/chain_command_block.json b/desktopRuntime/resources/assets/minecraft/blockstates/chain_command_block.json new file mode 100644 index 0000000..3561265 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/chain_command_block.json @@ -0,0 +1,16 @@ +{ + "variants": { + "conditional=false,facing=down": { "model": "chain_command_block", "x": 90 }, + "conditional=false,facing=up": { "model": "chain_command_block", "x": 270 }, + "conditional=false,facing=north": { "model": "chain_command_block" }, + "conditional=false,facing=south": { "model": "chain_command_block", "y": 180 }, + "conditional=false,facing=west": { "model": "chain_command_block", "y": 270 }, + "conditional=false,facing=east": { "model": "chain_command_block", "y": 90 }, + "conditional=true,facing=down": { "model": "chain_command_block_conditional", "x": 90 }, + "conditional=true,facing=up": { "model": "chain_command_block_conditional", "x": 270 }, + "conditional=true,facing=north": { "model": "chain_command_block_conditional" }, + "conditional=true,facing=south": { "model": "chain_command_block_conditional", "y": 180 }, + "conditional=true,facing=west": { "model": "chain_command_block_conditional", "y": 270 }, + "conditional=true,facing=east": { "model": "chain_command_block_conditional", "y": 90 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/chiseled_brick_monster_egg.json b/desktopRuntime/resources/assets/minecraft/blockstates/chiseled_brick_monster_egg.json new file mode 100644 index 0000000..ea2566b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/chiseled_brick_monster_egg.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "stonebrick_chiseled" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/chiseled_quartz_block.json b/desktopRuntime/resources/assets/minecraft/blockstates/chiseled_quartz_block.json new file mode 100644 index 0000000..46748b1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/chiseled_quartz_block.json @@ -0,0 +1,6 @@ +{ + "variants": { + "normal": { "model": "quartz_chiseled" } + } +} + diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/chiseled_red_sandstone.json b/desktopRuntime/resources/assets/minecraft/blockstates/chiseled_red_sandstone.json new file mode 100644 index 0000000..f947ad8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/chiseled_red_sandstone.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "red_sandstone_chiseled" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/chiseled_sandstone.json b/desktopRuntime/resources/assets/minecraft/blockstates/chiseled_sandstone.json new file mode 100644 index 0000000..96fbad3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/chiseled_sandstone.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "sandstone_chiseled" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/chiseled_stonebrick.json b/desktopRuntime/resources/assets/minecraft/blockstates/chiseled_stonebrick.json new file mode 100644 index 0000000..ea2566b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/chiseled_stonebrick.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "stonebrick_chiseled" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/chorus_flower.json b/desktopRuntime/resources/assets/minecraft/blockstates/chorus_flower.json new file mode 100644 index 0000000..12ae41c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/chorus_flower.json @@ -0,0 +1,10 @@ +{ + "variants": { + "age=0": { "model": "chorus_flower" }, + "age=1": { "model": "chorus_flower" }, + "age=2": { "model": "chorus_flower" }, + "age=3": { "model": "chorus_flower" }, + "age=4": { "model": "chorus_flower" }, + "age=5": { "model": "chorus_flower_dead" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/chorus_plant.json b/desktopRuntime/resources/assets/minecraft/blockstates/chorus_plant.json new file mode 100644 index 0000000..29510ab --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/chorus_plant.json @@ -0,0 +1,69 @@ +{ + "variants": { + "down=false,east=false,north=false,south=false,up=false,west=false": { "model": "fuckchorus/chorus_plant_af" }, + "down=false,east=false,north=true,south=false,up=false,west=false": { "model": "fuckchorus/chorus_plant_1cn" }, + "down=false,east=true,north=false,south=false,up=false,west=false": { "model": "fuckchorus/chorus_plant_1cn", "y": 90, "uvlock": true }, + "down=false,east=false,north=false,south=true,up=false,west=false": { "model": "fuckchorus/chorus_plant_1cn", "y": 180, "uvlock": true }, + "down=false,east=false,north=false,south=false,up=false,west=true": { "model": "fuckchorus/chorus_plant_1cn", "y": 270, "uvlock": true }, + "down=false,east=true,north=true,south=false,up=false,west=false": { "model": "fuckchorus/chorus_plant_2cne" }, + "down=false,east=true,north=false,south=true,up=false,west=false": { "model": "fuckchorus/chorus_plant_2cne", "y": 90, "uvlock": true }, + "down=false,east=false,north=false,south=true,up=false,west=true": { "model": "fuckchorus/chorus_plant_2cne", "y": 180, "uvlock": true }, + "down=false,east=false,north=true,south=false,up=false,west=true": { "model": "fuckchorus/chorus_plant_2cne", "y": 270, "uvlock": true }, + "down=false,east=false,north=true,south=true,up=false,west=false": { "model": "fuckchorus/chorus_plant_2cns" }, + "down=false,east=true,north=false,south=false,up=false,west=true": { "model": "fuckchorus/chorus_plant_2cns", "y": 90, "uvlock": true }, + "down=false,east=true,north=true,south=true,up=false,west=false": { "model": "fuckchorus/chorus_plant_3nse" }, + "down=false,east=true,north=false,south=true,up=false,west=true": { "model": "fuckchorus/chorus_plant_3nse", "y": 90, "uvlock": true }, + "down=false,east=false,north=true,south=true,up=false,west=true": { "model": "fuckchorus/chorus_plant_3nse", "y": 180, "uvlock": true }, + "down=false,east=true,north=true,south=false,up=false,west=true": { "model": "fuckchorus/chorus_plant_3nse", "y": 270, "uvlock": true }, + "down=false,east=true,north=true,south=true,up=false,west=true": { "model": "fuckchorus/chorus_plant_4cnswe" }, + "down=false,east=false,north=false,south=false,up=true,west=false": { "model": "fuckchorus/chorus_plant_tu" }, + "down=false,east=false,north=true,south=false,up=true,west=false": { "model": "fuckchorus/chorus_plant_tu_1cn" }, + "down=false,east=true,north=false,south=false,up=true,west=false": { "model": "fuckchorus/chorus_plant_tu_1cn", "y": 90, "uvlock": true }, + "down=false,east=false,north=false,south=true,up=true,west=false": { "model": "fuckchorus/chorus_plant_tu_1cn", "y": 180, "uvlock": true }, + "down=false,east=false,north=false,south=false,up=true,west=true": { "model": "fuckchorus/chorus_plant_tu_1cn", "y": 270, "uvlock": true }, + "down=false,east=true,north=true,south=false,up=true,west=false": { "model": "fuckchorus/chorus_plant_tu_2cne" }, + "down=false,east=true,north=false,south=true,up=true,west=false": { "model": "fuckchorus/chorus_plant_tu_2cne", "y": 90, "uvlock": true }, + "down=false,east=false,north=false,south=true,up=true,west=true": { "model": "fuckchorus/chorus_plant_tu_2cne", "y": 180, "uvlock": true }, + "down=false,east=false,north=true,south=false,up=true,west=true": { "model": "fuckchorus/chorus_plant_tu_2cne", "y": 270, "uvlock": true }, + "down=false,east=false,north=true,south=true,up=true,west=false": { "model": "fuckchorus/chorus_plant_tu_2cns" }, + "down=false,east=true,north=false,south=false,up=true,west=true": { "model": "fuckchorus/chorus_plant_tu_2cns", "y": 90, "uvlock": true }, + "down=false,east=true,north=true,south=true,up=true,west=false": { "model": "fuckchorus/chorus_plant_tu_3nse" }, + "down=false,east=true,north=false,south=true,up=true,west=true": { "model": "fuckchorus/chorus_plant_tu_3nse", "y": 90, "uvlock": true }, + "down=false,east=false,north=true,south=true,up=true,west=true": { "model": "fuckchorus/chorus_plant_tu_3nse", "y": 180, "uvlock": true }, + "down=false,east=true,north=true,south=false,up=true,west=true": { "model": "fuckchorus/chorus_plant_tu_3nse", "y": 270, "uvlock": true }, + "down=false,east=true,north=true,south=true,up=true,west=true": { "model": "fuckchorus/chorus_plant_tu_4cnswe" }, + + "down=true,east=false,north=false,south=false,up=false,west=false": { "model": "fuckchorus/chorus_plant_td" }, + "down=true,east=false,north=true,south=false,up=false,west=false": { "model": "fuckchorus/chorus_plant_td_1cn" }, + "down=true,east=true,north=false,south=false,up=false,west=false": { "model": "fuckchorus/chorus_plant_td_1cn", "y": 90, "uvlock": true }, + "down=true,east=false,north=false,south=true,up=false,west=false": { "model": "fuckchorus/chorus_plant_td_1cn", "y": 180, "uvlock": true }, + "down=true,east=false,north=false,south=false,up=false,west=true": { "model": "fuckchorus/chorus_plant_td_1cn", "y": 270, "uvlock": true }, + "down=true,east=true,north=true,south=false,up=false,west=false": { "model": "fuckchorus/chorus_plant_td_2cne" }, + "down=true,east=true,north=false,south=true,up=false,west=false": { "model": "fuckchorus/chorus_plant_td_2cne", "y": 90, "uvlock": true }, + "down=true,east=false,north=false,south=true,up=false,west=true": { "model": "fuckchorus/chorus_plant_td_2cne", "y": 180, "uvlock": true }, + "down=true,east=false,north=true,south=false,up=false,west=true": { "model": "fuckchorus/chorus_plant_td_2cne", "y": 270, "uvlock": true }, + "down=true,east=false,north=true,south=true,up=false,west=false": { "model": "fuckchorus/chorus_plant_td_2cns" }, + "down=true,east=true,north=false,south=false,up=false,west=true": { "model": "fuckchorus/chorus_plant_td_2cns", "y": 90, "uvlock": true }, + "down=true,east=true,north=true,south=true,up=false,west=false": { "model": "fuckchorus/chorus_plant_td_3nse" }, + "down=true,east=true,north=false,south=true,up=false,west=true": { "model": "fuckchorus/chorus_plant_td_3nse", "y": 90, "uvlock": true }, + "down=true,east=false,north=true,south=true,up=false,west=true": { "model": "fuckchorus/chorus_plant_td_3nse", "y": 180, "uvlock": true }, + "down=true,east=true,north=true,south=false,up=false,west=true": { "model": "fuckchorus/chorus_plant_td_3nse", "y": 270, "uvlock": true }, + "down=true,east=true,north=true,south=true,up=false,west=true": { "model": "fuckchorus/chorus_plant_td_4cnswe" }, + "down=true,east=false,north=false,south=false,up=true,west=false": { "model": "fuckchorus/chorus_plant_tdu" }, + "down=true,east=false,north=true,south=false,up=true,west=false": { "model": "fuckchorus/chorus_plant_tdu_1cn" }, + "down=true,east=true,north=false,south=false,up=true,west=false": { "model": "fuckchorus/chorus_plant_tdu_1cn", "y": 90, "uvlock": true }, + "down=true,east=false,north=false,south=true,up=true,west=false": { "model": "fuckchorus/chorus_plant_tdu_1cn", "y": 180, "uvlock": true }, + "down=true,east=false,north=false,south=false,up=true,west=true": { "model": "fuckchorus/chorus_plant_tdu_1cn", "y": 270, "uvlock": true }, + "down=true,east=true,north=true,south=false,up=true,west=false": { "model": "fuckchorus/chorus_plant_tdu_2cne" }, + "down=true,east=true,north=false,south=true,up=true,west=false": { "model": "fuckchorus/chorus_plant_tdu_2cne", "y": 90, "uvlock": true }, + "down=true,east=false,north=false,south=true,up=true,west=true": { "model": "fuckchorus/chorus_plant_tdu_2cne", "y": 180, "uvlock": true }, + "down=true,east=false,north=true,south=false,up=true,west=true": { "model": "fuckchorus/chorus_plant_tdu_2cne", "y": 270, "uvlock": true }, + "down=true,east=false,north=true,south=true,up=true,west=false": { "model": "fuckchorus/chorus_plant_tdu_2cns" }, + "down=true,east=true,north=false,south=false,up=true,west=true": { "model": "fuckchorus/chorus_plant_tdu_2cns", "y": 90, "uvlock": true }, + "down=true,east=true,north=true,south=true,up=true,west=false": { "model": "fuckchorus/chorus_plant_tdu_3nse" }, + "down=true,east=true,north=false,south=true,up=true,west=true": { "model": "fuckchorus/chorus_plant_tdu_3nse", "y": 90, "uvlock": true }, + "down=true,east=false,north=true,south=true,up=true,west=true": { "model": "fuckchorus/chorus_plant_tdu_3nse", "y": 180, "uvlock": true }, + "down=true,east=true,north=true,south=false,up=true,west=true": { "model": "fuckchorus/chorus_plant_tdu_3nse", "y": 270, "uvlock": true }, + "down=true,east=true,north=true,south=true,up=true,west=true": { "model": "fuckchorus/chorus_plant_tdu_4cnswe" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/clay.json b/desktopRuntime/resources/assets/minecraft/blockstates/clay.json new file mode 100644 index 0000000..3fcd74f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/clay.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "clay" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/coal_block.json b/desktopRuntime/resources/assets/minecraft/blockstates/coal_block.json new file mode 100644 index 0000000..7ac479e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/coal_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "coal_block" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/coal_ore.json b/desktopRuntime/resources/assets/minecraft/blockstates/coal_ore.json new file mode 100644 index 0000000..cc2ca2d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/coal_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "coal_ore" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/coarse_dirt.json b/desktopRuntime/resources/assets/minecraft/blockstates/coarse_dirt.json new file mode 100644 index 0000000..25e19be --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/coarse_dirt.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "coarse_dirt" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/cobblestone.json b/desktopRuntime/resources/assets/minecraft/blockstates/cobblestone.json new file mode 100644 index 0000000..57bc457 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/cobblestone.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "cobblestone" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/cobblestone_double_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/cobblestone_double_slab.json new file mode 100644 index 0000000..0e4e165 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/cobblestone_double_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "normal": { "model": "cobblestone" }, + "all": { "model": "cobblestone" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/cobblestone_monster_egg.json b/desktopRuntime/resources/assets/minecraft/blockstates/cobblestone_monster_egg.json new file mode 100644 index 0000000..57bc457 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/cobblestone_monster_egg.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "cobblestone" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/cobblestone_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/cobblestone_slab.json new file mode 100644 index 0000000..a55a4f3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/cobblestone_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom": { "model": "half_slab_cobblestone" }, + "half=top": { "model": "upper_slab_cobblestone" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/cobblestone_wall.json b/desktopRuntime/resources/assets/minecraft/blockstates/cobblestone_wall.json new file mode 100644 index 0000000..aa0b9f5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/cobblestone_wall.json @@ -0,0 +1,36 @@ +{ + "variants": { + "east=false,north=false,south=false,up=false,west=false": { "model": "cobblestone_wall_post" }, + "east=false,north=true,south=false,up=false,west=false": { "model": "cobblestone_wall_n" }, + "east=true,north=false,south=false,up=false,west=false": { "model": "cobblestone_wall_n", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,up=false,west=false": { "model": "cobblestone_wall_n", "y": 180, "uvlock": true }, + "east=false,north=false,south=false,up=false,west=true": { "model": "cobblestone_wall_n", "y": 270, "uvlock": true }, + "east=true,north=true,south=false,up=false,west=false": { "model": "cobblestone_wall_ne" }, + "east=true,north=false,south=true,up=false,west=false": { "model": "cobblestone_wall_ne", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,up=false,west=true": { "model": "cobblestone_wall_ne", "y": 180, "uvlock": true }, + "east=false,north=true,south=false,up=false,west=true": { "model": "cobblestone_wall_ne", "y": 270, "uvlock": true }, + "east=false,north=true,south=true,up=false,west=false": { "model": "cobblestone_wall_ns" }, + "east=true,north=false,south=false,up=false,west=true": { "model": "cobblestone_wall_ns", "y": 90, "uvlock": true }, + "east=true,north=true,south=true,up=false,west=false": { "model": "cobblestone_wall_nse" }, + "east=true,north=false,south=true,up=false,west=true": { "model": "cobblestone_wall_nse", "y": 90, "uvlock": true }, + "east=false,north=true,south=true,up=false,west=true": { "model": "cobblestone_wall_nse", "y": 180, "uvlock": true }, + "east=true,north=true,south=false,up=false,west=true": { "model": "cobblestone_wall_nse", "y": 270, "uvlock": true }, + "east=true,north=true,south=true,up=false,west=true": { "model": "cobblestone_wall_nsew" }, + "east=false,north=false,south=false,up=true,west=false": { "model": "cobblestone_wall_post" }, + "east=false,north=true,south=false,up=true,west=false": { "model": "cobblestone_wall_n" }, + "east=true,north=false,south=false,up=true,west=false": { "model": "cobblestone_wall_n", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,up=true,west=false": { "model": "cobblestone_wall_n", "y": 180, "uvlock": true }, + "east=false,north=false,south=false,up=true,west=true": { "model": "cobblestone_wall_n", "y": 270, "uvlock": true }, + "east=true,north=true,south=false,up=true,west=false": { "model": "cobblestone_wall_ne" }, + "east=true,north=false,south=true,up=true,west=false": { "model": "cobblestone_wall_ne", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,up=true,west=true": { "model": "cobblestone_wall_ne", "y": 180, "uvlock": true }, + "east=false,north=true,south=false,up=true,west=true": { "model": "cobblestone_wall_ne", "y": 270, "uvlock": true }, + "east=false,north=true,south=true,up=true,west=false": { "model": "cobblestone_wall_ns_above" }, + "east=true,north=false,south=false,up=true,west=true": { "model": "cobblestone_wall_ns_above", "y": 90, "uvlock": true }, + "east=true,north=true,south=true,up=true,west=false": { "model": "cobblestone_wall_nse" }, + "east=true,north=false,south=true,up=true,west=true": { "model": "cobblestone_wall_nse", "y": 90, "uvlock": true }, + "east=false,north=true,south=true,up=true,west=true": { "model": "cobblestone_wall_nse", "y": 180, "uvlock": true }, + "east=true,north=true,south=false,up=true,west=true": { "model": "cobblestone_wall_nse", "y": 270, "uvlock": true }, + "east=true,north=true,south=true,up=true,west=true": { "model": "cobblestone_wall_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/cocoa.json b/desktopRuntime/resources/assets/minecraft/blockstates/cocoa.json new file mode 100644 index 0000000..9eda2fd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/cocoa.json @@ -0,0 +1,16 @@ +{ + "variants": { + "age=0,facing=south": { "model": "cocoa_age0_s" }, + "age=0,facing=west": { "model": "cocoa_age0_s", "y": 90 }, + "age=0,facing=north": { "model": "cocoa_age0_s", "y": 180 }, + "age=0,facing=east": { "model": "cocoa_age0_s", "y": 270 }, + "age=1,facing=south": { "model": "cocoa_age1_s" }, + "age=1,facing=west": { "model": "cocoa_age1_s", "y": 90 }, + "age=1,facing=north": { "model": "cocoa_age1_s", "y": 180 }, + "age=1,facing=east": { "model": "cocoa_age1_s", "y": 270 }, + "age=2,facing=south": { "model": "cocoa_age2_s" }, + "age=2,facing=west": { "model": "cocoa_age2_s", "y": 90 }, + "age=2,facing=north": { "model": "cocoa_age2_s", "y": 180 }, + "age=2,facing=east": { "model": "cocoa_age2_s", "y": 270 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/command_block.json b/desktopRuntime/resources/assets/minecraft/blockstates/command_block.json new file mode 100644 index 0000000..2145125 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/command_block.json @@ -0,0 +1,16 @@ +{ + "variants": { + "conditional=false,facing=down": { "model": "command_block", "x": 90 }, + "conditional=false,facing=up": { "model": "command_block", "x": 270 }, + "conditional=false,facing=north": { "model": "command_block" }, + "conditional=false,facing=south": { "model": "command_block", "y": 180 }, + "conditional=false,facing=west": { "model": "command_block", "y": 270 }, + "conditional=false,facing=east": { "model": "command_block", "y": 90 }, + "conditional=true,facing=down": { "model": "command_block_conditional", "x": 90 }, + "conditional=true,facing=up": { "model": "command_block_conditional", "x": 270 }, + "conditional=true,facing=north": { "model": "command_block_conditional" }, + "conditional=true,facing=south": { "model": "command_block_conditional", "y": 180 }, + "conditional=true,facing=west": { "model": "command_block_conditional", "y": 270 }, + "conditional=true,facing=east": { "model": "command_block_conditional", "y": 90 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/cracked_brick_monster_egg.json b/desktopRuntime/resources/assets/minecraft/blockstates/cracked_brick_monster_egg.json new file mode 100644 index 0000000..58adbf2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/cracked_brick_monster_egg.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "stonebrick_cracked" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/cracked_stonebrick.json b/desktopRuntime/resources/assets/minecraft/blockstates/cracked_stonebrick.json new file mode 100644 index 0000000..58adbf2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/cracked_stonebrick.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "stonebrick_cracked" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/crafting_table.json b/desktopRuntime/resources/assets/minecraft/blockstates/crafting_table.json new file mode 100644 index 0000000..ef1590a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/crafting_table.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "crafting_table" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/cyan_carpet.json b/desktopRuntime/resources/assets/minecraft/blockstates/cyan_carpet.json new file mode 100644 index 0000000..dd9fc91 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/cyan_carpet.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "carpet_cyan" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/cyan_stained_glass.json b/desktopRuntime/resources/assets/minecraft/blockstates/cyan_stained_glass.json new file mode 100644 index 0000000..388279f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/cyan_stained_glass.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "glass_cyan" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/cyan_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/blockstates/cyan_stained_glass_pane.json new file mode 100644 index 0000000..4415599 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/cyan_stained_glass_pane.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "cyan_pane_nsew" }, + "east=false,north=true,south=false,west=false": { "model": "cyan_pane_n" }, + "east=true,north=false,south=false,west=false": { "model": "cyan_pane_n", "y": 90 }, + "east=false,north=false,south=true,west=false": { "model": "cyan_pane_s" }, + "east=false,north=false,south=false,west=true": { "model": "cyan_pane_s", "y": 90 }, + "east=true,north=true,south=false,west=false": { "model": "cyan_pane_ne" }, + "east=true,north=false,south=true,west=false": { "model": "cyan_pane_se" }, + "east=false,north=false,south=true,west=true": { "model": "cyan_pane_sw" }, + "east=false,north=true,south=false,west=true": { "model": "cyan_pane_nw" }, + "east=false,north=true,south=true,west=false": { "model": "cyan_pane_ns" }, + "east=true,north=false,south=false,west=true": { "model": "cyan_pane_ns", "y": 90 }, + "east=true,north=true,south=true,west=false": { "model": "cyan_pane_nse" }, + "east=true,north=false,south=true,west=true": { "model": "cyan_pane_sew" }, + "east=false,north=true,south=true,west=true": { "model": "cyan_pane_nsw" }, + "east=true,north=true,south=false,west=true": { "model": "cyan_pane_new" }, + "east=true,north=true,south=true,west=true": { "model": "cyan_pane_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/cyan_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/blockstates/cyan_stained_hardened_clay.json new file mode 100644 index 0000000..c67b33b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/cyan_stained_hardened_clay.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hardened_clay_cyan" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/cyan_wool.json b/desktopRuntime/resources/assets/minecraft/blockstates/cyan_wool.json new file mode 100644 index 0000000..db589f3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/cyan_wool.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "cyan_wool" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/dandelion.json b/desktopRuntime/resources/assets/minecraft/blockstates/dandelion.json new file mode 100644 index 0000000..6d49256 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/dandelion.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "dandelion" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_door.json b/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_door.json new file mode 100644 index 0000000..4681e94 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_door.json @@ -0,0 +1,36 @@ +{ + "variants": { + "facing=east,half=lower,hinge=left,open=false": { "model": "dark_oak_door_bottom" }, + "facing=south,half=lower,hinge=left,open=false": { "model": "dark_oak_door_bottom", "y": 90 }, + "facing=west,half=lower,hinge=left,open=false": { "model": "dark_oak_door_bottom", "y": 180 }, + "facing=north,half=lower,hinge=left,open=false": { "model": "dark_oak_door_bottom", "y": 270 }, + "facing=east,half=lower,hinge=right,open=false": { "model": "dark_oak_door_bottom_rh" }, + "facing=south,half=lower,hinge=right,open=false": { "model": "dark_oak_door_bottom_rh", "y": 90 }, + "facing=west,half=lower,hinge=right,open=false": { "model": "dark_oak_door_bottom_rh", "y": 180 }, + "facing=north,half=lower,hinge=right,open=false": { "model": "dark_oak_door_bottom_rh", "y": 270 }, + "facing=east,half=lower,hinge=left,open=true": { "model": "dark_oak_door_bottom_rh", "y": 90 }, + "facing=south,half=lower,hinge=left,open=true": { "model": "dark_oak_door_bottom_rh", "y": 180 }, + "facing=west,half=lower,hinge=left,open=true": { "model": "dark_oak_door_bottom_rh", "y": 270 }, + "facing=north,half=lower,hinge=left,open=true": { "model": "dark_oak_door_bottom_rh" }, + "facing=east,half=lower,hinge=right,open=true": { "model": "dark_oak_door_bottom", "y": 270 }, + "facing=south,half=lower,hinge=right,open=true": { "model": "dark_oak_door_bottom" }, + "facing=west,half=lower,hinge=right,open=true": { "model": "dark_oak_door_bottom", "y": 90 }, + "facing=north,half=lower,hinge=right,open=true": { "model": "dark_oak_door_bottom", "y": 180 }, + "facing=east,half=upper,hinge=left,open=false": { "model": "dark_oak_door_top" }, + "facing=south,half=upper,hinge=left,open=false": { "model": "dark_oak_door_top", "y": 90 }, + "facing=west,half=upper,hinge=left,open=false": { "model": "dark_oak_door_top", "y": 180 }, + "facing=north,half=upper,hinge=left,open=false": { "model": "dark_oak_door_top", "y": 270 }, + "facing=east,half=upper,hinge=right,open=false": { "model": "dark_oak_door_top_rh" }, + "facing=south,half=upper,hinge=right,open=false": { "model": "dark_oak_door_top_rh", "y": 90 }, + "facing=west,half=upper,hinge=right,open=false": { "model": "dark_oak_door_top_rh", "y": 180 }, + "facing=north,half=upper,hinge=right,open=false": { "model": "dark_oak_door_top_rh", "y": 270 }, + "facing=east,half=upper,hinge=left,open=true": { "model": "dark_oak_door_top_rh", "y": 90 }, + "facing=south,half=upper,hinge=left,open=true": { "model": "dark_oak_door_top_rh", "y": 180 }, + "facing=west,half=upper,hinge=left,open=true": { "model": "dark_oak_door_top_rh", "y": 270 }, + "facing=north,half=upper,hinge=left,open=true": { "model": "dark_oak_door_top_rh" }, + "facing=east,half=upper,hinge=right,open=true": { "model": "dark_oak_door_top", "y": 270 }, + "facing=south,half=upper,hinge=right,open=true": { "model": "dark_oak_door_top" }, + "facing=west,half=upper,hinge=right,open=true": { "model": "dark_oak_door_top", "y": 90 }, + "facing=north,half=upper,hinge=right,open=true": { "model": "dark_oak_door_top", "y": 180 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_double_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_double_slab.json new file mode 100644 index 0000000..0dd3e06 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_double_slab.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "dark_oak_planks" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_fence.json b/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_fence.json new file mode 100644 index 0000000..266580a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_fence.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "dark_oak_fence_post" }, + "east=false,north=true,south=false,west=false": { "model": "dark_oak_fence_n", "uvlock": true }, + "east=true,north=false,south=false,west=false": { "model": "dark_oak_fence_n", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,west=false": { "model": "dark_oak_fence_n", "y": 180, "uvlock": true }, + "east=false,north=false,south=false,west=true": { "model": "dark_oak_fence_n", "y": 270, "uvlock": true }, + "east=true,north=true,south=false,west=false": { "model": "dark_oak_fence_ne", "uvlock": true }, + "east=true,north=false,south=true,west=false": { "model": "dark_oak_fence_ne", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,west=true": { "model": "dark_oak_fence_ne", "y": 180, "uvlock": true }, + "east=false,north=true,south=false,west=true": { "model": "dark_oak_fence_ne", "y": 270, "uvlock": true }, + "east=false,north=true,south=true,west=false": { "model": "dark_oak_fence_ns", "uvlock": true }, + "east=true,north=false,south=false,west=true": { "model": "dark_oak_fence_ns", "y": 90, "uvlock": true }, + "east=true,north=true,south=true,west=false": { "model": "dark_oak_fence_nse", "uvlock": true }, + "east=true,north=false,south=true,west=true": { "model": "dark_oak_fence_nse", "y": 90, "uvlock": true }, + "east=false,north=true,south=true,west=true": { "model": "dark_oak_fence_nse", "y": 180, "uvlock": true }, + "east=true,north=true,south=false,west=true": { "model": "dark_oak_fence_nse", "y": 270, "uvlock": true }, + "east=true,north=true,south=true,west=true": { "model": "dark_oak_fence_nsew", "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_fence_gate.json b/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_fence_gate.json new file mode 100644 index 0000000..011e1f5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_fence_gate.json @@ -0,0 +1,20 @@ +{ + "variants": { + "facing=south,in_wall=false,open=false": { "model": "dark_oak_fence_gate_closed" }, + "facing=west,in_wall=false,open=false": { "model": "dark_oak_fence_gate_closed", "y": 90, "uvlock": true }, + "facing=north,in_wall=false,open=false": { "model": "dark_oak_fence_gate_closed", "y": 180, "uvlock": true }, + "facing=east,in_wall=false,open=false": { "model": "dark_oak_fence_gate_closed", "y": 270, "uvlock": true }, + "facing=south,in_wall=false,open=true": { "model": "dark_oak_fence_gate_open" }, + "facing=west,in_wall=false,open=true": { "model": "dark_oak_fence_gate_open", "y": 90, "uvlock": true }, + "facing=north,in_wall=false,open=true": { "model": "dark_oak_fence_gate_open", "y": 180, "uvlock": true }, + "facing=east,in_wall=false,open=true": { "model": "dark_oak_fence_gate_open", "y": 270, "uvlock": true }, + "facing=south,in_wall=true,open=false": { "model": "dark_oak_wall_gate_closed" }, + "facing=west,in_wall=true,open=false": { "model": "dark_oak_wall_gate_closed", "y": 90, "uvlock": true }, + "facing=north,in_wall=true,open=false": { "model": "dark_oak_wall_gate_closed", "y": 180, "uvlock": true }, + "facing=east,in_wall=true,open=false": { "model": "dark_oak_wall_gate_closed", "y": 270, "uvlock": true }, + "facing=south,in_wall=true,open=true": { "model": "dark_oak_wall_gate_open" }, + "facing=west,in_wall=true,open=true": { "model": "dark_oak_wall_gate_open", "y": 90, "uvlock": true }, + "facing=north,in_wall=true,open=true": { "model": "dark_oak_wall_gate_open", "y": 180, "uvlock": true }, + "facing=east,in_wall=true,open=true": { "model": "dark_oak_wall_gate_open", "y": 270, "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_leaves.json b/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_leaves.json new file mode 100644 index 0000000..bb68195 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_leaves.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "dark_oak_leaves" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_log.json b/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_log.json new file mode 100644 index 0000000..ff01aec --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_log.json @@ -0,0 +1,8 @@ +{ + "variants": { + "axis=y": { "model": "dark_oak_log" }, + "axis=z": { "model": "dark_oak_log_side" }, + "axis=x": { "model": "dark_oak_log_side", "y": 90 }, + "axis=none": { "model": "dark_oak_bark" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_planks.json b/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_planks.json new file mode 100644 index 0000000..0dd3e06 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_planks.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "dark_oak_planks" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_sapling.json b/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_sapling.json new file mode 100644 index 0000000..6d1d2e9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_sapling.json @@ -0,0 +1,6 @@ +{ + "variants": { + "stage=0": { "model": "dark_oak_sapling" }, + "stage=1": { "model": "dark_oak_sapling" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_slab.json new file mode 100644 index 0000000..9b0ed64 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom": { "model": "half_slab_dark_oak" }, + "half=top": { "model": "upper_slab_dark_oak" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_stairs.json b/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_stairs.json new file mode 100644 index 0000000..e920d6d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/dark_oak_stairs.json @@ -0,0 +1,44 @@ +{ + "variants": { + "facing=east,half=bottom,shape=straight": { "model": "dark_oak_stairs" }, + "facing=west,half=bottom,shape=straight": { "model": "dark_oak_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=straight": { "model": "dark_oak_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=straight": { "model": "dark_oak_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_right": { "model": "dark_oak_outer_stairs" }, + "facing=west,half=bottom,shape=outer_right": { "model": "dark_oak_outer_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=outer_right": { "model": "dark_oak_outer_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=outer_right": { "model": "dark_oak_outer_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_left": { "model": "dark_oak_outer_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=outer_left": { "model": "dark_oak_outer_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=outer_left": { "model": "dark_oak_outer_stairs" }, + "facing=north,half=bottom,shape=outer_left": { "model": "dark_oak_outer_stairs", "y": 180, "uvlock": true }, + "facing=east,half=bottom,shape=inner_right": { "model": "dark_oak_inner_stairs" }, + "facing=west,half=bottom,shape=inner_right": { "model": "dark_oak_inner_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=inner_right": { "model": "dark_oak_inner_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=inner_right": { "model": "dark_oak_inner_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=inner_left": { "model": "dark_oak_inner_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=inner_left": { "model": "dark_oak_inner_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=inner_left": { "model": "dark_oak_inner_stairs" }, + "facing=north,half=bottom,shape=inner_left": { "model": "dark_oak_inner_stairs", "y": 180, "uvlock": true }, + "facing=east,half=top,shape=straight": { "model": "dark_oak_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=straight": { "model": "dark_oak_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=straight": { "model": "dark_oak_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=straight": { "model": "dark_oak_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_right": { "model": "dark_oak_outer_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=outer_right": { "model": "dark_oak_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=outer_right": { "model": "dark_oak_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=outer_right": { "model": "dark_oak_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_left": { "model": "dark_oak_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=outer_left": { "model": "dark_oak_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=outer_left": { "model": "dark_oak_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=outer_left": { "model": "dark_oak_outer_stairs", "x": 180, "uvlock": true }, + "facing=east,half=top,shape=inner_right": { "model": "dark_oak_inner_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=inner_right": { "model": "dark_oak_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=inner_right": { "model": "dark_oak_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=inner_right": { "model": "dark_oak_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=inner_left": { "model": "dark_oak_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=inner_left": { "model": "dark_oak_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=inner_left": { "model": "dark_oak_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=inner_left": { "model": "dark_oak_inner_stairs", "x": 180, "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/dark_prismarine.json b/desktopRuntime/resources/assets/minecraft/blockstates/dark_prismarine.json new file mode 100644 index 0000000..7f87a8d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/dark_prismarine.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "prismarine_dark" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/daylight_detector.json b/desktopRuntime/resources/assets/minecraft/blockstates/daylight_detector.json new file mode 100644 index 0000000..862d7a9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/daylight_detector.json @@ -0,0 +1,20 @@ +{ + "variants": { + "power=0": { "model": "daylight_detector" }, + "power=1": { "model": "daylight_detector" }, + "power=2": { "model": "daylight_detector" }, + "power=3": { "model": "daylight_detector" }, + "power=4": { "model": "daylight_detector" }, + "power=5": { "model": "daylight_detector" }, + "power=6": { "model": "daylight_detector" }, + "power=7": { "model": "daylight_detector" }, + "power=8": { "model": "daylight_detector" }, + "power=9": { "model": "daylight_detector" }, + "power=10": { "model": "daylight_detector" }, + "power=11": { "model": "daylight_detector" }, + "power=12": { "model": "daylight_detector" }, + "power=13": { "model": "daylight_detector" }, + "power=14": { "model": "daylight_detector" }, + "power=15": { "model": "daylight_detector" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/daylight_detector_inverted.json b/desktopRuntime/resources/assets/minecraft/blockstates/daylight_detector_inverted.json new file mode 100644 index 0000000..55de23b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/daylight_detector_inverted.json @@ -0,0 +1,20 @@ +{ + "variants": { + "power=0": { "model": "daylight_detector_inverted" }, + "power=1": { "model": "daylight_detector_inverted" }, + "power=2": { "model": "daylight_detector_inverted" }, + "power=3": { "model": "daylight_detector_inverted" }, + "power=4": { "model": "daylight_detector_inverted" }, + "power=5": { "model": "daylight_detector_inverted" }, + "power=6": { "model": "daylight_detector_inverted" }, + "power=7": { "model": "daylight_detector_inverted" }, + "power=8": { "model": "daylight_detector_inverted" }, + "power=9": { "model": "daylight_detector_inverted" }, + "power=10": { "model": "daylight_detector_inverted" }, + "power=11": { "model": "daylight_detector_inverted" }, + "power=12": { "model": "daylight_detector_inverted" }, + "power=13": { "model": "daylight_detector_inverted" }, + "power=14": { "model": "daylight_detector_inverted" }, + "power=15": { "model": "daylight_detector_inverted" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/dead_bush.json b/desktopRuntime/resources/assets/minecraft/blockstates/dead_bush.json new file mode 100644 index 0000000..faa7eae --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/dead_bush.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "dead_bush" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/detector_rail.json b/desktopRuntime/resources/assets/minecraft/blockstates/detector_rail.json new file mode 100644 index 0000000..d5146b1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/detector_rail.json @@ -0,0 +1,16 @@ +{ + "variants": { + "powered=false,shape=north_south": { "model": "detector_rail_flat" }, + "powered=false,shape=east_west": { "model": "detector_rail_flat", "y": 90 }, + "powered=false,shape=ascending_east": { "model": "detector_rail_raised_ne", "y": 90 }, + "powered=false,shape=ascending_west": { "model": "detector_rail_raised_sw", "y": 90 }, + "powered=false,shape=ascending_north": { "model": "detector_rail_raised_ne" }, + "powered=false,shape=ascending_south": { "model": "detector_rail_raised_sw" }, + "powered=true,shape=north_south": { "model": "detector_rail_powered_flat" }, + "powered=true,shape=east_west": { "model": "detector_rail_powered_flat", "y": 90 }, + "powered=true,shape=ascending_east": { "model": "detector_rail_powered_raised_ne", "y": 90 }, + "powered=true,shape=ascending_west": { "model": "detector_rail_powered_raised_sw", "y": 90 }, + "powered=true,shape=ascending_north": { "model": "detector_rail_powered_raised_ne" }, + "powered=true,shape=ascending_south": { "model": "detector_rail_powered_raised_sw" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/diamond_block.json b/desktopRuntime/resources/assets/minecraft/blockstates/diamond_block.json new file mode 100644 index 0000000..d8db9e5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/diamond_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "diamond_block" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/diamond_ore.json b/desktopRuntime/resources/assets/minecraft/blockstates/diamond_ore.json new file mode 100644 index 0000000..ba58d55 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/diamond_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "diamond_ore" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/diorite.json b/desktopRuntime/resources/assets/minecraft/blockstates/diorite.json new file mode 100644 index 0000000..5c6f010 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/diorite.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "diorite" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/dirt.json b/desktopRuntime/resources/assets/minecraft/blockstates/dirt.json new file mode 100644 index 0000000..16816dd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/dirt.json @@ -0,0 +1,10 @@ +{ + "variants": { + "normal": [ + { "model": "dirt" }, + { "model": "dirt", "y": 90 }, + { "model": "dirt", "y": 180 }, + { "model": "dirt", "y": 270 } + ] + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/dispenser.json b/desktopRuntime/resources/assets/minecraft/blockstates/dispenser.json new file mode 100644 index 0000000..fb58738 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/dispenser.json @@ -0,0 +1,10 @@ +{ + "variants": { + "facing=down": { "model": "dispenser_vertical", "x": 180 }, + "facing=up": { "model": "dispenser_vertical" }, + "facing=north": { "model": "dispenser" }, + "facing=south": { "model": "dispenser", "y": 180 }, + "facing=west": { "model": "dispenser", "y": 270 }, + "facing=east": { "model": "dispenser", "y": 90 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/double_fern.json b/desktopRuntime/resources/assets/minecraft/blockstates/double_fern.json new file mode 100644 index 0000000..9b2ad6a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/double_fern.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=lower": { "model": "double_fern_bottom" }, + "half=upper": { "model": "double_fern_top" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/double_grass.json b/desktopRuntime/resources/assets/minecraft/blockstates/double_grass.json new file mode 100644 index 0000000..d0971c6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/double_grass.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=lower": { "model": "double_grass_bottom" }, + "half=upper": { "model": "double_grass_top" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/double_rose.json b/desktopRuntime/resources/assets/minecraft/blockstates/double_rose.json new file mode 100644 index 0000000..cf008d0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/double_rose.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=lower": { "model": "double_rose_bottom" }, + "half=upper": { "model": "double_rose_top" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/dragon_egg.json b/desktopRuntime/resources/assets/minecraft/blockstates/dragon_egg.json new file mode 100644 index 0000000..16fdcfd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/dragon_egg.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "dragon_egg" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/dropper.json b/desktopRuntime/resources/assets/minecraft/blockstates/dropper.json new file mode 100644 index 0000000..41cc1d4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/dropper.json @@ -0,0 +1,10 @@ +{ + "variants": { + "facing=down": { "model": "dropper_vertical", "x": 180 }, + "facing=up": { "model": "dropper_vertical" }, + "facing=north": { "model": "dropper" }, + "facing=south": { "model": "dropper", "y": 180 }, + "facing=west": { "model": "dropper", "y": 270 }, + "facing=east": { "model": "dropper", "y": 90 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/emerald_block.json b/desktopRuntime/resources/assets/minecraft/blockstates/emerald_block.json new file mode 100644 index 0000000..325f828 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/emerald_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "emerald_block" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/emerald_ore.json b/desktopRuntime/resources/assets/minecraft/blockstates/emerald_ore.json new file mode 100644 index 0000000..816e2b5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/emerald_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "emerald_ore" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/enchanting_table.json b/desktopRuntime/resources/assets/minecraft/blockstates/enchanting_table.json new file mode 100644 index 0000000..3389236 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/enchanting_table.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "enchanting_table_base" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/end_bricks.json b/desktopRuntime/resources/assets/minecraft/blockstates/end_bricks.json new file mode 100644 index 0000000..088e4fa --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/end_bricks.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "end_bricks" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/end_portal_frame.json b/desktopRuntime/resources/assets/minecraft/blockstates/end_portal_frame.json new file mode 100644 index 0000000..e44bada --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/end_portal_frame.json @@ -0,0 +1,12 @@ +{ + "variants": { + "eye=false,facing=south": { "model": "end_portal_frame_empty" }, + "eye=false,facing=west": { "model": "end_portal_frame_empty", "y": 90 }, + "eye=false,facing=north": { "model": "end_portal_frame_empty", "y": 180 }, + "eye=false,facing=east": { "model": "end_portal_frame_empty", "y": 270 }, + "eye=true,facing=south": { "model": "end_portal_frame_filled" }, + "eye=true,facing=west": { "model": "end_portal_frame_filled", "y": 90 }, + "eye=true,facing=north": { "model": "end_portal_frame_filled", "y": 180 }, + "eye=true,facing=east": { "model": "end_portal_frame_filled", "y": 270 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/end_rod.json b/desktopRuntime/resources/assets/minecraft/blockstates/end_rod.json new file mode 100644 index 0000000..6b11848 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/end_rod.json @@ -0,0 +1,10 @@ +{ + "variants": { + "facing=up": { "model": "end_rod" }, + "facing=down": { "model": "end_rod", "x": 180 }, + "facing=east": { "model": "end_rod", "y": 90, "x": 90 }, + "facing=south": { "model": "end_rod", "y": 180, "x": 90 }, + "facing=west": { "model": "end_rod", "y": 270, "x": 90 }, + "facing=north": { "model": "end_rod", "y": 0, "x": 90 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/end_stone.json b/desktopRuntime/resources/assets/minecraft/blockstates/end_stone.json new file mode 100644 index 0000000..cdaef3b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/end_stone.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "end_stone" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/farmland.json b/desktopRuntime/resources/assets/minecraft/blockstates/farmland.json new file mode 100644 index 0000000..7897855 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/farmland.json @@ -0,0 +1,12 @@ +{ + "variants": { + "moisture=0": { "model": "farmland_dry" }, + "moisture=1": { "model": "farmland_dry" }, + "moisture=2": { "model": "farmland_dry" }, + "moisture=3": { "model": "farmland_dry" }, + "moisture=4": { "model": "farmland_dry" }, + "moisture=5": { "model": "farmland_dry" }, + "moisture=6": { "model": "farmland_dry" }, + "moisture=7": { "model": "farmland_moist" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/fence.json b/desktopRuntime/resources/assets/minecraft/blockstates/fence.json new file mode 100644 index 0000000..fc69adf --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/fence.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "oak_fence_post" }, + "east=false,north=true,south=false,west=false": { "model": "oak_fence_n", "uvlock": true }, + "east=true,north=false,south=false,west=false": { "model": "oak_fence_n", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,west=false": { "model": "oak_fence_n", "y": 180, "uvlock": true }, + "east=false,north=false,south=false,west=true": { "model": "oak_fence_n", "y": 270, "uvlock": true }, + "east=true,north=true,south=false,west=false": { "model": "oak_fence_ne", "uvlock": true }, + "east=true,north=false,south=true,west=false": { "model": "oak_fence_ne", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,west=true": { "model": "oak_fence_ne", "y": 180, "uvlock": true }, + "east=false,north=true,south=false,west=true": { "model": "oak_fence_ne", "y": 270, "uvlock": true }, + "east=false,north=true,south=true,west=false": { "model": "oak_fence_ns", "uvlock": true }, + "east=true,north=false,south=false,west=true": { "model": "oak_fence_ns", "y": 90, "uvlock": true }, + "east=true,north=true,south=true,west=false": { "model": "oak_fence_nse", "uvlock": true }, + "east=true,north=false,south=true,west=true": { "model": "oak_fence_nse", "y": 90, "uvlock": true }, + "east=false,north=true,south=true,west=true": { "model": "oak_fence_nse", "y": 180, "uvlock": true }, + "east=true,north=true,south=false,west=true": { "model": "oak_fence_nse", "y": 270, "uvlock": true }, + "east=true,north=true,south=true,west=true": { "model": "oak_fence_nsew", "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/fence_gate.json b/desktopRuntime/resources/assets/minecraft/blockstates/fence_gate.json new file mode 100644 index 0000000..043d21e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/fence_gate.json @@ -0,0 +1,20 @@ +{ + "variants": { + "facing=south,in_wall=false,open=false": { "model": "oak_fence_gate_closed" }, + "facing=west,in_wall=false,open=false": { "model": "oak_fence_gate_closed", "y": 90, "uvlock": true }, + "facing=north,in_wall=false,open=false": { "model": "oak_fence_gate_closed", "y": 180, "uvlock": true }, + "facing=east,in_wall=false,open=false": { "model": "oak_fence_gate_closed", "y": 270, "uvlock": true }, + "facing=south,in_wall=false,open=true": { "model": "oak_fence_gate_open" }, + "facing=west,in_wall=false,open=true": { "model": "oak_fence_gate_open", "y": 90, "uvlock": true }, + "facing=north,in_wall=false,open=true": { "model": "oak_fence_gate_open", "y": 180, "uvlock": true }, + "facing=east,in_wall=false,open=true": { "model": "oak_fence_gate_open", "y": 270, "uvlock": true }, + "facing=south,in_wall=true,open=false": { "model": "oak_wall_gate_closed" }, + "facing=west,in_wall=true,open=false": { "model": "oak_wall_gate_closed", "y": 90, "uvlock": true }, + "facing=north,in_wall=true,open=false": { "model": "oak_wall_gate_closed", "y": 180, "uvlock": true }, + "facing=east,in_wall=true,open=false": { "model": "oak_wall_gate_closed", "y": 270, "uvlock": true }, + "facing=south,in_wall=true,open=true": { "model": "oak_wall_gate_open" }, + "facing=west,in_wall=true,open=true": { "model": "oak_wall_gate_open", "y": 90, "uvlock": true }, + "facing=north,in_wall=true,open=true": { "model": "oak_wall_gate_open", "y": 180, "uvlock": true }, + "facing=east,in_wall=true,open=true": { "model": "oak_wall_gate_open", "y": 270, "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/fern.json b/desktopRuntime/resources/assets/minecraft/blockstates/fern.json new file mode 100644 index 0000000..bac4186 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/fern.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "fern" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/fire.json b/desktopRuntime/resources/assets/minecraft/blockstates/fire.json new file mode 100644 index 0000000..79fd5fe --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/fire.json @@ -0,0 +1,196 @@ +{ + "variants": { + "alt=false,east=false,flip=false,north=false,south=false,upper=0,west=false": { "model": "fire_floor_main" }, + "alt=false,east=false,flip=false,north=false,south=true,upper=0,west=false": { "model": "fire_n_main", "y": 180 }, + "alt=false,east=false,flip=false,north=false,south=false,upper=0,west=true": { "model": "fire_n_main", "y": 270 }, + "alt=false,east=false,flip=false,north=true,south=false,upper=0,west=false": { "model": "fire_n_main" }, + "alt=false,east=true,flip=false,north=false,south=false,upper=0,west=false": { "model": "fire_n_main", "y": 90 }, + "alt=false,east=true,flip=false,north=true,south=false,upper=0,west=false": { "model": "fire_ne_main" }, + "alt=false,east=true,flip=false,north=false,south=true,upper=0,west=false": { "model": "fire_ne_main", "y": 90 }, + "alt=false,east=false,flip=false,north=false,south=true,upper=0,west=true": { "model": "fire_ne_main", "y": 180 }, + "alt=false,east=false,flip=false,north=true,south=false,upper=0,west=true": { "model": "fire_ne_main", "y": 270 }, + "alt=false,east=false,flip=false,north=true,south=true,upper=0,west=false": { "model": "fire_ns_main" }, + "alt=false,east=true,flip=false,north=false,south=false,upper=0,west=true": { "model": "fire_ns_main", "y": 90 }, + "alt=false,east=true,flip=false,north=true,south=true,upper=0,west=false": { "model": "fire_nse_main" }, + "alt=false,east=true,flip=false,north=false,south=true,upper=0,west=true": { "model": "fire_nse_main", "y": 90 }, + "alt=false,east=false,flip=false,north=true,south=true,upper=0,west=true": { "model": "fire_nse_main", "y": 180 }, + "alt=false,east=true,flip=false,north=true,south=false,upper=0,west=true": { "model": "fire_nse_main", "y": 270 }, + "alt=false,east=true,flip=false,north=true,south=true,upper=0,west=true": { "model": "fire_nsew_main" }, + "alt=false,east=false,flip=false,north=false,south=false,upper=1,west=false": { "model": "fire_u1_main" }, + "alt=false,east=false,flip=false,north=false,south=true,upper=1,west=false": { "model": "fire_nu1_main", "y": 180 }, + "alt=false,east=false,flip=false,north=false,south=false,upper=1,west=true": { "model": "fire_nu1_main", "y": 270 }, + "alt=false,east=false,flip=false,north=true,south=false,upper=1,west=false": { "model": "fire_nu1_main" }, + "alt=false,east=true,flip=false,north=false,south=false,upper=1,west=false": { "model": "fire_nu1_main", "y": 90 }, + "alt=false,east=true,flip=false,north=true,south=false,upper=1,west=false": { "model": "fire_neu1_main" }, + "alt=false,east=true,flip=false,north=false,south=true,upper=1,west=false": { "model": "fire_neu1_main", "y": 90 }, + "alt=false,east=false,flip=false,north=false,south=true,upper=1,west=true": { "model": "fire_neu1_main", "y": 180 }, + "alt=false,east=false,flip=false,north=true,south=false,upper=1,west=true": { "model": "fire_neu1_main", "y": 270 }, + "alt=false,east=false,flip=false,north=true,south=true,upper=1,west=false": { "model": "fire_nsu1_main" }, + "alt=false,east=true,flip=false,north=false,south=false,upper=1,west=true": { "model": "fire_nsu1_main", "y": 90 }, + "alt=false,east=true,flip=false,north=true,south=true,upper=1,west=false": { "model": "fire_nseu1_main" }, + "alt=false,east=true,flip=false,north=false,south=true,upper=1,west=true": { "model": "fire_nseu1_main", "y": 90 }, + "alt=false,east=false,flip=false,north=true,south=true,upper=1,west=true": { "model": "fire_nseu1_main", "y": 180 }, + "alt=false,east=true,flip=false,north=true,south=false,upper=1,west=true": { "model": "fire_nseu1_main", "y": 270 }, + "alt=false,east=true,flip=false,north=true,south=true,upper=1,west=true": { "model": "fire_nsewu1_main" }, + "alt=false,east=false,flip=false,north=false,south=false,upper=2,west=false": { "model": "fire_u2_main" }, + "alt=false,east=false,flip=false,north=false,south=true,upper=2,west=false": { "model": "fire_nu2_main", "y": 180 }, + "alt=false,east=false,flip=false,north=false,south=false,upper=2,west=true": { "model": "fire_nu2_main", "y": 270 }, + "alt=false,east=false,flip=false,north=true,south=false,upper=2,west=false": { "model": "fire_nu2_main" }, + "alt=false,east=true,flip=false,north=false,south=false,upper=2,west=false": { "model": "fire_nu2_main", "y": 90 }, + "alt=false,east=true,flip=false,north=true,south=false,upper=2,west=false": { "model": "fire_neu2_main" }, + "alt=false,east=true,flip=false,north=false,south=true,upper=2,west=false": { "model": "fire_neu2_main", "y": 90 }, + "alt=false,east=false,flip=false,north=false,south=true,upper=2,west=true": { "model": "fire_neu2_main", "y": 180 }, + "alt=false,east=false,flip=false,north=true,south=false,upper=2,west=true": { "model": "fire_neu2_main", "y": 270 }, + "alt=false,east=false,flip=false,north=true,south=true,upper=2,west=false": { "model": "fire_nsu2_main" }, + "alt=false,east=true,flip=false,north=false,south=false,upper=2,west=true": { "model": "fire_nsu2_main", "y": 90 }, + "alt=false,east=true,flip=false,north=true,south=true,upper=2,west=false": { "model": "fire_nseu2_main" }, + "alt=false,east=true,flip=false,north=false,south=true,upper=2,west=true": { "model": "fire_nseu2_main", "y": 90 }, + "alt=false,east=false,flip=false,north=true,south=true,upper=2,west=true": { "model": "fire_nseu2_main", "y": 180 }, + "alt=false,east=true,flip=false,north=true,south=false,upper=2,west=true": { "model": "fire_nseu2_main", "y": 270 }, + "alt=false,east=true,flip=false,north=true,south=true,upper=2,west=true": { "model": "fire_nsewu2_main" }, + "alt=true,east=false,flip=false,north=false,south=false,upper=0,west=false": { "model": "fire_floor_main" }, + "alt=true,east=false,flip=false,north=false,south=true,upper=0,west=false": { "model": "fire_n_alt", "y": 180 }, + "alt=true,east=false,flip=false,north=false,south=false,upper=0,west=true": { "model": "fire_n_alt", "y": 270 }, + "alt=true,east=false,flip=false,north=true,south=false,upper=0,west=false": { "model": "fire_n_alt" }, + "alt=true,east=true,flip=false,north=false,south=false,upper=0,west=false": { "model": "fire_n_alt", "y": 90 }, + "alt=true,east=true,flip=false,north=true,south=false,upper=0,west=false": { "model": "fire_ne_alt" }, + "alt=true,east=true,flip=false,north=false,south=true,upper=0,west=false": { "model": "fire_ne_alt", "y": 90 }, + "alt=true,east=false,flip=false,north=false,south=true,upper=0,west=true": { "model": "fire_ne_alt", "y": 180 }, + "alt=true,east=false,flip=false,north=true,south=false,upper=0,west=true": { "model": "fire_ne_alt", "y": 270 }, + "alt=true,east=false,flip=false,north=true,south=true,upper=0,west=false": { "model": "fire_ns_alt" }, + "alt=true,east=true,flip=false,north=false,south=false,upper=0,west=true": { "model": "fire_ns_alt", "y": 90 }, + "alt=true,east=true,flip=false,north=true,south=true,upper=0,west=false": { "model": "fire_nse_alt" }, + "alt=true,east=true,flip=false,north=false,south=true,upper=0,west=true": { "model": "fire_nse_alt", "y": 90 }, + "alt=true,east=false,flip=false,north=true,south=true,upper=0,west=true": { "model": "fire_nse_alt", "y": 180 }, + "alt=true,east=true,flip=false,north=true,south=false,upper=0,west=true": { "model": "fire_nse_alt", "y": 270 }, + "alt=true,east=true,flip=false,north=true,south=true,upper=0,west=true": { "model": "fire_nsew_alt" }, + "alt=true,east=false,flip=false,north=false,south=false,upper=1,west=false": { "model": "fire_u1_main" }, + "alt=true,east=false,flip=false,north=false,south=true,upper=1,west=false": { "model": "fire_nu1_alt", "y": 180 }, + "alt=true,east=false,flip=false,north=false,south=false,upper=1,west=true": { "model": "fire_nu1_alt", "y": 270 }, + "alt=true,east=false,flip=false,north=true,south=false,upper=1,west=false": { "model": "fire_nu1_alt" }, + "alt=true,east=true,flip=false,north=false,south=false,upper=1,west=false": { "model": "fire_nu1_alt", "y": 90 }, + "alt=true,east=true,flip=false,north=true,south=false,upper=1,west=false": { "model": "fire_neu1_alt" }, + "alt=true,east=true,flip=false,north=false,south=true,upper=1,west=false": { "model": "fire_neu1_alt", "y": 90 }, + "alt=true,east=false,flip=false,north=false,south=true,upper=1,west=true": { "model": "fire_neu1_alt", "y": 180 }, + "alt=true,east=false,flip=false,north=true,south=false,upper=1,west=true": { "model": "fire_neu1_alt", "y": 270 }, + "alt=true,east=false,flip=false,north=true,south=true,upper=1,west=false": { "model": "fire_nsu1_alt" }, + "alt=true,east=true,flip=false,north=false,south=false,upper=1,west=true": { "model": "fire_nsu1_alt", "y": 90 }, + "alt=true,east=true,flip=false,north=true,south=true,upper=1,west=false": { "model": "fire_nseu1_alt" }, + "alt=true,east=true,flip=false,north=false,south=true,upper=1,west=true": { "model": "fire_nseu1_alt", "y": 90 }, + "alt=true,east=false,flip=false,north=true,south=true,upper=1,west=true": { "model": "fire_nseu1_alt", "y": 180 }, + "alt=true,east=true,flip=false,north=true,south=false,upper=1,west=true": { "model": "fire_nseu1_alt", "y": 270 }, + "alt=true,east=true,flip=false,north=true,south=true,upper=1,west=true": { "model": "fire_nsewu1_alt" }, + "alt=true,east=false,flip=false,north=false,south=false,upper=2,west=false": { "model": "fire_u2_main" }, + "alt=true,east=false,flip=false,north=false,south=true,upper=2,west=false": { "model": "fire_nu2_alt", "y": 180 }, + "alt=true,east=false,flip=false,north=false,south=false,upper=2,west=true": { "model": "fire_nu2_alt", "y": 270 }, + "alt=true,east=false,flip=false,north=true,south=false,upper=2,west=false": { "model": "fire_nu2_alt" }, + "alt=true,east=true,flip=false,north=false,south=false,upper=2,west=false": { "model": "fire_nu2_alt", "y": 90 }, + "alt=true,east=true,flip=false,north=true,south=false,upper=2,west=false": { "model": "fire_neu2_alt" }, + "alt=true,east=true,flip=false,north=false,south=true,upper=2,west=false": { "model": "fire_neu2_alt", "y": 90 }, + "alt=true,east=false,flip=false,north=false,south=true,upper=2,west=true": { "model": "fire_neu2_alt", "y": 180 }, + "alt=true,east=false,flip=false,north=true,south=false,upper=2,west=true": { "model": "fire_neu2_alt", "y": 270 }, + "alt=true,east=false,flip=false,north=true,south=true,upper=2,west=false": { "model": "fire_nsu2_alt" }, + "alt=true,east=true,flip=false,north=false,south=false,upper=2,west=true": { "model": "fire_nsu2_alt", "y": 90 }, + "alt=true,east=true,flip=false,north=true,south=true,upper=2,west=false": { "model": "fire_nseu2_alt" }, + "alt=true,east=true,flip=false,north=false,south=true,upper=2,west=true": { "model": "fire_nseu2_alt", "y": 90 }, + "alt=true,east=false,flip=false,north=true,south=true,upper=2,west=true": { "model": "fire_nseu2_alt", "y": 180 }, + "alt=true,east=true,flip=false,north=true,south=false,upper=2,west=true": { "model": "fire_nseu2_alt", "y": 270 }, + "alt=true,east=true,flip=false,north=true,south=true,upper=2,west=true": { "model": "fire_nsewu2_alt" }, + "alt=false,east=false,flip=true,north=false,south=false,upper=0,west=false": { "model": "fire_floor_main" }, + "alt=false,east=false,flip=true,north=false,south=true,upper=0,west=false": { "model": "fire_n_flip_main", "y": 180 }, + "alt=false,east=false,flip=true,north=false,south=false,upper=0,west=true": { "model": "fire_n_flip_main", "y": 270 }, + "alt=false,east=false,flip=true,north=true,south=false,upper=0,west=false": { "model": "fire_n_flip_main" }, + "alt=false,east=true,flip=true,north=false,south=false,upper=0,west=false": { "model": "fire_n_flip_main", "y": 90 }, + "alt=false,east=true,flip=true,north=true,south=false,upper=0,west=false": { "model": "fire_ne_flip_main" }, + "alt=false,east=true,flip=true,north=false,south=true,upper=0,west=false": { "model": "fire_ne_flip_main", "y": 90 }, + "alt=false,east=false,flip=true,north=false,south=true,upper=0,west=true": { "model": "fire_ne_flip_main", "y": 180 }, + "alt=false,east=false,flip=true,north=true,south=false,upper=0,west=true": { "model": "fire_ne_flip_main", "y": 270 }, + "alt=false,east=false,flip=true,north=true,south=true,upper=0,west=false": { "model": "fire_ns_flip_main" }, + "alt=false,east=true,flip=true,north=false,south=false,upper=0,west=true": { "model": "fire_ns_flip_main", "y": 90 }, + "alt=false,east=true,flip=true,north=true,south=true,upper=0,west=false": { "model": "fire_nse_flip_main" }, + "alt=false,east=true,flip=true,north=false,south=true,upper=0,west=true": { "model": "fire_nse_flip_main", "y": 90 }, + "alt=false,east=false,flip=true,north=true,south=true,upper=0,west=true": { "model": "fire_nse_flip_main", "y": 180 }, + "alt=false,east=true,flip=true,north=true,south=false,upper=0,west=true": { "model": "fire_nse_flip_main", "y": 270 }, + "alt=false,east=true,flip=true,north=true,south=true,upper=0,west=true": { "model": "fire_nsew_flip_main" }, + "alt=false,east=false,flip=true,north=false,south=false,upper=1,west=false": { "model": "fire_u1_main" }, + "alt=false,east=false,flip=true,north=false,south=true,upper=1,west=false": { "model": "fire_nu1_flip_main", "y": 180 }, + "alt=false,east=false,flip=true,north=false,south=false,upper=1,west=true": { "model": "fire_nu1_flip_main", "y": 270 }, + "alt=false,east=false,flip=true,north=true,south=false,upper=1,west=false": { "model": "fire_nu1_flip_main" }, + "alt=false,east=true,flip=true,north=false,south=false,upper=1,west=false": { "model": "fire_nu1_flip_main", "y": 90 }, + "alt=false,east=true,flip=true,north=true,south=false,upper=1,west=false": { "model": "fire_neu1_flip_main" }, + "alt=false,east=true,flip=true,north=false,south=true,upper=1,west=false": { "model": "fire_neu1_flip_main", "y": 90 }, + "alt=false,east=false,flip=true,north=false,south=true,upper=1,west=true": { "model": "fire_neu1_flip_main", "y": 180 }, + "alt=false,east=false,flip=true,north=true,south=false,upper=1,west=true": { "model": "fire_neu1_flip_main", "y": 270 }, + "alt=false,east=false,flip=true,north=true,south=true,upper=1,west=false": { "model": "fire_nsu1_flip_main" }, + "alt=false,east=true,flip=true,north=false,south=false,upper=1,west=true": { "model": "fire_nsu1_flip_main", "y": 90 }, + "alt=false,east=true,flip=true,north=true,south=true,upper=1,west=false": { "model": "fire_nseu1_flip_main" }, + "alt=false,east=true,flip=true,north=false,south=true,upper=1,west=true": { "model": "fire_nseu1_flip_main", "y": 90 }, + "alt=false,east=false,flip=true,north=true,south=true,upper=1,west=true": { "model": "fire_nseu1_flip_main", "y": 180 }, + "alt=false,east=true,flip=true,north=true,south=false,upper=1,west=true": { "model": "fire_nseu1_flip_main", "y": 270 }, + "alt=false,east=true,flip=true,north=true,south=true,upper=1,west=true": { "model": "fire_nsewu1_flip_main" }, + "alt=false,east=false,flip=true,north=false,south=false,upper=2,west=false": { "model": "fire_u2_main" }, + "alt=false,east=false,flip=true,north=false,south=true,upper=2,west=false": { "model": "fire_nu2_flip_main", "y": 180 }, + "alt=false,east=false,flip=true,north=false,south=false,upper=2,west=true": { "model": "fire_nu2_flip_main", "y": 270 }, + "alt=false,east=false,flip=true,north=true,south=false,upper=2,west=false": { "model": "fire_nu2_flip_main" }, + "alt=false,east=true,flip=true,north=false,south=false,upper=2,west=false": { "model": "fire_nu2_flip_main", "y": 90 }, + "alt=false,east=true,flip=true,north=true,south=false,upper=2,west=false": { "model": "fire_neu2_flip_main" }, + "alt=false,east=true,flip=true,north=false,south=true,upper=2,west=false": { "model": "fire_neu2_flip_main", "y": 90 }, + "alt=false,east=false,flip=true,north=false,south=true,upper=2,west=true": { "model": "fire_neu2_flip_main", "y": 180 }, + "alt=false,east=false,flip=true,north=true,south=false,upper=2,west=true": { "model": "fire_neu2_flip_main", "y": 270 }, + "alt=false,east=false,flip=true,north=true,south=true,upper=2,west=false": { "model": "fire_nsu2_flip_main" }, + "alt=false,east=true,flip=true,north=false,south=false,upper=2,west=true": { "model": "fire_nsu2_flip_main", "y": 90 }, + "alt=false,east=true,flip=true,north=true,south=true,upper=2,west=false": { "model": "fire_nseu2_flip_main" }, + "alt=false,east=true,flip=true,north=false,south=true,upper=2,west=true": { "model": "fire_nseu2_flip_main", "y": 90 }, + "alt=false,east=false,flip=true,north=true,south=true,upper=2,west=true": { "model": "fire_nseu2_flip_main", "y": 180 }, + "alt=false,east=true,flip=true,north=true,south=false,upper=2,west=true": { "model": "fire_nseu2_flip_main", "y": 270 }, + "alt=false,east=true,flip=true,north=true,south=true,upper=2,west=true": { "model": "fire_nsewu2_flip_main" }, + "alt=true,east=false,flip=true,north=false,south=false,upper=0,west=false": { "model": "fire_floor_main" }, + "alt=true,east=false,flip=true,north=false,south=true,upper=0,west=false": { "model": "fire_n_alt_flip", "y": 180 }, + "alt=true,east=false,flip=true,north=false,south=false,upper=0,west=true": { "model": "fire_n_alt_flip", "y": 270 }, + "alt=true,east=false,flip=true,north=true,south=false,upper=0,west=false": { "model": "fire_n_alt_flip" }, + "alt=true,east=true,flip=true,north=false,south=false,upper=0,west=false": { "model": "fire_n_alt_flip", "y": 90 }, + "alt=true,east=true,flip=true,north=true,south=false,upper=0,west=false": { "model": "fire_ne_alt_flip" }, + "alt=true,east=true,flip=true,north=false,south=true,upper=0,west=false": { "model": "fire_ne_alt_flip", "y": 90 }, + "alt=true,east=false,flip=true,north=false,south=true,upper=0,west=true": { "model": "fire_ne_alt_flip", "y": 180 }, + "alt=true,east=false,flip=true,north=true,south=false,upper=0,west=true": { "model": "fire_ne_alt_flip", "y": 270 }, + "alt=true,east=false,flip=true,north=true,south=true,upper=0,west=false": { "model": "fire_ns_alt_flip" }, + "alt=true,east=true,flip=true,north=false,south=false,upper=0,west=true": { "model": "fire_ns_alt_flip", "y": 90 }, + "alt=true,east=true,flip=true,north=true,south=true,upper=0,west=false": { "model": "fire_nse_alt_flip" }, + "alt=true,east=true,flip=true,north=false,south=true,upper=0,west=true": { "model": "fire_nse_alt_flip", "y": 90 }, + "alt=true,east=false,flip=true,north=true,south=true,upper=0,west=true": { "model": "fire_nse_alt_flip", "y": 180 }, + "alt=true,east=true,flip=true,north=true,south=false,upper=0,west=true": { "model": "fire_nse_alt_flip", "y": 270 }, + "alt=true,east=true,flip=true,north=true,south=true,upper=0,west=true": { "model": "fire_nsew_alt_flip" }, + "alt=true,east=false,flip=true,north=false,south=false,upper=1,west=false": { "model": "fire_u1_main" }, + "alt=true,east=false,flip=true,north=false,south=true,upper=1,west=false": { "model": "fire_nu1_alt_flip", "y": 180 }, + "alt=true,east=false,flip=true,north=false,south=false,upper=1,west=true": { "model": "fire_nu1_alt_flip", "y": 270 }, + "alt=true,east=false,flip=true,north=true,south=false,upper=1,west=false": { "model": "fire_nu1_alt_flip" }, + "alt=true,east=true,flip=true,north=false,south=false,upper=1,west=false": { "model": "fire_nu1_alt_flip", "y": 90 }, + "alt=true,east=true,flip=true,north=true,south=false,upper=1,west=false": { "model": "fire_neu1_alt_flip" }, + "alt=true,east=true,flip=true,north=false,south=true,upper=1,west=false": { "model": "fire_neu1_alt_flip", "y": 90 }, + "alt=true,east=false,flip=true,north=false,south=true,upper=1,west=true": { "model": "fire_neu1_alt_flip", "y": 180 }, + "alt=true,east=false,flip=true,north=true,south=false,upper=1,west=true": { "model": "fire_neu1_alt_flip", "y": 270 }, + "alt=true,east=false,flip=true,north=true,south=true,upper=1,west=false": { "model": "fire_nsu1_alt_flip" }, + "alt=true,east=true,flip=true,north=false,south=false,upper=1,west=true": { "model": "fire_nsu1_alt_flip", "y": 90 }, + "alt=true,east=true,flip=true,north=true,south=true,upper=1,west=false": { "model": "fire_nseu1_alt_flip" }, + "alt=true,east=true,flip=true,north=false,south=true,upper=1,west=true": { "model": "fire_nseu1_alt_flip", "y": 90 }, + "alt=true,east=false,flip=true,north=true,south=true,upper=1,west=true": { "model": "fire_nseu1_alt_flip", "y": 180 }, + "alt=true,east=true,flip=true,north=true,south=false,upper=1,west=true": { "model": "fire_nseu1_alt_flip", "y": 270 }, + "alt=true,east=true,flip=true,north=true,south=true,upper=1,west=true": { "model": "fire_nsewu1_alt_flip" }, + "alt=true,east=false,flip=true,north=false,south=false,upper=2,west=false": { "model": "fire_u2_main" }, + "alt=true,east=false,flip=true,north=false,south=true,upper=2,west=false": { "model": "fire_nu2_alt_flip", "y": 180 }, + "alt=true,east=false,flip=true,north=false,south=false,upper=2,west=true": { "model": "fire_nu2_alt_flip", "y": 270 }, + "alt=true,east=false,flip=true,north=true,south=false,upper=2,west=false": { "model": "fire_nu2_alt_flip" }, + "alt=true,east=true,flip=true,north=false,south=false,upper=2,west=false": { "model": "fire_nu2_alt_flip", "y": 90 }, + "alt=true,east=true,flip=true,north=true,south=false,upper=2,west=false": { "model": "fire_neu2_alt_flip" }, + "alt=true,east=true,flip=true,north=false,south=true,upper=2,west=false": { "model": "fire_neu2_alt_flip", "y": 90 }, + "alt=true,east=false,flip=true,north=false,south=true,upper=2,west=true": { "model": "fire_neu2_alt_flip", "y": 180 }, + "alt=true,east=false,flip=true,north=true,south=false,upper=2,west=true": { "model": "fire_neu2_alt_flip", "y": 270 }, + "alt=true,east=false,flip=true,north=true,south=true,upper=2,west=false": { "model": "fire_nsu2_alt_flip" }, + "alt=true,east=true,flip=true,north=false,south=false,upper=2,west=true": { "model": "fire_nsu2_alt_flip", "y": 90 }, + "alt=true,east=true,flip=true,north=true,south=true,upper=2,west=false": { "model": "fire_nseu2_alt_flip" }, + "alt=true,east=true,flip=true,north=false,south=true,upper=2,west=true": { "model": "fire_nseu2_alt_flip", "y": 90 }, + "alt=true,east=false,flip=true,north=true,south=true,upper=2,west=true": { "model": "fire_nseu2_alt_flip", "y": 180 }, + "alt=true,east=true,flip=true,north=true,south=false,upper=2,west=true": { "model": "fire_nseu2_alt_flip", "y": 270 }, + "alt=true,east=true,flip=true,north=true,south=true,upper=2,west=true": { "model": "fire_nsewu2_alt_flip" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/flower_pot.json b/desktopRuntime/resources/assets/minecraft/blockstates/flower_pot.json new file mode 100644 index 0000000..0658f2e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/flower_pot.json @@ -0,0 +1,26 @@ +{ + "variants": { + "contents=empty": { "model": "flower_pot" }, + "contents=rose": { "model": "flower_pot_rose" }, + "contents=blue_orchid": { "model": "flower_pot_orchid" }, + "contents=allium": { "model": "flower_pot_allium" }, + "contents=houstonia": { "model": "flower_pot_houstonia" }, + "contents=red_tulip": { "model": "flower_pot_tulip_red" }, + "contents=orange_tulip": { "model": "flower_pot_tulip_orange" }, + "contents=white_tulip": { "model": "flower_pot_tulip_white" }, + "contents=pink_tulip": { "model": "flower_pot_tulip_pink" }, + "contents=oxeye_daisy": { "model": "flower_pot_daisy" }, + "contents=dandelion": { "model": "flower_pot_dandelion" }, + "contents=oak_sapling": { "model": "flower_pot_oak" }, + "contents=spruce_sapling": { "model": "flower_pot_spruce" }, + "contents=birch_sapling": { "model": "flower_pot_birch" }, + "contents=jungle_sapling": { "model": "flower_pot_jungle" }, + "contents=acacia_sapling": { "model": "flower_pot_acacia" }, + "contents=dark_oak_sapling": { "model": "flower_pot_dark_oak" }, + "contents=mushroom_red": { "model": "flower_pot_mushroom_red" }, + "contents=mushroom_brown": { "model": "flower_pot_mushroom_brown" }, + "contents=dead_bush": { "model": "flower_pot_dead_bush" }, + "contents=fern": { "model": "flower_pot_fern" }, + "contents=cactus": { "model": "flower_pot_cactus" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/frosted_ice.json b/desktopRuntime/resources/assets/minecraft/blockstates/frosted_ice.json new file mode 100644 index 0000000..278dbba --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/frosted_ice.json @@ -0,0 +1,8 @@ +{ + "variants": { + "age=0": { "model": "frosted_ice_0" }, + "age=1": { "model": "frosted_ice_1" }, + "age=2": { "model": "frosted_ice_2" }, + "age=3": { "model": "frosted_ice_3" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/furnace.json b/desktopRuntime/resources/assets/minecraft/blockstates/furnace.json new file mode 100644 index 0000000..7d68539 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/furnace.json @@ -0,0 +1,8 @@ +{ + "variants": { + "facing=north": { "model": "furnace" }, + "facing=south": { "model": "furnace", "y": 180 }, + "facing=west": { "model": "furnace", "y": 270 }, + "facing=east": { "model": "furnace", "y": 90 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/glass.json b/desktopRuntime/resources/assets/minecraft/blockstates/glass.json new file mode 100644 index 0000000..21f793e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/glass.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "glass" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/glass_pane.json b/desktopRuntime/resources/assets/minecraft/blockstates/glass_pane.json new file mode 100644 index 0000000..c5abaf3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/glass_pane.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "glass_pane_nsew" }, + "east=false,north=true,south=false,west=false": { "model": "glass_pane_n" }, + "east=true,north=false,south=false,west=false": { "model": "glass_pane_n", "y": 90 }, + "east=false,north=false,south=true,west=false": { "model": "glass_pane_n", "y": 180 }, + "east=false,north=false,south=false,west=true": { "model": "glass_pane_n", "y": 270 }, + "east=true,north=true,south=false,west=false": { "model": "glass_pane_ne" }, + "east=true,north=false,south=true,west=false": { "model": "glass_pane_ne", "y": 90 }, + "east=false,north=false,south=true,west=true": { "model": "glass_pane_ne", "y": 180 }, + "east=false,north=true,south=false,west=true": { "model": "glass_pane_ne", "y": 270 }, + "east=false,north=true,south=true,west=false": { "model": "glass_pane_ns" }, + "east=true,north=false,south=false,west=true": { "model": "glass_pane_ns", "y": 90 }, + "east=true,north=true,south=true,west=false": { "model": "glass_pane_nse" }, + "east=true,north=false,south=true,west=true": { "model": "glass_pane_nse", "y": 90 }, + "east=false,north=true,south=true,west=true": { "model": "glass_pane_nse", "y": 180 }, + "east=true,north=true,south=false,west=true": { "model": "glass_pane_nse", "y": 270 }, + "east=true,north=true,south=true,west=true": { "model": "glass_pane_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/glowstone.json b/desktopRuntime/resources/assets/minecraft/blockstates/glowstone.json new file mode 100644 index 0000000..bb47454 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/glowstone.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "glowstone" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/gold_block.json b/desktopRuntime/resources/assets/minecraft/blockstates/gold_block.json new file mode 100644 index 0000000..3845d23 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/gold_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "gold_block" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/gold_ore.json b/desktopRuntime/resources/assets/minecraft/blockstates/gold_ore.json new file mode 100644 index 0000000..ce4930d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/gold_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "gold_ore" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/golden_rail.json b/desktopRuntime/resources/assets/minecraft/blockstates/golden_rail.json new file mode 100644 index 0000000..ca4cb41 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/golden_rail.json @@ -0,0 +1,16 @@ +{ + "variants": { + "powered=false,shape=north_south": { "model": "golden_rail_flat" }, + "powered=false,shape=east_west": { "model": "golden_rail_flat", "y": 90 }, + "powered=false,shape=ascending_east": { "model": "golden_rail_raised_ne", "y": 90 }, + "powered=false,shape=ascending_west": { "model": "golden_rail_raised_sw", "y": 90 }, + "powered=false,shape=ascending_north": { "model": "golden_rail_raised_ne" }, + "powered=false,shape=ascending_south": { "model": "golden_rail_raised_sw" }, + "powered=true,shape=north_south": { "model": "golden_rail_active_flat" }, + "powered=true,shape=east_west": { "model": "golden_rail_active_flat", "y": 90 }, + "powered=true,shape=ascending_east": { "model": "golden_rail_active_raised_ne", "y": 90 }, + "powered=true,shape=ascending_west": { "model": "golden_rail_active_raised_sw", "y": 90 }, + "powered=true,shape=ascending_north": { "model": "golden_rail_active_raised_ne" }, + "powered=true,shape=ascending_south": { "model": "golden_rail_active_raised_sw" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/granite.json b/desktopRuntime/resources/assets/minecraft/blockstates/granite.json new file mode 100644 index 0000000..d1cb8c1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/granite.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "granite" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/grass.json b/desktopRuntime/resources/assets/minecraft/blockstates/grass.json new file mode 100644 index 0000000..e9576b4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/grass.json @@ -0,0 +1,11 @@ +{ + "variants": { + "snowy=false": [ + { "model": "grass_normal" }, + { "model": "grass_normal", "y": 90 }, + { "model": "grass_normal", "y": 180 }, + { "model": "grass_normal", "y": 270 } + ], + "snowy=true": { "model": "grass_snowed" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/grass_path.json b/desktopRuntime/resources/assets/minecraft/blockstates/grass_path.json new file mode 100644 index 0000000..e327847 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/grass_path.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "grass_path" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/gravel.json b/desktopRuntime/resources/assets/minecraft/blockstates/gravel.json new file mode 100644 index 0000000..6cbcc83 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/gravel.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "gravel" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/gray_carpet.json b/desktopRuntime/resources/assets/minecraft/blockstates/gray_carpet.json new file mode 100644 index 0000000..fb48eae --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/gray_carpet.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "carpet_gray" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/gray_stained_glass.json b/desktopRuntime/resources/assets/minecraft/blockstates/gray_stained_glass.json new file mode 100644 index 0000000..9163453 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/gray_stained_glass.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "glass_gray" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/gray_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/blockstates/gray_stained_glass_pane.json new file mode 100644 index 0000000..01e0e1c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/gray_stained_glass_pane.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "gray_pane_nsew" }, + "east=false,north=true,south=false,west=false": { "model": "gray_pane_n" }, + "east=true,north=false,south=false,west=false": { "model": "gray_pane_n", "y": 90 }, + "east=false,north=false,south=true,west=false": { "model": "gray_pane_s" }, + "east=false,north=false,south=false,west=true": { "model": "gray_pane_s", "y": 90 }, + "east=true,north=true,south=false,west=false": { "model": "gray_pane_ne" }, + "east=true,north=false,south=true,west=false": { "model": "gray_pane_se" }, + "east=false,north=false,south=true,west=true": { "model": "gray_pane_sw" }, + "east=false,north=true,south=false,west=true": { "model": "gray_pane_nw" }, + "east=false,north=true,south=true,west=false": { "model": "gray_pane_ns" }, + "east=true,north=false,south=false,west=true": { "model": "gray_pane_ns", "y": 90 }, + "east=true,north=true,south=true,west=false": { "model": "gray_pane_nse" }, + "east=true,north=false,south=true,west=true": { "model": "gray_pane_sew" }, + "east=false,north=true,south=true,west=true": { "model": "gray_pane_nsw" }, + "east=true,north=true,south=false,west=true": { "model": "gray_pane_new" }, + "east=true,north=true,south=true,west=true": { "model": "gray_pane_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/gray_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/blockstates/gray_stained_hardened_clay.json new file mode 100644 index 0000000..272d95b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/gray_stained_hardened_clay.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hardened_clay_gray" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/gray_wool.json b/desktopRuntime/resources/assets/minecraft/blockstates/gray_wool.json new file mode 100644 index 0000000..7c90870 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/gray_wool.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "gray_wool" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/green_carpet.json b/desktopRuntime/resources/assets/minecraft/blockstates/green_carpet.json new file mode 100644 index 0000000..265b564 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/green_carpet.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "carpet_green" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/green_stained_glass.json b/desktopRuntime/resources/assets/minecraft/blockstates/green_stained_glass.json new file mode 100644 index 0000000..e7bc0f2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/green_stained_glass.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "glass_green" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/green_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/blockstates/green_stained_glass_pane.json new file mode 100644 index 0000000..e076758 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/green_stained_glass_pane.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "green_pane_nsew" }, + "east=false,north=true,south=false,west=false": { "model": "green_pane_n" }, + "east=true,north=false,south=false,west=false": { "model": "green_pane_n", "y": 90 }, + "east=false,north=false,south=true,west=false": { "model": "green_pane_s" }, + "east=false,north=false,south=false,west=true": { "model": "green_pane_s", "y": 90 }, + "east=true,north=true,south=false,west=false": { "model": "green_pane_ne" }, + "east=true,north=false,south=true,west=false": { "model": "green_pane_se" }, + "east=false,north=false,south=true,west=true": { "model": "green_pane_sw" }, + "east=false,north=true,south=false,west=true": { "model": "green_pane_nw" }, + "east=false,north=true,south=true,west=false": { "model": "green_pane_ns" }, + "east=true,north=false,south=false,west=true": { "model": "green_pane_ns", "y": 90 }, + "east=true,north=true,south=true,west=false": { "model": "green_pane_nse" }, + "east=true,north=false,south=true,west=true": { "model": "green_pane_sew" }, + "east=false,north=true,south=true,west=true": { "model": "green_pane_nsw" }, + "east=true,north=true,south=false,west=true": { "model": "green_pane_new" }, + "east=true,north=true,south=true,west=true": { "model": "green_pane_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/green_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/blockstates/green_stained_hardened_clay.json new file mode 100644 index 0000000..6fb1f6c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/green_stained_hardened_clay.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hardened_clay_green" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/green_wool.json b/desktopRuntime/resources/assets/minecraft/blockstates/green_wool.json new file mode 100644 index 0000000..34d84e7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/green_wool.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "green_wool" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/hardened_clay.json b/desktopRuntime/resources/assets/minecraft/blockstates/hardened_clay.json new file mode 100644 index 0000000..cb38687 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/hardened_clay.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hardened_clay" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/hay_block.json b/desktopRuntime/resources/assets/minecraft/blockstates/hay_block.json new file mode 100644 index 0000000..a9d77c2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/hay_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "axis=y": { "model": "hay" }, + "axis=z": { "model": "hay_side" }, + "axis=x": { "model": "hay_side", "y": 90 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/heavy_weighted_pressure_plate.json b/desktopRuntime/resources/assets/minecraft/blockstates/heavy_weighted_pressure_plate.json new file mode 100644 index 0000000..11e524c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/heavy_weighted_pressure_plate.json @@ -0,0 +1,20 @@ +{ + "variants": { + "power=0": { "model": "heavy_pressure_plate_up" }, + "power=1": { "model": "heavy_pressure_plate_down" }, + "power=2": { "model": "heavy_pressure_plate_down" }, + "power=3": { "model": "heavy_pressure_plate_down" }, + "power=4": { "model": "heavy_pressure_plate_down" }, + "power=5": { "model": "heavy_pressure_plate_down" }, + "power=6": { "model": "heavy_pressure_plate_down" }, + "power=7": { "model": "heavy_pressure_plate_down" }, + "power=8": { "model": "heavy_pressure_plate_down" }, + "power=9": { "model": "heavy_pressure_plate_down" }, + "power=10": { "model": "heavy_pressure_plate_down" }, + "power=11": { "model": "heavy_pressure_plate_down" }, + "power=12": { "model": "heavy_pressure_plate_down" }, + "power=13": { "model": "heavy_pressure_plate_down" }, + "power=14": { "model": "heavy_pressure_plate_down" }, + "power=15": { "model": "heavy_pressure_plate_down" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/hopper.json b/desktopRuntime/resources/assets/minecraft/blockstates/hopper.json new file mode 100644 index 0000000..24f5305 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/hopper.json @@ -0,0 +1,9 @@ +{ + "variants": { + "facing=down": { "model": "hopper_down" }, + "facing=north": { "model": "hopper_side" }, + "facing=south": { "model": "hopper_side", "y": 180 }, + "facing=west": { "model": "hopper_side", "y": 270 }, + "facing=east": { "model": "hopper_side", "y": 90 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/houstonia.json b/desktopRuntime/resources/assets/minecraft/blockstates/houstonia.json new file mode 100644 index 0000000..655ba02 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/houstonia.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "houstonia" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/ice.json b/desktopRuntime/resources/assets/minecraft/blockstates/ice.json new file mode 100644 index 0000000..8012231 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/ice.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "ice" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/iron_bars.json b/desktopRuntime/resources/assets/minecraft/blockstates/iron_bars.json new file mode 100644 index 0000000..38751df --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/iron_bars.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "bars_nsew" }, + "east=false,north=true,south=false,west=false": { "model": "bars_n" }, + "east=true,north=false,south=false,west=false": { "model": "bars_n", "y": 90 }, + "east=false,north=false,south=true,west=false": { "model": "bars_n", "y": 180 }, + "east=false,north=false,south=false,west=true": { "model": "bars_n", "y": 270 }, + "east=true,north=true,south=false,west=false": { "model": "bars_ne" }, + "east=true,north=false,south=true,west=false": { "model": "bars_ne", "y": 90 }, + "east=false,north=false,south=true,west=true": { "model": "bars_ne", "y": 180 }, + "east=false,north=true,south=false,west=true": { "model": "bars_ne", "y": 270 }, + "east=false,north=true,south=true,west=false": { "model": "bars_ns" }, + "east=true,north=false,south=false,west=true": { "model": "bars_ns", "y": 90 }, + "east=true,north=true,south=true,west=false": { "model": "bars_nse" }, + "east=true,north=false,south=true,west=true": { "model": "bars_nse", "y": 90 }, + "east=false,north=true,south=true,west=true": { "model": "bars_nse", "y": 180 }, + "east=true,north=true,south=false,west=true": { "model": "bars_nse", "y": 270 }, + "east=true,north=true,south=true,west=true": { "model": "bars_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/iron_block.json b/desktopRuntime/resources/assets/minecraft/blockstates/iron_block.json new file mode 100644 index 0000000..eca5c0d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/iron_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "iron_block" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/iron_door.json b/desktopRuntime/resources/assets/minecraft/blockstates/iron_door.json new file mode 100644 index 0000000..ceb809e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/iron_door.json @@ -0,0 +1,36 @@ +{ + "variants": { + "facing=east,half=lower,hinge=left,open=false": { "model": "iron_door_bottom" }, + "facing=south,half=lower,hinge=left,open=false": { "model": "iron_door_bottom", "y": 90 }, + "facing=west,half=lower,hinge=left,open=false": { "model": "iron_door_bottom", "y": 180 }, + "facing=north,half=lower,hinge=left,open=false": { "model": "iron_door_bottom", "y": 270 }, + "facing=east,half=lower,hinge=right,open=false": { "model": "iron_door_bottom_rh" }, + "facing=south,half=lower,hinge=right,open=false": { "model": "iron_door_bottom_rh", "y": 90 }, + "facing=west,half=lower,hinge=right,open=false": { "model": "iron_door_bottom_rh", "y": 180 }, + "facing=north,half=lower,hinge=right,open=false": { "model": "iron_door_bottom_rh", "y": 270 }, + "facing=east,half=lower,hinge=left,open=true": { "model": "iron_door_bottom_rh", "y": 90 }, + "facing=south,half=lower,hinge=left,open=true": { "model": "iron_door_bottom_rh", "y": 180 }, + "facing=west,half=lower,hinge=left,open=true": { "model": "iron_door_bottom_rh", "y": 270 }, + "facing=north,half=lower,hinge=left,open=true": { "model": "iron_door_bottom_rh" }, + "facing=east,half=lower,hinge=right,open=true": { "model": "iron_door_bottom", "y": 270 }, + "facing=south,half=lower,hinge=right,open=true": { "model": "iron_door_bottom" }, + "facing=west,half=lower,hinge=right,open=true": { "model": "iron_door_bottom", "y": 90 }, + "facing=north,half=lower,hinge=right,open=true": { "model": "iron_door_bottom", "y": 180 }, + "facing=east,half=upper,hinge=left,open=false": { "model": "iron_door_top" }, + "facing=south,half=upper,hinge=left,open=false": { "model": "iron_door_top", "y": 90 }, + "facing=west,half=upper,hinge=left,open=false": { "model": "iron_door_top", "y": 180 }, + "facing=north,half=upper,hinge=left,open=false": { "model": "iron_door_top", "y": 270 }, + "facing=east,half=upper,hinge=right,open=false": { "model": "iron_door_top_rh" }, + "facing=south,half=upper,hinge=right,open=false": { "model": "iron_door_top_rh", "y": 90 }, + "facing=west,half=upper,hinge=right,open=false": { "model": "iron_door_top_rh", "y": 180 }, + "facing=north,half=upper,hinge=right,open=false": { "model": "iron_door_top_rh", "y": 270 }, + "facing=east,half=upper,hinge=left,open=true": { "model": "iron_door_top_rh", "y": 90 }, + "facing=south,half=upper,hinge=left,open=true": { "model": "iron_door_top_rh", "y": 180 }, + "facing=west,half=upper,hinge=left,open=true": { "model": "iron_door_top_rh", "y": 270 }, + "facing=north,half=upper,hinge=left,open=true": { "model": "iron_door_top_rh" }, + "facing=east,half=upper,hinge=right,open=true": { "model": "iron_door_top", "y": 270 }, + "facing=south,half=upper,hinge=right,open=true": { "model": "iron_door_top" }, + "facing=west,half=upper,hinge=right,open=true": { "model": "iron_door_top", "y": 90 }, + "facing=north,half=upper,hinge=right,open=true": { "model": "iron_door_top", "y": 180 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/iron_ore.json b/desktopRuntime/resources/assets/minecraft/blockstates/iron_ore.json new file mode 100644 index 0000000..3365f5e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/iron_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "iron_ore" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/iron_trapdoor.json b/desktopRuntime/resources/assets/minecraft/blockstates/iron_trapdoor.json new file mode 100644 index 0000000..13c116e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/iron_trapdoor.json @@ -0,0 +1,20 @@ +{ + "variants": { + "facing=north,half=bottom,open=false": { "model": "iron_trapdoor_bottom" }, + "facing=south,half=bottom,open=false": { "model": "iron_trapdoor_bottom" }, + "facing=east,half=bottom,open=false": { "model": "iron_trapdoor_bottom" }, + "facing=west,half=bottom,open=false": { "model": "iron_trapdoor_bottom" }, + "facing=north,half=top,open=false": { "model": "iron_trapdoor_top" }, + "facing=south,half=top,open=false": { "model": "iron_trapdoor_top" }, + "facing=east,half=top,open=false": { "model": "iron_trapdoor_top" }, + "facing=west,half=top,open=false": { "model": "iron_trapdoor_top" }, + "facing=north,half=bottom,open=true": { "model": "iron_trapdoor_open" }, + "facing=south,half=bottom,open=true": { "model": "iron_trapdoor_open", "y": 180 }, + "facing=east,half=bottom,open=true": { "model": "iron_trapdoor_open", "y": 90 }, + "facing=west,half=bottom,open=true": { "model": "iron_trapdoor_open", "y": 270 }, + "facing=north,half=top,open=true": { "model": "iron_trapdoor_open" }, + "facing=south,half=top,open=true": { "model": "iron_trapdoor_open", "y": 180 }, + "facing=east,half=top,open=true": { "model": "iron_trapdoor_open", "y": 90 }, + "facing=west,half=top,open=true": { "model": "iron_trapdoor_open", "y": 270 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/item_frame.json b/desktopRuntime/resources/assets/minecraft/blockstates/item_frame.json new file mode 100644 index 0000000..b7bbebb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/item_frame.json @@ -0,0 +1,6 @@ +{ + "variants": { + "normal": { "model": "item_frame" }, + "map": { "model": "item_frame_map" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/jukebox.json b/desktopRuntime/resources/assets/minecraft/blockstates/jukebox.json new file mode 100644 index 0000000..6e6d0da --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/jukebox.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "jukebox" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/jungle_door.json b/desktopRuntime/resources/assets/minecraft/blockstates/jungle_door.json new file mode 100644 index 0000000..5988133 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/jungle_door.json @@ -0,0 +1,36 @@ +{ + "variants": { + "facing=east,half=lower,hinge=left,open=false": { "model": "jungle_door_bottom" }, + "facing=south,half=lower,hinge=left,open=false": { "model": "jungle_door_bottom", "y": 90 }, + "facing=west,half=lower,hinge=left,open=false": { "model": "jungle_door_bottom", "y": 180 }, + "facing=north,half=lower,hinge=left,open=false": { "model": "jungle_door_bottom", "y": 270 }, + "facing=east,half=lower,hinge=right,open=false": { "model": "jungle_door_bottom_rh" }, + "facing=south,half=lower,hinge=right,open=false": { "model": "jungle_door_bottom_rh", "y": 90 }, + "facing=west,half=lower,hinge=right,open=false": { "model": "jungle_door_bottom_rh", "y": 180 }, + "facing=north,half=lower,hinge=right,open=false": { "model": "jungle_door_bottom_rh", "y": 270 }, + "facing=east,half=lower,hinge=left,open=true": { "model": "jungle_door_bottom_rh", "y": 90 }, + "facing=south,half=lower,hinge=left,open=true": { "model": "jungle_door_bottom_rh", "y": 180 }, + "facing=west,half=lower,hinge=left,open=true": { "model": "jungle_door_bottom_rh", "y": 270 }, + "facing=north,half=lower,hinge=left,open=true": { "model": "jungle_door_bottom_rh" }, + "facing=east,half=lower,hinge=right,open=true": { "model": "jungle_door_bottom", "y": 270 }, + "facing=south,half=lower,hinge=right,open=true": { "model": "jungle_door_bottom" }, + "facing=west,half=lower,hinge=right,open=true": { "model": "jungle_door_bottom", "y": 90 }, + "facing=north,half=lower,hinge=right,open=true": { "model": "jungle_door_bottom", "y": 180 }, + "facing=east,half=upper,hinge=left,open=false": { "model": "jungle_door_top" }, + "facing=south,half=upper,hinge=left,open=false": { "model": "jungle_door_top", "y": 90 }, + "facing=west,half=upper,hinge=left,open=false": { "model": "jungle_door_top", "y": 180 }, + "facing=north,half=upper,hinge=left,open=false": { "model": "jungle_door_top", "y": 270 }, + "facing=east,half=upper,hinge=right,open=false": { "model": "jungle_door_top_rh" }, + "facing=south,half=upper,hinge=right,open=false": { "model": "jungle_door_top_rh", "y": 90 }, + "facing=west,half=upper,hinge=right,open=false": { "model": "jungle_door_top_rh", "y": 180 }, + "facing=north,half=upper,hinge=right,open=false": { "model": "jungle_door_top_rh", "y": 270 }, + "facing=east,half=upper,hinge=left,open=true": { "model": "jungle_door_top_rh", "y": 90 }, + "facing=south,half=upper,hinge=left,open=true": { "model": "jungle_door_top_rh", "y": 180 }, + "facing=west,half=upper,hinge=left,open=true": { "model": "jungle_door_top_rh", "y": 270 }, + "facing=north,half=upper,hinge=left,open=true": { "model": "jungle_door_top_rh" }, + "facing=east,half=upper,hinge=right,open=true": { "model": "jungle_door_top", "y": 270 }, + "facing=south,half=upper,hinge=right,open=true": { "model": "jungle_door_top" }, + "facing=west,half=upper,hinge=right,open=true": { "model": "jungle_door_top", "y": 90 }, + "facing=north,half=upper,hinge=right,open=true": { "model": "jungle_door_top", "y": 180 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/jungle_double_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/jungle_double_slab.json new file mode 100644 index 0000000..5c863ec --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/jungle_double_slab.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "jungle_planks" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/jungle_fence.json b/desktopRuntime/resources/assets/minecraft/blockstates/jungle_fence.json new file mode 100644 index 0000000..6709e58 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/jungle_fence.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "jungle_fence_post" }, + "east=false,north=true,south=false,west=false": { "model": "jungle_fence_n", "uvlock": true }, + "east=true,north=false,south=false,west=false": { "model": "jungle_fence_n", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,west=false": { "model": "jungle_fence_n", "y": 180, "uvlock": true }, + "east=false,north=false,south=false,west=true": { "model": "jungle_fence_n", "y": 270, "uvlock": true }, + "east=true,north=true,south=false,west=false": { "model": "jungle_fence_ne", "uvlock": true }, + "east=true,north=false,south=true,west=false": { "model": "jungle_fence_ne", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,west=true": { "model": "jungle_fence_ne", "y": 180, "uvlock": true }, + "east=false,north=true,south=false,west=true": { "model": "jungle_fence_ne", "y": 270, "uvlock": true }, + "east=false,north=true,south=true,west=false": { "model": "jungle_fence_ns", "uvlock": true }, + "east=true,north=false,south=false,west=true": { "model": "jungle_fence_ns", "y": 90, "uvlock": true }, + "east=true,north=true,south=true,west=false": { "model": "jungle_fence_nse", "uvlock": true }, + "east=true,north=false,south=true,west=true": { "model": "jungle_fence_nse", "y": 90, "uvlock": true }, + "east=false,north=true,south=true,west=true": { "model": "jungle_fence_nse", "y": 180, "uvlock": true }, + "east=true,north=true,south=false,west=true": { "model": "jungle_fence_nse", "y": 270, "uvlock": true }, + "east=true,north=true,south=true,west=true": { "model": "jungle_fence_nsew", "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/jungle_fence_gate.json b/desktopRuntime/resources/assets/minecraft/blockstates/jungle_fence_gate.json new file mode 100644 index 0000000..c82ebd1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/jungle_fence_gate.json @@ -0,0 +1,20 @@ +{ + "variants": { + "facing=south,in_wall=false,open=false": { "model": "jungle_fence_gate_closed" }, + "facing=west,in_wall=false,open=false": { "model": "jungle_fence_gate_closed", "y": 90, "uvlock": true }, + "facing=north,in_wall=false,open=false": { "model": "jungle_fence_gate_closed", "y": 180, "uvlock": true }, + "facing=east,in_wall=false,open=false": { "model": "jungle_fence_gate_closed", "y": 270, "uvlock": true }, + "facing=south,in_wall=false,open=true": { "model": "jungle_fence_gate_open" }, + "facing=west,in_wall=false,open=true": { "model": "jungle_fence_gate_open", "y": 90, "uvlock": true }, + "facing=north,in_wall=false,open=true": { "model": "jungle_fence_gate_open", "y": 180, "uvlock": true }, + "facing=east,in_wall=false,open=true": { "model": "jungle_fence_gate_open", "y": 270, "uvlock": true }, + "facing=south,in_wall=true,open=false": { "model": "jungle_wall_gate_closed" }, + "facing=west,in_wall=true,open=false": { "model": "jungle_wall_gate_closed", "y": 90, "uvlock": true }, + "facing=north,in_wall=true,open=false": { "model": "jungle_wall_gate_closed", "y": 180, "uvlock": true }, + "facing=east,in_wall=true,open=false": { "model": "jungle_wall_gate_closed", "y": 270, "uvlock": true }, + "facing=south,in_wall=true,open=true": { "model": "jungle_wall_gate_open" }, + "facing=west,in_wall=true,open=true": { "model": "jungle_wall_gate_open", "y": 90, "uvlock": true }, + "facing=north,in_wall=true,open=true": { "model": "jungle_wall_gate_open", "y": 180, "uvlock": true }, + "facing=east,in_wall=true,open=true": { "model": "jungle_wall_gate_open", "y": 270, "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/jungle_leaves.json b/desktopRuntime/resources/assets/minecraft/blockstates/jungle_leaves.json new file mode 100644 index 0000000..e1f30d9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/jungle_leaves.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "jungle_leaves" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/jungle_log.json b/desktopRuntime/resources/assets/minecraft/blockstates/jungle_log.json new file mode 100644 index 0000000..e710e2f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/jungle_log.json @@ -0,0 +1,8 @@ +{ + "variants": { + "axis=y": { "model": "jungle_log" }, + "axis=z": { "model": "jungle_log_side" }, + "axis=x": { "model": "jungle_log_side", "y": 90 }, + "axis=none": { "model": "jungle_bark" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/jungle_planks.json b/desktopRuntime/resources/assets/minecraft/blockstates/jungle_planks.json new file mode 100644 index 0000000..5c863ec --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/jungle_planks.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "jungle_planks" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/jungle_sapling.json b/desktopRuntime/resources/assets/minecraft/blockstates/jungle_sapling.json new file mode 100644 index 0000000..5439171 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/jungle_sapling.json @@ -0,0 +1,6 @@ +{ + "variants": { + "stage=0": { "model": "jungle_sapling" }, + "stage=1": { "model": "jungle_sapling" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/jungle_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/jungle_slab.json new file mode 100644 index 0000000..07b026f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/jungle_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom": { "model": "half_slab_jungle" }, + "half=top": { "model": "upper_slab_jungle" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/jungle_stairs.json b/desktopRuntime/resources/assets/minecraft/blockstates/jungle_stairs.json new file mode 100644 index 0000000..18f8c10 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/jungle_stairs.json @@ -0,0 +1,44 @@ +{ + "variants": { + "facing=east,half=bottom,shape=straight": { "model": "jungle_stairs" }, + "facing=west,half=bottom,shape=straight": { "model": "jungle_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=straight": { "model": "jungle_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=straight": { "model": "jungle_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_right": { "model": "jungle_outer_stairs" }, + "facing=west,half=bottom,shape=outer_right": { "model": "jungle_outer_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=outer_right": { "model": "jungle_outer_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=outer_right": { "model": "jungle_outer_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_left": { "model": "jungle_outer_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=outer_left": { "model": "jungle_outer_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=outer_left": { "model": "jungle_outer_stairs" }, + "facing=north,half=bottom,shape=outer_left": { "model": "jungle_outer_stairs", "y": 180, "uvlock": true }, + "facing=east,half=bottom,shape=inner_right": { "model": "jungle_inner_stairs" }, + "facing=west,half=bottom,shape=inner_right": { "model": "jungle_inner_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=inner_right": { "model": "jungle_inner_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=inner_right": { "model": "jungle_inner_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=inner_left": { "model": "jungle_inner_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=inner_left": { "model": "jungle_inner_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=inner_left": { "model": "jungle_inner_stairs" }, + "facing=north,half=bottom,shape=inner_left": { "model": "jungle_inner_stairs", "y": 180, "uvlock": true }, + "facing=east,half=top,shape=straight": { "model": "jungle_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=straight": { "model": "jungle_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=straight": { "model": "jungle_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=straight": { "model": "jungle_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_right": { "model": "jungle_outer_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=outer_right": { "model": "jungle_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=outer_right": { "model": "jungle_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=outer_right": { "model": "jungle_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_left": { "model": "jungle_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=outer_left": { "model": "jungle_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=outer_left": { "model": "jungle_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=outer_left": { "model": "jungle_outer_stairs", "x": 180, "uvlock": true }, + "facing=east,half=top,shape=inner_right": { "model": "jungle_inner_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=inner_right": { "model": "jungle_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=inner_right": { "model": "jungle_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=inner_right": { "model": "jungle_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=inner_left": { "model": "jungle_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=inner_left": { "model": "jungle_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=inner_left": { "model": "jungle_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=inner_left": { "model": "jungle_inner_stairs", "x": 180, "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/ladder.json b/desktopRuntime/resources/assets/minecraft/blockstates/ladder.json new file mode 100644 index 0000000..8e6c6d6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/ladder.json @@ -0,0 +1,8 @@ +{ + "variants": { + "facing=north": { "model": "ladder" }, + "facing=east": { "model": "ladder", "y": 90 }, + "facing=south": { "model": "ladder", "y": 180 }, + "facing=west": { "model": "ladder", "y": 270 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/lapis_block.json b/desktopRuntime/resources/assets/minecraft/blockstates/lapis_block.json new file mode 100644 index 0000000..1421db7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/lapis_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "lapis_block" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/lapis_ore.json b/desktopRuntime/resources/assets/minecraft/blockstates/lapis_ore.json new file mode 100644 index 0000000..2ab096e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/lapis_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "lapis_ore" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/lever.json b/desktopRuntime/resources/assets/minecraft/blockstates/lever.json new file mode 100644 index 0000000..5678f68 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/lever.json @@ -0,0 +1,20 @@ +{ + "variants": { + "facing=down_z,powered=false": { "model": "lever_off", "x": 180, "y": 180 }, + "facing=down_x,powered=false": { "model": "lever_off", "x": 180, "y": 90 }, + "facing=up_z,powered=false": { "model": "lever_off" }, + "facing=up_x,powered=false": { "model": "lever_off", "y": 270 }, + "facing=east,powered=false": { "model": "lever_off", "x": 90, "y": 90 }, + "facing=west,powered=false": { "model": "lever_off", "x": 90, "y": 270 }, + "facing=south,powered=false" : { "model": "lever_off", "x": 90, "y": 180 }, + "facing=north,powered=false" : { "model": "lever_off", "x": 90 }, + "facing=down_z,powered=true" : { "model": "lever", "x": 180, "y": 180 }, + "facing=down_x,powered=true" : { "model": "lever", "x": 180, "y": 90 }, + "facing=up_z,powered=true": { "model": "lever" }, + "facing=up_x,powered=true": { "model": "lever", "y": 270 }, + "facing=east,powered=true": { "model": "lever", "x": 90, "y": 90 }, + "facing=west,powered=true": { "model": "lever", "x": 90, "y": 270 }, + "facing=south,powered=true": { "model": "lever", "x": 90, "y": 180 }, + "facing=north,powered=true": { "model": "lever", "x": 90 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/light_blue_carpet.json b/desktopRuntime/resources/assets/minecraft/blockstates/light_blue_carpet.json new file mode 100644 index 0000000..4337685 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/light_blue_carpet.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "carpet_light_blue" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/light_blue_stained_glass.json b/desktopRuntime/resources/assets/minecraft/blockstates/light_blue_stained_glass.json new file mode 100644 index 0000000..ddea4a4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/light_blue_stained_glass.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "glass_light_blue" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/light_blue_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/blockstates/light_blue_stained_glass_pane.json new file mode 100644 index 0000000..83c54f4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/light_blue_stained_glass_pane.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "light_blue_pane_nsew" }, + "east=false,north=true,south=false,west=false": { "model": "light_blue_pane_n" }, + "east=true,north=false,south=false,west=false": { "model": "light_blue_pane_n", "y": 90 }, + "east=false,north=false,south=true,west=false": { "model": "light_blue_pane_s" }, + "east=false,north=false,south=false,west=true": { "model": "light_blue_pane_s", "y": 90 }, + "east=true,north=true,south=false,west=false": { "model": "light_blue_pane_ne" }, + "east=true,north=false,south=true,west=false": { "model": "light_blue_pane_se" }, + "east=false,north=false,south=true,west=true": { "model": "light_blue_pane_sw" }, + "east=false,north=true,south=false,west=true": { "model": "light_blue_pane_nw" }, + "east=false,north=true,south=true,west=false": { "model": "light_blue_pane_ns" }, + "east=true,north=false,south=false,west=true": { "model": "light_blue_pane_ns", "y": 90 }, + "east=true,north=true,south=true,west=false": { "model": "light_blue_pane_nse" }, + "east=true,north=false,south=true,west=true": { "model": "light_blue_pane_sew" }, + "east=false,north=true,south=true,west=true": { "model": "light_blue_pane_nsw" }, + "east=true,north=true,south=false,west=true": { "model": "light_blue_pane_new" }, + "east=true,north=true,south=true,west=true": { "model": "light_blue_pane_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/light_blue_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/blockstates/light_blue_stained_hardened_clay.json new file mode 100644 index 0000000..f579a42 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/light_blue_stained_hardened_clay.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hardened_clay_light_blue" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/light_blue_wool.json b/desktopRuntime/resources/assets/minecraft/blockstates/light_blue_wool.json new file mode 100644 index 0000000..018e28f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/light_blue_wool.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "light_blue_wool" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/light_weighted_pressure_plate.json b/desktopRuntime/resources/assets/minecraft/blockstates/light_weighted_pressure_plate.json new file mode 100644 index 0000000..0d07c34 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/light_weighted_pressure_plate.json @@ -0,0 +1,20 @@ +{ + "variants": { + "power=0": { "model": "light_pressure_plate_up" }, + "power=1": { "model": "light_pressure_plate_down" }, + "power=2": { "model": "light_pressure_plate_down" }, + "power=3": { "model": "light_pressure_plate_down" }, + "power=4": { "model": "light_pressure_plate_down" }, + "power=5": { "model": "light_pressure_plate_down" }, + "power=6": { "model": "light_pressure_plate_down" }, + "power=7": { "model": "light_pressure_plate_down" }, + "power=8": { "model": "light_pressure_plate_down" }, + "power=9": { "model": "light_pressure_plate_down" }, + "power=10": { "model": "light_pressure_plate_down" }, + "power=11": { "model": "light_pressure_plate_down" }, + "power=12": { "model": "light_pressure_plate_down" }, + "power=13": { "model": "light_pressure_plate_down" }, + "power=14": { "model": "light_pressure_plate_down" }, + "power=15": { "model": "light_pressure_plate_down" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/lime_carpet.json b/desktopRuntime/resources/assets/minecraft/blockstates/lime_carpet.json new file mode 100644 index 0000000..f9ac304 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/lime_carpet.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "carpet_lime" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/lime_stained_glass.json b/desktopRuntime/resources/assets/minecraft/blockstates/lime_stained_glass.json new file mode 100644 index 0000000..8f747f7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/lime_stained_glass.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "glass_lime" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/lime_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/blockstates/lime_stained_glass_pane.json new file mode 100644 index 0000000..6655112 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/lime_stained_glass_pane.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "lime_pane_nsew" }, + "east=false,north=true,south=false,west=false": { "model": "lime_pane_n" }, + "east=true,north=false,south=false,west=false": { "model": "lime_pane_n", "y": 90 }, + "east=false,north=false,south=true,west=false": { "model": "lime_pane_s" }, + "east=false,north=false,south=false,west=true": { "model": "lime_pane_s", "y": 90 }, + "east=true,north=true,south=false,west=false": { "model": "lime_pane_ne" }, + "east=true,north=false,south=true,west=false": { "model": "lime_pane_se" }, + "east=false,north=false,south=true,west=true": { "model": "lime_pane_sw" }, + "east=false,north=true,south=false,west=true": { "model": "lime_pane_nw" }, + "east=false,north=true,south=true,west=false": { "model": "lime_pane_ns" }, + "east=true,north=false,south=false,west=true": { "model": "lime_pane_ns", "y": 90 }, + "east=true,north=true,south=true,west=false": { "model": "lime_pane_nse" }, + "east=true,north=false,south=true,west=true": { "model": "lime_pane_sew" }, + "east=false,north=true,south=true,west=true": { "model": "lime_pane_nsw" }, + "east=true,north=true,south=false,west=true": { "model": "lime_pane_new" }, + "east=true,north=true,south=true,west=true": { "model": "lime_pane_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/lime_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/blockstates/lime_stained_hardened_clay.json new file mode 100644 index 0000000..1fcba4b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/lime_stained_hardened_clay.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hardened_clay_lime" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/lime_wool.json b/desktopRuntime/resources/assets/minecraft/blockstates/lime_wool.json new file mode 100644 index 0000000..31849a6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/lime_wool.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "lime_wool" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/lit_furnace.json b/desktopRuntime/resources/assets/minecraft/blockstates/lit_furnace.json new file mode 100644 index 0000000..42aaa48 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/lit_furnace.json @@ -0,0 +1,8 @@ +{ + "variants": { + "facing=north": { "model": "lit_furnace" }, + "facing=south": { "model": "lit_furnace", "y": 180 }, + "facing=west": { "model": "lit_furnace", "y": 270 }, + "facing=east": { "model": "lit_furnace", "y": 90 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/lit_pumpkin.json b/desktopRuntime/resources/assets/minecraft/blockstates/lit_pumpkin.json new file mode 100644 index 0000000..bf1c4c4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/lit_pumpkin.json @@ -0,0 +1,8 @@ +{ + "variants": { + "facing=north": { "model": "lit_pumpkin" }, + "facing=south": { "model": "lit_pumpkin", "y": 180 }, + "facing=west": { "model": "lit_pumpkin", "y": 270 }, + "facing=east": { "model": "lit_pumpkin", "y": 90 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/lit_redstone_lamp.json b/desktopRuntime/resources/assets/minecraft/blockstates/lit_redstone_lamp.json new file mode 100644 index 0000000..bf419c9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/lit_redstone_lamp.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "lit_redstone_lamp" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/lit_redstone_ore.json b/desktopRuntime/resources/assets/minecraft/blockstates/lit_redstone_ore.json new file mode 100644 index 0000000..c324279 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/lit_redstone_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "lit_redstone_ore" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/magenta_carpet.json b/desktopRuntime/resources/assets/minecraft/blockstates/magenta_carpet.json new file mode 100644 index 0000000..859951c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/magenta_carpet.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "carpet_magenta" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/magenta_stained_glass.json b/desktopRuntime/resources/assets/minecraft/blockstates/magenta_stained_glass.json new file mode 100644 index 0000000..173e017 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/magenta_stained_glass.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "glass_magenta" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/magenta_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/blockstates/magenta_stained_glass_pane.json new file mode 100644 index 0000000..02aa3ca --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/magenta_stained_glass_pane.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "magenta_pane_nsew" }, + "east=false,north=true,south=false,west=false": { "model": "magenta_pane_n" }, + "east=true,north=false,south=false,west=false": { "model": "magenta_pane_n", "y": 90 }, + "east=false,north=false,south=true,west=false": { "model": "magenta_pane_s" }, + "east=false,north=false,south=false,west=true": { "model": "magenta_pane_s", "y": 90 }, + "east=true,north=true,south=false,west=false": { "model": "magenta_pane_ne" }, + "east=true,north=false,south=true,west=false": { "model": "magenta_pane_se" }, + "east=false,north=false,south=true,west=true": { "model": "magenta_pane_sw" }, + "east=false,north=true,south=false,west=true": { "model": "magenta_pane_nw" }, + "east=false,north=true,south=true,west=false": { "model": "magenta_pane_ns" }, + "east=true,north=false,south=false,west=true": { "model": "magenta_pane_ns", "y": 90 }, + "east=true,north=true,south=true,west=false": { "model": "magenta_pane_nse" }, + "east=true,north=false,south=true,west=true": { "model": "magenta_pane_sew" }, + "east=false,north=true,south=true,west=true": { "model": "magenta_pane_nsw" }, + "east=true,north=true,south=false,west=true": { "model": "magenta_pane_new" }, + "east=true,north=true,south=true,west=true": { "model": "magenta_pane_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/magenta_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/blockstates/magenta_stained_hardened_clay.json new file mode 100644 index 0000000..f380de6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/magenta_stained_hardened_clay.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hardened_clay_magenta" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/magenta_wool.json b/desktopRuntime/resources/assets/minecraft/blockstates/magenta_wool.json new file mode 100644 index 0000000..86d8c5f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/magenta_wool.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "magenta_wool" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/melon_block.json b/desktopRuntime/resources/assets/minecraft/blockstates/melon_block.json new file mode 100644 index 0000000..68909f1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/melon_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "melon" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/melon_stem.json b/desktopRuntime/resources/assets/minecraft/blockstates/melon_stem.json new file mode 100644 index 0000000..44519d6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/melon_stem.json @@ -0,0 +1,16 @@ +{ + "variants": { + "age=0,facing=up": { "model": "melon_stem_growth0" }, + "age=1,facing=up": { "model": "melon_stem_growth1" }, + "age=2,facing=up": { "model": "melon_stem_growth2" }, + "age=3,facing=up": { "model": "melon_stem_growth3" }, + "age=4,facing=up": { "model": "melon_stem_growth4" }, + "age=5,facing=up": { "model": "melon_stem_growth5" }, + "age=6,facing=up": { "model": "melon_stem_growth6" }, + "age=7,facing=up": { "model": "melon_stem_growth7" }, + "facing=west": { "model": "melon_stem_fruit" }, + "facing=east": { "model": "melon_stem_fruit", "y": 180 }, + "facing=north": { "model": "melon_stem_fruit", "y": 90 }, + "facing=south": { "model": "melon_stem_fruit", "y": 270 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/mob_spawner.json b/desktopRuntime/resources/assets/minecraft/blockstates/mob_spawner.json new file mode 100644 index 0000000..a90c112 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/mob_spawner.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "mob_spawner_cage" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/mossy_brick_monster_egg.json b/desktopRuntime/resources/assets/minecraft/blockstates/mossy_brick_monster_egg.json new file mode 100644 index 0000000..5a220cd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/mossy_brick_monster_egg.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "stonebrick_mossy" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/mossy_cobblestone.json b/desktopRuntime/resources/assets/minecraft/blockstates/mossy_cobblestone.json new file mode 100644 index 0000000..8c2387a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/mossy_cobblestone.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "mossy_cobblestone" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/mossy_cobblestone_wall.json b/desktopRuntime/resources/assets/minecraft/blockstates/mossy_cobblestone_wall.json new file mode 100644 index 0000000..063a33a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/mossy_cobblestone_wall.json @@ -0,0 +1,36 @@ +{ + "variants": { + "east=false,north=false,south=false,up=false,west=false": { "model": "mossy_wall_post" }, + "east=false,north=true,south=false,up=false,west=false": { "model": "mossy_wall_n" }, + "east=true,north=false,south=false,up=false,west=false": { "model": "mossy_wall_n", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,up=false,west=false": { "model": "mossy_wall_n", "y": 180, "uvlock": true }, + "east=false,north=false,south=false,up=false,west=true": { "model": "mossy_wall_n", "y": 270, "uvlock": true }, + "east=true,north=true,south=false,up=false,west=false": { "model": "mossy_wall_ne" }, + "east=true,north=false,south=true,up=false,west=false": { "model": "mossy_wall_ne", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,up=false,west=true": { "model": "mossy_wall_ne", "y": 180, "uvlock": true }, + "east=false,north=true,south=false,up=false,west=true": { "model": "mossy_wall_ne", "y": 270, "uvlock": true }, + "east=false,north=true,south=true,up=false,west=false": { "model": "mossy_wall_ns" }, + "east=true,north=false,south=false,up=false,west=true": { "model": "mossy_wall_ns", "y": 90, "uvlock": true }, + "east=true,north=true,south=true,up=false,west=false": { "model": "mossy_wall_nse" }, + "east=true,north=false,south=true,up=false,west=true": { "model": "mossy_wall_nse", "y": 90, "uvlock": true }, + "east=false,north=true,south=true,up=false,west=true": { "model": "mossy_wall_nse", "y": 180, "uvlock": true }, + "east=true,north=true,south=false,up=false,west=true": { "model": "mossy_wall_nse", "y": 270, "uvlock": true }, + "east=true,north=true,south=true,up=false,west=true": { "model": "mossy_wall_nsew" }, + "east=false,north=false,south=false,up=true,west=false": { "model": "mossy_wall_post" }, + "east=false,north=true,south=false,up=true,west=false": { "model": "mossy_wall_n" }, + "east=true,north=false,south=false,up=true,west=false": { "model": "mossy_wall_n", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,up=true,west=false": { "model": "mossy_wall_n", "y": 180, "uvlock": true }, + "east=false,north=false,south=false,up=true,west=true": { "model": "mossy_wall_n", "y": 270, "uvlock": true }, + "east=true,north=true,south=false,up=true,west=false": { "model": "mossy_wall_ne" }, + "east=true,north=false,south=true,up=true,west=false": { "model": "mossy_wall_ne", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,up=true,west=true": { "model": "mossy_wall_ne", "y": 180, "uvlock": true }, + "east=false,north=true,south=false,up=true,west=true": { "model": "mossy_wall_ne", "y": 270, "uvlock": true }, + "east=false,north=true,south=true,up=true,west=false": { "model": "mossy_wall_ns_above" }, + "east=true,north=false,south=false,up=true,west=true": { "model": "mossy_wall_ns_above", "y": 90, "uvlock": true }, + "east=true,north=true,south=true,up=true,west=false": { "model": "mossy_wall_nse" }, + "east=true,north=false,south=true,up=true,west=true": { "model": "mossy_wall_nse", "y": 90, "uvlock": true }, + "east=false,north=true,south=true,up=true,west=true": { "model": "mossy_wall_nse", "y": 180, "uvlock": true }, + "east=true,north=true,south=false,up=true,west=true": { "model": "mossy_wall_nse", "y": 270, "uvlock": true }, + "east=true,north=true,south=true,up=true,west=true": { "model": "mossy_wall_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/mossy_stonebrick.json b/desktopRuntime/resources/assets/minecraft/blockstates/mossy_stonebrick.json new file mode 100644 index 0000000..5a220cd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/mossy_stonebrick.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "stonebrick_mossy" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/mycelium.json b/desktopRuntime/resources/assets/minecraft/blockstates/mycelium.json new file mode 100644 index 0000000..015296d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/mycelium.json @@ -0,0 +1,6 @@ +{ + "variants": { + "snowy=false": { "model": "mycelium" }, + "snowy=true": { "model": "grass_snowed" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/nether_brick.json b/desktopRuntime/resources/assets/minecraft/blockstates/nether_brick.json new file mode 100644 index 0000000..c43139d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/nether_brick.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "nether_brick" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/nether_brick_double_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/nether_brick_double_slab.json new file mode 100644 index 0000000..245f834 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/nether_brick_double_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "normal": { "model": "nether_brick" }, + "all": { "model": "nether_brick" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/nether_brick_fence.json b/desktopRuntime/resources/assets/minecraft/blockstates/nether_brick_fence.json new file mode 100644 index 0000000..59d5ddd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/nether_brick_fence.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "nether_brick_fence_post" }, + "east=false,north=true,south=false,west=false": { "model": "nether_brick_fence_n" }, + "east=true,north=false,south=false,west=false": { "model": "nether_brick_fence_n", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,west=false": { "model": "nether_brick_fence_n", "y": 180, "uvlock": true }, + "east=false,north=false,south=false,west=true": { "model": "nether_brick_fence_n", "y": 270, "uvlock": true }, + "east=true,north=true,south=false,west=false": { "model": "nether_brick_fence_ne" }, + "east=true,north=false,south=true,west=false": { "model": "nether_brick_fence_ne", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,west=true": { "model": "nether_brick_fence_ne", "y": 180, "uvlock": true }, + "east=false,north=true,south=false,west=true": { "model": "nether_brick_fence_ne", "y": 270, "uvlock": true }, + "east=false,north=true,south=true,west=false": { "model": "nether_brick_fence_ns" }, + "east=true,north=false,south=false,west=true": { "model": "nether_brick_fence_ns", "y": 90, "uvlock": true }, + "east=true,north=true,south=true,west=false": { "model": "nether_brick_fence_nse" }, + "east=true,north=false,south=true,west=true": { "model": "nether_brick_fence_nse", "y": 90, "uvlock": true }, + "east=false,north=true,south=true,west=true": { "model": "nether_brick_fence_nse", "y": 180, "uvlock": true }, + "east=true,north=true,south=false,west=true": { "model": "nether_brick_fence_nse", "y": 270, "uvlock": true }, + "east=true,north=true,south=true,west=true": { "model": "nether_brick_fence_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/nether_brick_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/nether_brick_slab.json new file mode 100644 index 0000000..f240d08 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/nether_brick_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom": { "model": "half_slab_nether_brick" }, + "half=top": { "model": "upper_slab_nether_brick" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/nether_brick_stairs.json b/desktopRuntime/resources/assets/minecraft/blockstates/nether_brick_stairs.json new file mode 100644 index 0000000..178446a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/nether_brick_stairs.json @@ -0,0 +1,44 @@ +{ + "variants": { + "facing=east,half=bottom,shape=straight": { "model": "nether_brick_stairs" }, + "facing=west,half=bottom,shape=straight": { "model": "nether_brick_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=straight": { "model": "nether_brick_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=straight": { "model": "nether_brick_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_right": { "model": "nether_brick_outer_stairs" }, + "facing=west,half=bottom,shape=outer_right": { "model": "nether_brick_outer_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=outer_right": { "model": "nether_brick_outer_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=outer_right": { "model": "nether_brick_outer_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_left": { "model": "nether_brick_outer_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=outer_left": { "model": "nether_brick_outer_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=outer_left": { "model": "nether_brick_outer_stairs" }, + "facing=north,half=bottom,shape=outer_left": { "model": "nether_brick_outer_stairs", "y": 180, "uvlock": true }, + "facing=east,half=bottom,shape=inner_right": { "model": "nether_brick_inner_stairs" }, + "facing=west,half=bottom,shape=inner_right": { "model": "nether_brick_inner_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=inner_right": { "model": "nether_brick_inner_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=inner_right": { "model": "nether_brick_inner_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=inner_left": { "model": "nether_brick_inner_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=inner_left": { "model": "nether_brick_inner_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=inner_left": { "model": "nether_brick_inner_stairs" }, + "facing=north,half=bottom,shape=inner_left": { "model": "nether_brick_inner_stairs", "y": 180, "uvlock": true }, + "facing=east,half=top,shape=straight": { "model": "nether_brick_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=straight": { "model": "nether_brick_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=straight": { "model": "nether_brick_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=straight": { "model": "nether_brick_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_right": { "model": "nether_brick_outer_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=outer_right": { "model": "nether_brick_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=outer_right": { "model": "nether_brick_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=outer_right": { "model": "nether_brick_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_left": { "model": "nether_brick_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=outer_left": { "model": "nether_brick_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=outer_left": { "model": "nether_brick_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=outer_left": { "model": "nether_brick_outer_stairs", "x": 180, "uvlock": true }, + "facing=east,half=top,shape=inner_right": { "model": "nether_brick_inner_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=inner_right": { "model": "nether_brick_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=inner_right": { "model": "nether_brick_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=inner_right": { "model": "nether_brick_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=inner_left": { "model": "nether_brick_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=inner_left": { "model": "nether_brick_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=inner_left": { "model": "nether_brick_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=inner_left": { "model": "nether_brick_inner_stairs", "x": 180, "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/nether_wart.json b/desktopRuntime/resources/assets/minecraft/blockstates/nether_wart.json new file mode 100644 index 0000000..64c5d34 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/nether_wart.json @@ -0,0 +1,8 @@ +{ + "variants": { + "age=0": { "model": "nether_wart_stage0" }, + "age=1": { "model": "nether_wart_stage1" }, + "age=2": { "model": "nether_wart_stage1" }, + "age=3": { "model": "nether_wart_stage2" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/netherrack.json b/desktopRuntime/resources/assets/minecraft/blockstates/netherrack.json new file mode 100644 index 0000000..2c1f936 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/netherrack.json @@ -0,0 +1,22 @@ +{ + "variants": { + "normal": [ + { "model": "netherrack" }, + { "model": "netherrack", "x": 90 }, + { "model": "netherrack", "x": 180 }, + { "model": "netherrack", "x": 270 }, + { "model": "netherrack", "y": 90 }, + { "model": "netherrack", "y": 90, "x": 90 }, + { "model": "netherrack", "y": 90, "x": 180 }, + { "model": "netherrack", "y": 90, "x": 270 }, + { "model": "netherrack", "y": 180 }, + { "model": "netherrack", "y": 180, "x": 90 }, + { "model": "netherrack", "y": 180, "x": 180 }, + { "model": "netherrack", "y": 180, "x": 270 }, + { "model": "netherrack", "y": 270 }, + { "model": "netherrack", "y": 270, "x": 90 }, + { "model": "netherrack", "y": 270, "x": 180 }, + { "model": "netherrack", "y": 270, "x": 270 } + ] + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/noteblock.json b/desktopRuntime/resources/assets/minecraft/blockstates/noteblock.json new file mode 100644 index 0000000..e7bc8e6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/noteblock.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "noteblock" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/oak_double_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/oak_double_slab.json new file mode 100644 index 0000000..1af29d1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/oak_double_slab.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "oak_planks" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/oak_leaves.json b/desktopRuntime/resources/assets/minecraft/blockstates/oak_leaves.json new file mode 100644 index 0000000..fb78614 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/oak_leaves.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "oak_leaves" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/oak_log.json b/desktopRuntime/resources/assets/minecraft/blockstates/oak_log.json new file mode 100644 index 0000000..583f957 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/oak_log.json @@ -0,0 +1,8 @@ +{ + "variants": { + "axis=y": { "model": "oak_log" }, + "axis=z": { "model": "oak_log_side" }, + "axis=x": { "model": "oak_log_side", "y": 90 }, + "axis=none": { "model": "oak_bark" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/oak_planks.json b/desktopRuntime/resources/assets/minecraft/blockstates/oak_planks.json new file mode 100644 index 0000000..1af29d1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/oak_planks.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "oak_planks" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/oak_sapling.json b/desktopRuntime/resources/assets/minecraft/blockstates/oak_sapling.json new file mode 100644 index 0000000..177b4bb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/oak_sapling.json @@ -0,0 +1,6 @@ +{ + "variants": { + "stage=0": { "model": "oak_sapling" }, + "stage=1": { "model": "oak_sapling" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/oak_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/oak_slab.json new file mode 100644 index 0000000..80d06ee --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/oak_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom": { "model": "half_slab_oak" }, + "half=top": { "model": "upper_slab_oak" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/oak_stairs.json b/desktopRuntime/resources/assets/minecraft/blockstates/oak_stairs.json new file mode 100644 index 0000000..a51a893 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/oak_stairs.json @@ -0,0 +1,44 @@ +{ + "variants": { + "facing=east,half=bottom,shape=straight": { "model": "oak_stairs" }, + "facing=west,half=bottom,shape=straight": { "model": "oak_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=straight": { "model": "oak_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=straight": { "model": "oak_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_right": { "model": "oak_outer_stairs" }, + "facing=west,half=bottom,shape=outer_right": { "model": "oak_outer_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=outer_right": { "model": "oak_outer_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=outer_right": { "model": "oak_outer_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_left": { "model": "oak_outer_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=outer_left": { "model": "oak_outer_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=outer_left": { "model": "oak_outer_stairs" }, + "facing=north,half=bottom,shape=outer_left": { "model": "oak_outer_stairs", "y": 180, "uvlock": true }, + "facing=east,half=bottom,shape=inner_right": { "model": "oak_inner_stairs" }, + "facing=west,half=bottom,shape=inner_right": { "model": "oak_inner_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=inner_right": { "model": "oak_inner_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=inner_right": { "model": "oak_inner_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=inner_left": { "model": "oak_inner_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=inner_left": { "model": "oak_inner_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=inner_left": { "model": "oak_inner_stairs" }, + "facing=north,half=bottom,shape=inner_left": { "model": "oak_inner_stairs", "y": 180, "uvlock": true }, + "facing=east,half=top,shape=straight": { "model": "oak_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=straight": { "model": "oak_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=straight": { "model": "oak_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=straight": { "model": "oak_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_right": { "model": "oak_outer_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=outer_right": { "model": "oak_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=outer_right": { "model": "oak_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=outer_right": { "model": "oak_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_left": { "model": "oak_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=outer_left": { "model": "oak_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=outer_left": { "model": "oak_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=outer_left": { "model": "oak_outer_stairs", "x": 180, "uvlock": true }, + "facing=east,half=top,shape=inner_right": { "model": "oak_inner_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=inner_right": { "model": "oak_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=inner_right": { "model": "oak_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=inner_right": { "model": "oak_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=inner_left": { "model": "oak_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=inner_left": { "model": "oak_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=inner_left": { "model": "oak_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=inner_left": { "model": "oak_inner_stairs", "x": 180, "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/obsidian.json b/desktopRuntime/resources/assets/minecraft/blockstates/obsidian.json new file mode 100644 index 0000000..0221843 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/obsidian.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "obsidian" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/orange_carpet.json b/desktopRuntime/resources/assets/minecraft/blockstates/orange_carpet.json new file mode 100644 index 0000000..36716cb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/orange_carpet.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "carpet_orange" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/orange_stained_glass.json b/desktopRuntime/resources/assets/minecraft/blockstates/orange_stained_glass.json new file mode 100644 index 0000000..57cf8d4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/orange_stained_glass.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "glass_orange" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/orange_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/blockstates/orange_stained_glass_pane.json new file mode 100644 index 0000000..6e17402 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/orange_stained_glass_pane.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "orange_pane_nsew" }, + "east=false,north=true,south=false,west=false": { "model": "orange_pane_n" }, + "east=true,north=false,south=false,west=false": { "model": "orange_pane_n", "y": 90 }, + "east=false,north=false,south=true,west=false": { "model": "orange_pane_s" }, + "east=false,north=false,south=false,west=true": { "model": "orange_pane_s", "y": 90 }, + "east=true,north=true,south=false,west=false": { "model": "orange_pane_ne" }, + "east=true,north=false,south=true,west=false": { "model": "orange_pane_se" }, + "east=false,north=false,south=true,west=true": { "model": "orange_pane_sw" }, + "east=false,north=true,south=false,west=true": { "model": "orange_pane_nw" }, + "east=false,north=true,south=true,west=false": { "model": "orange_pane_ns" }, + "east=true,north=false,south=false,west=true": { "model": "orange_pane_ns", "y": 90 }, + "east=true,north=true,south=true,west=false": { "model": "orange_pane_nse" }, + "east=true,north=false,south=true,west=true": { "model": "orange_pane_sew" }, + "east=false,north=true,south=true,west=true": { "model": "orange_pane_nsw" }, + "east=true,north=true,south=false,west=true": { "model": "orange_pane_new" }, + "east=true,north=true,south=true,west=true": { "model": "orange_pane_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/orange_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/blockstates/orange_stained_hardened_clay.json new file mode 100644 index 0000000..c242910 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/orange_stained_hardened_clay.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hardened_clay_orange" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/orange_tulip.json b/desktopRuntime/resources/assets/minecraft/blockstates/orange_tulip.json new file mode 100644 index 0000000..7c9ba20 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/orange_tulip.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "orange_tulip" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/orange_wool.json b/desktopRuntime/resources/assets/minecraft/blockstates/orange_wool.json new file mode 100644 index 0000000..6aeda3a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/orange_wool.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "orange_wool" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/oxeye_daisy.json b/desktopRuntime/resources/assets/minecraft/blockstates/oxeye_daisy.json new file mode 100644 index 0000000..178c10a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/oxeye_daisy.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "daisy" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/packed_ice.json b/desktopRuntime/resources/assets/minecraft/blockstates/packed_ice.json new file mode 100644 index 0000000..c0de5b2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/packed_ice.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "packed_ice" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/paeonia.json b/desktopRuntime/resources/assets/minecraft/blockstates/paeonia.json new file mode 100644 index 0000000..f96923b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/paeonia.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=lower": { "model": "double_paeonia_bottom" }, + "half=upper": { "model": "double_paeonia_top" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/pink_carpet.json b/desktopRuntime/resources/assets/minecraft/blockstates/pink_carpet.json new file mode 100644 index 0000000..d040f3d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/pink_carpet.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "carpet_pink" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/pink_stained_glass.json b/desktopRuntime/resources/assets/minecraft/blockstates/pink_stained_glass.json new file mode 100644 index 0000000..14d9fcf --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/pink_stained_glass.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "glass_pink" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/pink_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/blockstates/pink_stained_glass_pane.json new file mode 100644 index 0000000..f410c0d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/pink_stained_glass_pane.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "pink_pane_nsew" }, + "east=false,north=true,south=false,west=false": { "model": "pink_pane_n" }, + "east=true,north=false,south=false,west=false": { "model": "pink_pane_n", "y": 90 }, + "east=false,north=false,south=true,west=false": { "model": "pink_pane_s" }, + "east=false,north=false,south=false,west=true": { "model": "pink_pane_s", "y": 90 }, + "east=true,north=true,south=false,west=false": { "model": "pink_pane_ne" }, + "east=true,north=false,south=true,west=false": { "model": "pink_pane_se" }, + "east=false,north=false,south=true,west=true": { "model": "pink_pane_sw" }, + "east=false,north=true,south=false,west=true": { "model": "pink_pane_nw" }, + "east=false,north=true,south=true,west=false": { "model": "pink_pane_ns" }, + "east=true,north=false,south=false,west=true": { "model": "pink_pane_ns", "y": 90 }, + "east=true,north=true,south=true,west=false": { "model": "pink_pane_nse" }, + "east=true,north=false,south=true,west=true": { "model": "pink_pane_sew" }, + "east=false,north=true,south=true,west=true": { "model": "pink_pane_nsw" }, + "east=true,north=true,south=false,west=true": { "model": "pink_pane_new" }, + "east=true,north=true,south=true,west=true": { "model": "pink_pane_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/pink_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/blockstates/pink_stained_hardened_clay.json new file mode 100644 index 0000000..d9ca1c6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/pink_stained_hardened_clay.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hardened_clay_pink" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/pink_tulip.json b/desktopRuntime/resources/assets/minecraft/blockstates/pink_tulip.json new file mode 100644 index 0000000..5902262 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/pink_tulip.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "pink_tulip" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/pink_wool.json b/desktopRuntime/resources/assets/minecraft/blockstates/pink_wool.json new file mode 100644 index 0000000..fcdaa96 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/pink_wool.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "pink_wool" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/piston.json b/desktopRuntime/resources/assets/minecraft/blockstates/piston.json new file mode 100644 index 0000000..7c40cc7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/piston.json @@ -0,0 +1,16 @@ +{ + "variants": { + "extended=false,facing=down": { "model": "piston_normal", "x": 90 }, + "extended=false,facing=up": { "model": "piston_normal", "x": 270 }, + "extended=false,facing=north": { "model": "piston_normal" }, + "extended=false,facing=south": { "model": "piston_normal", "y": 180 }, + "extended=false,facing=west": { "model": "piston_normal", "y": 270 }, + "extended=false,facing=east": { "model": "piston_normal", "y": 90 }, + "extended=true,facing=down": { "model": "piston_extended_normal", "x": 90 }, + "extended=true,facing=up": { "model": "piston_extended_normal", "x": 270 }, + "extended=true,facing=north": { "model": "piston_extended_normal" }, + "extended=true,facing=south": { "model": "piston_extended_normal", "y": 180 }, + "extended=true,facing=west": { "model": "piston_extended_normal", "y": 270 }, + "extended=true,facing=east": { "model": "piston_extended_normal", "y": 90 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/piston_head.json b/desktopRuntime/resources/assets/minecraft/blockstates/piston_head.json new file mode 100644 index 0000000..e3014a0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/piston_head.json @@ -0,0 +1,28 @@ +{ + "variants": { + "facing=down,short=false,type=normal": { "model": "piston_head_normal", "x": 90 }, + "facing=up,short=false,type=normal": { "model": "piston_head_normal", "x": 270 }, + "facing=north,short=false,type=normal": { "model": "piston_head_normal" }, + "facing=south,short=false,type=normal": { "model": "piston_head_normal", "y": 180 }, + "facing=west,short=false,type=normal": { "model": "piston_head_normal", "y": 270 }, + "facing=east,short=false,type=normal": { "model": "piston_head_normal", "y": 90 }, + "facing=down,short=false,type=sticky": { "model": "piston_head_sticky", "x": 90 }, + "facing=up,short=false,type=sticky": { "model": "piston_head_sticky", "x": 270 }, + "facing=north,short=false,type=sticky": { "model": "piston_head_sticky" }, + "facing=south,short=false,type=sticky": { "model": "piston_head_sticky", "y": 180 }, + "facing=west,short=false,type=sticky": { "model": "piston_head_sticky", "y": 270 }, + "facing=east,short=false,type=sticky": { "model": "piston_head_sticky", "y": 90 }, + "facing=down,short=true,type=normal": { "model": "piston_head_short_normal", "x": 90 }, + "facing=up,short=true,type=normal": { "model": "piston_head_short_normal", "x": 270 }, + "facing=north,short=true,type=normal": { "model": "piston_head_short_normal" }, + "facing=south,short=true,type=normal": { "model": "piston_head_short_normal", "y": 180 }, + "facing=west,short=true,type=normal": { "model": "piston_head_short_normal", "y": 270 }, + "facing=east,short=true,type=normal": { "model": "piston_head_short_normal", "y": 90 }, + "facing=down,short=true,type=sticky": { "model": "piston_head_short_sticky", "x": 90 }, + "facing=up,short=true,type=sticky": { "model": "piston_head_short_sticky", "x": 270 }, + "facing=north,short=true,type=sticky": { "model": "piston_head_short_sticky" }, + "facing=south,short=true,type=sticky": { "model": "piston_head_short_sticky", "y": 180 }, + "facing=west,short=true,type=sticky": { "model": "piston_head_short_sticky", "y": 270 }, + "facing=east,short=true,type=sticky": { "model": "piston_head_short_sticky", "y": 90 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/podzol.json b/desktopRuntime/resources/assets/minecraft/blockstates/podzol.json new file mode 100644 index 0000000..464924a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/podzol.json @@ -0,0 +1,6 @@ +{ + "variants": { + "snowy=false": { "model": "podzol" }, + "snowy=true": { "model": "grass_snowed" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/poppy.json b/desktopRuntime/resources/assets/minecraft/blockstates/poppy.json new file mode 100644 index 0000000..fce0638 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/poppy.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "poppy" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/portal.json b/desktopRuntime/resources/assets/minecraft/blockstates/portal.json new file mode 100644 index 0000000..7fe9eb0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/portal.json @@ -0,0 +1,6 @@ +{ + "variants": { + "axis=z": { "model": "portal_ew" }, + "axis=x": { "model": "portal_ns" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/potatoes.json b/desktopRuntime/resources/assets/minecraft/blockstates/potatoes.json new file mode 100644 index 0000000..de8f92d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/potatoes.json @@ -0,0 +1,12 @@ +{ + "variants": { + "age=0": { "model": "potatoes_stage0" }, + "age=1": { "model": "potatoes_stage0" }, + "age=2": { "model": "potatoes_stage1" }, + "age=3": { "model": "potatoes_stage1" }, + "age=4": { "model": "potatoes_stage2" }, + "age=5": { "model": "potatoes_stage2" }, + "age=6": { "model": "potatoes_stage2" }, + "age=7": { "model": "potatoes_stage3" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/powered_comparator.json b/desktopRuntime/resources/assets/minecraft/blockstates/powered_comparator.json new file mode 100644 index 0000000..9f753e6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/powered_comparator.json @@ -0,0 +1,20 @@ +{ + "variants": { + "facing=north,mode=compare,powered=false": { "model": "comparator_unlit" }, + "facing=east,mode=compare,powered=false": { "model": "comparator_unlit", "y": 90 }, + "facing=south,mode=compare,powered=false": { "model": "comparator_unlit", "y": 180 }, + "facing=west,mode=compare,powered=false": { "model": "comparator_unlit", "y": 270 }, + "facing=north,mode=subtract,powered=false": { "model": "comparator_unlit_subtract" }, + "facing=east,mode=subtract,powered=false": { "model": "comparator_unlit_subtract", "y": 90 }, + "facing=south,mode=subtract,powered=false": { "model": "comparator_unlit_subtract", "y": 180 }, + "facing=west,mode=subtract,powered=false": { "model": "comparator_unlit_subtract", "y": 270 }, + "facing=north,mode=compare,powered=true": { "model": "comparator_lit" }, + "facing=east,mode=compare,powered=true": { "model": "comparator_lit", "y": 90 }, + "facing=south,mode=compare,powered=true": { "model": "comparator_lit", "y": 180 }, + "facing=west,mode=compare,powered=true": { "model": "comparator_lit", "y": 270 }, + "facing=north,mode=subtract,powered=true": { "model": "comparator_lit_subtract" }, + "facing=east,mode=subtract,powered=true": { "model": "comparator_lit_subtract", "y": 90 }, + "facing=south,mode=subtract,powered=true": { "model": "comparator_lit_subtract", "y": 180 }, + "facing=west,mode=subtract,powered=true": { "model": "comparator_lit_subtract", "y": 270 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/powered_repeater.json b/desktopRuntime/resources/assets/minecraft/blockstates/powered_repeater.json new file mode 100644 index 0000000..deff0c2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/powered_repeater.json @@ -0,0 +1,36 @@ +{ + "variants": { + "delay=1,facing=south,locked=false": { "model": "repeater_on_1tick" }, + "delay=1,facing=west,locked=false": { "model": "repeater_on_1tick", "y": 90 }, + "delay=1,facing=north,locked=false": { "model": "repeater_on_1tick", "y": 180 }, + "delay=1,facing=east,locked=false": { "model": "repeater_on_1tick", "y": 270 }, + "delay=2,facing=south,locked=false": { "model": "repeater_on_2tick" }, + "delay=2,facing=west,locked=false": { "model": "repeater_on_2tick", "y": 90 }, + "delay=2,facing=north,locked=false": { "model": "repeater_on_2tick", "y": 180 }, + "delay=2,facing=east,locked=false": { "model": "repeater_on_2tick", "y": 270 }, + "delay=3,facing=south,locked=false": { "model": "repeater_on_3tick" }, + "delay=3,facing=west,locked=false": { "model": "repeater_on_3tick", "y": 90 }, + "delay=3,facing=north,locked=false": { "model": "repeater_on_3tick", "y": 180 }, + "delay=3,facing=east,locked=false": { "model": "repeater_on_3tick", "y": 270 }, + "delay=4,facing=south,locked=false": { "model": "repeater_on_4tick" }, + "delay=4,facing=west,locked=false": { "model": "repeater_on_4tick", "y": 90 }, + "delay=4,facing=north,locked=false": { "model": "repeater_on_4tick", "y": 180 }, + "delay=4,facing=east,locked=false": { "model": "repeater_on_4tick", "y": 270 }, + "delay=1,facing=south,locked=true": { "model": "repeater_on_locked_1tick" }, + "delay=1,facing=west,locked=true": { "model": "repeater_on_locked_1tick", "y": 90 }, + "delay=1,facing=north,locked=true": { "model": "repeater_on_locked_1tick", "y": 180 }, + "delay=1,facing=east,locked=true": { "model": "repeater_on_locked_1tick", "y": 270 }, + "delay=2,facing=south,locked=true": { "model": "repeater_on_locked_2tick" }, + "delay=2,facing=west,locked=true": { "model": "repeater_on_locked_2tick", "y": 90 }, + "delay=2,facing=north,locked=true": { "model": "repeater_on_locked_2tick", "y": 180 }, + "delay=2,facing=east,locked=true": { "model": "repeater_on_locked_2tick", "y": 270 }, + "delay=3,facing=south,locked=true": { "model": "repeater_on_locked_3tick" }, + "delay=3,facing=west,locked=true": { "model": "repeater_on_locked_3tick", "y": 90 }, + "delay=3,facing=north,locked=true": { "model": "repeater_on_locked_3tick", "y": 180 }, + "delay=3,facing=east,locked=true": { "model": "repeater_on_locked_3tick", "y": 270 }, + "delay=4,facing=south,locked=true": { "model": "repeater_on_locked_4tick" }, + "delay=4,facing=west,locked=true": { "model": "repeater_on_locked_4tick", "y": 90 }, + "delay=4,facing=north,locked=true": { "model": "repeater_on_locked_4tick", "y": 180 }, + "delay=4,facing=east,locked=true": { "model": "repeater_on_locked_4tick", "y": 270 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/prismarine.json b/desktopRuntime/resources/assets/minecraft/blockstates/prismarine.json new file mode 100644 index 0000000..9de572d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/prismarine.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "prismarine_rough" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/prismarine_bricks.json b/desktopRuntime/resources/assets/minecraft/blockstates/prismarine_bricks.json new file mode 100644 index 0000000..1d588d7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/prismarine_bricks.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "prismarine_bricks" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/pumpkin.json b/desktopRuntime/resources/assets/minecraft/blockstates/pumpkin.json new file mode 100644 index 0000000..f3454bf --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/pumpkin.json @@ -0,0 +1,8 @@ +{ + "variants": { + "facing=north": { "model": "pumpkin" }, + "facing=south": { "model": "pumpkin", "y": 180 }, + "facing=west": { "model": "pumpkin", "y": 270 }, + "facing=east": { "model": "pumpkin", "y": 90 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/pumpkin_stem.json b/desktopRuntime/resources/assets/minecraft/blockstates/pumpkin_stem.json new file mode 100644 index 0000000..90b9d69 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/pumpkin_stem.json @@ -0,0 +1,16 @@ +{ + "variants": { + "age=0,facing=up": { "model": "pumpkin_stem_growth0" }, + "age=1,facing=up": { "model": "pumpkin_stem_growth1" }, + "age=2,facing=up": { "model": "pumpkin_stem_growth2" }, + "age=3,facing=up": { "model": "pumpkin_stem_growth3" }, + "age=4,facing=up": { "model": "pumpkin_stem_growth4" }, + "age=5,facing=up": { "model": "pumpkin_stem_growth5" }, + "age=6,facing=up": { "model": "pumpkin_stem_growth6" }, + "age=7,facing=up": { "model": "pumpkin_stem_growth7" }, + "facing=west": { "model": "pumpkin_stem_fruit" }, + "facing=east": { "model": "pumpkin_stem_fruit", "y": 180 }, + "facing=north": { "model": "pumpkin_stem_fruit", "y": 90 }, + "facing=south": { "model": "pumpkin_stem_fruit", "y": 270 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/purple_carpet.json b/desktopRuntime/resources/assets/minecraft/blockstates/purple_carpet.json new file mode 100644 index 0000000..7179f25 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/purple_carpet.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "carpet_purple" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/purple_stained_glass.json b/desktopRuntime/resources/assets/minecraft/blockstates/purple_stained_glass.json new file mode 100644 index 0000000..a55b6ef --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/purple_stained_glass.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "glass_purple" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/purple_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/blockstates/purple_stained_glass_pane.json new file mode 100644 index 0000000..39c97b3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/purple_stained_glass_pane.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "purple_pane_nsew" }, + "east=false,north=true,south=false,west=false": { "model": "purple_pane_n" }, + "east=true,north=false,south=false,west=false": { "model": "purple_pane_n", "y": 90 }, + "east=false,north=false,south=true,west=false": { "model": "purple_pane_s" }, + "east=false,north=false,south=false,west=true": { "model": "purple_pane_s", "y": 90 }, + "east=true,north=true,south=false,west=false": { "model": "purple_pane_ne" }, + "east=true,north=false,south=true,west=false": { "model": "purple_pane_se" }, + "east=false,north=false,south=true,west=true": { "model": "purple_pane_sw" }, + "east=false,north=true,south=false,west=true": { "model": "purple_pane_nw" }, + "east=false,north=true,south=true,west=false": { "model": "purple_pane_ns" }, + "east=true,north=false,south=false,west=true": { "model": "purple_pane_ns", "y": 90 }, + "east=true,north=true,south=true,west=false": { "model": "purple_pane_nse" }, + "east=true,north=false,south=true,west=true": { "model": "purple_pane_sew" }, + "east=false,north=true,south=true,west=true": { "model": "purple_pane_nsw" }, + "east=true,north=true,south=false,west=true": { "model": "purple_pane_new" }, + "east=true,north=true,south=true,west=true": { "model": "purple_pane_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/purple_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/blockstates/purple_stained_hardened_clay.json new file mode 100644 index 0000000..b595cb6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/purple_stained_hardened_clay.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hardened_clay_purple" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/purple_wool.json b/desktopRuntime/resources/assets/minecraft/blockstates/purple_wool.json new file mode 100644 index 0000000..8f4b000 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/purple_wool.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "purple_wool" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/purpur_block.json b/desktopRuntime/resources/assets/minecraft/blockstates/purpur_block.json new file mode 100644 index 0000000..6a891ac --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/purpur_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "purpur_block" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/purpur_double_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/purpur_double_slab.json new file mode 100644 index 0000000..23a3a29 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/purpur_double_slab.json @@ -0,0 +1,5 @@ +{ + "variants": { + "variant=default": { "model": "purpur_block" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/purpur_pillar.json b/desktopRuntime/resources/assets/minecraft/blockstates/purpur_pillar.json new file mode 100644 index 0000000..cf54268 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/purpur_pillar.json @@ -0,0 +1,7 @@ +{ + "variants": { + "axis=y": { "model": "purpur_pillar_top" }, + "axis=z": { "model": "purpur_pillar_top", "x": 90 }, + "axis=x": { "model": "purpur_pillar_top", "x": 90, "y": 90 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/purpur_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/purpur_slab.json new file mode 100644 index 0000000..7e84a35 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/purpur_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom,variant=default": { "model": "half_slab_purpur" }, + "half=top,variant=default": { "model": "upper_slab_purpur" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/purpur_stairs.json b/desktopRuntime/resources/assets/minecraft/blockstates/purpur_stairs.json new file mode 100644 index 0000000..814bda4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/purpur_stairs.json @@ -0,0 +1,44 @@ +{ + "variants": { + "facing=east,half=bottom,shape=straight": { "model": "purpur_stairs" }, + "facing=west,half=bottom,shape=straight": { "model": "purpur_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=straight": { "model": "purpur_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=straight": { "model": "purpur_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_right": { "model": "purpur_outer_stairs" }, + "facing=west,half=bottom,shape=outer_right": { "model": "purpur_outer_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=outer_right": { "model": "purpur_outer_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=outer_right": { "model": "purpur_outer_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_left": { "model": "purpur_outer_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=outer_left": { "model": "purpur_outer_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=outer_left": { "model": "purpur_outer_stairs" }, + "facing=north,half=bottom,shape=outer_left": { "model": "purpur_outer_stairs", "y": 180, "uvlock": true }, + "facing=east,half=bottom,shape=inner_right": { "model": "purpur_inner_stairs" }, + "facing=west,half=bottom,shape=inner_right": { "model": "purpur_inner_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=inner_right": { "model": "purpur_inner_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=inner_right": { "model": "purpur_inner_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=inner_left": { "model": "purpur_inner_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=inner_left": { "model": "purpur_inner_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=inner_left": { "model": "purpur_inner_stairs" }, + "facing=north,half=bottom,shape=inner_left": { "model": "purpur_inner_stairs", "y": 180, "uvlock": true }, + "facing=east,half=top,shape=straight": { "model": "purpur_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=straight": { "model": "purpur_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=straight": { "model": "purpur_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=straight": { "model": "purpur_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_right": { "model": "purpur_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=outer_right": { "model": "purpur_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=outer_right": { "model": "purpur_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=outer_right": { "model": "purpur_outer_stairs", "x": 180, "uvlock": true }, + "facing=east,half=top,shape=outer_left": { "model": "purpur_outer_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=outer_left": { "model": "purpur_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=outer_left": { "model": "purpur_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=outer_left": { "model": "purpur_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=inner_right": { "model": "purpur_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=inner_right": { "model": "purpur_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=inner_right": { "model": "purpur_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=inner_right": { "model": "purpur_inner_stairs", "x": 180, "uvlock": true }, + "facing=east,half=top,shape=inner_left": { "model": "purpur_inner_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=inner_left": { "model": "purpur_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=inner_left": { "model": "purpur_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=inner_left": { "model": "purpur_inner_stairs", "x": 180, "y": 270, "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/quartz_block.json b/desktopRuntime/resources/assets/minecraft/blockstates/quartz_block.json new file mode 100644 index 0000000..821966c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/quartz_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "quartz_normal" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/quartz_column.json b/desktopRuntime/resources/assets/minecraft/blockstates/quartz_column.json new file mode 100644 index 0000000..015e0f2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/quartz_column.json @@ -0,0 +1,8 @@ +{ + "variants": { + "axis=y": { "model": "quartz_lines" }, + "axis=z": { "model": "quartz_lines", "x": 90 }, + "axis=x": { "model": "quartz_lines", "x": 90, "y": 90 } + } +} + diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/quartz_double_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/quartz_double_slab.json new file mode 100644 index 0000000..c744e7b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/quartz_double_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "normal": { "model": "quartz_normal" }, + "all": { "model": "quartz_top" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/quartz_ore.json b/desktopRuntime/resources/assets/minecraft/blockstates/quartz_ore.json new file mode 100644 index 0000000..759fb79 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/quartz_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "quartz_ore" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/quartz_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/quartz_slab.json new file mode 100644 index 0000000..566f0e2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/quartz_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom": { "model": "half_slab_quartz" }, + "half=top": { "model": "upper_slab_quartz" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/quartz_stairs.json b/desktopRuntime/resources/assets/minecraft/blockstates/quartz_stairs.json new file mode 100644 index 0000000..e127773 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/quartz_stairs.json @@ -0,0 +1,44 @@ +{ + "variants": { + "facing=east,half=bottom,shape=straight": { "model": "quartz_stairs" }, + "facing=west,half=bottom,shape=straight": { "model": "quartz_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=straight": { "model": "quartz_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=straight": { "model": "quartz_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_right": { "model": "quartz_outer_stairs" }, + "facing=west,half=bottom,shape=outer_right": { "model": "quartz_outer_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=outer_right": { "model": "quartz_outer_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=outer_right": { "model": "quartz_outer_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_left": { "model": "quartz_outer_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=outer_left": { "model": "quartz_outer_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=outer_left": { "model": "quartz_outer_stairs" }, + "facing=north,half=bottom,shape=outer_left": { "model": "quartz_outer_stairs", "y": 180, "uvlock": true }, + "facing=east,half=bottom,shape=inner_right": { "model": "quartz_inner_stairs" }, + "facing=west,half=bottom,shape=inner_right": { "model": "quartz_inner_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=inner_right": { "model": "quartz_inner_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=inner_right": { "model": "quartz_inner_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=inner_left": { "model": "quartz_inner_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=inner_left": { "model": "quartz_inner_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=inner_left": { "model": "quartz_inner_stairs" }, + "facing=north,half=bottom,shape=inner_left": { "model": "quartz_inner_stairs", "y": 180, "uvlock": true }, + "facing=east,half=top,shape=straight": { "model": "quartz_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=straight": { "model": "quartz_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=straight": { "model": "quartz_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=straight": { "model": "quartz_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_right": { "model": "quartz_outer_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=outer_right": { "model": "quartz_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=outer_right": { "model": "quartz_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=outer_right": { "model": "quartz_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_left": { "model": "quartz_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=outer_left": { "model": "quartz_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=outer_left": { "model": "quartz_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=outer_left": { "model": "quartz_outer_stairs", "x": 180, "uvlock": true }, + "facing=east,half=top,shape=inner_right": { "model": "quartz_inner_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=inner_right": { "model": "quartz_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=inner_right": { "model": "quartz_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=inner_right": { "model": "quartz_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=inner_left": { "model": "quartz_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=inner_left": { "model": "quartz_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=inner_left": { "model": "quartz_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=inner_left": { "model": "quartz_inner_stairs", "x": 180, "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/rail.json b/desktopRuntime/resources/assets/minecraft/blockstates/rail.json new file mode 100644 index 0000000..7d8b5b5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/rail.json @@ -0,0 +1,14 @@ +{ + "variants": { + "shape=north_south": { "model": "normal_rail_flat" }, + "shape=east_west": { "model": "normal_rail_flat", "y": 90 }, + "shape=ascending_east": { "model": "normal_rail_raised_ne", "y": 90 }, + "shape=ascending_west": { "model": "normal_rail_raised_sw", "y": 90 }, + "shape=ascending_north": { "model": "normal_rail_raised_ne" }, + "shape=ascending_south": { "model": "normal_rail_raised_sw" }, + "shape=south_east": { "model": "normal_rail_curved" }, + "shape=south_west": { "model": "normal_rail_curved", "y": 90 }, + "shape=north_west": { "model": "normal_rail_curved", "y": 180 }, + "shape=north_east": { "model": "normal_rail_curved", "y": 270 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/red_carpet.json b/desktopRuntime/resources/assets/minecraft/blockstates/red_carpet.json new file mode 100644 index 0000000..9c02d56 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/red_carpet.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "carpet_red" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/red_mushroom.json b/desktopRuntime/resources/assets/minecraft/blockstates/red_mushroom.json new file mode 100644 index 0000000..2e43aa3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/red_mushroom.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "red_mushroom" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/red_mushroom_block.json b/desktopRuntime/resources/assets/minecraft/blockstates/red_mushroom_block.json new file mode 100644 index 0000000..5ff4c87 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/red_mushroom_block.json @@ -0,0 +1,18 @@ +{ + "variants": { + "variant=north_west": { "model": "red_mushroom_block_nw" }, + "variant=north": { "model": "red_mushroom_block_n" }, + "variant=north_east": { "model": "red_mushroom_block_ne" }, + "variant=west": { "model": "red_mushroom_block_w" }, + "variant=center": { "model": "red_mushroom_block_c" }, + "variant=east": { "model": "red_mushroom_block_e" }, + "variant=south_west": { "model": "red_mushroom_block_sw" }, + "variant=south": { "model": "red_mushroom_block_s" }, + "variant=south_east": { "model": "red_mushroom_block_se" }, + "variant=stem": { "model": "red_mushroom_block_stem" }, + "variant=all_stem": { "model": "red_mushroom_block_stem_all" }, + "variant=all_outside": { "model": "red_mushroom_block_cap_all" }, + "variant=all_inside": { "model": "red_mushroom_block_inside_all" } + } +} + diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/red_sand.json b/desktopRuntime/resources/assets/minecraft/blockstates/red_sand.json new file mode 100644 index 0000000..a82f518 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/red_sand.json @@ -0,0 +1,10 @@ +{ + "variants": { + "normal": [ + { "model": "red_sand" }, + { "model": "red_sand", "y": 90 }, + { "model": "red_sand", "y": 180 }, + { "model": "red_sand", "y": 270 } + ] + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/red_sandstone.json b/desktopRuntime/resources/assets/minecraft/blockstates/red_sandstone.json new file mode 100644 index 0000000..4ba4ec5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/red_sandstone.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "red_sandstone_normal" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/red_sandstone_double_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/red_sandstone_double_slab.json new file mode 100644 index 0000000..9f5247d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/red_sandstone_double_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "normal": { "model": "red_sandstone_normal" }, + "all": { "model": "red_sandstone_all" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/red_sandstone_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/red_sandstone_slab.json new file mode 100644 index 0000000..aa74a59 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/red_sandstone_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom": { "model": "half_slab_red_sandstone" }, + "half=top": { "model": "upper_slab_red_sandstone" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/red_sandstone_stairs.json b/desktopRuntime/resources/assets/minecraft/blockstates/red_sandstone_stairs.json new file mode 100644 index 0000000..2862714 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/red_sandstone_stairs.json @@ -0,0 +1,44 @@ +{ + "variants": { + "facing=east,half=bottom,shape=straight": { "model": "red_sandstone_stairs" }, + "facing=west,half=bottom,shape=straight": { "model": "red_sandstone_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=straight": { "model": "red_sandstone_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=straight": { "model": "red_sandstone_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_right": { "model": "red_sandstone_outer_stairs" }, + "facing=west,half=bottom,shape=outer_right": { "model": "red_sandstone_outer_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=outer_right": { "model": "red_sandstone_outer_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=outer_right": { "model": "red_sandstone_outer_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_left": { "model": "red_sandstone_outer_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=outer_left": { "model": "red_sandstone_outer_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=outer_left": { "model": "red_sandstone_outer_stairs" }, + "facing=north,half=bottom,shape=outer_left": { "model": "red_sandstone_outer_stairs", "y": 180, "uvlock": true }, + "facing=east,half=bottom,shape=inner_right": { "model": "red_sandstone_inner_stairs" }, + "facing=west,half=bottom,shape=inner_right": { "model": "red_sandstone_inner_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=inner_right": { "model": "red_sandstone_inner_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=inner_right": { "model": "red_sandstone_inner_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=inner_left": { "model": "red_sandstone_inner_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=inner_left": { "model": "red_sandstone_inner_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=inner_left": { "model": "red_sandstone_inner_stairs" }, + "facing=north,half=bottom,shape=inner_left": { "model": "red_sandstone_inner_stairs", "y": 180, "uvlock": true }, + "facing=east,half=top,shape=straight": { "model": "red_sandstone_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=straight": { "model": "red_sandstone_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=straight": { "model": "red_sandstone_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=straight": { "model": "red_sandstone_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_right": { "model": "red_sandstone_outer_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=outer_right": { "model": "red_sandstone_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=outer_right": { "model": "red_sandstone_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=outer_right": { "model": "red_sandstone_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_left": { "model": "red_sandstone_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=outer_left": { "model": "red_sandstone_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=outer_left": { "model": "red_sandstone_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=outer_left": { "model": "red_sandstone_outer_stairs", "x": 180, "uvlock": true }, + "facing=east,half=top,shape=inner_right": { "model": "red_sandstone_inner_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=inner_right": { "model": "red_sandstone_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=inner_right": { "model": "red_sandstone_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=inner_right": { "model": "red_sandstone_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=inner_left": { "model": "red_sandstone_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=inner_left": { "model": "red_sandstone_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=inner_left": { "model": "red_sandstone_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=inner_left": { "model": "red_sandstone_inner_stairs", "x": 180, "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/red_stained_glass.json b/desktopRuntime/resources/assets/minecraft/blockstates/red_stained_glass.json new file mode 100644 index 0000000..7b33fa3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/red_stained_glass.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "glass_red" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/red_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/blockstates/red_stained_glass_pane.json new file mode 100644 index 0000000..0c7afab --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/red_stained_glass_pane.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "red_pane_nsew" }, + "east=false,north=true,south=false,west=false": { "model": "red_pane_n" }, + "east=true,north=false,south=false,west=false": { "model": "red_pane_n", "y": 90 }, + "east=false,north=false,south=true,west=false": { "model": "red_pane_s" }, + "east=false,north=false,south=false,west=true": { "model": "red_pane_s", "y": 90 }, + "east=true,north=true,south=false,west=false": { "model": "red_pane_ne" }, + "east=true,north=false,south=true,west=false": { "model": "red_pane_se" }, + "east=false,north=false,south=true,west=true": { "model": "red_pane_sw" }, + "east=false,north=true,south=false,west=true": { "model": "red_pane_nw" }, + "east=false,north=true,south=true,west=false": { "model": "red_pane_ns" }, + "east=true,north=false,south=false,west=true": { "model": "red_pane_ns", "y": 90 }, + "east=true,north=true,south=true,west=false": { "model": "red_pane_nse" }, + "east=true,north=false,south=true,west=true": { "model": "red_pane_sew" }, + "east=false,north=true,south=true,west=true": { "model": "red_pane_nsw" }, + "east=true,north=true,south=false,west=true": { "model": "red_pane_new" }, + "east=true,north=true,south=true,west=true": { "model": "red_pane_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/red_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/blockstates/red_stained_hardened_clay.json new file mode 100644 index 0000000..727c74c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/red_stained_hardened_clay.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hardened_clay_red" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/red_tulip.json b/desktopRuntime/resources/assets/minecraft/blockstates/red_tulip.json new file mode 100644 index 0000000..fb1cdab --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/red_tulip.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "red_tulip" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/red_wool.json b/desktopRuntime/resources/assets/minecraft/blockstates/red_wool.json new file mode 100644 index 0000000..cfb8ed2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/red_wool.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "red_wool" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/redstone_block.json b/desktopRuntime/resources/assets/minecraft/blockstates/redstone_block.json new file mode 100644 index 0000000..e22811f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/redstone_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "redstone_block" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/redstone_lamp.json b/desktopRuntime/resources/assets/minecraft/blockstates/redstone_lamp.json new file mode 100644 index 0000000..195cc9b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/redstone_lamp.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "unlit_redstone_lamp" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/redstone_ore.json b/desktopRuntime/resources/assets/minecraft/blockstates/redstone_ore.json new file mode 100644 index 0000000..f11fd3b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/redstone_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "redstone_ore" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/redstone_torch.json b/desktopRuntime/resources/assets/minecraft/blockstates/redstone_torch.json new file mode 100644 index 0000000..0b960a8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/redstone_torch.json @@ -0,0 +1,9 @@ +{ + "variants": { + "facing=up": { "model": "lit_redstone_torch" }, + "facing=east": { "model": "lit_redstone_torch_wall" }, + "facing=south": { "model": "lit_redstone_torch_wall", "y": 90 }, + "facing=west": { "model": "lit_redstone_torch_wall", "y": 180 }, + "facing=north": { "model": "lit_redstone_torch_wall", "y": 270 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/redstone_wire.json b/desktopRuntime/resources/assets/minecraft/blockstates/redstone_wire.json new file mode 100644 index 0000000..a933b3e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/redstone_wire.json @@ -0,0 +1,103 @@ +{ + "variants": { + "east=none,north=none,south=none,west=none": { "model": "redstone_none" }, + + "east=none,north=side,south=none,west=none": { "model": "redstone_n" }, + "east=none,north=none,south=side,west=none": { "model": "redstone_n" }, + "east=side,north=none,south=none,west=none": { "model": "redstone_n", "y": 90 }, + "east=none,north=none,south=none,west=side": { "model": "redstone_n", "y": 90 }, + + "east=none,north=up,south=none,west=none": { "model": "redstone_uns" }, + "east=none,north=none,south=up,west=none": { "model": "redstone_uns", "y": 180, "uvlock": true }, + "east=up,north=none,south=none,west=none": { "model": "redstone_uew" }, + "east=none,north=none,south=none,west=up": { "model": "redstone_uew", "y": 180, "uvlock": true }, + + "east=side,north=side,south=none,west=none": { "model": "redstone_ne", "uvlock": true }, + "east=side,north=up,south=none,west=none": { "model": "redstone_une", "uvlock": true }, + "east=up,north=side,south=none,west=none": { "model": "redstone_nue", "uvlock": true }, + "east=up,north=up,south=none,west=none": { "model": "redstone_unue", "uvlock": true }, + + "east=side,north=none,south=side,west=none": { "model": "redstone_ne", "y": 90, "uvlock": true }, + "east=up,north=none,south=side,west=none": { "model": "redstone_une", "y": 90, "uvlock": true }, + "east=side,north=none,south=up,west=none": { "model": "redstone_nue", "y": 90, "uvlock": true }, + "east=up,north=none,south=up,west=none": { "model": "redstone_unue", "y": 90, "uvlock": true }, + + "east=none,north=none,south=side,west=side": { "model": "redstone_ne", "y": 180, "uvlock": true }, + "east=none,north=none,south=up,west=side": { "model": "redstone_une", "y": 180, "uvlock": true }, + "east=none,north=none,south=side,west=up": { "model": "redstone_nue", "y": 180, "uvlock": true }, + "east=none,north=none,south=up,west=up": { "model": "redstone_unue", "y": 180, "uvlock": true }, + + "east=none,north=side,south=none,west=side": { "model": "redstone_ne", "y": 270, "uvlock": true }, + "east=none,north=side,south=none,west=up": { "model": "redstone_une", "y": 270, "uvlock": true }, + "east=none,north=up,south=none,west=side": { "model": "redstone_nue", "y": 270, "uvlock": true }, + "east=none,north=up,south=none,west=up": { "model": "redstone_unue", "y": 270, "uvlock": true }, + + "east=none,north=side,south=side,west=none": { "model": "redstone_n" }, + "east=none,north=up,south=side,west=none": { "model": "redstone_uns" }, + "east=none,north=side,south=up,west=none": { "model": "redstone_uns", "y": 180 }, + "east=none,north=up,south=up,west=none": { "model": "redstone_unus" }, + + "east=side,north=none,south=none,west=side": { "model": "redstone_n", "y": 90 }, + "east=up,north=none,south=none,west=side": { "model": "redstone_uns", "y": 90 }, + "east=side,north=none,south=none,west=up": { "model": "redstone_uns", "y": 270 }, + "east=up,north=none,south=none,west=up": { "model": "redstone_ueuw" }, + + "east=side,north=side,south=side,west=none": { "model": "redstone_nse", "uvlock": true }, + "east=side,north=up,south=side,west=none": { "model": "redstone_unse", "uvlock": true }, + "east=side,north=side,south=up,west=none": { "model": "redstone_nuse", "uvlock": true }, + "east=up,north=side,south=side,west=none": { "model": "redstone_nsue", "uvlock": true }, + "east=up,north=side,south=up,west=none": { "model": "redstone_nusue", "uvlock": true }, + "east=side,north=up,south=up,west=none": { "model": "redstone_unuse", "uvlock": true }, + "east=up,north=up,south=side,west=none": { "model": "redstone_unsue", "uvlock": true }, + "east=up,north=up,south=up,west=none": { "model": "redstone_unusue", "uvlock": true }, + + "east=side,north=none,south=side,west=side": { "model": "redstone_nse", "y": 90, "uvlock": true }, + "east=up,north=none,south=side,west=side": { "model": "redstone_unse", "y": 90, "uvlock": true }, + "east=side,north=none,south=side,west=up": { "model": "redstone_nuse", "y": 90, "uvlock": true }, + "east=side,north=none,south=up,west=side": { "model": "redstone_nsue", "y": 90, "uvlock": true }, + "east=side,north=none,south=up,west=up": { "model": "redstone_nusue", "y": 90, "uvlock": true }, + "east=up,north=none,south=side,west=up": { "model": "redstone_unuse", "y": 90, "uvlock": true }, + "east=up,north=none,south=up,west=side": { "model": "redstone_unsue", "y": 90, "uvlock": true }, + "east=up,north=none,south=up,west=up": { "model": "redstone_unusue", "y": 90, "uvlock": true }, + + "east=none,north=side,south=side,west=side": { "model": "redstone_nse", "y": 180, "uvlock": true }, + "east=none,north=side,south=up,west=side": { "model": "redstone_unse", "y": 180, "uvlock": true }, + "east=none,north=up,south=side,west=side": { "model": "redstone_nuse", "y": 180, "uvlock": true }, + "east=none,north=side,south=side,west=up": { "model": "redstone_nsue", "y": 180, "uvlock": true }, + "east=none,north=up,south=side,west=up": { "model": "redstone_nusue", "y": 180, "uvlock": true }, + "east=none,north=up,south=up,west=side": { "model": "redstone_unuse", "y": 180, "uvlock": true }, + "east=none,north=side,south=up,west=up": { "model": "redstone_unsue", "y": 180, "uvlock": true }, + "east=none,north=up,south=up,west=up": { "model": "redstone_unusue", "y": 180, "uvlock": true }, + + "east=side,north=side,south=none,west=side": { "model": "redstone_nse", "y": 270, "uvlock": true }, + "east=side,north=side,south=none,west=up": { "model": "redstone_unse", "y": 270, "uvlock": true }, + "east=up,north=side,south=none,west=side": { "model": "redstone_nuse", "y": 270, "uvlock": true }, + "east=side,north=up,south=none,west=side": { "model": "redstone_nsue", "y": 270, "uvlock": true }, + "east=up,north=up,south=none,west=side": { "model": "redstone_nusue", "y": 270, "uvlock": true }, + "east=up,north=side,south=none,west=up": { "model": "redstone_unuse", "y": 270, "uvlock": true }, + "east=side,north=up,south=none,west=up": { "model": "redstone_unsue", "y": 270, "uvlock": true }, + "east=up,north=up,south=none,west=up": { "model": "redstone_unusue", "y": 270, "uvlock": true }, + + "east=side,north=side,south=side,west=side": { "model": "redstone_nsew", "uvlock": true }, + + "east=side,north=up,south=side,west=side": { "model": "redstone_unsew", "uvlock": true }, + "east=side,north=side,south=up,west=side": { "model": "redstone_unsew", "y": 180, "uvlock": true }, + "east=up,north=side,south=side,west=side": { "model": "redstone_unsew", "y": 90, "uvlock": true }, + "east=side,north=side,south=side,west=up": { "model": "redstone_unsew", "y": 270, "uvlock": true }, + + "east=side,north=up,south=up,west=side": { "model": "redstone_unusew", "uvlock": true }, + "east=up,north=side,south=side,west=up": { "model": "redstone_unusew", "y": 90, "uvlock": true }, + + "east=up,north=up,south=side,west=side": { "model": "redstone_unsuew", "uvlock": true }, + "east=up,north=side,south=up,west=side": { "model": "redstone_unsuew", "y": 90, "uvlock": true }, + "east=side,north=side,south=up,west=up": { "model": "redstone_unsuew", "y": 180, "uvlock": true }, + "east=side,north=up,south=side,west=up": { "model": "redstone_unsuew", "y": 270, "uvlock": true }, + + "east=up,north=up,south=up,west=side": { "model": "redstone_unusuew", "uvlock": true }, + "east=up,north=side,south=up,west=up": { "model": "redstone_unusuew", "y": 90, "uvlock": true }, + "east=side,north=up,south=up,west=up": { "model": "redstone_unusuew", "y": 180, "uvlock": true }, + "east=up,north=up,south=side,west=up": { "model": "redstone_unusuew", "y": 270, "uvlock": true }, + + "east=up,north=up,south=up,west=up": { "model": "redstone_unusueuw", "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/reeds.json b/desktopRuntime/resources/assets/minecraft/blockstates/reeds.json new file mode 100644 index 0000000..93ceec8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/reeds.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "reeds" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/repeating_command_block.json b/desktopRuntime/resources/assets/minecraft/blockstates/repeating_command_block.json new file mode 100644 index 0000000..ba9da59 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/repeating_command_block.json @@ -0,0 +1,16 @@ +{ + "variants": { + "conditional=false,facing=down": { "model": "repeating_command_block", "x": 90 }, + "conditional=false,facing=up": { "model": "repeating_command_block", "x": 270 }, + "conditional=false,facing=north": { "model": "repeating_command_block" }, + "conditional=false,facing=south": { "model": "repeating_command_block", "y": 180 }, + "conditional=false,facing=west": { "model": "repeating_command_block", "y": 270 }, + "conditional=false,facing=east": { "model": "repeating_command_block", "y": 90 }, + "conditional=true,facing=down": { "model": "repeating_command_block_conditional", "x": 90 }, + "conditional=true,facing=up": { "model": "repeating_command_block_conditional", "x": 270 }, + "conditional=true,facing=north": { "model": "repeating_command_block_conditional" }, + "conditional=true,facing=south": { "model": "repeating_command_block_conditional", "y": 180 }, + "conditional=true,facing=west": { "model": "repeating_command_block_conditional", "y": 270 }, + "conditional=true,facing=east": { "model": "repeating_command_block_conditional", "y": 90 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/sand.json b/desktopRuntime/resources/assets/minecraft/blockstates/sand.json new file mode 100644 index 0000000..f4be92b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/sand.json @@ -0,0 +1,10 @@ +{ + "variants": { + "normal": [ + { "model": "sand" }, + { "model": "sand", "y": 90 }, + { "model": "sand", "y": 180 }, + { "model": "sand", "y": 270 } + ] + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/sandstone.json b/desktopRuntime/resources/assets/minecraft/blockstates/sandstone.json new file mode 100644 index 0000000..eca6919 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/sandstone.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "sandstone_normal" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/sandstone_double_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/sandstone_double_slab.json new file mode 100644 index 0000000..bed0dfc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/sandstone_double_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "normal": { "model": "sandstone_normal" }, + "all": { "model": "sandstone_all" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/sandstone_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/sandstone_slab.json new file mode 100644 index 0000000..e5ff1c3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/sandstone_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom": { "model": "half_slab_sandstone" }, + "half=top": { "model": "upper_slab_sandstone" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/sandstone_stairs.json b/desktopRuntime/resources/assets/minecraft/blockstates/sandstone_stairs.json new file mode 100644 index 0000000..8248b86 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/sandstone_stairs.json @@ -0,0 +1,44 @@ +{ + "variants": { + "facing=east,half=bottom,shape=straight": { "model": "sandstone_stairs" }, + "facing=west,half=bottom,shape=straight": { "model": "sandstone_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=straight": { "model": "sandstone_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=straight": { "model": "sandstone_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_right": { "model": "sandstone_outer_stairs" }, + "facing=west,half=bottom,shape=outer_right": { "model": "sandstone_outer_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=outer_right": { "model": "sandstone_outer_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=outer_right": { "model": "sandstone_outer_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_left": { "model": "sandstone_outer_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=outer_left": { "model": "sandstone_outer_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=outer_left": { "model": "sandstone_outer_stairs" }, + "facing=north,half=bottom,shape=outer_left": { "model": "sandstone_outer_stairs", "y": 180, "uvlock": true }, + "facing=east,half=bottom,shape=inner_right": { "model": "sandstone_inner_stairs" }, + "facing=west,half=bottom,shape=inner_right": { "model": "sandstone_inner_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=inner_right": { "model": "sandstone_inner_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=inner_right": { "model": "sandstone_inner_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=inner_left": { "model": "sandstone_inner_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=inner_left": { "model": "sandstone_inner_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=inner_left": { "model": "sandstone_inner_stairs" }, + "facing=north,half=bottom,shape=inner_left": { "model": "sandstone_inner_stairs", "y": 180, "uvlock": true }, + "facing=east,half=top,shape=straight": { "model": "sandstone_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=straight": { "model": "sandstone_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=straight": { "model": "sandstone_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=straight": { "model": "sandstone_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_right": { "model": "sandstone_outer_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=outer_right": { "model": "sandstone_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=outer_right": { "model": "sandstone_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=outer_right": { "model": "sandstone_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_left": { "model": "sandstone_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=outer_left": { "model": "sandstone_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=outer_left": { "model": "sandstone_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=outer_left": { "model": "sandstone_outer_stairs", "x": 180, "uvlock": true }, + "facing=east,half=top,shape=inner_right": { "model": "sandstone_inner_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=inner_right": { "model": "sandstone_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=inner_right": { "model": "sandstone_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=inner_right": { "model": "sandstone_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=inner_left": { "model": "sandstone_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=inner_left": { "model": "sandstone_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=inner_left": { "model": "sandstone_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=inner_left": { "model": "sandstone_inner_stairs", "x": 180, "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/sea_lantern.json b/desktopRuntime/resources/assets/minecraft/blockstates/sea_lantern.json new file mode 100644 index 0000000..f1d4b9e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/sea_lantern.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "sea_lantern" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/silver_carpet.json b/desktopRuntime/resources/assets/minecraft/blockstates/silver_carpet.json new file mode 100644 index 0000000..6f58883 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/silver_carpet.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "carpet_silver" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/silver_stained_glass.json b/desktopRuntime/resources/assets/minecraft/blockstates/silver_stained_glass.json new file mode 100644 index 0000000..26061de --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/silver_stained_glass.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "glass_silver" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/silver_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/blockstates/silver_stained_glass_pane.json new file mode 100644 index 0000000..7994961 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/silver_stained_glass_pane.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "silver_pane_nsew" }, + "east=false,north=true,south=false,west=false": { "model": "silver_pane_n" }, + "east=true,north=false,south=false,west=false": { "model": "silver_pane_n", "y": 90 }, + "east=false,north=false,south=true,west=false": { "model": "silver_pane_s" }, + "east=false,north=false,south=false,west=true": { "model": "silver_pane_s", "y": 90 }, + "east=true,north=true,south=false,west=false": { "model": "silver_pane_ne" }, + "east=true,north=false,south=true,west=false": { "model": "silver_pane_se" }, + "east=false,north=false,south=true,west=true": { "model": "silver_pane_sw" }, + "east=false,north=true,south=false,west=true": { "model": "silver_pane_nw" }, + "east=false,north=true,south=true,west=false": { "model": "silver_pane_ns" }, + "east=true,north=false,south=false,west=true": { "model": "silver_pane_ns", "y": 90 }, + "east=true,north=true,south=true,west=false": { "model": "silver_pane_nse" }, + "east=true,north=false,south=true,west=true": { "model": "silver_pane_sew" }, + "east=false,north=true,south=true,west=true": { "model": "silver_pane_nsw" }, + "east=true,north=true,south=false,west=true": { "model": "silver_pane_new" }, + "east=true,north=true,south=true,west=true": { "model": "silver_pane_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/silver_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/blockstates/silver_stained_hardened_clay.json new file mode 100644 index 0000000..069acc4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/silver_stained_hardened_clay.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hardened_clay_silver" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/silver_wool.json b/desktopRuntime/resources/assets/minecraft/blockstates/silver_wool.json new file mode 100644 index 0000000..09da066 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/silver_wool.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "silver_wool" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/slime.json b/desktopRuntime/resources/assets/minecraft/blockstates/slime.json new file mode 100644 index 0000000..7c2bbd6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/slime.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "slime" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/smooth_andesite.json b/desktopRuntime/resources/assets/minecraft/blockstates/smooth_andesite.json new file mode 100644 index 0000000..a48e205 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/smooth_andesite.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "andesite_smooth" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/smooth_diorite.json b/desktopRuntime/resources/assets/minecraft/blockstates/smooth_diorite.json new file mode 100644 index 0000000..213183e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/smooth_diorite.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "diorite_smooth" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/smooth_granite.json b/desktopRuntime/resources/assets/minecraft/blockstates/smooth_granite.json new file mode 100644 index 0000000..bc6bda0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/smooth_granite.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "granite_smooth" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/smooth_red_sandstone.json b/desktopRuntime/resources/assets/minecraft/blockstates/smooth_red_sandstone.json new file mode 100644 index 0000000..199c137 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/smooth_red_sandstone.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "red_sandstone_smooth" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/smooth_sandstone.json b/desktopRuntime/resources/assets/minecraft/blockstates/smooth_sandstone.json new file mode 100644 index 0000000..9d65c5d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/smooth_sandstone.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "sandstone_smooth" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/snow.json b/desktopRuntime/resources/assets/minecraft/blockstates/snow.json new file mode 100644 index 0000000..e188504 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/snow.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "snow" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/snow_layer.json b/desktopRuntime/resources/assets/minecraft/blockstates/snow_layer.json new file mode 100644 index 0000000..95cd5b1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/snow_layer.json @@ -0,0 +1,12 @@ +{ + "variants": { + "layers=1": { "model": "snow_height2" }, + "layers=2": { "model": "snow_height4" }, + "layers=3": { "model": "snow_height6" }, + "layers=4": { "model": "snow_height8" }, + "layers=5": { "model": "snow_height10" }, + "layers=6": { "model": "snow_height12" }, + "layers=7": { "model": "snow_height14" }, + "layers=8": { "model": "snow" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/soul_sand.json b/desktopRuntime/resources/assets/minecraft/blockstates/soul_sand.json new file mode 100644 index 0000000..b62b807 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/soul_sand.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "soul_sand" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/sponge.json b/desktopRuntime/resources/assets/minecraft/blockstates/sponge.json new file mode 100644 index 0000000..dacbb14 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/sponge.json @@ -0,0 +1,6 @@ +{ + "variants": { + "wet=false": { "model": "sponge" }, + "wet=true": { "model": "sponge_wet" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/spruce_door.json b/desktopRuntime/resources/assets/minecraft/blockstates/spruce_door.json new file mode 100644 index 0000000..202313d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/spruce_door.json @@ -0,0 +1,36 @@ +{ + "variants": { + "facing=east,half=lower,hinge=left,open=false": { "model": "spruce_door_bottom" }, + "facing=south,half=lower,hinge=left,open=false": { "model": "spruce_door_bottom", "y": 90 }, + "facing=west,half=lower,hinge=left,open=false": { "model": "spruce_door_bottom", "y": 180 }, + "facing=north,half=lower,hinge=left,open=false": { "model": "spruce_door_bottom", "y": 270 }, + "facing=east,half=lower,hinge=right,open=false": { "model": "spruce_door_bottom_rh" }, + "facing=south,half=lower,hinge=right,open=false": { "model": "spruce_door_bottom_rh", "y": 90 }, + "facing=west,half=lower,hinge=right,open=false": { "model": "spruce_door_bottom_rh", "y": 180 }, + "facing=north,half=lower,hinge=right,open=false": { "model": "spruce_door_bottom_rh", "y": 270 }, + "facing=east,half=lower,hinge=left,open=true": { "model": "spruce_door_bottom_rh", "y": 90 }, + "facing=south,half=lower,hinge=left,open=true": { "model": "spruce_door_bottom_rh", "y": 180 }, + "facing=west,half=lower,hinge=left,open=true": { "model": "spruce_door_bottom_rh", "y": 270 }, + "facing=north,half=lower,hinge=left,open=true": { "model": "spruce_door_bottom_rh" }, + "facing=east,half=lower,hinge=right,open=true": { "model": "spruce_door_bottom", "y": 270 }, + "facing=south,half=lower,hinge=right,open=true": { "model": "spruce_door_bottom" }, + "facing=west,half=lower,hinge=right,open=true": { "model": "spruce_door_bottom", "y": 90 }, + "facing=north,half=lower,hinge=right,open=true": { "model": "spruce_door_bottom", "y": 180 }, + "facing=east,half=upper,hinge=left,open=false": { "model": "spruce_door_top" }, + "facing=south,half=upper,hinge=left,open=false": { "model": "spruce_door_top", "y": 90 }, + "facing=west,half=upper,hinge=left,open=false": { "model": "spruce_door_top", "y": 180 }, + "facing=north,half=upper,hinge=left,open=false": { "model": "spruce_door_top", "y": 270 }, + "facing=east,half=upper,hinge=right,open=false": { "model": "spruce_door_top_rh" }, + "facing=south,half=upper,hinge=right,open=false": { "model": "spruce_door_top_rh", "y": 90 }, + "facing=west,half=upper,hinge=right,open=false": { "model": "spruce_door_top_rh", "y": 180 }, + "facing=north,half=upper,hinge=right,open=false": { "model": "spruce_door_top_rh", "y": 270 }, + "facing=east,half=upper,hinge=left,open=true": { "model": "spruce_door_top_rh", "y": 90 }, + "facing=south,half=upper,hinge=left,open=true": { "model": "spruce_door_top_rh", "y": 180 }, + "facing=west,half=upper,hinge=left,open=true": { "model": "spruce_door_top_rh", "y": 270 }, + "facing=north,half=upper,hinge=left,open=true": { "model": "spruce_door_top_rh" }, + "facing=east,half=upper,hinge=right,open=true": { "model": "spruce_door_top", "y": 270 }, + "facing=south,half=upper,hinge=right,open=true": { "model": "spruce_door_top" }, + "facing=west,half=upper,hinge=right,open=true": { "model": "spruce_door_top", "y": 90 }, + "facing=north,half=upper,hinge=right,open=true": { "model": "spruce_door_top", "y": 180 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/spruce_double_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/spruce_double_slab.json new file mode 100644 index 0000000..e2d11da --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/spruce_double_slab.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "spruce_planks" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/spruce_fence.json b/desktopRuntime/resources/assets/minecraft/blockstates/spruce_fence.json new file mode 100644 index 0000000..0dd96a4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/spruce_fence.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "spruce_fence_post" }, + "east=false,north=true,south=false,west=false": { "model": "spruce_fence_n", "uvlock": true }, + "east=true,north=false,south=false,west=false": { "model": "spruce_fence_n", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,west=false": { "model": "spruce_fence_n", "y": 180, "uvlock": true }, + "east=false,north=false,south=false,west=true": { "model": "spruce_fence_n", "y": 270, "uvlock": true }, + "east=true,north=true,south=false,west=false": { "model": "spruce_fence_ne", "uvlock": true }, + "east=true,north=false,south=true,west=false": { "model": "spruce_fence_ne", "y": 90, "uvlock": true }, + "east=false,north=false,south=true,west=true": { "model": "spruce_fence_ne", "y": 180, "uvlock": true }, + "east=false,north=true,south=false,west=true": { "model": "spruce_fence_ne", "y": 270, "uvlock": true }, + "east=false,north=true,south=true,west=false": { "model": "spruce_fence_ns", "uvlock": true }, + "east=true,north=false,south=false,west=true": { "model": "spruce_fence_ns", "y": 90, "uvlock": true }, + "east=true,north=true,south=true,west=false": { "model": "spruce_fence_nse", "uvlock": true }, + "east=true,north=false,south=true,west=true": { "model": "spruce_fence_nse", "y": 90, "uvlock": true }, + "east=false,north=true,south=true,west=true": { "model": "spruce_fence_nse", "y": 180, "uvlock": true }, + "east=true,north=true,south=false,west=true": { "model": "spruce_fence_nse", "y": 270, "uvlock": true }, + "east=true,north=true,south=true,west=true": { "model": "spruce_fence_nsew", "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/spruce_fence_gate.json b/desktopRuntime/resources/assets/minecraft/blockstates/spruce_fence_gate.json new file mode 100644 index 0000000..ba44f44 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/spruce_fence_gate.json @@ -0,0 +1,20 @@ +{ + "variants": { + "facing=south,in_wall=false,open=false": { "model": "spruce_fence_gate_closed" }, + "facing=west,in_wall=false,open=false": { "model": "spruce_fence_gate_closed", "y": 90, "uvlock": true }, + "facing=north,in_wall=false,open=false": { "model": "spruce_fence_gate_closed", "y": 180, "uvlock": true }, + "facing=east,in_wall=false,open=false": { "model": "spruce_fence_gate_closed", "y": 270, "uvlock": true }, + "facing=south,in_wall=false,open=true": { "model": "spruce_fence_gate_open" }, + "facing=west,in_wall=false,open=true": { "model": "spruce_fence_gate_open", "y": 90, "uvlock": true }, + "facing=north,in_wall=false,open=true": { "model": "spruce_fence_gate_open", "y": 180, "uvlock": true }, + "facing=east,in_wall=false,open=true": { "model": "spruce_fence_gate_open", "y": 270, "uvlock": true }, + "facing=south,in_wall=true,open=false": { "model": "spruce_wall_gate_closed" }, + "facing=west,in_wall=true,open=false": { "model": "spruce_wall_gate_closed", "y": 90, "uvlock": true }, + "facing=north,in_wall=true,open=false": { "model": "spruce_wall_gate_closed", "y": 180, "uvlock": true }, + "facing=east,in_wall=true,open=false": { "model": "spruce_wall_gate_closed", "y": 270, "uvlock": true }, + "facing=south,in_wall=true,open=true": { "model": "spruce_wall_gate_open" }, + "facing=west,in_wall=true,open=true": { "model": "spruce_wall_gate_open", "y": 90, "uvlock": true }, + "facing=north,in_wall=true,open=true": { "model": "spruce_wall_gate_open", "y": 180, "uvlock": true }, + "facing=east,in_wall=true,open=true": { "model": "spruce_wall_gate_open", "y": 270, "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/spruce_leaves.json b/desktopRuntime/resources/assets/minecraft/blockstates/spruce_leaves.json new file mode 100644 index 0000000..7f03d7d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/spruce_leaves.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "spruce_leaves" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/spruce_log.json b/desktopRuntime/resources/assets/minecraft/blockstates/spruce_log.json new file mode 100644 index 0000000..f944c58 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/spruce_log.json @@ -0,0 +1,8 @@ +{ + "variants": { + "axis=y": { "model": "spruce_log" }, + "axis=z": { "model": "spruce_log_side" }, + "axis=x": { "model": "spruce_log_side", "y": 90 }, + "axis=none": { "model": "spruce_bark" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/spruce_planks.json b/desktopRuntime/resources/assets/minecraft/blockstates/spruce_planks.json new file mode 100644 index 0000000..e2d11da --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/spruce_planks.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "spruce_planks" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/spruce_sapling.json b/desktopRuntime/resources/assets/minecraft/blockstates/spruce_sapling.json new file mode 100644 index 0000000..45a85c5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/spruce_sapling.json @@ -0,0 +1,6 @@ +{ + "variants": { + "stage=0": { "model": "spruce_sapling" }, + "stage=1": { "model": "spruce_sapling" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/spruce_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/spruce_slab.json new file mode 100644 index 0000000..c4df009 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/spruce_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom": { "model": "half_slab_spruce" }, + "half=top": { "model": "upper_slab_spruce" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/spruce_stairs.json b/desktopRuntime/resources/assets/minecraft/blockstates/spruce_stairs.json new file mode 100644 index 0000000..daaf7eb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/spruce_stairs.json @@ -0,0 +1,44 @@ +{ + "variants": { + "facing=east,half=bottom,shape=straight": { "model": "spruce_stairs" }, + "facing=west,half=bottom,shape=straight": { "model": "spruce_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=straight": { "model": "spruce_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=straight": { "model": "spruce_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_right": { "model": "spruce_outer_stairs" }, + "facing=west,half=bottom,shape=outer_right": { "model": "spruce_outer_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=outer_right": { "model": "spruce_outer_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=outer_right": { "model": "spruce_outer_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_left": { "model": "spruce_outer_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=outer_left": { "model": "spruce_outer_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=outer_left": { "model": "spruce_outer_stairs" }, + "facing=north,half=bottom,shape=outer_left": { "model": "spruce_outer_stairs", "y": 180, "uvlock": true }, + "facing=east,half=bottom,shape=inner_right": { "model": "spruce_inner_stairs" }, + "facing=west,half=bottom,shape=inner_right": { "model": "spruce_inner_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=inner_right": { "model": "spruce_inner_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=inner_right": { "model": "spruce_inner_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=inner_left": { "model": "spruce_inner_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=inner_left": { "model": "spruce_inner_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=inner_left": { "model": "spruce_inner_stairs" }, + "facing=north,half=bottom,shape=inner_left": { "model": "spruce_inner_stairs", "y": 180, "uvlock": true }, + "facing=east,half=top,shape=straight": { "model": "spruce_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=straight": { "model": "spruce_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=straight": { "model": "spruce_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=straight": { "model": "spruce_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_right": { "model": "spruce_outer_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=outer_right": { "model": "spruce_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=outer_right": { "model": "spruce_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=outer_right": { "model": "spruce_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_left": { "model": "spruce_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=outer_left": { "model": "spruce_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=outer_left": { "model": "spruce_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=outer_left": { "model": "spruce_outer_stairs", "x": 180, "uvlock": true }, + "facing=east,half=top,shape=inner_right": { "model": "spruce_inner_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=inner_right": { "model": "spruce_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=inner_right": { "model": "spruce_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=inner_right": { "model": "spruce_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=inner_left": { "model": "spruce_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=inner_left": { "model": "spruce_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=inner_left": { "model": "spruce_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=inner_left": { "model": "spruce_inner_stairs", "x": 180, "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/sticky_piston.json b/desktopRuntime/resources/assets/minecraft/blockstates/sticky_piston.json new file mode 100644 index 0000000..276b4da --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/sticky_piston.json @@ -0,0 +1,16 @@ +{ + "variants": { + "extended=false,facing=down": { "model": "sticky_piston", "x": 90 }, + "extended=false,facing=up": { "model": "sticky_piston", "x": 270 }, + "extended=false,facing=north": { "model": "sticky_piston" }, + "extended=false,facing=south": { "model": "sticky_piston", "y": 180 }, + "extended=false,facing=west": { "model": "sticky_piston", "y": 270 }, + "extended=false,facing=east": { "model": "sticky_piston", "y": 90 }, + "extended=true,facing=down": { "model": "piston_extended_normal", "x": 90 }, + "extended=true,facing=up": { "model": "piston_extended_normal", "x": 270 }, + "extended=true,facing=north": { "model": "piston_extended_normal" }, + "extended=true,facing=south": { "model": "piston_extended_normal", "y": 180 }, + "extended=true,facing=west": { "model": "piston_extended_normal", "y": 270 }, + "extended=true,facing=east": { "model": "piston_extended_normal", "y": 90 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/stone.json b/desktopRuntime/resources/assets/minecraft/blockstates/stone.json new file mode 100644 index 0000000..481b29a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/stone.json @@ -0,0 +1,10 @@ +{ + "variants": { + "normal": [ + { "model": "stone" }, + { "model": "stone_mirrored" }, + { "model": "stone", "y": 180 }, + { "model": "stone_mirrored", "y": 180 } + ] + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/stone_brick_double_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/stone_brick_double_slab.json new file mode 100644 index 0000000..7acc6c6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/stone_brick_double_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "normal": { "model": "stonebrick_normal" }, + "all": { "model": "stonebrick_normal" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/stone_brick_monster_egg.json b/desktopRuntime/resources/assets/minecraft/blockstates/stone_brick_monster_egg.json new file mode 100644 index 0000000..34fa81a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/stone_brick_monster_egg.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "stonebrick_normal" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/stone_brick_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/stone_brick_slab.json new file mode 100644 index 0000000..921ec8c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/stone_brick_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom": { "model": "half_slab_stone_brick" }, + "half=top": { "model": "upper_slab_stone_brick" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/stone_brick_stairs.json b/desktopRuntime/resources/assets/minecraft/blockstates/stone_brick_stairs.json new file mode 100644 index 0000000..a8ed4ca --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/stone_brick_stairs.json @@ -0,0 +1,44 @@ +{ + "variants": { + "facing=east,half=bottom,shape=straight": { "model": "stone_brick_stairs" }, + "facing=west,half=bottom,shape=straight": { "model": "stone_brick_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=straight": { "model": "stone_brick_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=straight": { "model": "stone_brick_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_right": { "model": "stone_brick_outer_stairs" }, + "facing=west,half=bottom,shape=outer_right": { "model": "stone_brick_outer_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=outer_right": { "model": "stone_brick_outer_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=outer_right": { "model": "stone_brick_outer_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_left": { "model": "stone_brick_outer_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=outer_left": { "model": "stone_brick_outer_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=outer_left": { "model": "stone_brick_outer_stairs" }, + "facing=north,half=bottom,shape=outer_left": { "model": "stone_brick_outer_stairs", "y": 180, "uvlock": true }, + "facing=east,half=bottom,shape=inner_right": { "model": "stone_brick_inner_stairs" }, + "facing=west,half=bottom,shape=inner_right": { "model": "stone_brick_inner_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=inner_right": { "model": "stone_brick_inner_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=inner_right": { "model": "stone_brick_inner_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=inner_left": { "model": "stone_brick_inner_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=inner_left": { "model": "stone_brick_inner_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=inner_left": { "model": "stone_brick_inner_stairs" }, + "facing=north,half=bottom,shape=inner_left": { "model": "stone_brick_inner_stairs", "y": 180, "uvlock": true }, + "facing=east,half=top,shape=straight": { "model": "stone_brick_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=straight": { "model": "stone_brick_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=straight": { "model": "stone_brick_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=straight": { "model": "stone_brick_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_right": { "model": "stone_brick_outer_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=outer_right": { "model": "stone_brick_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=outer_right": { "model": "stone_brick_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=outer_right": { "model": "stone_brick_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_left": { "model": "stone_brick_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=outer_left": { "model": "stone_brick_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=outer_left": { "model": "stone_brick_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=outer_left": { "model": "stone_brick_outer_stairs", "x": 180, "uvlock": true }, + "facing=east,half=top,shape=inner_right": { "model": "stone_brick_inner_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=inner_right": { "model": "stone_brick_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=inner_right": { "model": "stone_brick_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=inner_right": { "model": "stone_brick_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=inner_left": { "model": "stone_brick_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=inner_left": { "model": "stone_brick_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=inner_left": { "model": "stone_brick_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=inner_left": { "model": "stone_brick_inner_stairs", "x": 180, "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/stone_button.json b/desktopRuntime/resources/assets/minecraft/blockstates/stone_button.json new file mode 100644 index 0000000..0e03643 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/stone_button.json @@ -0,0 +1,16 @@ +{ + "variants": { + "facing=up,powered=false": { "model": "stone_button" }, + "facing=down,powered=false": { "model": "stone_button", "x": 180 }, + "facing=east,powered=false": { "model": "stone_button", "x": 90, "y": 90 }, + "facing=west,powered=false": { "model": "stone_button", "x": 90, "y": 270 }, + "facing=south,powered=false": { "model": "stone_button", "x": 90, "y": 180 }, + "facing=north,powered=false": { "model": "stone_button", "x": 90 }, + "facing=up,powered=true": { "model": "stone_button_pressed" }, + "facing=down,powered=true": { "model": "stone_button_pressed", "x": 180 }, + "facing=east,powered=true": { "model": "stone_button_pressed", "x": 90, "y": 90 }, + "facing=west,powered=true": { "model": "stone_button_pressed", "x": 90, "y": 270 }, + "facing=south,powered=true": { "model": "stone_button_pressed", "x": 90, "y": 180 }, + "facing=north,powered=true": { "model": "stone_button_pressed", "x": 90 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/stone_double_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/stone_double_slab.json new file mode 100644 index 0000000..b14642f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/stone_double_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "normal": { "model": "double_stone" }, + "all": { "model": "double_stone_top" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/stone_monster_egg.json b/desktopRuntime/resources/assets/minecraft/blockstates/stone_monster_egg.json new file mode 100644 index 0000000..720da4e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/stone_monster_egg.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "stone" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/stone_pressure_plate.json b/desktopRuntime/resources/assets/minecraft/blockstates/stone_pressure_plate.json new file mode 100644 index 0000000..6d014bf --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/stone_pressure_plate.json @@ -0,0 +1,6 @@ +{ + "variants": { + "powered=false": { "model": "stone_pressure_plate_up" }, + "powered=true": { "model": "stone_pressure_plate_down" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/stone_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/stone_slab.json new file mode 100644 index 0000000..4931695 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/stone_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom": { "model": "half_slab_stone" }, + "half=top": { "model": "upper_slab_stone" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/stone_stairs.json b/desktopRuntime/resources/assets/minecraft/blockstates/stone_stairs.json new file mode 100644 index 0000000..df1c462 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/stone_stairs.json @@ -0,0 +1,44 @@ +{ + "variants": { + "facing=east,half=bottom,shape=straight": { "model": "stone_stairs" }, + "facing=west,half=bottom,shape=straight": { "model": "stone_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=straight": { "model": "stone_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=straight": { "model": "stone_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_right": { "model": "stone_outer_stairs" }, + "facing=west,half=bottom,shape=outer_right": { "model": "stone_outer_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=outer_right": { "model": "stone_outer_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=outer_right": { "model": "stone_outer_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_left": { "model": "stone_outer_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=outer_left": { "model": "stone_outer_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=outer_left": { "model": "stone_outer_stairs" }, + "facing=north,half=bottom,shape=outer_left": { "model": "stone_outer_stairs", "y": 180, "uvlock": true }, + "facing=east,half=bottom,shape=inner_right": { "model": "stone_inner_stairs" }, + "facing=west,half=bottom,shape=inner_right": { "model": "stone_inner_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=inner_right": { "model": "stone_inner_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=inner_right": { "model": "stone_inner_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=inner_left": { "model": "stone_inner_stairs", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=inner_left": { "model": "stone_inner_stairs", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=inner_left": { "model": "stone_inner_stairs" }, + "facing=north,half=bottom,shape=inner_left": { "model": "stone_inner_stairs", "y": 180, "uvlock": true }, + "facing=east,half=top,shape=straight": { "model": "stone_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=straight": { "model": "stone_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=straight": { "model": "stone_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=straight": { "model": "stone_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_right": { "model": "stone_outer_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=outer_right": { "model": "stone_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=outer_right": { "model": "stone_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=outer_right": { "model": "stone_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_left": { "model": "stone_outer_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=outer_left": { "model": "stone_outer_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=outer_left": { "model": "stone_outer_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=outer_left": { "model": "stone_outer_stairs", "x": 180, "uvlock": true }, + "facing=east,half=top,shape=inner_right": { "model": "stone_inner_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=inner_right": { "model": "stone_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=inner_right": { "model": "stone_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=inner_right": { "model": "stone_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=inner_left": { "model": "stone_inner_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=inner_left": { "model": "stone_inner_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=inner_left": { "model": "stone_inner_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=inner_left": { "model": "stone_inner_stairs", "x": 180, "uvlock": true } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/stonebrick.json b/desktopRuntime/resources/assets/minecraft/blockstates/stonebrick.json new file mode 100644 index 0000000..34fa81a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/stonebrick.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "stonebrick_normal" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/sunflower.json b/desktopRuntime/resources/assets/minecraft/blockstates/sunflower.json new file mode 100644 index 0000000..1eab20d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/sunflower.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=lower": { "model": "double_sunflower_bottom" }, + "half=upper": { "model": "double_sunflower_top" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/syringa.json b/desktopRuntime/resources/assets/minecraft/blockstates/syringa.json new file mode 100644 index 0000000..04cacc2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/syringa.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=lower": { "model": "double_syringa_bottom" }, + "half=upper": { "model": "double_syringa_top" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/tall_grass.json b/desktopRuntime/resources/assets/minecraft/blockstates/tall_grass.json new file mode 100644 index 0000000..f58d568 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/tall_grass.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "tall_grass" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/tnt.json b/desktopRuntime/resources/assets/minecraft/blockstates/tnt.json new file mode 100644 index 0000000..55afd63 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/tnt.json @@ -0,0 +1,10 @@ +{ + "variants": { + "normal": [ + { "model": "tnt" }, + { "model": "tnt", "y": 90 }, + { "model": "tnt", "y": 180 }, + { "model": "tnt", "y": 270 } + ] + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/torch.json b/desktopRuntime/resources/assets/minecraft/blockstates/torch.json new file mode 100644 index 0000000..d3d704e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/torch.json @@ -0,0 +1,9 @@ +{ + "variants": { + "facing=up": { "model": "normal_torch" }, + "facing=east": { "model": "normal_torch_wall" }, + "facing=south": { "model": "normal_torch_wall", "y": 90 }, + "facing=west": { "model": "normal_torch_wall", "y": 180 }, + "facing=north": { "model": "normal_torch_wall", "y": 270 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/trapdoor.json b/desktopRuntime/resources/assets/minecraft/blockstates/trapdoor.json new file mode 100644 index 0000000..2918632 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/trapdoor.json @@ -0,0 +1,20 @@ +{ + "variants": { + "facing=north,half=bottom,open=false": { "model": "wooden_trapdoor_bottom" }, + "facing=south,half=bottom,open=false": { "model": "wooden_trapdoor_bottom" }, + "facing=east,half=bottom,open=false": { "model": "wooden_trapdoor_bottom" }, + "facing=west,half=bottom,open=false": { "model": "wooden_trapdoor_bottom" }, + "facing=north,half=top,open=false": { "model": "wooden_trapdoor_top" }, + "facing=south,half=top,open=false": { "model": "wooden_trapdoor_top" }, + "facing=east,half=top,open=false": { "model": "wooden_trapdoor_top" }, + "facing=west,half=top,open=false": { "model": "wooden_trapdoor_top" }, + "facing=north,half=bottom,open=true": { "model": "wooden_trapdoor_open" }, + "facing=south,half=bottom,open=true": { "model": "wooden_trapdoor_open", "y": 180 }, + "facing=east,half=bottom,open=true": { "model": "wooden_trapdoor_open", "y": 90 }, + "facing=west,half=bottom,open=true": { "model": "wooden_trapdoor_open", "y": 270 }, + "facing=north,half=top,open=true": { "model": "wooden_trapdoor_open" }, + "facing=south,half=top,open=true": { "model": "wooden_trapdoor_open", "y": 180 }, + "facing=east,half=top,open=true": { "model": "wooden_trapdoor_open", "y": 90 }, + "facing=west,half=top,open=true": { "model": "wooden_trapdoor_open", "y": 270 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/tripwire.json b/desktopRuntime/resources/assets/minecraft/blockstates/tripwire.json new file mode 100644 index 0000000..eeecb46 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/tripwire.json @@ -0,0 +1,68 @@ +{ + "variants": { + "attached=false,east=false,north=false,south=false,suspended=false,west=false": { "model": "tripwire_ns" }, + "attached=false,east=false,north=true,south=false,suspended=false,west=false": { "model": "tripwire_n" }, + "attached=false,east=false,north=false,south=true,suspended=false,west=false": { "model": "tripwire_n", "y": 180 }, + "attached=false,east=true,north=false,south=false,suspended=false,west=false": { "model": "tripwire_n", "y": 90 }, + "attached=false,east=false,north=false,south=false,suspended=false,west=true": { "model": "tripwire_n", "y": 270 }, + "attached=false,east=true,north=true,south=false,suspended=false,west=false": { "model": "tripwire_ne" }, + "attached=false,east=true,north=false,south=true,suspended=false,west=false": { "model": "tripwire_ne", "y": 90 }, + "attached=false,east=false,north=false,south=true,suspended=false,west=true": { "model": "tripwire_ne", "y": 180 }, + "attached=false,east=false,north=true,south=false,suspended=false,west=true": { "model": "tripwire_ne", "y": 270 }, + "attached=false,east=false,north=true,south=true,suspended=false,west=false": { "model": "tripwire_ns" }, + "attached=false,east=true,north=false,south=false,suspended=false,west=true": { "model": "tripwire_ns", "y": 90 }, + "attached=false,east=true,north=true,south=true,suspended=false,west=false": { "model": "tripwire_nse" }, + "attached=false,east=true,north=false,south=true,suspended=false,west=true": { "model": "tripwire_nse", "y": 90 }, + "attached=false,east=false,north=true,south=true,suspended=false,west=true": { "model": "tripwire_nse", "y": 180 }, + "attached=false,east=true,north=true,south=false,suspended=false,west=true": { "model": "tripwire_nse", "y": 270 }, + "attached=false,east=true,north=true,south=true,suspended=false,west=true": { "model": "tripwire_nsew" }, + "attached=false,east=false,north=false,south=false,suspended=true,west=false": { "model": "tripwire_suspended_ns" }, + "attached=false,east=false,north=true,south=false,suspended=true,west=false": { "model": "tripwire_suspended_n" }, + "attached=false,east=false,north=false,south=true,suspended=true,west=false": { "model": "tripwire_suspended_n", "y": 180 }, + "attached=false,east=true,north=false,south=false,suspended=true,west=false": { "model": "tripwire_suspended_n", "y": 90 }, + "attached=false,east=false,north=false,south=false,suspended=true,west=true": { "model": "tripwire_suspended_n", "y": 270 }, + "attached=false,east=true,north=true,south=false,suspended=true,west=false": { "model": "tripwire_suspended_ne" }, + "attached=false,east=true,north=false,south=true,suspended=true,west=false": { "model": "tripwire_suspended_ne", "y": 90 }, + "attached=false,east=false,north=false,south=true,suspended=true,west=true": { "model": "tripwire_suspended_ne", "y": 180 }, + "attached=false,east=false,north=true,south=false,suspended=true,west=true": { "model": "tripwire_suspended_ne", "y": 270 }, + "attached=false,east=false,north=true,south=true,suspended=true,west=false": { "model": "tripwire_suspended_ns" }, + "attached=false,east=true,north=false,south=false,suspended=true,west=true": { "model": "tripwire_suspended_ns", "y": 90 }, + "attached=false,east=true,north=true,south=true,suspended=true,west=false": { "model": "tripwire_suspended_nse" }, + "attached=false,east=true,north=false,south=true,suspended=true,west=true": { "model": "tripwire_suspended_nse", "y": 90 }, + "attached=false,east=false,north=true,south=true,suspended=true,west=true": { "model": "tripwire_suspended_nse", "y": 180 }, + "attached=false,east=true,north=true,south=false,suspended=true,west=true": { "model": "tripwire_suspended_nse", "y": 270 }, + "attached=false,east=true,north=true,south=true,suspended=true,west=true": { "model": "tripwire_suspended_nsew" }, + "attached=true,east=false,north=false,south=false,suspended=false,west=false": { "model": "tripwire_attached_ns" }, + "attached=true,east=false,north=true,south=false,suspended=false,west=false": { "model": "tripwire_attached_n" }, + "attached=true,east=false,north=false,south=true,suspended=false,west=false": { "model": "tripwire_attached_n", "y": 180 }, + "attached=true,east=true,north=false,south=false,suspended=false,west=false": { "model": "tripwire_attached_n", "y": 90 }, + "attached=true,east=false,north=false,south=false,suspended=false,west=true": { "model": "tripwire_attached_n", "y": 270 }, + "attached=true,east=true,north=true,south=false,suspended=false,west=false": { "model": "tripwire_attached_ne" }, + "attached=true,east=true,north=false,south=true,suspended=false,west=false": { "model": "tripwire_attached_ne", "y": 90 }, + "attached=true,east=false,north=false,south=true,suspended=false,west=true": { "model": "tripwire_attached_ne", "y": 180 }, + "attached=true,east=false,north=true,south=false,suspended=false,west=true": { "model": "tripwire_attached_ne", "y": 270 }, + "attached=true,east=false,north=true,south=true,suspended=false,west=false": { "model": "tripwire_attached_ns" }, + "attached=true,east=true,north=false,south=false,suspended=false,west=true": { "model": "tripwire_attached_ns", "y": 90 }, + "attached=true,east=true,north=true,south=true,suspended=false,west=false": { "model": "tripwire_attached_nse" }, + "attached=true,east=true,north=false,south=true,suspended=false,west=true": { "model": "tripwire_attached_nse", "y": 90 }, + "attached=true,east=false,north=true,south=true,suspended=false,west=true": { "model": "tripwire_attached_nse", "y": 180 }, + "attached=true,east=true,north=true,south=false,suspended=false,west=true": { "model": "tripwire_attached_nse", "y": 270 }, + "attached=true,east=true,north=true,south=true,suspended=false,west=true": { "model": "tripwire_attached_nsew" }, + "attached=true,east=false,north=false,south=false,suspended=true,west=false": { "model": "tripwire_attached_suspended_ns" }, + "attached=true,east=false,north=true,south=false,suspended=true,west=false": { "model": "tripwire_attached_suspended_n" }, + "attached=true,east=false,north=false,south=true,suspended=true,west=false": { "model": "tripwire_attached_suspended_n", "y": 180 }, + "attached=true,east=true,north=false,south=false,suspended=true,west=false": { "model": "tripwire_attached_suspended_n", "y": 90 }, + "attached=true,east=false,north=false,south=false,suspended=true,west=true": { "model": "tripwire_attached_suspended_n", "y": 270 }, + "attached=true,east=true,north=true,south=false,suspended=true,west=false": { "model": "tripwire_attached_suspended_ne" }, + "attached=true,east=true,north=false,south=true,suspended=true,west=false": { "model": "tripwire_attached_suspended_ne", "y": 90 }, + "attached=true,east=false,north=false,south=true,suspended=true,west=true": { "model": "tripwire_attached_suspended_ne", "y": 180 }, + "attached=true,east=false,north=true,south=false,suspended=true,west=true": { "model": "tripwire_attached_suspended_ne", "y": 270 }, + "attached=true,east=false,north=true,south=true,suspended=true,west=false": { "model": "tripwire_attached_suspended_ns" }, + "attached=true,east=true,north=false,south=false,suspended=true,west=true": { "model": "tripwire_attached_suspended_ns", "y": 90 }, + "attached=true,east=true,north=true,south=true,suspended=true,west=false": { "model": "tripwire_attached_suspended_nse" }, + "attached=true,east=true,north=false,south=true,suspended=true,west=true": { "model": "tripwire_attached_suspended_nse", "y": 90 }, + "attached=true,east=false,north=true,south=true,suspended=true,west=true": { "model": "tripwire_attached_suspended_nse", "y": 180 }, + "attached=true,east=true,north=true,south=false,suspended=true,west=true": { "model": "tripwire_attached_suspended_nse", "y": 270 }, + "attached=true,east=true,north=true,south=true,suspended=true,west=true": { "model": "tripwire_attached_suspended_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/tripwire_hook.json b/desktopRuntime/resources/assets/minecraft/blockstates/tripwire_hook.json new file mode 100644 index 0000000..ca09850 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/tripwire_hook.json @@ -0,0 +1,36 @@ +{ + "variants": { + "attached=false,facing=north,powered=false,suspended=false": { "model": "tripwire_hook" }, + "attached=false,facing=south,powered=false,suspended=false": { "model": "tripwire_hook", "y": 180 }, + "attached=false,facing=west,powered=false,suspended=false": { "model": "tripwire_hook", "y": 270 }, + "attached=false,facing=east,powered=false,suspended=false": { "model": "tripwire_hook", "y": 90 }, + "attached=false,facing=north,powered=false,suspended=true": { "model": "tripwire_hook" }, + "attached=false,facing=south,powered=false,suspended=true": { "model": "tripwire_hook", "y": 180 }, + "attached=false,facing=west,powered=false,suspended=true": { "model": "tripwire_hook", "y": 270 }, + "attached=false,facing=east,powered=false,suspended=true": { "model": "tripwire_hook", "y": 90 }, + "attached=true,facing=north,powered=false,suspended=false": { "model": "tripwire_hook_attached" }, + "attached=true,facing=south,powered=false,suspended=false": { "model": "tripwire_hook_attached", "y": 180 }, + "attached=true,facing=west,powered=false,suspended=false": { "model": "tripwire_hook_attached", "y": 270 }, + "attached=true,facing=east,powered=false,suspended=false": { "model": "tripwire_hook_attached", "y": 90 }, + "attached=true,facing=north,powered=false,suspended=true": { "model": "tripwire_hook_attached_suspended" }, + "attached=true,facing=south,powered=false,suspended=true": { "model": "tripwire_hook_attached_suspended", "y": 180 }, + "attached=true,facing=west,powered=false,suspended=true": { "model": "tripwire_hook_attached_suspended", "y": 270 }, + "attached=true,facing=east,powered=false,suspended=true": { "model": "tripwire_hook_attached_suspended", "y": 90 }, + "attached=false,facing=north,powered=true,suspended=false": { "model": "tripwire_hook_powered" }, + "attached=false,facing=south,powered=true,suspended=false": { "model": "tripwire_hook_powered", "y": 180 }, + "attached=false,facing=west,powered=true,suspended=false": { "model": "tripwire_hook_powered", "y": 270 }, + "attached=false,facing=east,powered=true,suspended=false": { "model": "tripwire_hook_powered", "y": 90 }, + "attached=false,facing=north,powered=true,suspended=true": { "model": "tripwire_hook_powered" }, + "attached=false,facing=south,powered=true,suspended=true": { "model": "tripwire_hook_powered", "y": 180 }, + "attached=false,facing=west,powered=true,suspended=true": { "model": "tripwire_hook_powered", "y": 270 }, + "attached=false,facing=east,powered=true,suspended=true": { "model": "tripwire_hook_powered", "y": 90 }, + "attached=true,facing=north,powered=true,suspended=false": { "model": "tripwire_hook_attached_powered" }, + "attached=true,facing=south,powered=true,suspended=false": { "model": "tripwire_hook_attached_powered", "y": 180 }, + "attached=true,facing=west,powered=true,suspended=false": { "model": "tripwire_hook_attached_powered", "y": 270 }, + "attached=true,facing=east,powered=true,suspended=false": { "model": "tripwire_hook_attached_powered", "y": 90 }, + "attached=true,facing=north,powered=true,suspended=true": { "model": "tripwire_hook_attached_suspended_powered" }, + "attached=true,facing=south,powered=true,suspended=true": { "model": "tripwire_hook_attached_suspended_powered", "y": 180 }, + "attached=true,facing=west,powered=true,suspended=true": { "model": "tripwire_hook_attached_suspended_powered", "y": 270 }, + "attached=true,facing=east,powered=true,suspended=true": { "model": "tripwire_hook_attached_suspended_powered", "y": 90 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/unlit_redstone_torch.json b/desktopRuntime/resources/assets/minecraft/blockstates/unlit_redstone_torch.json new file mode 100644 index 0000000..247565b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/unlit_redstone_torch.json @@ -0,0 +1,9 @@ +{ + "variants": { + "facing=up": { "model": "unlit_redstone_torch" }, + "facing=east": { "model": "unlit_redstone_torch_wall" }, + "facing=south": { "model": "unlit_redstone_torch_wall", "y": 90 }, + "facing=west": { "model": "unlit_redstone_torch_wall", "y": 180 }, + "facing=north": { "model": "unlit_redstone_torch_wall", "y": 270 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/unpowered_comparator.json b/desktopRuntime/resources/assets/minecraft/blockstates/unpowered_comparator.json new file mode 100644 index 0000000..afc9988 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/unpowered_comparator.json @@ -0,0 +1,20 @@ +{ + "variants": { + "facing=south,mode=compare,powered=false": { "model": "comparator_unlit" }, + "facing=west,mode=compare,powered=false": { "model": "comparator_unlit", "y": 90 }, + "facing=north,mode=compare,powered=false": { "model": "comparator_unlit", "y": 180 }, + "facing=east,mode=compare,powered=false": { "model": "comparator_unlit", "y": 270 }, + "facing=south,mode=subtract,powered=false": { "model": "comparator_unlit_subtract" }, + "facing=west,mode=subtract,powered=false": { "model": "comparator_unlit_subtract", "y": 90 }, + "facing=north,mode=subtract,powered=false": { "model": "comparator_unlit_subtract", "y": 180 }, + "facing=east,mode=subtract,powered=false": { "model": "comparator_unlit_subtract", "y": 270 }, + "facing=south,mode=compare,powered=true": { "model": "comparator_lit" }, + "facing=west,mode=compare,powered=true": { "model": "comparator_lit", "y": 90 }, + "facing=north,mode=compare,powered=true": { "model": "comparator_lit", "y": 180 }, + "facing=east,mode=compare,powered=true": { "model": "comparator_lit", "y": 270 }, + "facing=south,mode=subtract,powered=true": { "model": "comparator_lit_subtract" }, + "facing=west,mode=subtract,powered=true": { "model": "comparator_lit_subtract", "y": 90 }, + "facing=north,mode=subtract,powered=true": { "model": "comparator_lit_subtract", "y": 180 }, + "facing=east,mode=subtract,powered=true": { "model": "comparator_lit_subtract", "y": 270 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/unpowered_repeater.json b/desktopRuntime/resources/assets/minecraft/blockstates/unpowered_repeater.json new file mode 100644 index 0000000..e56d79b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/unpowered_repeater.json @@ -0,0 +1,36 @@ +{ + "variants": { + "delay=1,facing=south,locked=false": { "model": "repeater_1tick" }, + "delay=1,facing=west,locked=false": { "model": "repeater_1tick", "y": 90 }, + "delay=1,facing=north,locked=false": { "model": "repeater_1tick", "y": 180 }, + "delay=1,facing=east,locked=false": { "model": "repeater_1tick", "y": 270 }, + "delay=2,facing=south,locked=false": { "model": "repeater_2tick" }, + "delay=2,facing=west,locked=false": { "model": "repeater_2tick", "y": 90 }, + "delay=2,facing=north,locked=false": { "model": "repeater_2tick", "y": 180 }, + "delay=2,facing=east,locked=false": { "model": "repeater_2tick", "y": 270 }, + "delay=3,facing=south,locked=false": { "model": "repeater_3tick" }, + "delay=3,facing=west,locked=false": { "model": "repeater_3tick", "y": 90 }, + "delay=3,facing=north,locked=false": { "model": "repeater_3tick", "y": 180 }, + "delay=3,facing=east,locked=false": { "model": "repeater_3tick", "y": 270 }, + "delay=4,facing=south,locked=false": { "model": "repeater_4tick" }, + "delay=4,facing=west,locked=false": { "model": "repeater_4tick", "y": 90 }, + "delay=4,facing=north,locked=false": { "model": "repeater_4tick", "y": 180 }, + "delay=4,facing=east,locked=false": { "model": "repeater_4tick", "y": 270 }, + "delay=1,facing=south,locked=true": { "model": "repeater_locked_1tick" }, + "delay=1,facing=west,locked=true": { "model": "repeater_locked_1tick", "y": 90 }, + "delay=1,facing=north,locked=true": { "model": "repeater_locked_1tick", "y": 180 }, + "delay=1,facing=east,locked=true": { "model": "repeater_locked_1tick", "y": 270 }, + "delay=2,facing=south,locked=true": { "model": "repeater_locked_2tick" }, + "delay=2,facing=west,locked=true": { "model": "repeater_locked_2tick", "y": 90 }, + "delay=2,facing=north,locked=true": { "model": "repeater_locked_2tick", "y": 180 }, + "delay=2,facing=east,locked=true": { "model": "repeater_locked_2tick", "y": 270 }, + "delay=3,facing=south,locked=true": { "model": "repeater_locked_3tick" }, + "delay=3,facing=west,locked=true": { "model": "repeater_locked_3tick", "y": 90 }, + "delay=3,facing=north,locked=true": { "model": "repeater_locked_3tick", "y": 180 }, + "delay=3,facing=east,locked=true": { "model": "repeater_locked_3tick", "y": 270 }, + "delay=4,facing=south,locked=true": { "model": "repeater_locked_4tick" }, + "delay=4,facing=west,locked=true": { "model": "repeater_locked_4tick", "y": 90 }, + "delay=4,facing=north,locked=true": { "model": "repeater_locked_4tick", "y": 180 }, + "delay=4,facing=east,locked=true": { "model": "repeater_locked_4tick", "y": 270 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/vine.json b/desktopRuntime/resources/assets/minecraft/blockstates/vine.json new file mode 100644 index 0000000..db33cdb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/vine.json @@ -0,0 +1,36 @@ +{ + "variants": { + "east=false,north=false,south=false,up=false,west=false": { "model": "vine_1" }, + "east=false,north=false,south=true,up=false,west=false": { "model": "vine_1" }, + "east=false,north=false,south=false,up=false,west=true": { "model": "vine_1", "y": 90 }, + "east=false,north=true,south=false,up=false,west=false": { "model": "vine_1", "y": 180 }, + "east=true,north=false,south=false,up=false,west=false": { "model": "vine_1", "y": 270 }, + "east=true,north=true,south=false,up=false,west=false": { "model": "vine_2" }, + "east=true,north=false,south=true,up=false,west=false": { "model": "vine_2", "y": 90 }, + "east=false,north=false,south=true,up=false,west=true": { "model": "vine_2", "y": 180 }, + "east=false,north=true,south=false,up=false,west=true": { "model": "vine_2", "y": 270 }, + "east=true,north=false,south=false,up=false,west=true": { "model": "vine_2_opposite" }, + "east=false,north=true,south=true,up=false,west=false": { "model": "vine_2_opposite", "y": 90 }, + "east=true,north=true,south=true,up=false,west=false": { "model": "vine_3" }, + "east=true,north=false,south=true,up=false,west=true": { "model": "vine_3", "y": 90 }, + "east=false,north=true,south=true,up=false,west=true": { "model": "vine_3", "y": 180 }, + "east=true,north=true,south=false,up=false,west=true": { "model": "vine_3", "y": 270 }, + "east=true,north=true,south=true,up=false,west=true": { "model": "vine_4" }, + "east=false,north=false,south=false,up=true,west=false": { "model": "vine_u" }, + "east=false,north=false,south=true,up=true,west=false": { "model": "vine_1u" }, + "east=false,north=false,south=false,up=true,west=true": { "model": "vine_1u", "y": 90 }, + "east=false,north=true,south=false,up=true,west=false": { "model": "vine_1u", "y": 180 }, + "east=true,north=false,south=false,up=true,west=false": { "model": "vine_1u", "y": 270 }, + "east=true,north=true,south=false,up=true,west=false": { "model": "vine_2u" }, + "east=true,north=false,south=true,up=true,west=false": { "model": "vine_2u", "y": 90 }, + "east=false,north=false,south=true,up=true,west=true": { "model": "vine_2u", "y": 180 }, + "east=false,north=true,south=false,up=true,west=true": { "model": "vine_2u", "y": 270 }, + "east=true,north=false,south=false,up=true,west=true": { "model": "vine_2u_opposite" }, + "east=false,north=true,south=true,up=true,west=false": { "model": "vine_2u_opposite", "y": 90 }, + "east=true,north=true,south=true,up=true,west=false": { "model": "vine_3u" }, + "east=true,north=false,south=true,up=true,west=true": { "model": "vine_3u", "y": 90 }, + "east=false,north=true,south=true,up=true,west=true": { "model": "vine_3u", "y": 180 }, + "east=true,north=true,south=false,up=true,west=true": { "model": "vine_3u", "y": 270 }, + "east=true,north=true,south=true,up=true,west=true": { "model": "vine_4u" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/waterlily.json b/desktopRuntime/resources/assets/minecraft/blockstates/waterlily.json new file mode 100644 index 0000000..f2561bc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/waterlily.json @@ -0,0 +1,10 @@ +{ + "variants": { + "normal": [ + { "model": "waterlily" }, + { "model": "waterlily", "y": 90 }, + { "model": "waterlily", "y": 180 }, + { "model": "waterlily", "y": 270 } + ] + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/web.json b/desktopRuntime/resources/assets/minecraft/blockstates/web.json new file mode 100644 index 0000000..1e87e7a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/web.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "web" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/wheat.json b/desktopRuntime/resources/assets/minecraft/blockstates/wheat.json new file mode 100644 index 0000000..4bfe6ae --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/wheat.json @@ -0,0 +1,12 @@ +{ + "variants": { + "age=0": { "model": "wheat_stage0" }, + "age=1": { "model": "wheat_stage1" }, + "age=2": { "model": "wheat_stage2" }, + "age=3": { "model": "wheat_stage3" }, + "age=4": { "model": "wheat_stage4" }, + "age=5": { "model": "wheat_stage5" }, + "age=6": { "model": "wheat_stage6" }, + "age=7": { "model": "wheat_stage7" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/white_carpet.json b/desktopRuntime/resources/assets/minecraft/blockstates/white_carpet.json new file mode 100644 index 0000000..a3c906d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/white_carpet.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "carpet_white" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/white_stained_glass.json b/desktopRuntime/resources/assets/minecraft/blockstates/white_stained_glass.json new file mode 100644 index 0000000..1b8ca76 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/white_stained_glass.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "glass_white" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/white_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/blockstates/white_stained_glass_pane.json new file mode 100644 index 0000000..04bc326 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/white_stained_glass_pane.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "white_pane_nsew" }, + "east=false,north=true,south=false,west=false": { "model": "white_pane_n" }, + "east=true,north=false,south=false,west=false": { "model": "white_pane_n", "y": 90 }, + "east=false,north=false,south=true,west=false": { "model": "white_pane_s" }, + "east=false,north=false,south=false,west=true": { "model": "white_pane_s", "y": 90 }, + "east=true,north=true,south=false,west=false": { "model": "white_pane_ne" }, + "east=true,north=false,south=true,west=false": { "model": "white_pane_se" }, + "east=false,north=false,south=true,west=true": { "model": "white_pane_sw" }, + "east=false,north=true,south=false,west=true": { "model": "white_pane_nw" }, + "east=false,north=true,south=true,west=false": { "model": "white_pane_ns" }, + "east=true,north=false,south=false,west=true": { "model": "white_pane_ns", "y": 90 }, + "east=true,north=true,south=true,west=false": { "model": "white_pane_nse" }, + "east=true,north=false,south=true,west=true": { "model": "white_pane_sew" }, + "east=false,north=true,south=true,west=true": { "model": "white_pane_nsw" }, + "east=true,north=true,south=false,west=true": { "model": "white_pane_new" }, + "east=true,north=true,south=true,west=true": { "model": "white_pane_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/white_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/blockstates/white_stained_hardened_clay.json new file mode 100644 index 0000000..6a8c647 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/white_stained_hardened_clay.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hardened_clay_white" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/white_tulip.json b/desktopRuntime/resources/assets/minecraft/blockstates/white_tulip.json new file mode 100644 index 0000000..96b9b8b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/white_tulip.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "white_tulip" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/white_wool.json b/desktopRuntime/resources/assets/minecraft/blockstates/white_wool.json new file mode 100644 index 0000000..1176a0b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/white_wool.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "white_wool" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/wood_old_double_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/wood_old_double_slab.json new file mode 100644 index 0000000..538db7e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/wood_old_double_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "normal": { "model": "oak_planks" }, + "all": { "model": "oak_planks" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/wood_old_slab.json b/desktopRuntime/resources/assets/minecraft/blockstates/wood_old_slab.json new file mode 100644 index 0000000..80d06ee --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/wood_old_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom": { "model": "half_slab_oak" }, + "half=top": { "model": "upper_slab_oak" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/wooden_button.json b/desktopRuntime/resources/assets/minecraft/blockstates/wooden_button.json new file mode 100644 index 0000000..b1ba947 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/wooden_button.json @@ -0,0 +1,16 @@ +{ + "variants": { + "facing=up,powered=false": { "model": "wooden_button" }, + "facing=down,powered=false": { "model": "wooden_button", "x": 180 }, + "facing=east,powered=false": { "model": "wooden_button", "x": 90, "y": 90 }, + "facing=west,powered=false": { "model": "wooden_button", "x": 90, "y": 270 }, + "facing=south,powered=false": { "model": "wooden_button", "x": 90, "y": 180 }, + "facing=north,powered=false": { "model": "wooden_button", "x": 90 }, + "facing=up,powered=true": { "model": "wooden_button_pressed" }, + "facing=down,powered=true": { "model": "wooden_button_pressed", "x": 180 }, + "facing=east,powered=true": { "model": "wooden_button_pressed", "x": 90, "y": 90 }, + "facing=west,powered=true": { "model": "wooden_button_pressed", "x": 90, "y": 270 }, + "facing=south,powered=true": { "model": "wooden_button_pressed", "x": 90, "y": 180 }, + "facing=north,powered=true": { "model": "wooden_button_pressed", "x": 90 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/wooden_door.json b/desktopRuntime/resources/assets/minecraft/blockstates/wooden_door.json new file mode 100644 index 0000000..d91869b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/wooden_door.json @@ -0,0 +1,36 @@ +{ + "variants": { + "facing=east,half=lower,hinge=left,open=false": { "model": "wooden_door_bottom" }, + "facing=south,half=lower,hinge=left,open=false": { "model": "wooden_door_bottom", "y": 90 }, + "facing=west,half=lower,hinge=left,open=false": { "model": "wooden_door_bottom", "y": 180 }, + "facing=north,half=lower,hinge=left,open=false": { "model": "wooden_door_bottom", "y": 270 }, + "facing=east,half=lower,hinge=right,open=false": { "model": "wooden_door_bottom_rh" }, + "facing=south,half=lower,hinge=right,open=false": { "model": "wooden_door_bottom_rh", "y": 90 }, + "facing=west,half=lower,hinge=right,open=false": { "model": "wooden_door_bottom_rh", "y": 180 }, + "facing=north,half=lower,hinge=right,open=false": { "model": "wooden_door_bottom_rh", "y": 270 }, + "facing=east,half=lower,hinge=left,open=true": { "model": "wooden_door_bottom_rh", "y": 90 }, + "facing=south,half=lower,hinge=left,open=true": { "model": "wooden_door_bottom_rh", "y": 180 }, + "facing=west,half=lower,hinge=left,open=true": { "model": "wooden_door_bottom_rh", "y": 270 }, + "facing=north,half=lower,hinge=left,open=true": { "model": "wooden_door_bottom_rh" }, + "facing=east,half=lower,hinge=right,open=true": { "model": "wooden_door_bottom", "y": 270 }, + "facing=south,half=lower,hinge=right,open=true": { "model": "wooden_door_bottom" }, + "facing=west,half=lower,hinge=right,open=true": { "model": "wooden_door_bottom", "y": 90 }, + "facing=north,half=lower,hinge=right,open=true": { "model": "wooden_door_bottom", "y": 180 }, + "facing=east,half=upper,hinge=left,open=false": { "model": "wooden_door_top" }, + "facing=south,half=upper,hinge=left,open=false": { "model": "wooden_door_top", "y": 90 }, + "facing=west,half=upper,hinge=left,open=false": { "model": "wooden_door_top", "y": 180 }, + "facing=north,half=upper,hinge=left,open=false": { "model": "wooden_door_top", "y": 270 }, + "facing=east,half=upper,hinge=right,open=false": { "model": "wooden_door_top_rh" }, + "facing=south,half=upper,hinge=right,open=false": { "model": "wooden_door_top_rh", "y": 90 }, + "facing=west,half=upper,hinge=right,open=false": { "model": "wooden_door_top_rh", "y": 180 }, + "facing=north,half=upper,hinge=right,open=false": { "model": "wooden_door_top_rh", "y": 270 }, + "facing=east,half=upper,hinge=left,open=true": { "model": "wooden_door_top_rh", "y": 90 }, + "facing=south,half=upper,hinge=left,open=true": { "model": "wooden_door_top_rh", "y": 180 }, + "facing=west,half=upper,hinge=left,open=true": { "model": "wooden_door_top_rh", "y": 270 }, + "facing=north,half=upper,hinge=left,open=true": { "model": "wooden_door_top_rh" }, + "facing=east,half=upper,hinge=right,open=true": { "model": "wooden_door_top", "y": 270 }, + "facing=south,half=upper,hinge=right,open=true": { "model": "wooden_door_top" }, + "facing=west,half=upper,hinge=right,open=true": { "model": "wooden_door_top", "y": 90 }, + "facing=north,half=upper,hinge=right,open=true": { "model": "wooden_door_top", "y": 180 } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/wooden_pressure_plate.json b/desktopRuntime/resources/assets/minecraft/blockstates/wooden_pressure_plate.json new file mode 100644 index 0000000..e34ab2e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/wooden_pressure_plate.json @@ -0,0 +1,6 @@ +{ + "variants": { + "powered=false": { "model": "wooden_pressure_plate_up" }, + "powered=true": { "model": "wooden_pressure_plate_down" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/yellow_carpet.json b/desktopRuntime/resources/assets/minecraft/blockstates/yellow_carpet.json new file mode 100644 index 0000000..075fbfb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/yellow_carpet.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "carpet_yellow" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/yellow_stained_glass.json b/desktopRuntime/resources/assets/minecraft/blockstates/yellow_stained_glass.json new file mode 100644 index 0000000..5396738 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/yellow_stained_glass.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "glass_yellow" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/yellow_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/blockstates/yellow_stained_glass_pane.json new file mode 100644 index 0000000..ae28b55 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/yellow_stained_glass_pane.json @@ -0,0 +1,20 @@ +{ + "variants": { + "east=false,north=false,south=false,west=false": { "model": "yellow_pane_nsew" }, + "east=false,north=true,south=false,west=false": { "model": "yellow_pane_n" }, + "east=true,north=false,south=false,west=false": { "model": "yellow_pane_n", "y": 90 }, + "east=false,north=false,south=true,west=false": { "model": "yellow_pane_s" }, + "east=false,north=false,south=false,west=true": { "model": "yellow_pane_s", "y": 90 }, + "east=true,north=true,south=false,west=false": { "model": "yellow_pane_ne" }, + "east=true,north=false,south=true,west=false": { "model": "yellow_pane_se" }, + "east=false,north=false,south=true,west=true": { "model": "yellow_pane_sw" }, + "east=false,north=true,south=false,west=true": { "model": "yellow_pane_nw" }, + "east=false,north=true,south=true,west=false": { "model": "yellow_pane_ns" }, + "east=true,north=false,south=false,west=true": { "model": "yellow_pane_ns", "y": 90 }, + "east=true,north=true,south=true,west=false": { "model": "yellow_pane_nse" }, + "east=true,north=false,south=true,west=true": { "model": "yellow_pane_sew" }, + "east=false,north=true,south=true,west=true": { "model": "yellow_pane_nsw" }, + "east=true,north=true,south=false,west=true": { "model": "yellow_pane_new" }, + "east=true,north=true,south=true,west=true": { "model": "yellow_pane_nsew" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/yellow_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/blockstates/yellow_stained_hardened_clay.json new file mode 100644 index 0000000..3c46d24 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/yellow_stained_hardened_clay.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hardened_clay_yellow" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/blockstates/yellow_wool.json b/desktopRuntime/resources/assets/minecraft/blockstates/yellow_wool.json new file mode 100644 index 0000000..24ddf68 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/blockstates/yellow_wool.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "yellow_wool" } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/font/default.json b/desktopRuntime/resources/assets/minecraft/font/default.json new file mode 100644 index 0000000..695db74 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/font/default.json @@ -0,0 +1,78 @@ +{ + "providers": [ + { + "type": "bitmap", + "file": "minecraft:font/nonlatin_european.png", + "ascent": 7, + "chars": [ + "\u00a1\u2030\u00ad\u00b7\u20b4\u2260\u00bf\u00d7\u00d8\u00de\u00df\u00f0\u00f8\u00fe\u0391\u0392", + "\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3", + "\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9\u03b1\u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03ba", + "\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c2\u03c3\u03c4\u03c5\u03c6\u03c7\u03c8\u03c9\u0402", + "\u0405\u0406\u0408\u0409\u040a\u040b\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u041a", + "\u041b\u041c\u041d\u041e\u041f\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042a", + "\u042b\u042c\u042d\u042e\u042f\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u043a\u043b", + "\u043c\u043d\u043e\u043f\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044a\u044b", + "\u044c\u044d\u044e\u044f\u0454\u0455\u0456\u0458\u0459\u045a\u2013\u2014\u2018\u2019\u201c\u201d", + "\u201e\u2026\u204a\u2190\u2191\u2192\u2193\u21c4\uff0b\u018f\u0259\u025b\u026a\u04ae\u04af\u04e8", + "\u04e9\u02bb\u02cc\u037e\u0138\u1e9e\u00df\u20bd\u20ac\u0462\u0463\u0474\u0475\u0406\u0472\u0473", + "\u2070\u00b9\u00b3\u2074\u2075\u2076\u2077\u2078\u2079\u207a\u207b\u207c\u207d\u207e\u2071\u2122", + "\u0294\u0295\u29c8\u2694\u2620\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + ] + }, + { + "type": "bitmap", + "file": "minecraft:font/accented.png", + "height": 12, + "ascent": 10, + "chars": [ + "\u00c0\u00c1\u00c2\u00c3\u00c4\u00c5\u00c6\u00c7\u00c8\u00c9\u00ca\u00cb\u00cc\u00cd\u00ce\u00cf", + "\u00d0\u00d1\u00d2\u00d3\u00d4\u00d5\u00d6\u00d9\u00da\u00db\u00dc\u00dd\u00e0\u00e1\u00e2\u00e3", + "\u00e4\u00e5\u00e6\u00e7\u00ec\u00ed\u00ee\u00ef\u00f1\u00f2\u00f3\u00f4\u00f5\u00f6\u00f9\u00fa", + "\u00fb\u00fc\u00fd\u00ff\u0100\u0101\u0102\u0103\u0104\u0105\u0106\u0107\u0108\u0109\u010a\u010b", + "\u010c\u010d\u010e\u010f\u0110\u0111\u0112\u0113\u0114\u0115\u0116\u0117\u0118\u0119\u011a\u011b", + "\u011c\u011d\u1e20\u1e21\u011e\u011f\u0120\u0121\u0122\u0123\u0124\u0125\u0126\u0127\u0128\u0129", + "\u012a\u012b\u012c\u012d\u012e\u012f\u0130\u0131\u0134\u0135\u0136\u0137\u0139\u013a\u013b\u013c", + "\u013d\u013e\u013f\u0140\u0141\u0142\u0143\u0144\u0145\u0146\u0147\u0148\u014a\u014b\u014c\u014d", + "\u014e\u014f\u0150\u0151\u0152\u0153\u0154\u0155\u0156\u0157\u0158\u0159\u015a\u015b\u015c\u015d", + "\u015e\u015f\u0160\u0161\u0162\u0163\u0164\u0165\u0166\u0167\u0168\u0169\u016a\u016b\u016c\u016d", + "\u016e\u016f\u0170\u0171\u0172\u0173\u0174\u0175\u0176\u0177\u0178\u0179\u017a\u017b\u017c\u017d", + "\u017e\u01fc\u01fd\u01fe\u01ff\u0218\u0219\u021a\u021b\u0386\u0388\u0389\u038a\u038c\u038e\u038f", + "\u0390\u03aa\u03ab\u03ac\u03ad\u03ae\u03af\u03b0\u03ca\u03cb\u03cc\u03cd\u03ce\u0400\u0401\u0403", + "\u0407\u040c\u040d\u040e\u0419\u0439\u0450\u0451\u0452\u0453\u0457\u045b\u045c\u045d\u045e\u045f", + "\u0490\u0491\u1e02\u1e03\u1e0a\u1e0b\u1e1e\u1e1f\u1e22\u1e23\u1e30\u1e31\u1e40\u1e41\u1e56\u1e57", + "\u1e60\u1e61\u1e6a\u1e6b\u1e80\u1e81\u1e82\u1e83\u1e84\u1e85\u1ef2\u1ef3\u00e8\u00e9\u00ea\u00eb", + "\u0149\u01e7\u01eb\u040f\u1e0d\u1e25\u1e5b\u1e6d\u1e92\u1eca\u1ecb\u1ecc\u1ecd\u1ee4\u1ee5\u2116", + "\u0207\u0194\u0263\u0283\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + ] + }, + { + "type": "bitmap", + "file": "minecraft:font/ascii.png", + "ascent": 7, + "chars": [ + "\u00c0\u00c1\u00c2\u00c8\u00ca\u00cb\u00cd\u00d3\u00d4\u00d5\u00da\u00df\u00e3\u00f5\u011f\u0130", + "\u0131\u0152\u0153\u015e\u015f\u0174\u0175\u017e\u0207\u0000\u0000\u0000\u0000\u0000\u0000\u0000", + "\u0020\u0021\"\u0023\u0024\u0025\u0026\u0027\u0028\u0029\u002a\u002b\u002c\u002d\u002e\u002f", + "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037\u0038\u0039\u003a\u003b\u003c\u003d\u003e\u003f", + "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047\u0048\u0049\u004a\u004b\u004c\u004d\u004e\u004f", + "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057\u0058\u0059\u005a\u005b\\\u005d\u005e\u005f", + "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067\u0068\u0069\u006a\u006b\u006c\u006d\u006e\u006f", + "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077\u0078\u0079\u007a\u007b\u007c\u007d\u007e\u0000", + "\u00c7\u00fc\u00e9\u00e2\u00e4\u00e0\u00e5\u00e7\u00ea\u00eb\u00e8\u00ef\u00ee\u00ec\u00c4\u00c5", + "\u00c9\u00e6\u00c6\u00f4\u00f6\u00f2\u00fb\u00f9\u00ff\u00d6\u00dc\u00f8\u00a3\u00d8\u00d7\u0192", + "\u00e1\u00ed\u00f3\u00fa\u00f1\u00d1\u00aa\u00ba\u00bf\u00ae\u00ac\u00bd\u00bc\u00a1\u00ab\u00bb", + "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510", + "\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567", + "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580", + "\u03b1\u03b2\u0393\u03c0\u03a3\u03c3\u03bc\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u2205\u2208\u2229", + "\u2261\u00b1\u2265\u2264\u2320\u2321\u00f7\u2248\u00b0\u2219\u00b7\u221a\u207f\u00b2\u25a0\u0000" + ] + }, + { + "type": "legacy_unicode", + "sizes": "minecraft:font/glyph_sizes.bin", + "template": "minecraft:font/unicode_page_%s.png" + } + ] +} \ No newline at end of file diff --git a/desktopRuntime/resources/assets/minecraft/font/glyph_sizes.bin b/desktopRuntime/resources/assets/minecraft/font/glyph_sizes.bin new file mode 100644 index 0000000..69c857e Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/font/glyph_sizes.bin differ diff --git a/desktopRuntime/resources/assets/minecraft/icons/icon_16x16.png b/desktopRuntime/resources/assets/minecraft/icons/icon_16x16.png new file mode 100644 index 0000000..3066972 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/icons/icon_16x16.png differ diff --git a/desktopRuntime/resources/assets/minecraft/icons/icon_32x32.png b/desktopRuntime/resources/assets/minecraft/icons/icon_32x32.png new file mode 100644 index 0000000..25f3cf6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/icons/icon_32x32.png differ diff --git a/desktopRuntime/resources/assets/minecraft/lang/en_US.lang b/desktopRuntime/resources/assets/minecraft/lang/en_US.lang new file mode 100644 index 0000000..4cc102a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/lang/en_US.lang @@ -0,0 +1,3223 @@ + +language.name=English +language.region=US +language.code=en_US + +gui.done=Done +gui.cancel=Cancel +gui.back=Back +gui.toTitle=Back to title screen +gui.toMenu=Back to server list +gui.up=Up +gui.down=Down +gui.yes=Yes +gui.no=No +gui.none=None +gui.all=All + +eaglercraft.recording.unsupported=Recording Unsupported! +eaglercraft.recording.stop=Stop Recording +eaglercraft.recording.start=Record Screen... +eaglercraft.soundCategory.voice=Recording Voice + +eaglercraft.resourcePack.prompt.title=What do you want to do with '%s'? +eaglercraft.resourcePack.prompt.text=Tip: Hold Shift to skip this screen when selecting a resource pack! +eaglercraft.resourcePack.prompt.delete=Delete this resource pack +eaglercraft.resourcePack.prompt.add=Select this resource pack +eaglercraft.resourcePack.load.refreshing=Refreshing Resources... +eaglercraft.resourcePack.load.pleaseWait=Please Wait. +eaglercraft.resourcePack.load.loading=Loading resource pack... +eaglercraft.resourcePack.load.deleting=Deleting resource pack... + +eaglercraft.gui.exitKey=Use '%s' to close this screen! +eaglercraft.gui.exitKeyRetarded=Use Backtick (`) to close this screen! +eaglercraft.gui.continue=Continue + +eaglercraft.menu.forkOnGitlab=Fork on GitLab +eaglercraft.menu.editProfile=Edit Profile +eaglercraft.menu.openToLan=Invite +eaglercraft.menu.closeLan=Stop Sharing + +eaglercraft.editProfile.title=Edit Profile +eaglercraft.editProfile.username=Username +eaglercraft.editProfile.playerSkin=Player Skin +eaglercraft.editProfile.addSkin=Add Skin +eaglercraft.editProfile.clearSkin=Clear List +eaglercraft.editProfile.capes=Capes +eaglercraft.editProfile.disableFNAW=(Note: go to 'Options...' > 'Skin Customization' to disable FNAW skins) +eaglercraft.editProfile.enableFNAW=(Note: go to 'Options...' > 'Skin Customization' to enable FNAW skins) + +eaglercraft.editCape.title=Edit Cape +eaglercraft.editCape.playerCape=Player Cape +eaglercraft.editCape.addCape=Add Cape +eaglercraft.editCape.clearCape=Clear List + +eaglercraft.editProfile.importExport=Import/Export + +eaglercraft.settingsBackup.importExport.title=What do you wanna do? +eaglercraft.settingsBackup.importExport.import=Import Profile and Settings... +eaglercraft.settingsBackup.importExport.export=Export Profile and Settings... + +eaglercraft.settingsBackup.import.title=Import Profile and Settings +eaglercraft.settingsBackup.import.option.profile=Import Profile: +eaglercraft.settingsBackup.import.option.settings=Import Settings: +eaglercraft.settingsBackup.import.option.servers=Import Servers: +eaglercraft.settingsBackup.import.option.resourcePacks=Resource Packs: +eaglercraft.settingsBackup.import.option.import=Import + +eaglercraft.settingsBackup.export.title=Export Profile and Settings +eaglercraft.settingsBackup.export.option.profile=Export Profile: +eaglercraft.settingsBackup.export.option.settings=Export Settings: +eaglercraft.settingsBackup.export.option.servers=Export Servers: +eaglercraft.settingsBackup.export.option.resourcePacks=Resource Packs: +eaglercraft.settingsBackup.export.option.export=Export + +eaglercraft.settingsBackup.exporting.1=Exporting Profile... +eaglercraft.settingsBackup.exporting.2=Please Wait. + +eaglercraft.settingsBackup.exporting.failed.1=Export Failed! +eaglercraft.settingsBackup.exporting.failed.2=Could not compile EPK + +eaglercraft.settingsBackup.importing.1=Importing Profile... +eaglercraft.settingsBackup.importing.2=Please Wait. + +eaglercraft.settingsBackup.importing.failed.1=Import Failed! +eaglercraft.settingsBackup.importing.failed.2=Could not load EPK + +eaglercraft.resourcePack.importFailed.1=Import Failed! +eaglercraft.resourcePack.importFailed.2=Could not import ZIP file + +eaglercraft.singleplayer.integratedStartup=Starting integrated server + +eaglercraft.addServer.SSLWarn1=you are on an https: page! +eaglercraft.addServer.SSLWarn2=html5 will only allow wss:// + +eaglercraft.chat.exit=Exit Chat + +eaglercraft.handshakeApprove.plaintext.title=Protocol Warning + +eaglercraft.handshakeApprove.plaintext.body.0=§eThis server's 3rd party login system is +eaglercraft.handshakeApprove.plaintext.body.1=§eusing insecure plain-text password login + +eaglercraft.handshakeApprove.plaintext.body.3=This means your password can be stolen +eaglercraft.handshakeApprove.plaintext.body.4=by who is running this server, and also +eaglercraft.handshakeApprove.plaintext.body.5=any proxy you use to connect to it with + +eaglercraft.handshakeApprove.plaintext.body.7=§7Would you like to continue? + +eaglercraft.handshakeApprove.unsupportedAuth.title=Protocol Unsupported + +eaglercraft.handshakeApprove.unsupportedAuth.body.0=§cThis server's login system is using a +eaglercraft.handshakeApprove.unsupportedAuth.body.1=§cprotocol not supported by this client + +eaglercraft.handshakeApprove.unsupportedAuth.body.3=Please make sure you are using the +eaglercraft.handshakeApprove.unsupportedAuth.body.4=latest version of EaglercraftX or +eaglercraft.handshakeApprove.unsupportedAuth.body.5=another fork made for this server + +eaglercraft.options.hud.fps=Show FPS +eaglercraft.options.hud.coords=Show XYZ +eaglercraft.options.hud.stats=Show Stats HUD +eaglercraft.options.hud.world=Show World HUD +eaglercraft.options.hud.player=Show Player +eaglercraft.options.hud.note=Check 'Video Settings' for the option to hide XYZ +eaglercraft.options.hud.24h=24h Day +eaglercraft.options.chunkFix=Chunk Lag Fix +eaglercraft.options.fog=Fog +eaglercraft.options.fxaa=FXAA Antialiasing +eaglercraft.options.fxaa.auto=Auto +eaglercraft.options.fastMath=Fast Math +eaglercraft.options.fastMath.0=OFF +eaglercraft.options.fastMath.1=Low +eaglercraft.options.fastMath.2=High +eaglercraft.options.dynamicLights=Dynamic Lights + +eaglercraft.key.function=Function +eaglercraft.key.zoomCamera=Zoom Camera +eaglercraft.key.close=Close Screen + +eaglercraft.disconnect.tooManyRequests=Too Many Requests! + +eaglercraft.auth.required=Authentication Required +eaglercraft.auth.continue=Join Server + +eaglercraft.shaders.gui.optionsButton=Shaders... +eaglercraft.shaders.gui.title=Shaders +eaglercraft.shaders.gui.enable=Enable Shaders +eaglercraft.shaders.gui.headerTier1=Simple Effects (fast) +eaglercraft.shaders.gui.headerTier2=Intermediate Effects (not as fast) + + +eaglercraft.shaders.gui.option.WAVING_BLOCKS.label=Waving Grass + +eaglercraft.shaders.gui.option.WAVING_BLOCKS.desc.0=The classic vanilla shader that make grass and leaf blocks move with the wind +eaglercraft.shaders.gui.option.WAVING_BLOCKS.desc.2=ON: slower, complex control flow +eaglercraft.shaders.gui.option.WAVING_BLOCKS.desc.3=OFF: faster, simple control flow + +eaglercraft.shaders.gui.option.DYNAMIC_LIGHTS.label=Dynamic Lights + +eaglercraft.shaders.gui.option.DYNAMIC_LIGHTS.desc.0=Items like torches, glowstone, jack o'lanterns, etc. light up the area around them when they are held or dropped +eaglercraft.shaders.gui.option.DYNAMIC_LIGHTS.desc.2=This feature usually does not affect FPS unless there is a large number of dynamic light sources close to the player +eaglercraft.shaders.gui.option.DYNAMIC_LIGHTS.desc.4=ON: enable dynamic lights +eaglercraft.shaders.gui.option.DYNAMIC_LIGHTS.desc.5=OFF: disable dynamic lights + +eaglercraft.shaders.gui.option.GLOBAL_AMBIENT_OCCLUSION.label=Global SSAO + +eaglercraft.shaders.gui.option.GLOBAL_AMBIENT_OCCLUSION.desc.0=Applies realistic screenspace ambient occlusion (SSAO) to areas of the screen that vanilla Minecraft's default "Smooth Lighting" feature cannot +eaglercraft.shaders.gui.option.GLOBAL_AMBIENT_OCCLUSION.desc.2=This effect can greatly reduce lag spikes caused by chunk updates in exchange for a decreased maximum FPS when standing still +eaglercraft.shaders.gui.option.GLOBAL_AMBIENT_OCCLUSION.desc.4=ON: use SSAO +eaglercraft.shaders.gui.option.GLOBAL_AMBIENT_OCCLUSION.desc.5=OFF: use vanilla + +eaglercraft.shaders.gui.option.SHADOWS_SUN.label=Sun Shadow Dist + +eaglercraft.shaders.gui.option.SHADOWS_SUN.desc.0=Makes the sun and moon cast shadows on the world, you almost definitely want to enable this +eaglercraft.shaders.gui.option.SHADOWS_SUN.desc.2=0: off +eaglercraft.shaders.gui.option.SHADOWS_SUN.desc.3=1: 16 blocks +eaglercraft.shaders.gui.option.SHADOWS_SUN.desc.4=2: 32 blocks +eaglercraft.shaders.gui.option.SHADOWS_SUN.desc.5=3: 64 blocks +eaglercraft.shaders.gui.option.SHADOWS_SUN.desc.6=4: 128 blocks + +eaglercraft.shaders.gui.option.SHADOWS_COLORED.label=Color Shadow + +eaglercraft.shaders.gui.option.SHADOWS_COLORED.desc.0=Makes blocks like stained glass cast colored shadows +eaglercraft.shaders.gui.option.SHADOWS_COLORED.desc.2=ON: colored shadows (slower) +eaglercraft.shaders.gui.option.SHADOWS_COLORED.desc.3=OFF: grayscale shadows (faster) + +eaglercraft.shaders.gui.option.SHADOWS_SMOOTHED.label=Smooth Shadow + +eaglercraft.shaders.gui.option.SHADOWS_SMOOTHED.desc.0=Smooths out the edges of sun and dynamic light shadows to get rid of aliasing +eaglercraft.shaders.gui.option.SHADOWS_SMOOTHED.desc.2=ON: smooth shadows (slower) +eaglercraft.shaders.gui.option.SHADOWS_SMOOTHED.desc.3=OFF: aliased shadows (faster) + +eaglercraft.shaders.gui.option.REFLECTIONS_PARABOLOID.label=Env. Mapping + +eaglercraft.shaders.gui.option.REFLECTIONS_PARABOLOID.desc.0=Renders an environment map, allows transparent blocks and moving entities to reflect their surroundings +eaglercraft.shaders.gui.option.REFLECTIONS_PARABOLOID.desc.2=Uses dual paraboloid mapping, only 2 render passes are required to render all reflections, instead of a full 6 render passes like a conventional cube map +eaglercraft.shaders.gui.option.REFLECTIONS_PARABOLOID.desc.4=ON: render env. map (slower) +eaglercraft.shaders.gui.option.REFLECTIONS_PARABOLOID.desc.5=OFF: disable env. map (faster) + +eaglercraft.shaders.gui.option.REALISTIC_WATER.label=Realistic Water + +eaglercraft.shaders.gui.option.REALISTIC_WATER.desc.0=Makes water realistic, adds reflection and refraction effects, uses raytracing +eaglercraft.shaders.gui.option.REALISTIC_WATER.desc.2=ON: render realistic water (slower) +eaglercraft.shaders.gui.option.REALISTIC_WATER.desc.3=OFF: render vanilla water (faster) + +eaglercraft.shaders.gui.option.LIGHT_SHAFTS.label=God Rays + +eaglercraft.shaders.gui.option.LIGHT_SHAFTS.desc.0=Render god rays (light shafts) for sunlight and moonlight shadows +eaglercraft.shaders.gui.option.LIGHT_SHAFTS.desc.2=ON: render god rays (slower) +eaglercraft.shaders.gui.option.LIGHT_SHAFTS.desc.3=OFF: disable god rays (faster) + +eaglercraft.shaders.gui.option.SCREEN_SPACE_REFLECTIONS.label=Raytracing + +eaglercraft.shaders.gui.option.SCREEN_SPACE_REFLECTIONS.desc.0=Renders raytraced reflections off of blocks +eaglercraft.shaders.gui.option.SCREEN_SPACE_REFLECTIONS.desc.2=Thanks to some advanced optimizations, this feature only has a small impact on FPS and is compatible with old hardware +eaglercraft.shaders.gui.option.SCREEN_SPACE_REFLECTIONS.desc.4=Both raymarching and raytracing are employed, raymarching is initially used to locate and track groups of pixels on the screen to reflect, then raytracing is used to reproject that data between multiple frames so the raymarching process only has to be repeated once or twice every few seconds +eaglercraft.shaders.gui.option.SCREEN_SPACE_REFLECTIONS.desc.6=ON: enable raytracing (slower) +eaglercraft.shaders.gui.option.SCREEN_SPACE_REFLECTIONS.desc.7=OFF: disable raytracing (faster) + +eaglercraft.shaders.gui.option.LIGHT_SHAFTS.desc.0=Render god rays (light shafts) for sunlight and moonlight shadows +eaglercraft.shaders.gui.option.LIGHT_SHAFTS.desc.2=ON: render god rays (slower) +eaglercraft.shaders.gui.option.LIGHT_SHAFTS.desc.3=OFF: disable god rays (faster) + +eaglercraft.shaders.gui.option.POST_LENS_DISTORION.label=Lens Distort + +eaglercraft.shaders.gui.option.POST_LENS_DISTORION.desc.0=Renders chromatic abberation and lens distorion +eaglercraft.shaders.gui.option.POST_LENS_DISTORION.desc.2=ON: render lens distortion (slower) +eaglercraft.shaders.gui.option.POST_LENS_DISTORION.desc.3=OFF: disable lens distortion (faster) + +eaglercraft.shaders.gui.option.POST_LENS_FLARES.label=Lens Flares + +eaglercraft.shaders.gui.option.POST_LENS_FLARES.desc.0=Renders filmic lens flares for the sun +eaglercraft.shaders.gui.option.POST_LENS_FLARES.desc.2=ON: render lens flares (slower) +eaglercraft.shaders.gui.option.POST_LENS_FLARES.desc.3=OFF: disable lens flares (faster) + +eaglercraft.shaders.gui.option.POST_BLOOM.label=Bloom + +eaglercraft.shaders.gui.option.POST_BLOOM.desc.0=Renders bloom for emissive textures and sunlight +eaglercraft.shaders.gui.option.POST_BLOOM.desc.2=ON: render bloom (slower) +eaglercraft.shaders.gui.option.POST_BLOOM.desc.3=OFF: disable bloom (faster) + +eaglercraft.shaders.gui.option.POST_FXAA.label=FXAA + +eaglercraft.shaders.gui.option.POST_FXAA.desc.0=Applies FXAA antialiasing in post processing +eaglercraft.shaders.gui.option.POST_FXAA.desc.2=This is the preferred antialiasing method for minecraft, as classical MSAA cannot antialias the pixels of upscaled textures +eaglercraft.shaders.gui.option.POST_FXAA.desc.4=ON: enable fxaa (slower) +eaglercraft.shaders.gui.option.POST_FXAA.desc.5=OFF: disable fxaa (faster) + +eaglercraft.shaders.gui.unsupported.title=Shaders are unavailable on this device! +eaglercraft.shaders.gui.unsupported.reason.hdrFramebuffer=Reason: No HDR render target support + +eaglercraft.shaders.debugMenuTip=Press %s+4 to access the shader debug menu + +eaglercraft.command.skull.tip=Use /eagskull to create custom skulls +eaglercraft.command.skull.usage=/eagskull +eaglercraft.command.skull.nopermission=Cheats are not enabled! +eaglercraft.command.skull.feedback=Created new skull: "%s" +eaglercraft.command.skull.error.invalid.png=Invalid PNG file! +eaglercraft.command.skull.error.invalid.skin=Image with size %dx%d is not a valid minecraft skin! + +eaglercraft.command.clientStub=This command is client side! + +menu.game=Game menu +menu.singleplayer=Singleplayer +menu.multiplayer=Multiplayer +menu.online=Minecraft Realms +menu.options=Options... +menu.quit=Quit Game +menu.returnToMenu=Save and Quit to Title +menu.disconnect=Disconnect +menu.returnToGame=Back to Game +menu.switchingLevel=Switching worlds +menu.generatingLevel=Generating world +menu.loadingLevel=Loading world +menu.generatingTerrain=Building terrain +menu.convertingLevel=Converting world +menu.simulating=Simulating the world for a bit +menu.respawning=Respawning +menu.shareToLan=Open to LAN + +selectWorld.title=Select World +selectWorld.empty=empty +selectWorld.world=World +selectWorld.select=Play Selected World +selectWorld.create=Create New World +selectWorld.recreate=Re-Create +selectWorld.createDemo=Play New Demo World +selectWorld.delete=Delete +selectWorld.rename=Rename +selectWorld.deleteQuestion=Are you sure you want to delete this world? +selectWorld.deleteWarning=will be lost forever! (A long time!) +selectWorld.deleteButton=Delete +selectWorld.renameButton=Rename +selectWorld.renameTitle=Rename World +selectWorld.conversion=Must be converted! +selectWorld.newWorld=New World +selectWorld.newWorld.copyOf=Copy of %s +selectWorld.enterName=World Name +selectWorld.resultFolder=Will be saved in: +selectWorld.enterSeed=Seed for the World Generator +selectWorld.seedInfo=Leave blank for a random seed +selectWorld.cheats=Cheats +selectWorld.customizeType=Customize + +createWorld.customize.presets=Presets +createWorld.customize.presets.title=Select a Preset +createWorld.customize.presets.select=Use Preset +createWorld.customize.presets.share=Want to share your preset with someone? Use the below box! +createWorld.customize.presets.list=Alternatively, here's some we made earlier! +createWorld.customize.flat.title=Superflat Customization +createWorld.customize.flat.tile=Layer Material +createWorld.customize.flat.height=Height +createWorld.customize.flat.addLayer=Add Layer +createWorld.customize.flat.editLayer=Edit Layer +createWorld.customize.flat.removeLayer=Remove Layer +createWorld.customize.flat.layer.top=Top - %d +createWorld.customize.flat.layer=%d +createWorld.customize.flat.layer.bottom=Bottom - %d + +createWorld.customize.custom.page0=Basic Settings +createWorld.customize.custom.page1=Ore Settings +createWorld.customize.custom.page2=Advanced Settings (Expert Users Only!) +createWorld.customize.custom.page3=Extra Advanced Settings (Expert Users Only!) +createWorld.customize.custom.randomize=Randomize +createWorld.customize.custom.prev=Previous Page +createWorld.customize.custom.next=Next Page +createWorld.customize.custom.defaults=Defaults +createWorld.customize.custom.confirm1=This will overwrite your current +createWorld.customize.custom.confirm2=settings and cannot be undone. +createWorld.customize.custom.confirmTitle=Warning! +createWorld.customize.custom.mainNoiseScaleX=Main Noise Scale X +createWorld.customize.custom.mainNoiseScaleY=Main Noise Scale Y +createWorld.customize.custom.mainNoiseScaleZ=Main Noise Scale Z +createWorld.customize.custom.depthNoiseScaleX=Depth Noise Scale X +createWorld.customize.custom.depthNoiseScaleZ=Depth Noise Scale Z +createWorld.customize.custom.depthNoiseScaleExponent=Depth Noise Exponent +createWorld.customize.custom.baseSize=Depth Base Size +createWorld.customize.custom.coordinateScale=Coordinate Scale +createWorld.customize.custom.heightScale=Height Scale +createWorld.customize.custom.stretchY=Height Stretch +createWorld.customize.custom.upperLimitScale=Upper Limit Scale +createWorld.customize.custom.lowerLimitScale=Lower Limit Scale +createWorld.customize.custom.biomeDepthWeight=Biome Depth Weight +createWorld.customize.custom.biomeDepthOffset=Biome Depth Offset +createWorld.customize.custom.biomeScaleWeight=Biome Scale Weight +createWorld.customize.custom.biomeScaleOffset=Biome Scale Offset +createWorld.customize.custom.seaLevel=Sea Level +createWorld.customize.custom.useCaves=Caves +createWorld.customize.custom.useStrongholds=Strongholds +createWorld.customize.custom.useVillages=Villages +createWorld.customize.custom.useMineShafts=Mineshafts +createWorld.customize.custom.useTemples=Temples +createWorld.customize.custom.useMonuments=Ocean Monuments +createWorld.customize.custom.useRavines=Ravines +createWorld.customize.custom.useDungeons=Dungeons +createWorld.customize.custom.dungeonChance=Dungeon Count +createWorld.customize.custom.useWaterLakes=Water Lakes +createWorld.customize.custom.waterLakeChance=Water Lake Rarity +createWorld.customize.custom.useLavaLakes=Lava Lakes +createWorld.customize.custom.lavaLakeChance=Lava Lake Rarity +createWorld.customize.custom.useLavaOceans=Lava Oceans +createWorld.customize.custom.fixedBiome=Biome +createWorld.customize.custom.biomeSize=Biome Size +createWorld.customize.custom.riverSize=River Size + +createWorld.customize.custom.size= Spawn Size +createWorld.customize.custom.count= Spawn Tries +createWorld.customize.custom.minHeight= Min. Height +createWorld.customize.custom.maxHeight= Max. Height +createWorld.customize.custom.center= Center Height +createWorld.customize.custom.spread= Spread Height + +createWorld.customize.custom.presets.title=Customize World Presets +createWorld.customize.custom.presets=Presets +createWorld.customize.custom.preset.waterWorld=Water World +createWorld.customize.custom.preset.isleLand=Isle Land +createWorld.customize.custom.preset.caveDelight=Caver's Delight +createWorld.customize.custom.preset.mountains=Mountain Madness +createWorld.customize.custom.preset.drought=Drought +createWorld.customize.custom.preset.caveChaos=Caves of Chaos +createWorld.customize.custom.preset.goodLuck=Good Luck + +gameMode.survival=Survival Mode +gameMode.creative=Creative Mode +gameMode.adventure=Adventure Mode +gameMode.spectator=Spectator Mode +gameMode.hardcore=Hardcore Mode! +gameMode.changed=Your game mode has been updated + +selectWorld.gameMode=Game Mode +selectWorld.gameMode.survival=Survival +selectWorld.gameMode.survival.line1=Search for resources, crafting, gain +selectWorld.gameMode.survival.line2=levels, health and hunger +selectWorld.gameMode.creative=Creative +selectWorld.gameMode.creative.line1=Unlimited resources, free flying and +selectWorld.gameMode.creative.line2=destroy blocks instantly +selectWorld.gameMode.spectator=Spectator +selectWorld.gameMode.spectator.line1=You can look but don't touch +selectWorld.gameMode.spectator.line2= +selectWorld.gameMode.hardcore=Hardcore +selectWorld.gameMode.hardcore.line1=Same as survival mode, locked at hardest +selectWorld.gameMode.hardcore.line2=difficulty, and one life only +selectWorld.gameMode.adventure=Adventure +selectWorld.gameMode.adventure.line1=Same as survival mode, but blocks can't +selectWorld.gameMode.adventure.line2=be added or removed +selectWorld.moreWorldOptions=More World Options... +selectWorld.mapFeatures=Generate Structures: +selectWorld.mapFeatures.info=Villages, dungeons etc +selectWorld.mapType=World Type: +selectWorld.mapType.normal=Normal +selectWorld.allowCommands=Allow Cheats: +selectWorld.allowCommands.info=Commands like /gamemode, /xp +selectWorld.hardcoreMode=Hardcore: +selectWorld.hardcoreMode.info=World is deleted upon death +selectWorld.bonusItems=Bonus Chest: + +generator.default=Default +generator.flat=Superflat +generator.largeBiomes=Large Biomes +generator.amplified=AMPLIFIED +generator.customized=Customized +generator.debug_all_block_states=Debug Mode + +generator.amplified.info=Notice: Just for fun, requires beefy computer + +eaglercraft.singleplayer.busy.killTask=Cancel Task +eaglercraft.singleplayer.busy.cancelWarning=Are you sure? +eaglercraft.singleplayer.busy.confirmCancel=Confirm Cancel + +eaglercraft.singleplayer.crashed.title=Recieved a crash report from integrated server! +eaglercraft.singleplayer.crashed.checkConsole=Check the console for more details +eaglercraft.singleplayer.crashed.continue=Continue + +eaglercraft.singleplayer.failed.title=Singleplayer Task Failed! +eaglercraft.singleplayer.failed.killed=The worker process was killed +eaglercraft.singleplayer.failed.notStarted=The worker process could not start + +eaglercraft.singleplayer.failed.singleThreadWarning.1=Worker Thread Startup Failure! +eaglercraft.singleplayer.failed.singleThreadWarning.2=The integrated server will run in single-threaded mode + +eaglercraft.singleplayer.busy.listingworlds=Loading worlds +eaglercraft.singleplayer.failed.listingworlds=Could not fetch worlds list! + +eaglercraft.singleplayer.busy.deleting=Deleting world +eaglercraft.singleplayer.failed.deleting=Failed to delete world! + +eaglercraft.singleplayer.busy.renaming=Renaming world +eaglercraft.singleplayer.failed.renaming=Failed to rename world! + +eaglercraft.singleplayer.busy.duplicating=Duplicating world +eaglercraft.singleplayer.failed.duplicating=Failed to duplicate world! + +eaglercraft.singleplayer.busy.importing.1=Importing world as EPK +eaglercraft.singleplayer.failed.importing.1=Failed to import world as EPK! + +eaglercraft.singleplayer.busy.importing.2=Importing world as vanilla +eaglercraft.singleplayer.failed.importing.2=Failed to import world as vanilla! + +eaglercraft.singleplayer.busy.exporting.1=Exporting world as EPK +eaglercraft.singleplayer.failed.exporting.1=Failed to export world as EPK! + +eaglercraft.singleplayer.busy.exporting.2=Exporting world as vanilla +eaglercraft.singleplayer.failed.exporting.2=Failed to export world as vanilla! + +eaglercraft.singleplayer.busy.clearplayers=Clearing players +eaglercraft.singleplayer.failed.clearplayers=Failed to clear players! + +eaglercraft.singleplayer.busy.startingIntegratedServer=Starting up integrated server +eaglercraft.singleplayer.failed.startingIntegratedServer=Failed to start up integrated server! + +eaglercraft.singleplayer.busy.stoppingIntegratedServer=Shutting down integrated server +eaglercraft.singleplayer.failed.stoppingIntegratedServer=Failed to shut down integrated server! + +eaglercraft.singleplayer.failed.serverCrash=Integrated server encountered an exception! + +eaglercraft.singleplayer.failed.demo.title=Could not start demo +eaglercraft.singleplayer.failed.demo.desc=Failed to start integrated server! + +eaglercraft.singleplayer.notSupported.title=Shared worlds are not supported on this browser! +eaglercraft.singleplayer.notSupported.desc=WebRTC is not supported + +eaglercraft.singleplayer.import.title=Import World +eaglercraft.singleplayer.import.enterName=Enter world name: +eaglercraft.singleplayer.import.continue=Continue +eaglercraft.singleplayer.import.reading=Reading: '%s' +eaglercraft.singleplayer.import.loadSpawnChunks=Keep spawn chunks loaded: %s +eaglercraft.singleplayer.import.enhancedGameRules=Add extra game features: %s + +eaglercraft.singleplayer.create.title=What do you wanna do? +eaglercraft.singleplayer.create.create=Create New World +eaglercraft.singleplayer.create.create.tooltip=Make a new world for eaglercraft +eaglercraft.singleplayer.create.import=Load EPK File +eaglercraft.singleplayer.create.import.tooltip=Load an Eaglercraft .epk world file +eaglercraft.singleplayer.create.vanilla=Import Vanilla World +eaglercraft.singleplayer.create.vanilla.tooltip=Load a vanilla minecraft 1.8 world + +eaglercraft.singleplayer.backup.title=World Backup Menu: '%s' +eaglercraft.singleplayer.backup.recreate=Re-Create World +eaglercraft.singleplayer.backup.recreate.tooltip=Create a new world with the same seed +eaglercraft.singleplayer.backup.seed=Seed: +eaglercraft.singleplayer.backup.duplicate=Duplicate World +eaglercraft.singleplayer.backup.duplicate.tooltip=Copy this world into a new save +eaglercraft.singleplayer.backup.export=Export EPK File +eaglercraft.singleplayer.backup.export.tooltip=Download this world as a compressed .epk file +eaglercraft.singleplayer.backup.vanilla=Convert to Vanilla +eaglercraft.singleplayer.backup.vanilla.tooltip=Download this world as a vanilla 1.8 world +eaglercraft.singleplayer.backup.clearPlayerData=Delete Player Data +eaglercraft.singleplayer.backup.clearPlayerData.tooltip=Clears the inventories of all players except the owner + +eaglercraft.singleplayer.backup.clearPlayerData.warning1=Are you sure you want to delete all player data? +eaglercraft.singleplayer.backup.clearPlayerData.warning2=All players in '%s' will lose their inventories (besides %s) + +eaglercraft.selectWorld.backup=Backup + +eaglercraft.selectWorld.duplicate=Duplicate World: +eaglercraft.selectWorld.duplicateButton=Duplicate + +eaglercraft.networkSettings.title=Shared World Relay Servers +eaglercraft.networkSettings.add=Add Relay +eaglercraft.networkSettings.delete=Delete Relay +eaglercraft.networkSettings.default=Set Primary +eaglercraft.networkSettings.refresh=Refresh +eaglercraft.networkSettings.loadDefaults=Load Defaults +eaglercraft.networkSettings.relayTimeout=Connection Timeout: +eaglercraft.networkSettings.relayTimeoutChange=change +eaglercraft.networkSettings.relayTimeoutTitle=Change Connection Timeout +eaglercraft.networkSettings.downloadRelay=Download JAR + +eaglercraft.directConnect.prompt=What would you like to do? +eaglercraft.directConnect.lanWorld=Join Shared World +eaglercraft.directConnect.lanWorldCode=Enter Join Code: +eaglercraft.directConnect.networkSettingsNote=Click 'Network Settings' to add a relay URL +eaglercraft.directConnect.ipGrabNote=Note: The world's owner can get your IP address +eaglercraft.directConnect.serverJoin=Connect to Server +eaglercraft.directConnect.lanWorldJoin=Join World +eaglercraft.directConnect.lanWorldRelay=Network Settings + +eaglercraft.lanInfo.title=Shared World Info +eaglercraft.lanInfo.desc.0=Eaglercraft shared worlds are NOT limited to your local network like vanilla LAN worlds. This means that anyone with an internet connection and connection to the invite relay can join your world provided they have the code. +eaglercraft.lanInfo.desc.1=Join a shared world from the %s screen, or create one with the %s button while in a world. + +eaglercraft.lanServer.legacyClient=Please use EaglercraftL 1.9! + +eaglercraft.lanServer.pauseMenu0=Sharing World +eaglercraft.lanServer.pauseMenu1=Relay URL: +eaglercraft.lanServer.pauseMenu2=Join Code: + +eaglercraft.lanServer.wouldYouLikeToKick=Would you like to kick all players? + +eaglercraft.lanServer.worldName=World Name: +eaglercraft.lanServer.hidden=Hidden: +eaglercraft.lanServer.hideCode=hide details +eaglercraft.lanServer.showCode=show details +eaglercraft.lanServer.opened=Shared world opened on $relay$, join code is §a$code$ +eaglercraft.lanServer.closed=Shared world closed +eaglercraft.lanServer.pleaseWait=Please Wait... +eaglercraft.lanServer.relayDisconnected=Warning: connection to invite relay was lost, you must re-share the world to invite more people +eaglercraft.lanServer.ipGrabNote=Note: Players joining your world can get your IP address + +eaglercraft.addRelay.title=Add New Relay +eaglercraft.addRelay.name=Relay Comment +eaglercraft.addRelay.address=Relay Address +eaglercraft.addRelay.add=Add Relay +eaglercraft.addRelay.primary=Set Primary +eaglercraft.addRelay.removeText1=Do you want to remove this relay? + +eaglercraft.noRelay.title=No Relays are Configured! +eaglercraft.noRelay.titleFail=No Working Relays Available! +eaglercraft.noRelay.noRelay1=Shared Worlds Unavailable: No Relays Configured! +eaglercraft.noRelay.noRelay2=Click '§nNetwork Settings§r' to fix +eaglercraft.noRelay.worldNotFound1=Could not locate '§c$code$§r'! +eaglercraft.noRelay.worldNotFound2=Make sure to add the '§f$code$§r' world's relay URL +eaglercraft.noRelay.worldNotFound3=to the relay list 'Network Settings' to connect +eaglercraft.noRelay.worldFail=Failed to connect to '$code$'! + +eaglercraft.singleplayer.demo.create.title=What do you wanna do? +eaglercraft.singleplayer.demo.create.create=Play Demo World +eaglercraft.singleplayer.demo.create.create.tooltip=Play the Minecraft 1.8 demo and invite others +eaglercraft.singleplayer.demo.create.join=Join Shared World +eaglercraft.singleplayer.demo.create.join.tooltip=Join someone else's world and play multiplayer + +eaglercraft.createWorld.seedNote=Note: Vanilla seeds now work! + +eaglercraft.singleplayer.oldseedwarning.title=Old World Detected! +eaglercraft.singleplayer.oldseedwarning.msg1=Please use EaglercraftX u32 or older to "Re-Create" this world +eaglercraft.singleplayer.oldseedwarning.msg2=The world's seed will not be the same otherwise :( +eaglercraft.singleplayer.oldseedwarning.ok=OK + +eaglercraft.singleplayer.outdatedLANServerKick=This is a 1.5.2 LAN world! + +eaglercraft.options.debugConsoleButton=Open Debug Console + +eaglercraft.tile.bed.setspawn=Respawn point set + +eaglercraft.update.button=Check for updates: +eaglercraft.update.none=No updates available! +eaglercraft.update.noneNew=No new updates found +eaglercraft.update.found=Found new client update +eaglercraft.update.update=Update: +eaglercraft.update.author=Author: +eaglercraft.update.timestamp=Timestamp: +eaglercraft.update.size=Size (kB): +eaglercraft.update.startDownload=Download +eaglercraft.update.viewAll=View All (%d) +eaglercraft.update.dismiss=Dismiss +eaglercraft.update.downloading=Downloading Updates + +eaglercraft.update.downloadOffline=Download Offline +eaglercraft.update.digitallySigned=Digitally Signed (%s) +eaglercraft.update.signatureInvalid=Signature Invalid! + +eaglercraft.updateList.title=Versions Available +eaglercraft.updateList.download=Download +eaglercraft.updateList.refresh=Refresh +eaglercraft.updateList.note.0=Note: Updates are digitally signed, EaglercraftL will block any +eaglercraft.updateList.note.1=updates that were not created by HoosierTransfer + +eaglercraft.voice.title=Voice Channel +eaglercraft.voice.titleNoVoice=Voice is disabled on this server +eaglercraft.voice.titleVoiceUnavailable=Voice is unavailable +eaglercraft.voice.titleVoiceBrowserError=(browser issue) +eaglercraft.voice.ptt=Press '%s' to speak +eaglercraft.voice.pttChangeDesc=(Press Any Key) +eaglercraft.voice.changeKey=Change +eaglercraft.voice.off=OFF +eaglercraft.voice.radius=NEARBY +eaglercraft.voice.global=GLOBAL +eaglercraft.voice.volumeTitle=Change Volume +eaglercraft.voice.volumeListen=Speakers Volume: +eaglercraft.voice.volumeSpeak=Microphone Volume: +eaglercraft.voice.radiusTitle=Change Listener Radius +eaglercraft.voice.radiusLabel=Players Within: +eaglercraft.voice.radiusChange=change +eaglercraft.voice.notConnected=Not Connected +eaglercraft.voice.connecting=Connecting... +eaglercraft.voice.unavailable=Could not connect! +eaglercraft.voice.connectedGlobal=Connected - Global +eaglercraft.voice.connectedRadius=Connected - $f$Within $radius$m +eaglercraft.voice.playersListening=Players Listening: +eaglercraft.voice.muted=Players Muted: +eaglercraft.voice.unmute=unmute +eaglercraft.voice.mute=mute +eaglercraft.voice.apply=Apply +eaglercraft.voice.volumeSpeakerLabel=Speakers: +eaglercraft.voice.volumeMicrophoneLabel=Microphone: + +eaglercraft.voice.unsupportedWarning1=Voice Warning +eaglercraft.voice.unsupportedWarning2=Your network's firewall may not support +eaglercraft.voice.unsupportedWarning3=eaglercraft's voice chat. +eaglercraft.voice.unsupportedWarning4=If your game doesn't work it's your issue +eaglercraft.voice.unsupportedWarning5=to solve, not ayunami2000's or lax1dude's. +eaglercraft.voice.unsupportedWarning6=Don't ask them to 'fix' it for you because +eaglercraft.voice.unsupportedWarning7=they won't help you fix a problem that only +eaglercraft.voice.unsupportedWarning8=you or your network's administrator has the +eaglercraft.voice.unsupportedWarning9=ability to correctly resolve. +eaglercraft.voice.unsupportedWarning10=Continue +eaglercraft.voice.unsupportedWarning11=Cancel + +eaglercraft.voice.ipGrabWarning1=IP Logger Warning +eaglercraft.voice.ipGrabWarning2=Using Eaglercraft voice chat may allow your +eaglercraft.voice.ipGrabWarning3=IP address to be logged by other players +eaglercraft.voice.ipGrabWarning4=also using voice on the server. +eaglercraft.voice.ipGrabWarning5=This issue will not be fixed, it is an +eaglercraft.voice.ipGrabWarning6=internal browser issue, not a mistake in the +eaglercraft.voice.ipGrabWarning7=game. Fortunately, this can only be done if +eaglercraft.voice.ipGrabWarning8=the other player uses a hacked web browser +eaglercraft.voice.ipGrabWarning9=or has Wireshark to capture the voice +eaglercraft.voice.ipGrabWarning10=packets, as there exists no real javascript +eaglercraft.voice.ipGrabWarning11=method to log IPs using a normal skidded +eaglercraft.voice.ipGrabWarning12=eaglercraft hacked client. + +selectServer.title=Select Server +selectServer.empty=empty +selectServer.select=Join Server +selectServer.direct=Direct Connect +selectServer.edit=Edit +selectServer.delete=Delete +selectServer.add=Add server +selectServer.defaultName=Minecraft Server +selectServer.deleteQuestion=Are you sure you want to remove this server? +selectServer.deleteWarning=will be lost forever! (A long time!) +selectServer.deleteButton=Delete +selectServer.refresh=Refresh +selectServer.hiddenAddress=(Hidden) +addServer.title=Edit Server Info +addServer.enterName=Server Name +addServer.enterIp=Server Address +addServer.add=Done +addServer.hideAddress=Hide Address +addServer.resourcePack=Server Resource Packs +addServer.resourcePack.enabled=Enabled +addServer.resourcePack.disabled=Disabled +addServer.resourcePack.prompt=Prompt +lanServer.title=Shared World +lanServer.scanning=Scanning for games on your local network +lanServer.start=Start Shared World +lanServer.otherPlayers=Settings for Other Players +mcoServer.title=Minecraft Online World + +multiplayer.title=Play Multiplayer +multiplayer.connect=Connect +multiplayer.info1=Minecraft Multiplayer is currently not finished, but there +multiplayer.info2=is some buggy early testing going on. +multiplayer.ipinfo=Enter the IP of a server to connect to it: +multiplayer.texturePrompt.line1=This server recommends the use of a custom resource pack. +multiplayer.texturePrompt.line2=Would you like to download and install it automagically? +multiplayer.downloadingTerrain=Downloading terrain +multiplayer.downloadingStats=Downloading statistics & achievements... +multiplayer.stopSleeping=Leave Bed +multiplayer.player.joined=%s joined the game +multiplayer.player.joined.renamed=%s (formerly known as %s) joined the game +multiplayer.player.left=%s left the game + +chat.cannotSend=Cannot send chat message +chat.type.text=<%s> %s +chat.type.emote=* %s %s +chat.type.announcement=[%s] %s +chat.type.admin=[%s: %s] +chat.type.achievement=%s has just earned the achievement %s +chat.type.achievement.taken=%s has lost the achievement %s +chat.link.confirm=Are you sure you want to open the following website? +chat.link.warning=Never open links from people that you don't trust! +chat.copy=Copy to Clipboard +chat.link.confirmTrusted=Do you want to open this link or copy it to your clipboard? +chat.link.open=Open in browser + +chat.stream.text=(%s) <%s> %s +chat.stream.emote=(%s) * %s %s + +menu.playdemo=Play Demo World +menu.resetdemo=Reset Demo World + +demo.day.1=This demo will last five game days, do your best! +demo.day.2=Day Two +demo.day.3=Day Three +demo.day.4=Day Four +demo.day.5=This is your last day! +demo.day.warning=Your time is almost up! +demo.day.6=You have passed your fifth day, use F2 to save a screenshot of your creation +demo.reminder=The demo time has expired, buy the game to continue or start a new world! +demo.remainingTime=Remaining time: %s +demo.demoExpired=Demo time's up! +demo.help.movement=Use %1$s, %2$s, %3$s, %4$s and the mouse to move around +demo.help.movementShort=Move by pressing %1$s, %2$s, %3$s, %4$s +demo.help.movementMouse=Look around using the mouse +demo.help.jump=Jump by pressing %1$s +demo.help.inventory=Use %1$s to open your inventory +demo.help.title=Minecraft Demo Mode +demo.help.fullWrapped=This demo will last 5 ingame days (about 1 hour and 40 minutes of real time). Check the achievements for hints! Have fun! +demo.help.buy=Purchase Now! +demo.help.later=Continue Playing! + +connect.connecting=Connecting to the server... +connect.authorizing=Logging in... +connect.failed=Failed to connect to the server + +disconnect.genericReason=%s +disconnect.disconnected=Disconnected by Server +disconnect.lost=Connection Lost +disconnect.kicked=Was kicked from the game +disconnect.timeout=Timed out +disconnect.closed=Connection closed +disconnect.loginFailed=Failed to login +disconnect.loginFailedInfo=Failed to login: %s +disconnect.loginFailedInfo.serversUnavailable=The authentication servers are currently down for maintenance. +disconnect.loginFailedInfo.invalidSession=Invalid session (Try restarting your game) +disconnect.quitting=Quitting +disconnect.endOfStream=End of stream +disconnect.overflow=Buffer overflow +disconnect.spam=Kicked for spamming + +soundCategory.master=Master Volume +soundCategory.music=Music +soundCategory.record=Jukebox/Noteblocks +soundCategory.weather=Weather +soundCategory.hostile=Hostile Creatures +soundCategory.neutral=Friendly Creatures +soundCategory.player=Players +soundCategory.block=Blocks +soundCategory.ambient=Ambient/Environment + +record.nowPlaying=Now playing: %s + +options.off=OFF +options.on=ON +options.visible=Shown +options.hidden=Hidden +options.title=Options +options.controls=Controls... +options.video=Video Settings... +options.language=Language... +options.stream=Broadcast Settings... +options.sounds=Music & Sounds... +options.sounds.title=Music & Sound Options +options.languageWarning=Language translations may not be 100%% accurate +options.videoTitle=Video Settings +options.customizeTitle=Customize World Settings +options.music=Music +options.sound=Sound +options.invertMouse=Invert Mouse +options.fov=FOV +options.fov.min=Normal +options.fov.max=Quake Pro +options.saturation=Saturation +options.gamma=Brightness +options.gamma.min=Moody +options.gamma.max=Bright +options.sensitivity=Sensitivity +options.sensitivity.min=*yawn* +options.sensitivity.max=HYPERSPEED!!! +options.renderDistance=Render Distance +options.renderDistance.tiny=Tiny +options.renderDistance.short=Short +options.renderDistance.normal=Normal +options.renderDistance.far=Far +options.viewBobbing=View Bobbing +options.ao=Smooth Lighting +options.ao.off=OFF +options.ao.min=Minimum +options.ao.max=Maximum +options.anaglyph=3D Anaglyph +options.framerateLimit=Max Framerate +options.framerateLimit.max=Unlimited +options.difficulty=Difficulty +options.difficulty.peaceful=Peaceful +options.difficulty.easy=Easy +options.difficulty.normal=Normal +options.difficulty.hard=Hard +options.difficulty.hardcore=Hardcore +options.graphics=Graphics +options.graphics.fancy=Fancy +options.graphics.fast=Fast +options.guiScale=GUI Scale +options.guiScale.auto=Auto +options.guiScale.small=Small +options.guiScale.normal=Normal +options.guiScale.large=Large +options.advancedOpengl=Advanced OpenGL +options.fboEnable=Enable FBOs +options.postProcessEnable=Enable Post-Processing +options.renderClouds=Clouds +options.qualityButton=Video Quality Settings... +options.qualityVideoTitle=Video Quality Settings +options.performanceButton=Video Performance Settings... +options.performanceVideoTitle=Video Performance Settings +options.advancedButton=Advanced Video Settings... +options.advancedVideoTitle=Advanced Video Settings +options.postButton=Post-Processing Settings... +options.postVideoTitle=Post-Processing Settings +options.farWarning1=A 64 bit Java installation is recommended +options.farWarning2=for 'Far' render distance (you have 32 bit) +options.particles=Particles +options.particles.all=All +options.particles.decreased=Decreased +options.particles.minimal=Minimal +options.multiplayer.title=Multiplayer Settings... +options.chat.title=Chat Settings... +options.chat.visibility=Chat +options.chat.visibility.full=Shown +options.chat.visibility.system=Commands Only +options.chat.visibility.hidden=Hidden +options.chat.color=Colors +options.chat.opacity=Opacity +options.chat.links=Web Links +options.chat.links.prompt=Prompt on Links +options.chat.scale=Scale +options.chat.width=Width +options.chat.height.focused=Focused Height +options.chat.height.unfocused=Unfocused Height +options.skinCustomisation=Skin Customization... +options.skinCustomisation.title=Skin Customization +options.skinCustomisation.enableFNAWSkins=Show FNAW Skins +options.modelPart.cape=Cape +options.modelPart.hat=Hat +options.modelPart.jacket=Jacket +options.modelPart.left_sleeve=Left Sleeve +options.modelPart.right_sleeve=Right Sleeve +options.modelPart.left_pants_leg=Left Pants Leg +options.modelPart.right_pants_leg=Right Pants Leg +options.snooper=Allow Snooper +options.snooper.view=Snooper Settings... +options.snooper.title=Machine Specs Collection +options.snooper.desc=We want to collect information about your machine to help improve Minecraft by knowing what we can support and where the biggest problems are. All of this information is completely anonymous and viewable below. We promise we won't do anything bad with this data, but if you want to opt out then feel free to toggle it off! +options.resourcepack=Resource Packs... +options.fullscreen=Fullscreen +options.vsync=Use VSync +options.vbo=Use VBOs +options.touchscreen=Touchscreen Mode +options.blockAlternatives=Alternate Blocks +options.reducedDebugInfo=Reduced Debug Info +options.entityShadows=Entity Shadows + +options.mipmapLevels=Mipmap Levels +options.forceUnicodeFont=Force Unicode Font + +options.stream.title=Twitch Broadcast Settings +options.stream.bytesPerPixel=Quality +options.stream.micVolumne=Mic Volume +options.stream.micToggleBehavior=Push To +options.stream.mic_toggle.mute=Mute +options.stream.mic_toggle.talk=Talk +options.stream.systemVolume=System Volume +options.stream.kbps=Bandwidth +options.stream.fps=Framerate +options.stream.sendMetadata=Send Metadata +options.stream.compression=Compression +options.stream.compression.low=Low +options.stream.compression.medium=Medium +options.stream.compression.high=High +options.stream.estimation=Estimated resolution: %dx%d +options.stream.changes=You may need to restart your stream for these changes to take place. +options.stream.ingestSelection=Broadcast Server List +options.stream.ingest.title=Twitch Broadcast Servers +options.stream.ingest.reset=Reset Preference +options.stream.chat.title=Twitch Chat Settings +options.stream.chat.enabled=Enable +options.stream.chat.enabled.streaming=Whilst Streaming +options.stream.chat.enabled.always=Always +options.stream.chat.enabled.never=Never +options.stream.chat.userFilter=User Filter +options.stream.chat.userFilter.all=All Viewers +options.stream.chat.userFilter.subs=Subscribers +options.stream.chat.userFilter.mods=Moderators + +difficulty.lock.title=Lock World Difficulty +difficulty.lock.question=Are you sure you want to lock the difficulty of this world? This will set this world to always be %1$s, and you will never be able to change that again. + +title.oldgl1=Old graphics card detected; this may prevent you from +title.oldgl2=playing in the future as OpenGL 2.0 will be required. + +controls.title=Controls +controls.reset=Reset +controls.resetAll=Reset Keys + +key.sprint=Sprint +key.forward=Walk Forwards +key.left=Strafe Left +key.back=Walk Backwards +key.right=Strafe Right +key.jump=Jump +key.inventory=Inventory +key.drop=Drop Item +key.chat=Open Chat +key.sneak=Sneak +key.playerlist=List Players +key.attack=Attack/Destroy +key.use=Use Item/Place Block +key.pickItem=Pick Block +key.mouseButton=Button %1$s +key.command=Open Command +key.screenshot=Take Screenshot +key.togglePerspective=Toggle Perspective +key.smoothCamera=Toggle Cinematic Camera +key.fullscreen=Toggle Fullscreen +key.spectatorOutlines=Highlight Players (Spectators) +key.hotbar.1=Hotbar Slot 1 +key.hotbar.2=Hotbar Slot 2 +key.hotbar.3=Hotbar Slot 3 +key.hotbar.4=Hotbar Slot 4 +key.hotbar.5=Hotbar Slot 5 +key.hotbar.6=Hotbar Slot 6 +key.hotbar.7=Hotbar Slot 7 +key.hotbar.8=Hotbar Slot 8 +key.hotbar.9=Hotbar Slot 9 +key.streamStartStop=Start/Stop Stream +key.streamPauseUnpause=Pause/Unpause Stream +key.streamCommercial=Show Stream Commercials +key.streamToggleMic=Push To Talk/Mute + +key.categories.movement=Movement +key.categories.misc=Miscellaneous +key.categories.multiplayer=Multiplayer +key.categories.gameplay=Gameplay +key.categories.ui=Game Interface +key.categories.inventory=Inventory +key.categories.stream=Streaming + +resourcePack.openFolder=Open resource pack +resourcePack.title=Select Resource Packs +resourcePack.available.title=Available Resource Packs +resourcePack.selected.title=Selected Resource Packs +resourcePack.folderInfo=(Select resource pack files here) +resourcePack.incompatible=Incompatible +resourcePack.incompatible.old=(Made for an older version of Minecraft) +resourcePack.incompatible.new=(Made for a newer version of Minecraft) +resourcePack.incompatible.confirm.title=Are you sure you want to load this resource pack? +resourcePack.incompatible.confirm.old=This resource pack was made for an older version of Minecraft and may no longer work correctly. +resourcePack.incompatible.confirm.new=This resource pack was made for a newer version of Minecraft and may no longer work correctly. + +sign.edit=Edit sign message + +book.pageIndicator=Page %1$s of %2$s +book.byAuthor=by %1$s +book.signButton=Sign +book.editTitle=Enter Book Title: +book.finalizeButton=Sign and Close +book.finalizeWarning=Note! When you sign the book, it will no longer be editable. +book.generation.0=Original +book.generation.1=Copy of original +book.generation.2=Copy of a copy +book.generation.3=Tattered + +merchant.deprecated=Trade something else to unlock! + +tile.barrier.name=Barrier +tile.stone.stone.name=Stone +tile.stone.granite.name=Granite +tile.stone.graniteSmooth.name=Polished Granite +tile.stone.diorite.name=Diorite +tile.stone.dioriteSmooth.name=Polished Diorite +tile.stone.andesite.name=Andesite +tile.stone.andesiteSmooth.name=Polished Andesite +tile.hayBlock.name=Hay Bale +tile.grass.name=Grass Block +tile.dirt.name=Dirt +tile.dirt.default.name=Dirt +tile.dirt.coarse.name=Coarse Dirt +tile.dirt.podzol.name=Podzol +tile.stonebrick.name=Cobblestone +tile.wood.name=Wooden Planks +tile.wood.oak.name=Oak Wood Planks +tile.wood.spruce.name=Spruce Wood Planks +tile.wood.birch.name=Birch Wood Planks +tile.wood.jungle.name=Jungle Wood Planks +tile.wood.acacia.name=Acacia Wood Planks +tile.wood.big_oak.name=Dark Oak Wood Planks +tile.sapling.oak.name=Oak Sapling +tile.sapling.spruce.name=Spruce Sapling +tile.sapling.birch.name=Birch Sapling +tile.sapling.jungle.name=Jungle Sapling +tile.sapling.acacia.name=Acacia Sapling +tile.sapling.big_oak.name=Dark Oak Sapling +tile.deadbush.name=Dead Bush +tile.bedrock.name=Bedrock +tile.water.name=Water +tile.lava.name=Lava +tile.sand.name=Sand +tile.sand.default.name=Sand +tile.sand.red.name=Red Sand +tile.sandStone.name=Sandstone +tile.sandStone.default.name=Sandstone +tile.sandStone.chiseled.name=Chiseled Sandstone +tile.sandStone.smooth.name=Smooth Sandstone +tile.redSandStone.name=Red Sandstone +tile.redSandStone.default.name=Red Sandstone +tile.redSandStone.chiseled.name=Chiseled Red Sandstone +tile.redSandStone.smooth.name=Smooth Red Sandstone +tile.gravel.name=Gravel +tile.oreGold.name=Gold Ore +tile.oreIron.name=Iron Ore +tile.oreCoal.name=Coal Ore +tile.log.name=Wood +tile.log.oak.name=Oak Wood +tile.log.spruce.name=Spruce Wood +tile.log.birch.name=Birch Wood +tile.log.jungle.name=Jungle Wood +tile.log.acacia.name=Acacia Wood +tile.log.big_oak.name=Dark Oak Wood +tile.leaves.name=Leaves +tile.leaves.oak.name=Oak Leaves +tile.leaves.spruce.name=Spruce Leaves +tile.leaves.birch.name=Birch Leaves +tile.leaves.jungle.name=Jungle Leaves +tile.leaves.acacia.name=Acacia Leaves +tile.leaves.big_oak.name=Dark Oak Leaves +tile.tallgrass.name=Grass +tile.tallgrass.shrub.name=Shrub +tile.tallgrass.grass.name=Grass +tile.tallgrass.fern.name=Fern +tile.sponge.dry.name=Sponge +tile.sponge.wet.name=Wet Sponge +tile.glass.name=Glass +tile.stainedGlass.name=Stained Glass +tile.stainedGlass.black.name=Black Stained Glass +tile.stainedGlass.red.name=Red Stained Glass +tile.stainedGlass.green.name=Green Stained Glass +tile.stainedGlass.brown.name=Brown Stained Glass +tile.stainedGlass.blue.name=Blue Stained Glass +tile.stainedGlass.purple.name=Purple Stained Glass +tile.stainedGlass.cyan.name=Cyan Stained Glass +tile.stainedGlass.silver.name=Light Gray Stained Glass +tile.stainedGlass.gray.name=Gray Stained Glass +tile.stainedGlass.pink.name=Pink Stained Glass +tile.stainedGlass.lime.name=Lime Stained Glass +tile.stainedGlass.yellow.name=Yellow Stained Glass +tile.stainedGlass.lightBlue.name=Light Blue Stained Glass +tile.stainedGlass.magenta.name=Magenta Stained Glass +tile.stainedGlass.orange.name=Orange Stained Glass +tile.stainedGlass.white.name=White Stained Glass +tile.thinStainedGlass.name=Stained Glass Pane +tile.thinStainedGlass.black.name=Black Stained Glass Pane +tile.thinStainedGlass.red.name=Red Stained Glass Pane +tile.thinStainedGlass.green.name=Green Stained Glass Pane +tile.thinStainedGlass.brown.name=Brown Stained Glass Pane +tile.thinStainedGlass.blue.name=Blue Stained Glass Pane +tile.thinStainedGlass.purple.name=Purple Stained Glass Pane +tile.thinStainedGlass.cyan.name=Cyan Stained Glass Pane +tile.thinStainedGlass.silver.name=Light Gray Stained Glass Pane +tile.thinStainedGlass.gray.name=Gray Stained Glass Pane +tile.thinStainedGlass.pink.name=Pink Stained Glass Pane +tile.thinStainedGlass.lime.name=Lime Stained Glass Pane +tile.thinStainedGlass.yellow.name=Yellow Stained Glass Pane +tile.thinStainedGlass.lightBlue.name=Light Blue Stained Glass Pane +tile.thinStainedGlass.magenta.name=Magenta Stained Glass Pane +tile.thinStainedGlass.orange.name=Orange Stained Glass Pane +tile.thinStainedGlass.white.name=White Stained Glass Pane +tile.thinGlass.name=Glass Pane +tile.cloth.name=Wool +tile.flower1.name=Flower +tile.flower1.dandelion.name=Dandelion +tile.flower2.name=Flower +tile.flower2.poppy.name=Poppy +tile.flower2.blueOrchid.name=Blue Orchid +tile.flower2.allium.name=Allium +tile.flower2.houstonia.name=Azure Bluet +tile.flower2.tulipRed.name=Red Tulip +tile.flower2.tulipOrange.name=Orange Tulip +tile.flower2.tulipWhite.name=White Tulip +tile.flower2.tulipPink.name=Pink Tulip +tile.flower2.oxeyeDaisy.name=Oxeye Daisy +tile.doublePlant.name=Plant +tile.doublePlant.sunflower.name=Sunflower +tile.doublePlant.syringa.name=Lilac +tile.doublePlant.grass.name=Double Tallgrass +tile.doublePlant.fern.name=Large Fern +tile.doublePlant.rose.name=Rose Bush +tile.doublePlant.paeonia.name=Peony +tile.mushroom.name=Mushroom +tile.blockGold.name=Block of Gold +tile.blockIron.name=Block of Iron +tile.stoneSlab.name=Stone Slab +tile.stoneSlab.stone.name=Stone Slab +tile.stoneSlab.sand.name=Sandstone Slab +tile.stoneSlab.wood.name=Wooden Slab +tile.stoneSlab.cobble.name=Cobblestone Slab +tile.stoneSlab.brick.name=Bricks Slab +tile.stoneSlab.smoothStoneBrick.name=Stone Bricks Slab +tile.stoneSlab.netherBrick.name=Nether Brick Slab +tile.stoneSlab.quartz.name=Quartz Slab +tile.stoneSlab2.red_sandstone.name=Red Sandstone Slab +tile.woodSlab.name=Wood Slab +tile.woodSlab.oak.name=Oak Wood Slab +tile.woodSlab.spruce.name=Spruce Wood Slab +tile.woodSlab.birch.name=Birch Wood Slab +tile.woodSlab.jungle.name=Jungle Wood Slab +tile.woodSlab.acacia.name=Acacia Wood Slab +tile.woodSlab.big_oak.name=Dark Oak Wood Slab +tile.brick.name=Bricks +tile.tnt.name=TNT +tile.bookshelf.name=Bookshelf +tile.stoneMoss.name=Moss Stone +tile.obsidian.name=Obsidian +tile.torch.name=Torch +tile.fire.name=Fire +tile.mobSpawner.name=Monster Spawner +tile.stairsWood.name=Oak Wood Stairs +tile.stairsWoodSpruce.name=Spruce Wood Stairs +tile.stairsWoodBirch.name=Birch Wood Stairs +tile.stairsWoodJungle.name=Jungle Wood Stairs +tile.stairsWoodAcacia.name=Acacia Wood Stairs +tile.stairsWoodDarkOak.name=Dark Oak Wood Stairs +tile.chest.name=Chest +tile.chestTrap.name=Trapped Chest +tile.redstoneDust.name=Redstone Dust +tile.oreDiamond.name=Diamond Ore +tile.blockCoal.name=Block of Coal +tile.blockDiamond.name=Block of Diamond +tile.workbench.name=Crafting Table +tile.crops.name=Crops +tile.farmland.name=Farmland +tile.furnace.name=Furnace +tile.sign.name=Sign +tile.doorWood.name=Wooden Door +tile.ladder.name=Ladder +tile.rail.name=Rail +tile.goldenRail.name=Powered Rail +tile.activatorRail.name=Activator Rail +tile.detectorRail.name=Detector Rail +tile.stairsStone.name=Cobblestone Stairs +tile.stairsSandStone.name=Sandstone Stairs +tile.stairsRedSandStone.name=Red Sandstone Stairs +tile.lever.name=Lever +tile.pressurePlateStone.name=Stone Pressure Plate +tile.pressurePlateWood.name=Wooden Pressure Plate +tile.weightedPlate_light.name=Weighted Pressure Plate (Light) +tile.weightedPlate_heavy.name=Weighted Pressure Plate (Heavy) +tile.doorIron.name=Iron Door +tile.oreRedstone.name=Redstone Ore +tile.notGate.name=Redstone Torch +tile.button.name=Button +tile.snow.name=Snow +tile.woolCarpet.name=Carpet +tile.woolCarpet.black.name=Black Carpet +tile.woolCarpet.red.name=Red Carpet +tile.woolCarpet.green.name=Green Carpet +tile.woolCarpet.brown.name=Brown Carpet +tile.woolCarpet.blue.name=Blue Carpet +tile.woolCarpet.purple.name=Purple Carpet +tile.woolCarpet.cyan.name=Cyan Carpet +tile.woolCarpet.silver.name=Light Gray Carpet +tile.woolCarpet.gray.name=Gray Carpet +tile.woolCarpet.pink.name=Pink Carpet +tile.woolCarpet.lime.name=Lime Carpet +tile.woolCarpet.yellow.name=Yellow Carpet +tile.woolCarpet.lightBlue.name=Light Blue Carpet +tile.woolCarpet.magenta.name=Magenta Carpet +tile.woolCarpet.orange.name=Orange Carpet +tile.woolCarpet.white.name=Carpet +tile.ice.name=Ice +tile.frostedIce.name=Frosted Ice +tile.icePacked.name=Packed Ice +tile.cactus.name=Cactus +tile.clay.name=Clay +tile.clayHardenedStained.name=Stained Clay +tile.clayHardenedStained.black.name=Black Stained Clay +tile.clayHardenedStained.red.name=Red Stained Clay +tile.clayHardenedStained.green.name=Green Stained Clay +tile.clayHardenedStained.brown.name=Brown Stained Clay +tile.clayHardenedStained.blue.name=Blue Stained Clay +tile.clayHardenedStained.purple.name=Purple Stained Clay +tile.clayHardenedStained.cyan.name=Cyan Stained Clay +tile.clayHardenedStained.silver.name=Light Gray Stained Clay +tile.clayHardenedStained.gray.name=Gray Stained Clay +tile.clayHardenedStained.pink.name=Pink Stained Clay +tile.clayHardenedStained.lime.name=Lime Stained Clay +tile.clayHardenedStained.yellow.name=Yellow Stained Clay +tile.clayHardenedStained.lightBlue.name=Light Blue Stained Clay +tile.clayHardenedStained.magenta.name=Magenta Stained Clay +tile.clayHardenedStained.orange.name=Orange Stained Clay +tile.clayHardenedStained.white.name=White Stained Clay +tile.clayHardened.name=Hardened Clay +tile.reeds.name=Sugar cane +tile.jukebox.name=Jukebox +tile.fence.name=Oak Fence +tile.spruceFence.name=Spruce Fence +tile.birchFence.name=Birch Fence +tile.jungleFence.name=Jungle Fence +tile.darkOakFence.name=Dark Oak Fence +tile.acaciaFence.name=Acacia Fence +tile.fenceGate.name=Oak Fence Gate +tile.spruceFenceGate.name=Spruce Fence Gate +tile.birchFenceGate.name=Birch Fence Gate +tile.jungleFenceGate.name=Jungle Fence Gate +tile.darkOakFenceGate.name=Dark Oak Fence Gate +tile.acaciaFenceGate.name=Acacia Fence Gate +tile.pumpkinStem.name=Pumpkin Stem +tile.pumpkin.name=Pumpkin +tile.litpumpkin.name=Jack o'Lantern +tile.hellrock.name=Netherrack +tile.hellsand.name=Soul Sand +tile.lightgem.name=Glowstone +tile.portal.name=Portal +tile.cloth.black.name=Black Wool +tile.cloth.red.name=Red Wool +tile.cloth.green.name=Green Wool +tile.cloth.brown.name=Brown Wool +tile.cloth.blue.name=Blue Wool +tile.cloth.purple.name=Purple Wool +tile.cloth.cyan.name=Cyan Wool +tile.cloth.silver.name=Light Gray Wool +tile.cloth.gray.name=Gray Wool +tile.cloth.pink.name=Pink Wool +tile.cloth.lime.name=Lime Wool +tile.cloth.yellow.name=Yellow Wool +tile.cloth.lightBlue.name=Light Blue Wool +tile.cloth.magenta.name=Magenta Wool +tile.cloth.orange.name=Orange Wool +tile.cloth.white.name=Wool +tile.oreLapis.name=Lapis Lazuli Ore +tile.blockLapis.name=Lapis Lazuli Block +tile.dispenser.name=Dispenser +tile.dropper.name=Dropper +tile.musicBlock.name=Note Block +tile.cake.name=Cake +tile.bed.name=Bed +tile.bed.occupied=This bed is occupied +tile.bed.noSleep=You can only sleep at night +tile.bed.notSafe=You may not rest now, there are monsters nearby +tile.bed.notValid=Your home bed was missing or obstructed +tile.lockedchest.name=Locked chest +tile.trapdoor.name=Wooden Trapdoor +tile.ironTrapdoor.name=Iron Trapdoor +tile.web.name=Cobweb +tile.stonebricksmooth.name=Stone Bricks +tile.stonebricksmooth.default.name=Stone Bricks +tile.stonebricksmooth.mossy.name=Mossy Stone Bricks +tile.stonebricksmooth.cracked.name=Cracked Stone Bricks +tile.stonebricksmooth.chiseled.name=Chiseled Stone Bricks +tile.monsterStoneEgg.name=Stone Monster Egg +tile.monsterStoneEgg.stone.name=Stone Monster Egg +tile.monsterStoneEgg.cobble.name=Cobblestone Monster Egg +tile.monsterStoneEgg.brick.name=Stone Brick Monster Egg +tile.monsterStoneEgg.mossybrick.name=Mossy Stone Brick Monster Egg +tile.monsterStoneEgg.crackedbrick.name=Cracked Stone Brick Monster Egg +tile.monsterStoneEgg.chiseledbrick.name=Chiseled Stone Brick Monster Egg +tile.pistonBase.name=Piston +tile.pistonStickyBase.name=Sticky Piston +tile.fenceIron.name=Iron Bars +tile.melon.name=Melon +tile.stairsBrick.name=Brick Stairs +tile.stairsStoneBrickSmooth.name=Stone Brick Stairs +tile.vine.name=Vines +tile.netherBrick.name=Nether Brick +tile.netherFence.name=Nether Brick Fence +tile.stairsNetherBrick.name=Nether Brick Stairs +tile.netherStalk.name=Nether Wart +tile.cauldron.name=Cauldron +tile.enchantmentTable.name=Enchantment Table +tile.anvil.name=Anvil +tile.anvil.intact.name=Anvil +tile.anvil.slightlyDamaged.name=Slightly Damaged Anvil +tile.anvil.veryDamaged.name=Very Damaged Anvil +tile.whiteStone.name=End Stone +tile.endPortalFrame.name=End Portal +tile.mycel.name=Mycelium +tile.waterlily.name=Lily Pad +tile.dragonEgg.name=Dragon Egg +tile.redstoneLight.name=Redstone Lamp +tile.cocoa.name=Cocoa +tile.enderChest.name=Ender Chest +tile.oreRuby.name=Ruby Ore +tile.oreEmerald.name=Emerald Ore +tile.blockEmerald.name=Block of Emerald +tile.blockRedstone.name=Block of Redstone +tile.tripWire.name=Tripwire +tile.tripWireSource.name=Tripwire Hook +tile.beacon.name=Beacon +tile.beacon.primary=Primary Power +tile.beacon.secondary=Secondary Power +tile.cobbleWall.normal.name=Cobblestone Wall +tile.cobbleWall.mossy.name=Mossy Cobblestone Wall +tile.carrots.name=Carrots +tile.potatoes.name=Potatoes +tile.daylightDetector.name=Daylight Sensor +tile.netherquartz.name=Nether Quartz Ore +tile.hopper.name=Hopper +tile.quartzBlock.name=Block of Quartz +tile.quartzBlock.default.name=Block of Quartz +tile.quartzBlock.chiseled.name=Chiseled Quartz Block +tile.quartzBlock.lines.name=Pillar Quartz Block +tile.stairsQuartz.name=Quartz Stairs +tile.slime.name=Slime Block +tile.prismarine.rough.name=Prismarine +tile.prismarine.bricks.name=Prismarine Bricks +tile.prismarine.dark.name=Dark Prismarine +tile.seaLantern.name=Sea Lantern + +item.nameTag.name=Name Tag +item.leash.name=Lead +item.shovelIron.name=Iron Shovel +item.pickaxeIron.name=Iron Pickaxe +item.hatchetIron.name=Iron Axe +item.flintAndSteel.name=Flint and Steel +item.apple.name=Apple +item.cookie.name=Cookie +item.bow.name=Bow +item.arrow.name=Arrow +item.coal.name=Coal +item.charcoal.name=Charcoal +item.diamond.name=Diamond +item.emerald.name=Emerald +item.ingotIron.name=Iron Ingot +item.ingotGold.name=Gold Ingot +item.swordIron.name=Iron Sword +item.swordWood.name=Wooden Sword +item.shovelWood.name=Wooden Shovel +item.pickaxeWood.name=Wooden Pickaxe +item.hatchetWood.name=Wooden Axe +item.swordStone.name=Stone Sword +item.shovelStone.name=Stone Shovel +item.pickaxeStone.name=Stone Pickaxe +item.hatchetStone.name=Stone Axe +item.swordDiamond.name=Diamond Sword +item.shovelDiamond.name=Diamond Shovel +item.pickaxeDiamond.name=Diamond Pickaxe +item.hatchetDiamond.name=Diamond Axe +item.stick.name=Stick +item.bowl.name=Bowl +item.mushroomStew.name=Mushroom Stew +item.swordGold.name=Golden Sword +item.shovelGold.name=Golden Shovel +item.pickaxeGold.name=Golden Pickaxe +item.hatchetGold.name=Golden Axe +item.string.name=String +item.feather.name=Feather +item.sulphur.name=Gunpowder +item.hoeWood.name=Wooden Hoe +item.hoeStone.name=Stone Hoe +item.hoeIron.name=Iron Hoe +item.hoeDiamond.name=Diamond Hoe +item.hoeGold.name=Golden Hoe +item.seeds.name=Seeds +item.seeds_pumpkin.name=Pumpkin Seeds +item.seeds_melon.name=Melon Seeds +item.melon.name=Melon +item.wheat.name=Wheat +item.bread.name=Bread +item.helmetCloth.name=Leather Cap +item.chestplateCloth.name=Leather Tunic +item.leggingsCloth.name=Leather Pants +item.bootsCloth.name=Leather Boots +item.helmetChain.name=Chain Helmet +item.chestplateChain.name=Chain Chestplate +item.leggingsChain.name=Chain Leggings +item.bootsChain.name=Chain Boots +item.helmetIron.name=Iron Helmet +item.chestplateIron.name=Iron Chestplate +item.leggingsIron.name=Iron Leggings +item.bootsIron.name=Iron Boots +item.helmetDiamond.name=Diamond Helmet +item.chestplateDiamond.name=Diamond Chestplate +item.leggingsDiamond.name=Diamond Leggings +item.bootsDiamond.name=Diamond Boots +item.helmetGold.name=Golden Helmet +item.chestplateGold.name=Golden Chestplate +item.leggingsGold.name=Golden Leggings +item.bootsGold.name=Golden Boots +item.flint.name=Flint +item.porkchopRaw.name=Raw Porkchop +item.porkchopCooked.name=Cooked Porkchop +item.chickenRaw.name=Raw Chicken +item.chickenCooked.name=Cooked Chicken +item.muttonRaw.name=Raw Mutton +item.muttonCooked.name=Cooked Mutton +item.rabbitRaw.name=Raw Rabbit +item.rabbitCooked.name=Cooked Rabbit +item.rabbitStew.name=Rabbit Stew +item.rabbitFoot.name=Rabbit's Foot +item.rabbitHide.name=Rabbit Hide +item.beefRaw.name=Raw Beef +item.beefCooked.name=Steak +item.painting.name=Painting +item.frame.name=Item Frame +item.appleGold.name=Golden Apple +item.sign.name=Sign +item.doorOak.name=Oak Door +item.doorSpruce.name=Spruce Door +item.doorBirch.name=Birch Door +item.doorJungle.name=Jungle Door +item.doorAcacia.name=Acacia Door +item.doorDarkOak.name=Dark Oak Door +item.bucket.name=Bucket +item.bucketWater.name=Water Bucket +item.bucketLava.name=Lava Bucket +item.minecart.name=Minecart +item.saddle.name=Saddle +item.doorIron.name=Iron Door +item.redstone.name=Redstone +item.snowball.name=Snowball +item.boat.name=Boat +item.leather.name=Leather +item.milk.name=Milk +item.brick.name=Brick +item.clay.name=Clay +item.reeds.name=Sugar Canes +item.paper.name=Paper +item.book.name=Book +item.slimeball.name=Slimeball +item.minecartChest.name=Minecart with Chest +item.minecartFurnace.name=Minecart with Furnace +item.minecartTnt.name=Minecart with TNT +item.minecartHopper.name=Minecart with Hopper +item.minecartCommandBlock.name=Minecart with Command Block +item.egg.name=Egg +item.compass.name=Compass +item.fishingRod.name=Fishing Rod +item.clock.name=Clock +item.yellowDust.name=Glowstone Dust +item.fish.cod.raw.name=Raw Fish +item.fish.salmon.raw.name=Raw Salmon +item.fish.pufferfish.raw.name=Pufferfish +item.fish.clownfish.raw.name=Clownfish +item.fish.cod.cooked.name=Cooked Fish +item.fish.salmon.cooked.name=Cooked Salmon +item.record.name=Music Disc +item.record.13.desc=C418 - 13 +item.record.cat.desc=C418 - cat +item.record.blocks.desc=C418 - blocks +item.record.chirp.desc=C418 - chirp +item.record.far.desc=C418 - far +item.record.mall.desc=C418 - mall +item.record.mellohi.desc=C418 - mellohi +item.record.stal.desc=C418 - stal +item.record.strad.desc=C418 - strad +item.record.ward.desc=C418 - ward +item.record.11.desc=C418 - 11 +item.record.wait.desc=C418 - wait +item.bone.name=Bone +item.dyePowder.black.name=Ink Sac +item.dyePowder.red.name=Rose Red +item.dyePowder.green.name=Cactus Green +item.dyePowder.brown.name=Cocoa Beans +item.dyePowder.blue.name=Lapis Lazuli +item.dyePowder.purple.name=Purple Dye +item.dyePowder.cyan.name=Cyan Dye +item.dyePowder.silver.name=Light Gray Dye +item.dyePowder.gray.name=Gray Dye +item.dyePowder.pink.name=Pink Dye +item.dyePowder.lime.name=Lime Dye +item.dyePowder.yellow.name=Dandelion Yellow +item.dyePowder.lightBlue.name=Light Blue Dye +item.dyePowder.magenta.name=Magenta Dye +item.dyePowder.orange.name=Orange Dye +item.dyePowder.white.name=Bone Meal +item.sugar.name=Sugar +item.cake.name=Cake +item.bed.name=Bed +item.diode.name=Redstone Repeater +item.comparator.name=Redstone Comparator +item.map.name=Map +item.leaves.name=Leaves +item.shears.name=Shears +item.rottenFlesh.name=Rotten Flesh +item.enderPearl.name=Ender Pearl +item.blazeRod.name=Blaze Rod +item.ghastTear.name=Ghast Tear +item.netherStalkSeeds.name=Nether Wart +item.potion.name=Potion +item.emptyPotion.name=Water Bottle +item.goldNugget.name=Gold Nugget +item.glassBottle.name=Glass Bottle +item.spiderEye.name=Spider Eye +item.fermentedSpiderEye.name=Fermented Spider Eye +item.blazePowder.name=Blaze Powder +item.magmaCream.name=Magma Cream +item.cauldron.name=Cauldron +item.brewingStand.name=Brewing Stand +item.eyeOfEnder.name=Eye of Ender +item.speckledMelon.name=Glistering Melon +item.monsterPlacer.name=Spawn +item.expBottle.name=Bottle o' Enchanting +item.fireball.name=Fire Charge +item.writingBook.name=Book and Quill +item.writtenBook.name=Written Book +item.ruby.name=Ruby +item.flowerPot.name=Flower Pot +item.emptyMap.name=Empty Map +item.carrots.name=Carrot +item.carrotGolden.name=Golden Carrot +item.potato.name=Potato +item.potatoBaked.name=Baked Potato +item.potatoPoisonous.name=Poisonous Potato +item.skull.skeleton.name=Skeleton Skull +item.skull.wither.name=Wither Skeleton Skull +item.skull.zombie.name=Zombie Head +item.skull.char.name=Head +item.skull.player.name=%s's Head +item.skull.creeper.name=Creeper Head +item.skull.dragon.name=Dragon Head +item.carrotOnAStick.name=Carrot on a Stick +item.netherStar.name=Nether Star +item.pumpkinPie.name=Pumpkin Pie +item.enchantedBook.name=Enchanted Book +item.fireworks.name=Firework Rocket +item.fireworks.flight=Flight Duration: +item.fireworksCharge.name=Firework Star +item.fireworksCharge.black=Black +item.fireworksCharge.red=Red +item.fireworksCharge.green=Green +item.fireworksCharge.brown=Brown +item.fireworksCharge.blue=Blue +item.fireworksCharge.purple=Purple +item.fireworksCharge.cyan=Cyan +item.fireworksCharge.silver=Light Gray +item.fireworksCharge.gray=Gray +item.fireworksCharge.pink=Pink +item.fireworksCharge.lime=Lime +item.fireworksCharge.yellow=Yellow +item.fireworksCharge.lightBlue=Light Blue +item.fireworksCharge.magenta=Magenta +item.fireworksCharge.orange=Orange +item.fireworksCharge.white=White +item.fireworksCharge.customColor=Custom +item.fireworksCharge.fadeTo=Fade to +item.fireworksCharge.flicker=Twinkle +item.fireworksCharge.trail=Trail +item.fireworksCharge.type.0=Small Ball +item.fireworksCharge.type.1=Large Ball +item.fireworksCharge.type.2=Star-shaped +item.fireworksCharge.type.3=Creeper-shaped +item.fireworksCharge.type.4=Burst +item.fireworksCharge.type=Unknown Shape +item.netherbrick.name=Nether Brick +item.netherquartz.name=Nether Quartz +item.armorStand.name=Armor Stand +item.horsearmormetal.name=Iron Horse Armor +item.horsearmorgold.name=Gold Horse Armor +item.horsearmordiamond.name=Diamond Horse Armor +item.prismarineShard.name=Prismarine Shard +item.prismarineCrystals.name=Prismarine Crystals + +container.inventory=Inventory +container.hopper=Item Hopper +container.crafting=Crafting +container.dispenser=Dispenser +container.dropper=Dropper +container.furnace=Furnace +container.enchant=Enchant +container.enchant.lapis.one=1 Lapis Lazuli +container.enchant.lapis.many=%d Lapis Lazuli +container.enchant.level.one=1 Enchantment Level +container.enchant.level.many=%d Enchantment Levels +container.enchant.clue=%s . . . ? +container.repair=Repair & Name +container.repair.cost=Enchantment Cost: %1$d +container.repair.expensive=Too Expensive! +container.creative=Item Selection +container.brewing=Brewing Stand +container.chest=Chest +container.chestDouble=Large Chest +container.minecart=Minecart +container.enderchest=Ender Chest +container.beacon=Beacon + +container.isLocked=%s is locked! + +item.dyed=Dyed +item.unbreakable=Unbreakable +item.canBreak=Can break: +item.canPlace=Can be placed on: + +entity.Item.name=Item +entity.XPOrb.name=Experience Orb +entity.SmallFireball.name=Small Fireball +entity.Fireball.name=Fireball +entity.ThrownPotion.name=Potion + +entity.Arrow.name=Arrow +entity.Snowball.name=Snowball +entity.Painting.name=Painting +entity.ArmorStand.name=Armor Stand + +entity.Mob.name=Mob +entity.Monster.name=Monster + +entity.Creeper.name=Creeper +entity.Skeleton.name=Skeleton +entity.Spider.name=Spider +entity.Giant.name=Giant +entity.Zombie.name=Zombie +entity.Slime.name=Slime +entity.Ghast.name=Ghast +entity.PigZombie.name=Zombie Pigman +entity.Enderman.name=Enderman +entity.Endermite.name=Endermite +entity.Silverfish.name=Silverfish +entity.CaveSpider.name=Cave Spider +entity.Blaze.name=Blaze +entity.LavaSlime.name=Magma Cube +entity.MushroomCow.name=Mooshroom +entity.Villager.name=Villager +entity.VillagerGolem.name=Iron Golem +entity.SnowMan.name=Snow Golem +entity.EnderDragon.name=Ender Dragon +entity.WitherBoss.name=Wither +entity.Witch.name=Witch +entity.Guardian.name=Guardian + +entity.Villager.farmer=Farmer +entity.Villager.fisherman=Fisherman +entity.Villager.shepherd=Shepherd +entity.Villager.fletcher=Fletcher +entity.Villager.librarian=Librarian +entity.Villager.cleric=Cleric +entity.Villager.armor=Armorer +entity.Villager.weapon=Weapon Smith +entity.Villager.tool=Tool Smith +entity.Villager.butcher=Butcher +entity.Villager.leather=Leatherworker + +entity.Pig.name=Pig +entity.Sheep.name=Sheep +entity.Cow.name=Cow +entity.Chicken.name=Chicken +entity.Squid.name=Squid +entity.Wolf.name=Wolf +entity.Ozelot.name=Ocelot +entity.Cat.name=Cat +entity.Bat.name=Bat +entity.EntityHorse.name=Horse +entity.horse.name=Horse +entity.donkey.name=Donkey +entity.mule.name=Mule +entity.skeletonhorse.name=Skeleton Horse +entity.zombiehorse.name=Zombie Horse +entity.Rabbit.name=Rabbit +entity.KillerBunny.name=The Killer Bunny + +entity.PrimedTnt.name=Block of TNT +entity.FallingSand.name=Falling Block + +entity.Minecart.name=Minecart +entity.Boat.name=Boat + +entity.generic.name=unknown + +death.fell.accident.ladder=%1$s fell off a ladder +death.fell.accident.vines=%1$s fell off some vines +death.fell.accident.water=%1$s fell out of the water +death.fell.accident.generic=%1$s fell from a high place +death.fell.killer=%1$s was doomed to fall +death.fell.assist=%1$s was doomed to fall by %2$s +death.fell.assist.item=%1$s was doomed to fall by %2$s using %3$s +death.fell.finish=%1$s fell too far and was finished by %2$s +death.fell.finish.item=%1$s fell too far and was finished by %2$s using %3$s + +death.attack.lightningBolt=%1$s was struck by lightning +death.attack.inFire=%1$s went up in flames +death.attack.inFire.player=%1$s walked into fire whilst fighting %2$s +death.attack.onFire=%1$s burned to death +death.attack.onFire.player=%1$s was burnt to a crisp whilst fighting %2$s +death.attack.lava=%1$s tried to swim in lava +death.attack.lava.player=%1$s tried to swim in lava to escape %2$s +death.attack.inWall=%1$s suffocated in a wall +death.attack.drown=%1$s drowned +death.attack.drown.player=%1$s drowned whilst trying to escape %2$s +death.attack.starve=%1$s starved to death +death.attack.cactus=%1$s was pricked to death +death.attack.cactus.player=%1$s walked into a cactus whilst trying to escape %2$s +death.attack.generic=%1$s died +death.attack.explosion=%1$s blew up +death.attack.explosion.player=%1$s was blown up by %2$s +death.attack.magic=%1$s was killed by magic +death.attack.wither=%1$s withered away +death.attack.anvil=%1$s was squashed by a falling anvil +death.attack.fallingBlock=%1$s was squashed by a falling block +death.attack.mob=%1$s was slain by %2$s +death.attack.player=%1$s was slain by %2$s +death.attack.player.item=%1$s was slain by %2$s using %3$s +death.attack.arrow=%1$s was shot by %2$s +death.attack.arrow.item=%1$s was shot by %2$s using %3$s +death.attack.fireball=%1$s was fireballed by %2$s +death.attack.fireball.item=%1$s was fireballed by %2$s using %3$s +death.attack.thrown=%1$s was pummeled by %2$s +death.attack.thrown.item=%1$s was pummeled by %2$s using %3$s +death.attack.indirectMagic=%1$s was killed by %2$s using magic +death.attack.indirectMagic.item=%1$s was killed by %2$s using %3$s +death.attack.thorns=%1$s was killed trying to hurt %2$s +death.attack.fall=%1$s hit the ground too hard +death.attack.outOfWorld=%1$s fell out of the world + +deathScreen.respawn=Respawn +deathScreen.deleteWorld=Delete world +deathScreen.titleScreen=Title screen +deathScreen.score=Score +deathScreen.title.hardcore=Game over! +deathScreen.hardcoreInfo=You cannot respawn in hardcore mode! +deathScreen.title=You died! +deathScreen.leaveServer=Leave server +deathScreen.quit.confirm=Are you sure you want to quit? + +potion.effects.whenDrank=When Applied: +potion.empty=No Effects +potion.moveSpeed=Speed +potion.moveSlowdown=Slowness +potion.digSpeed=Haste +potion.digSlowDown=Mining Fatigue +potion.damageBoost=Strength +potion.heal=Instant Health +potion.harm=Instant Damage +potion.jump=Jump Boost +potion.confusion=Nausea +potion.regeneration=Regeneration +potion.resistance=Resistance +potion.fireResistance=Fire Resistance +potion.waterBreathing=Water Breathing +potion.invisibility=Invisibility +potion.blindness=Blindness +potion.nightVision=Night Vision +potion.hunger=Hunger +potion.weakness=Weakness +potion.poison=Poison +potion.wither=Wither +potion.healthBoost=Health Boost +potion.absorption=Absorption +potion.saturation=Saturation +potion.glowing=Glowing +potion.luck=Luck +potion.unluck=Bad Luck +potion.levitation=Levitation + +potion.moveSpeed.postfix=Potion of Swiftness +potion.moveSlowdown.postfix=Potion of Slowness +potion.digSpeed.postfix=Potion of Haste +potion.digSlowDown.postfix=Potion of Dullness +potion.damageBoost.postfix=Potion of Strength +potion.weakness.postfix=Potion of Weakness +potion.heal.postfix=Potion of Healing +potion.harm.postfix=Potion of Harming +potion.jump.postfix=Potion of Leaping +potion.confusion.postfix=Potion of Nausea +potion.regeneration.postfix=Potion of Regeneration +potion.resistance.postfix=Potion of Resistance +potion.fireResistance.postfix=Potion of Fire Resistance +potion.waterBreathing.postfix=Potion of Water Breathing +potion.invisibility.postfix=Potion of Invisibility +potion.blindness.postfix=Potion of Blindness +potion.nightVision.postfix=Potion of Night Vision +potion.hunger.postfix=Potion of Hunger +potion.poison.postfix=Potion of Poison +potion.wither.postfix=Potion of Decay +potion.healthBoost.postfix=Potion of Health Boost +potion.absorption.postfix=Potion of Absorption +potion.saturation.postfix=Potion of Saturation + +potion.potency.0= +potion.potency.1=II +potion.potency.2=III +potion.potency.3=IV + +potion.prefix.grenade=Splash +potion.prefix.mundane=Mundane +potion.prefix.uninteresting=Uninteresting +potion.prefix.bland=Bland +potion.prefix.clear=Clear +potion.prefix.milky=Milky +potion.prefix.diffuse=Diffuse +potion.prefix.artless=Artless +potion.prefix.thin=Thin +potion.prefix.awkward=Awkward +potion.prefix.flat=Flat +potion.prefix.bulky=Bulky +potion.prefix.bungling=Bungling +potion.prefix.buttered=Buttered +potion.prefix.smooth=Smooth +potion.prefix.suave=Suave +potion.prefix.debonair=Debonair +potion.prefix.thick=Thick +potion.prefix.elegant=Elegant +potion.prefix.fancy=Fancy +potion.prefix.charming=Charming +potion.prefix.dashing=Dashing +potion.prefix.refined=Refined +potion.prefix.cordial=Cordial +potion.prefix.sparkling=Sparkling +potion.prefix.potent=Potent +potion.prefix.foul=Foul +potion.prefix.odorless=Odorless +potion.prefix.rank=Rank +potion.prefix.harsh=Harsh +potion.prefix.acrid=Acrid +potion.prefix.gross=Gross +potion.prefix.stinky=Stinky + +enchantment.damage.all=Sharpness +enchantment.damage.undead=Smite +enchantment.damage.arthropods=Bane of Arthropods +enchantment.knockback=Knockback +enchantment.fire=Fire Aspect +enchantment.protect.all=Protection +enchantment.protect.fire=Fire Protection +enchantment.protect.fall=Feather Falling +enchantment.protect.explosion=Blast Protection +enchantment.protect.projectile=Projectile Protection +enchantment.oxygen=Respiration +enchantment.waterWorker=Aqua Affinity +enchantment.waterWalker=Depth Strider +enchantment.frostWalker=Frost Walker +enchantment.digging=Efficiency +enchantment.untouching=Silk Touch +enchantment.durability=Unbreaking +enchantment.lootBonus=Looting +enchantment.lootBonusDigger=Fortune +enchantment.lootBonusFishing=Luck of the Sea +enchantment.fishingSpeed=Lure +enchantment.arrowDamage=Power +enchantment.arrowFire=Flame +enchantment.arrowKnockback=Punch +enchantment.arrowInfinite=Infinity +enchantment.thorns=Thorns +enchantment.mending=Mending + +enchantment.level.1=I +enchantment.level.2=II +enchantment.level.3=III +enchantment.level.4=IV +enchantment.level.5=V +enchantment.level.6=VI +enchantment.level.7=VII +enchantment.level.8=VIII +enchantment.level.9=IX +enchantment.level.10=X + +gui.achievements=Achievements +gui.stats=Statistics + +stats.tooltip.type.achievement=Achievement +stats.tooltip.type.statistic=Statistic +stat.generalButton=General +stat.blocksButton=Blocks +stat.itemsButton=Items +stat.mobsButton=Mobs + +stat.used=Times Used +stat.mined=Times Mined +stat.depleted=Times Depleted +stat.crafted=Times Crafted +stat.entityKills=You killed %d %s +stat.entityKilledBy=%s killed you %d time(s) +stat.entityKills.none=You have never killed %s +stat.entityKilledBy.none=You have never been killed by %s + +stat.startGame=Times played +stat.createWorld=Worlds created +stat.loadWorld=Saves loaded +stat.joinMultiplayer=Multiplayer joins +stat.leaveGame=Games quit + +stat.playOneMinute=Minutes Played +stat.timeSinceDeath=Since Last Death + +stat.walkOneCm=Distance Walked +stat.crouchOneCm=Distance Crouched +stat.sprintOneCm=Distance Sprinted +stat.fallOneCm=Distance Fallen +stat.swimOneCm=Distance Swum +stat.flyOneCm=Distance Flown +stat.climbOneCm=Distance Climbed +stat.diveOneCm=Distance Dove +stat.minecartOneCm=Distance by Minecart +stat.boatOneCm=Distance by Boat +stat.pigOneCm=Distance by Pig +stat.horseOneCm=Distance by Horse +stat.aviateOneCm=Distance by Elytra +stat.jump=Jumps +stat.drop=Items Dropped + +stat.damageDealt=Damage Dealt +stat.damageTaken=Damage Taken +stat.deaths=Number of Deaths +stat.mobKills=Mob Kills +stat.animalsBred=Animals Bred +stat.playerKills=Player Kills +stat.fishCaught=Fish Caught +stat.treasureFished=Treasure Fished +stat.junkFished=Junk Fished +stat.talkedToVillager=Talked to Villagers +stat.tradedWithVillager=Traded with Villagers + +stat.cakeSlicesEaten=Cake Slices Eaten +stat.cauldronFilled=Cauldrons Filled +stat.cauldronUsed=Water Taken from Cauldron +stat.armorCleaned=Armor Pieces Cleaned +stat.bannerCleaned=Banners Cleaned +stat.brewingstandInteraction=Interactions with Brewing Stand +stat.beaconInteraction=Interactions with Beacon +stat.dropperInspected=Droppers Searched +stat.hopperInspected=Hoppers Searched +stat.dispenserInspected=Dispensers Searched +stat.noteblockPlayed=Noteblocks played +stat.noteblockTuned=Noteblocks tuned +stat.flowerPotted=Plants potted +stat.trappedChestTriggered=Trapped Chests Triggered +stat.enderchestOpened=Ender Chests Opened +stat.itemEnchanted=Items Enchanted +stat.recordPlayed=Records Played +stat.furnaceInteraction=Interactions with Furnace +stat.workbenchInteraction=Interactions with Crafting Table +stat.chestOpened=Chests Opened + +stat.mineBlock=%1$s Mined +stat.craftItem=%1$s Crafted +stat.useItem=%1$s Used +stat.breakItem=%1$s Depleted + +achievement.get=Achievement get! + +achievement.taken=Taken! +achievement.unknown=??? + +achievement.requires=Requires '%1$s' +achievement.openInventory=Taking Inventory +achievement.openInventory.desc=Press '%1$s' to open your inventory. +achievement.mineWood=Getting Wood +achievement.mineWood.desc=Attack a tree until a block of wood pops out +achievement.buildWorkBench=Benchmarking +achievement.buildWorkBench.desc=Craft a workbench with four blocks of planks +achievement.buildPickaxe=Time to Mine! +achievement.buildPickaxe.desc=Use planks and sticks to make a pickaxe +achievement.buildFurnace=Hot Topic +achievement.buildFurnace.desc=Construct a furnace out of eight stone blocks +achievement.acquireIron=Acquire Hardware +achievement.acquireIron.desc=Smelt an iron ingot +achievement.buildHoe=Time to Farm! +achievement.buildHoe.desc=Use planks and sticks to make a hoe +achievement.makeBread=Bake Bread +achievement.makeBread.desc=Turn wheat into bread +achievement.bakeCake=The Lie +achievement.bakeCake.desc=Wheat, sugar, milk and eggs! +achievement.buildBetterPickaxe=Getting an Upgrade +achievement.buildBetterPickaxe.desc=Construct a better pickaxe +achievement.overpowered=Overpowered +achievement.overpowered.desc=Build a Notch apple +achievement.cookFish=Delicious Fish +achievement.cookFish.desc=Catch and cook fish! +achievement.onARail=On A Rail +achievement.onARail.desc=Travel by minecart at least 1 km from where you started +achievement.buildSword=Time to Strike! +achievement.buildSword.desc=Use planks and sticks to make a sword +achievement.killEnemy=Monster Hunter +achievement.killEnemy.desc=Attack and destroy a monster +achievement.killCow=Cow Tipper +achievement.killCow.desc=Harvest some leather +achievement.breedCow=Repopulation +achievement.breedCow.desc=Breed two cows with wheat +achievement.flyPig=When Pigs Fly +achievement.flyPig.desc=Fly a pig off a cliff +achievement.snipeSkeleton=Sniper Duel +achievement.snipeSkeleton.desc=Kill a skeleton with an arrow from more than 50 meters +achievement.diamonds=DIAMONDS! +achievement.diamonds.desc=Acquire diamonds with your iron tools +achievement.diamondsToYou=Diamonds to you! +achievement.diamondsToYou.desc=Throw diamonds at another player. +achievement.portal=We Need to Go Deeper +achievement.portal.desc=Build a portal to the Nether +achievement.ghast=Return to Sender +achievement.ghast.desc=Destroy a Ghast with a fireball +achievement.blazeRod=Into Fire +achievement.blazeRod.desc=Relieve a Blaze of its rod +achievement.potion=Local Brewery +achievement.potion.desc=Brew a potion +achievement.theEnd=The End? +achievement.theEnd.desc=Locate the End +achievement.theEnd2=The End. +achievement.theEnd2.desc=Defeat the Ender Dragon +achievement.spawnWither=The Beginning? +achievement.spawnWither.desc=Spawn the Wither +achievement.killWither=The Beginning. +achievement.killWither.desc=Kill the Wither +achievement.fullBeacon=Beaconator +achievement.fullBeacon.desc=Create a full beacon +achievement.exploreAllBiomes=Adventuring Time +achievement.exploreAllBiomes.desc=Discover all biomes +achievement.enchantments=Enchanter +achievement.enchantments.desc=Use a book, obsidian and diamonds to construct an enchantment table +achievement.overkill=Overkill +achievement.overkill.desc=Deal nine hearts of damage in a single hit +achievement.bookcase=Librarian +achievement.bookcase.desc=Build some bookshelves to improve your enchantment table + +commands.generic.exception=An unknown error occurred while attempting to perform this command +commands.generic.permission=You do not have permission to use this command +commands.generic.syntax=Invalid command syntax +commands.generic.player.notFound=That player cannot be found +commands.generic.entity.notFound=That entity cannot be found +commands.generic.entity.invalidUuid=The entity UUID provided is in an invalid format +commands.generic.entity.invalidType=Entity type '%s' is invalid +commands.generic.notFound=Unknown command. Try /help for a list of commands +commands.generic.parameter.invalid='%s' is not a valid parameter +commands.generic.num.invalid='%s' is not a valid number +commands.generic.boolean.invalid='%s' is not true or false +commands.generic.num.tooSmall=The number you have entered (%d) is too small, it must be at least %d +commands.generic.num.tooBig=The number you have entered (%d) is too big, it must be at most %d +commands.generic.double.tooSmall=The number you have entered (%.2f) is too small, it must be at least %.2f +commands.generic.double.tooBig=The number you have entered (%.2f) is too big, it must be at most %.2f +commands.generic.usage=Usage: %s + +commands.setidletimeout.usage=/setidletimeout +commands.setidletimeout.success=Successfully set the idle timeout to %d minutes. +commands.xp.failure.widthdrawXp=Cannot give player negative experience points +commands.xp.success=Given %d experience to %s +commands.xp.success.levels=Given %d levels to %s +commands.xp.success.negative.levels=Taken %d levels from %s +commands.xp.usage=/xp [player] OR /xp L [player] +commands.playsound.usage=/playsound [x] [y] [z] [volume] [pitch] [minimumVolume] +commands.playsound.success=Played sound '%s' to %s +commands.playsound.playerTooFar=Player %s is too far away to hear the sound +commands.give.usage=/give [amount] [data] [dataTag] +commands.give.item.notFound=There is no such item with name %d +commands.give.block.notFound=There is no such block with name %d +commands.give.success=Given %s * %d to %s +commands.give.tagError=Data tag parsing failed: %s +commands.replaceitem.usage=/replaceitem ... +commands.replaceitem.entity.usage=/replaceitem entity [amount] [data] [dataTag] +commands.replaceitem.block.usage=/replaceitem block [amount] [data] [dataTag] +commands.replaceitem.tagError=Data tag parsing failed: %s +commands.replaceitem.noContainer=Block at %d, %d, %d is not a container +commands.replaceitem.failed=Could not replace slot %d with %d * %s +commands.replaceitem.success=Replaced slot %d with %d * %s +commands.stats.usage=/stats ... +commands.stats.entity.usage=/stats entity +commands.stats.entity.set.usage=/stats entity set +commands.stats.entity.clear.usage=/stats entity clear +commands.stats.block.usage=/stats block ... +commands.stats.block.set.usage=/stats block set +commands.stats.block.clear.usage=/stats block clear +commands.stats.noCompatibleBlock=Block at %d, %d, %d can not track stats +commands.stats.failed=Invalid parameters +commands.stats.cleared=Cleared %s stats +commands.stats.success=Storing %s stats in %s on %s +commands.summon.usage=/summon [x] [y] [z] [dataTag] +commands.summon.success=Object successfully summoned +commands.summon.failed=Unable to summon object +commands.summon.tagError=Data tag parsing failed: %s +commands.summon.outOfWorld=Cannot summon the object out of the world +commands.testforblock.usage=/testforblock [dataValue] [dataTag] +commands.testforblock.failed.tile=The block at %d,%d,%d is %s (expected: %s). +commands.testforblock.failed.data=The block at %d,%d,%d had the data value of %s (expected: %s). +commands.testforblock.failed.nbt=The block at %d,%d,%d did not have the required NBT keys. +commands.testforblock.failed.tileEntity=The block at %d,%d,%d is not a tile entity and cannot support tag matching. +commands.testforblock.success=Successfully found the block at %d,%d,%d. +commands.testforblock.outOfWorld=Cannot test for block outside of the world +commands.setblock.usage=/setblock [dataValue] [oldBlockHandling] [dataTag] +commands.setblock.success=Block placed +commands.setblock.failed=Unable to place block +commands.setblock.tagError=Data tag parsing failed: %s +commands.setblock.outOfWorld=Cannot place block outside of the world +commands.setblock.notFound=There is no such block with ID/name %s +commands.setblock.noChange=The block couldn't be placed +commands.fill.usage=/fill [dataValue] [oldBlockHandling] [dataTag] +commands.fill.outOfWorld=Cannot place blocks outside of the world +commands.fill.tagError=Data tag parsing failed: %s +commands.fill.success=%d blocks filled +commands.fill.failed=No blocks filled +commands.fill.tooManyBlocks=Too many blocks in the specified area (%d > %d) +commands.clone.usage=/clone [maskMode] [cloneMode] +commands.clone.outOfWorld=Cannot access blocks outside of the world +commands.clone.noOverlap=Source and destination can not overlap +commands.clone.success=%d blocks cloned +commands.clone.failed=No blocks cloned +commands.clone.tooManyBlocks=Too many blocks in the specified area (%d > %d) +commands.compare.usage=/testforblocks [mode] +commands.compare.outOfWorld=Cannot access blocks outside of the world +commands.compare.failed=Source and destination are not identical +commands.compare.success=%d blocks compared +commands.compare.tooManyBlocks=Too many blocks in the specified area (%d > %d) +commands.blockdata.usage=/blockdata +commands.blockdata.success=Block data updated to: %s +commands.blockdata.tagError=Data tag parsing failed: %s +commands.blockdata.outOfWorld=Cannot change block outside of the world +commands.blockdata.notValid=The target block is not a data holder block +commands.blockdata.failed=The data tag did not change: %s +commands.entitydata.usage=/entitydata +commands.entitydata.success=Entity data updated to: %s +commands.entitydata.tagError=Data tag parsing failed: %s +commands.entitydata.noPlayers=%s is a player and cannot be changed +commands.entitydata.failed=The data tag did not change: %s +commands.effect.usage=/effect [seconds] [amplifier] [hideParticles] OR /effect clear +commands.effect.notFound=There is no such mob effect with ID %d +commands.effect.success=Given %1$s (ID %2$d) * %3$d to %4$s for %5$d seconds +commands.effect.success.removed=Took %1$s from %2$s +commands.effect.success.removed.all=Took all effects from %s +commands.effect.failure.notActive=Couldn't take %1$s from %2$s as they do not have the effect +commands.effect.failure.notActive.all=Couldn't take any effects from %s as they do not have any +commands.enchant.usage=/enchant [level] +commands.enchant.notFound=There is no such enchantment with ID %d +commands.enchant.noItem=The target doesn't hold an item +commands.enchant.cantEnchant=The selected enchantment can't be added to the target item +commands.enchant.cantCombine=%1$s can't be combined with %2$s +commands.enchant.success=Enchanting succeeded +commands.particle.usage=/particle [count] [mode] +commands.particle.success=Playing effect %s for %d times +commands.particle.notFound=Unknown effect name (%s) +commands.clear.usage=/clear [player] [item] [data] [maxCount] [dataTag] +commands.clear.success=Cleared the inventory of %s, removing %d items +commands.clear.testing=%s has %d items that match the criteria +commands.clear.failure=Could not clear the inventory of %s, no items to remove +commands.clear.tagError=Data tag parsing failed: %s +commands.downfall.usage=/toggledownfall +commands.downfall.success=Toggled downfall +commands.time.usage=/time +commands.time.added=Added %d to the time +commands.time.set=Set the time to %d +commands.time.query=Time is %d +commands.players.usage=/list +commands.players.list=There are %d/%d players online: +commands.banlist.ips=There are %d total banned IP addresses: +commands.banlist.players=There are %d total banned players: +commands.banlist.usage=/banlist [ips|players] +commands.kill.usage=/kill [player|entity] +commands.kill.successful=Killed %s +commands.kick.success=Kicked %s from the game +commands.kick.success.reason=Kicked %s from the game: '%s' +commands.kick.usage=/kick [reason ...] +commands.op.success=Opped %s +commands.op.failed=Could not op %s +commands.op.usage=/op +commands.deop.success=De-opped %s +commands.deop.failed=Could not de-op %s +commands.deop.usage=/deop +commands.say.usage=/say +commands.ban.success=Banned player %s +commands.ban.failed=Could not ban player %s +commands.ban.usage=/ban [reason ...] +commands.unban.success=Unbanned player %s +commands.unban.failed=Could not unban player %s +commands.unban.usage=/pardon +commands.banip.invalid=You have entered an invalid IP address or a player that is not online +commands.banip.success=Banned IP address %s +commands.banip.success.players=Banned IP address %s belonging to %s +commands.banip.usage=/ban-ip [reason ...] +commands.unbanip.invalid=You have entered an invalid IP address +commands.unbanip.success=Unbanned IP address %s +commands.unbanip.usage=/pardon-ip
+commands.save.usage=/save-all +commands.save-on.alreadyOn=Saving is already turned on. +commands.save-on.usage=/save-on +commands.save-off.alreadyOff=Saving is already turned off. +commands.save-off.usage=/save-off +commands.save.enabled=Turned on world auto-saving +commands.save.disabled=Turned off world auto-saving +commands.save.start=Saving... +commands.save.success=Saved the world +commands.save.failed=Saving failed: %s +commands.stop.usage=/stop +commands.stop.start=Stopping the server +commands.tp.success=Teleported %s to %s +commands.tp.success.coordinates=Teleported %s to %s, %s, %s +commands.tp.usage=/tp [target player] OR /tp [target player] [ ] +commands.tp.notSameDimension=Unable to teleport because players are not in the same dimension +commands.whitelist.list=There are %d (out of %d seen) whitelisted players: +commands.whitelist.enabled=Turned on the whitelist +commands.whitelist.disabled=Turned off the whitelist +commands.whitelist.reloaded=Reloaded the whitelist +commands.whitelist.add.success=Added %s to the whitelist +commands.whitelist.add.failed=Could not add %s to the whitelist +commands.whitelist.add.usage=/whitelist add +commands.whitelist.remove.success=Removed %s from the whitelist +commands.whitelist.remove.failed=Could not remove %s from the whitelist +commands.whitelist.remove.usage=/whitelist remove +commands.whitelist.usage=/whitelist +commands.scoreboard.usage=/scoreboard ... +commands.scoreboard.noMultiWildcard=Only one user wildcard allowed +commands.scoreboard.allMatchesFailed=All matches failed +commands.scoreboard.teamNotFound=No team was found by the name '%s' +commands.scoreboard.objectiveNotFound=No objective was found by the name '%s' +commands.scoreboard.objectiveReadOnly=The objective '%s' is read-only and cannot be set +commands.scoreboard.objectives.usage=/scoreboard objectives ... +commands.scoreboard.objectives.setdisplay.usage=/scoreboard objectives setdisplay [objective] +commands.scoreboard.objectives.setdisplay.invalidSlot=No such display slot '%s' +commands.scoreboard.objectives.setdisplay.successCleared=Cleared objective display slot '%s' +commands.scoreboard.objectives.setdisplay.successSet=Set the display objective in slot '%s' to '%s' +commands.scoreboard.objectives.add.usage=/scoreboard objectives add [display name ...] +commands.scoreboard.objectives.add.wrongType=Invalid objective criteria type '%s' +commands.scoreboard.objectives.add.alreadyExists=An objective with the name '%s' already exists +commands.scoreboard.objectives.add.tooLong=The name '%s' is too long for an objective, it can be at most %d characters long +commands.scoreboard.objectives.add.displayTooLong=The display name '%s' is too long for an objective, it can be at most %d characters long +commands.scoreboard.objectives.add.success=Added new objective '%s' successfully +commands.scoreboard.objectives.remove.usage=/scoreboard objectives remove +commands.scoreboard.objectives.remove.success=Removed objective '%s' successfully +commands.scoreboard.objectives.list.count=Showing %d objective(s) on scoreboard: +commands.scoreboard.objectives.list.entry=- %s: displays as '%s' and is type '%s' +commands.scoreboard.objectives.list.empty=There are no objectives on the scoreboard +commands.scoreboard.players.usage=/scoreboard players ... +commands.scoreboard.players.name.tooLong=The name '%s' is too long for a player, it can be at most %d characters long +commands.scoreboard.players.set.success=Set score of %s for player %s to %d +commands.scoreboard.players.set.tagMismatch=The dataTag does not match for %s +commands.scoreboard.players.set.tagError=Could not parse dataTag, reason: %s +commands.scoreboard.players.set.usage=/scoreboard players set [dataTag] +commands.scoreboard.players.add.usage=/scoreboard players add [dataTag] +commands.scoreboard.players.remove.usage=/scoreboard players remove [dataTag] +commands.scoreboard.players.reset.usage=/scoreboard players reset [objective] +commands.scoreboard.players.reset.success=Reset scores of player %s +commands.scoreboard.players.resetscore.success=Reset score %s of player %s +commands.scoreboard.players.list.usage=/scoreboard players list [name] +commands.scoreboard.players.list.count=Showing %d tracked players on the scoreboard: +commands.scoreboard.players.list.empty=There are no tracked players on the scoreboard +commands.scoreboard.players.list.player.count=Showing %d tracked objective(s) for %s: +commands.scoreboard.players.list.player.entry=- %2$s: %1$d (%3$s) +commands.scoreboard.players.list.player.empty=Player %s has no scores recorded +commands.scoreboard.players.enable.usage=/scoreboard players enable +commands.scoreboard.players.enable.success=Enabled trigger %s for %s +commands.scoreboard.players.enable.noTrigger=Objective %s is not a trigger +commands.scoreboard.players.test.usage=/scoreboard players test +commands.scoreboard.players.test.notFound=No %s score for %s found +commands.scoreboard.players.test.failed=Score %d is NOT in range %d to %d +commands.scoreboard.players.test.success=Score %d is in range %d to %d +commands.scoreboard.players.operation.usage=/scoreboard players operation +commands.scoreboard.players.operation.notFound=No %s score for %s found +commands.scoreboard.players.operation.invalidOperation=Invalid operation %s +commands.scoreboard.players.operation.success=Operation applied successfully +commands.scoreboard.teams.usage=/scoreboard teams ... +commands.scoreboard.teams.add.usage=/scoreboard teams add [display name ...] +commands.scoreboard.teams.add.alreadyExists=A team with the name '%s' already exists +commands.scoreboard.teams.add.tooLong=The name '%s' is too long for a team, it can be at most %d characters long +commands.scoreboard.teams.add.displayTooLong=The display name '%s' is too long for a team, it can be at most %d characters long +commands.scoreboard.teams.add.success=Added new team '%s' successfully +commands.scoreboard.teams.list.usage=/scoreboard teams list [name] +commands.scoreboard.teams.list.count=Showing %d teams on the scoreboard: +commands.scoreboard.teams.list.entry=- %1$s: '%2$s' has %3$d players +commands.scoreboard.teams.list.empty=There are no teams registered on the scoreboard +commands.scoreboard.teams.list.player.count=Showing %d player(s) in team %s: +commands.scoreboard.teams.list.player.entry=- %2$s: %1$d (%3$s) +commands.scoreboard.teams.list.player.empty=Team %s has no players +commands.scoreboard.teams.empty.usage=/scoreboard teams empty +commands.scoreboard.teams.empty.alreadyEmpty=Team %s is already empty, cannot remove nonexistant players +commands.scoreboard.teams.empty.success=Removed all %d player(s) from team %s +commands.scoreboard.teams.remove.usage=/scoreboard teams remove +commands.scoreboard.teams.remove.success=Removed team %s +commands.scoreboard.teams.join.usage=/scoreboard teams join [player] +commands.scoreboard.teams.join.success=Added %d player(s) to team %s: %s +commands.scoreboard.teams.join.failure=Could not add %d player(s) to team %s: %s +commands.scoreboard.teams.leave.usage=/scoreboard teams leave [player] +commands.scoreboard.teams.leave.success=Removed %d player(s) from their teams: %s +commands.scoreboard.teams.leave.failure=Could not remove %d player(s) from their teams: %s +commands.scoreboard.teams.leave.noTeam=You are not in a team +commands.scoreboard.teams.option.usage=/scoreboard teams option +commands.scoreboard.teams.option.noValue=Valid values for option %s are: %s +commands.scoreboard.teams.option.success=Set option %s for team %s to %s +commands.execute.usage=/execute OR /execute detect +commands.execute.allInvocationsFailed=All invocations failed: '%s' +commands.execute.failed=Failed to execute '%s' as %s +commands.gamemode.success.self=Set own game mode to %s +commands.gamemode.success.other=Set %s's game mode to %s +commands.gamemode.usage=/gamemode [player] +commands.defaultgamemode.usage=/defaultgamemode +commands.defaultgamemode.success=The world's default game mode is now %s +commands.me.usage=/me +commands.help.header=--- Showing help page %d of %d (/help ) --- +commands.help.footer=Tip: Use the key while typing a command to auto-complete the command or its arguments +commands.help.usage=/help [page|command name] +commands.trigger.usage=/trigger +commands.trigger.invalidObjective=Invalid trigger name %s +commands.trigger.invalidMode=Invalid trigger mode %s +commands.trigger.disabled=Trigger %s is not enabled +commands.trigger.invalidPlayer=Only players can use the /trigger command +commands.trigger.success=Trigger %s changed with %s %s +commands.publish.usage=/publish +commands.publish.started=Local game hosted on port %s +commands.publish.failed=Unable to host local game +commands.debug.start=Started debug profiling +commands.debug.stop=Stopped debug profiling after %.2f seconds (%d ticks) +commands.debug.notStarted=Can't stop profiling when we haven't started yet! +commands.debug.usage=/debug +commands.chunkinfo.usage=/chunkinfo [ ] +commands.chunkinfo.location=Chunk location: (%d, %d, %d) +commands.chunkinfo.noChunk=No chunk found at chunk position %d, %d, %d +commands.chunkinfo.notEmpty=Chunk is not empty. +commands.chunkinfo.empty=Chunk is empty. +commands.chunkinfo.notCompiled=Chunk is not compiled. +commands.chunkinfo.compiled=Chunk is compiled. +commands.chunkinfo.hasNoRenderableLayers=Chunk has no renderable layers. +commands.chunkinfo.hasLayers=Chunk has layers: %s +commands.chunkinfo.isEmpty=Chunk has empty layers: %s +commands.chunkinfo.vertices=%s layer's buffer contains %d vertices +commands.chunkinfo.data=First 64 vertices are: %s +commands.tellraw.usage=/tellraw +commands.tellraw.jsonException=Invalid json: %s +commands.message.usage=/tell +commands.message.sameTarget=You can't send a private message to yourself! +commands.message.display.outgoing=You whisper to %s: %s +commands.message.display.incoming=%s whispers to you: %s +commands.difficulty.usage=/difficulty +commands.difficulty.success=Set game difficulty to %s +commands.spawnpoint.usage=/spawnpoint [player] [ ] +commands.spawnpoint.success=Set %s's spawn point to (%d, %d, %d) +commands.setworldspawn.usage=/setworldspawn [ ] +commands.setworldspawn.success=Set the world spawn point to (%d, %d, %d) +commands.gamerule.usage=/gamerule [value] +commands.gamerule.success=Game rule has been updated +commands.gamerule.norule=No game rule called '%s' is available +commands.gamerule.nopermission=Only server owners can change '%s' +commands.weather.usage=/weather [duration in seconds] +commands.weather.clear=Changing to clear weather +commands.weather.rain=Changing to rainy weather +commands.weather.thunder=Changing to rain and thunder +commands.testfor.usage=/testfor [dataTag] +commands.testfor.failure=%s did not match the required data structure +commands.testfor.success=Found %s +commands.testfor.tagError=Data tag parsing failed: %s +commands.seed.usage=/seed +commands.seed.success=Seed: %s +commands.spreadplayers.usage=/spreadplayers +commands.spreadplayers.spreading.teams=Spreading %s teams %s blocks around %s,%s (min %s blocks apart) +commands.spreadplayers.spreading.players=Spreading %s players %s blocks around %s,%s (min %s blocks apart) +commands.spreadplayers.success.teams=Successfully spread %s teams around %s,%s +commands.spreadplayers.success.players=Successfully spread %s players around %s,%s +commands.spreadplayers.info.teams=(Average distance between teams is %s blocks apart after %s iterations) +commands.spreadplayers.info.players=(Average distance between players is %s blocks apart after %s iterations) +commands.spreadplayers.failure.teams=Could not spread %s teams around %s,%s (too many players for space - try using spread of at most %s) +commands.spreadplayers.failure.players=Could not spread %s players around %s,%s (too many players for space - try using spread of at most %s) +commands.achievement.usage=/achievement [player] +commands.achievement.unknownAchievement=Unknown achievement or statistic '%s' +commands.achievement.alreadyHave=Player %s already has achievement %s +commands.achievement.dontHave=Player %s doesn't have achievement %s +commands.achievement.give.success.all=Successfully given all achievements to %s +commands.achievement.give.success.one=Successfully given %s the stat %s +commands.achievement.take.success.all=Successfully taken all achievements from %s +commands.achievement.take.success.one=Successfully taken the stat %s from %s +commands.achievement.statTooLow=Player %s does not have the stat %s +commands.worldborder.usage=/worldborder ... +commands.worldborder.add.usage=/worldborder add [timeInSeconds] +commands.worldborder.set.usage=/worldborder set [timeInSeconds] +commands.worldborder.set.success=Set world border to %s blocks wide (from %s blocks) +commands.worldborder.get.success=World border is currently %s blocks wide +commands.worldborder.setSlowly.shrink.success=Shrinking world border to %s blocks wide (down from %s blocks) over %s seconds +commands.worldborder.setSlowly.grow.success=Growing world border to %s blocks wide (up from %s blocks) over %s seconds +commands.worldborder.center.usage=/worldborder center +commands.worldborder.center.success=Set world border center to %s,%s +commands.worldborder.damage.usage=/worldborder damage +commands.worldborder.damage.buffer.usage=/worldborder damage buffer +commands.worldborder.damage.buffer.success=Set world border damage buffer to %s blocks (from %s blocks) +commands.worldborder.damage.amount.usage=/worldborder damage amount +commands.worldborder.damage.amount.success=Set world border damage amount to %s per block (from %s per block) +commands.worldborder.warning.usage=/worldborder warning +commands.worldborder.warning.time.usage=/worldborder warning time +commands.worldborder.warning.time.success=Set world border warning to %s seconds away (from %s seconds) +commands.worldborder.warning.distance.usage=/worldborder warning distance +commands.worldborder.warning.distance.success=Set world border warning to %s blocks away (from %s blocks) +commands.title.usage=/title ... +commands.title.usage.title=/title title|subtitle +commands.title.usage.clear=/title clear|reset +commands.title.usage.times=/title times +commands.title.success=Title command successfully executed + +itemGroup.buildingBlocks=Building Blocks +itemGroup.decorations=Decoration Blocks +itemGroup.redstone=Redstone +itemGroup.transportation=Transportation +itemGroup.misc=Miscellaneous +itemGroup.search=Search Items +itemGroup.food=Foodstuffs +itemGroup.tools=Tools +itemGroup.combat=Combat +itemGroup.brewing=Brewing +itemGroup.materials=Materials +itemGroup.inventory=Survival Inventory + +inventory.binSlot=Destroy Item + +advMode.setCommand=Set Console Command for Block +advMode.setCommand.success=Command set: %s +advMode.command=Console Command +advMode.nearestPlayer=Use "@p" to target nearest player +advMode.randomPlayer=Use "@r" to target random player +advMode.allPlayers=Use "@a" to target all players +advMode.allEntities=Use "@e" to target all entities +advMode.previousOutput=Previous Output + +advMode.notEnabled=Command blocks are not enabled on this server +advMode.notAllowed=Must be an opped player in creative mode + +mount.onboard=Press %1$s to dismount + +build.tooHigh=Height limit for building is %s blocks + +item.modifiers.mainhand=When in main hand: +item.modifiers.offhand=When in off hand: +item.modifiers.feet=When on feet: +item.modifiers.legs=When on legs: +item.modifiers.chest=When on body: +item.modifiers.head=When on head: + +attribute.modifier.plus.0=+%d %s +attribute.modifier.plus.1=+%d%% %s +attribute.modifier.plus.2=+%d%% %s +attribute.modifier.take.0=-%d %s +attribute.modifier.take.1=-%d%% %s +attribute.modifier.take.2=-%d%% %s +attribute.modifier.equals.0=%d %s +attribute.modifier.equals.1=%d%% %s +attribute.modifier.equals.2=%d%% %s + +attribute.name.horse.jumpStrength=Horse Jump Strength +attribute.name.zombie.spawnReinforcements=Zombie Reinforcements +attribute.name.generic.maxHealth=Max Health +attribute.name.generic.followRange=Mob Follow Range +attribute.name.generic.knockbackResistance=Knockback Resistance +attribute.name.generic.movementSpeed=Speed +attribute.name.generic.attackDamage=Attack Damage +attribute.name.generic.attackSpeed=Attack Speed +attribute.name.generic.luck=Luck +attribute.name.generic.armor=Armor +attribute.name.generic.armorToughness=Armor Toughness + +screenshot.success=Saved screenshot as %s +screenshot.failure=Couldn't save screenshot: %s + +stream.user.mode.moderator=Moderator +stream.user.mode.moderator.self=Moderator on your channel +stream.user.mode.moderator.other=Moderator on %s's channel +stream.user.mode.broadcaster=Broadcaster +stream.user.mode.broadcaster.self=Broadcaster (You!) +stream.user.mode.broadcaster.other=Broadcaster +stream.user.mode.administrator=Twitch Administrator +stream.user.mode.staff=Twitch Staff +stream.user.mode.banned=Banned +stream.user.mode.banned.self=Banned on your channel +stream.user.mode.banned.other=Banned on %s's channel +stream.user.subscription.subscriber=Subscriber +stream.user.subscription.subscriber.self=Subscriber to your channel +stream.user.subscription.subscriber.other=Subscriber to %s's channel +stream.user.subscription.turbo=Twitch Turbo + +stream.unavailable.title=Twitch Broadcasting Unavailable +stream.unavailable.report_to_mojang=Report to Mojang + +stream.confirm_start=Are you sure you want to start broadcasting? + +stream.unavailable.account_not_bound=Before you can broadcast Minecraft through Twitch, you will need to link your Twitch account on mojang.com. Would you like to do that now? +stream.unavailable.account_not_bound.okay=Link Accounts +stream.unavailable.account_not_migrated=Before you can broadcast Minecraft through Twitch, you will need to migrate your Minecraft account to a Mojang account. Would you like to do that now? +stream.unavailable.account_not_migrated.okay=Migrate Account +stream.unavailable.failed_auth=Authentication to Twitch failed. Please go to mojang.com and rebind your Twitch account. +stream.unavailable.failed_auth.okay=Rebind Accounts +stream.unavailable.failed_auth_error=Unable to authenticate to Twitch. Please try again later. +stream.unavailable.initialization_failure=Unable to initialize the Twitch SDK. +stream.unavailable.initialization_failure.extra=(Reason: %s) +stream.unavailable.library_arch_mismatch=The custom java version used to launch Minecraft has a different architecture than the one used to run the launcher. Please make sure these are the same, either 32-bit or 64-bit for both. +stream.unavailable.library_failure=Unable to load the libraries needed for the integrated Twitch broadcasting service. +stream.unavailable.no_fbo=Your video card needs to support at least OpenGL version 3.0 or support Framebuffer Objects via an extension to use the integrated Twitch broadcasting. +stream.unavailable.no_fbo.version=You are currently using: %s +stream.unavailable.no_fbo.blend=Separate blending support via EXT is: %s +stream.unavailable.no_fbo.arb=Framebuffer object support via ARB is: %s +stream.unavailable.no_fbo.ext=Framebuffer object support via EXT is: %s +stream.unavailable.not_supported.windows=Unfortunately the integrated Twitch broadcasting requires a newer version of Windows than you are on. You must have at least Windows Vista or newer. +stream.unavailable.not_supported.mac=Unfortunately the integrated Twitch broadcasting on Mac requires a version of OSX newer than the one you are on. You must use 10.7 (Mac OS X Lion) or newer to be able to use this service. Would you like to visit apple.com to learn about upgrading? +stream.unavailable.not_supported.mac.okay=Upgrade +stream.unavailable.not_supported.other=Unfortunately the integrated Twitch broadcasting service requires Windows (Vista or newer) or Mac OS X (10.7/Lion or newer) +stream.unavailable.unknown=Unfortunately you cannot broadcast to Twitch at this time. And we don't know why :'( +stream.unavailable.unknown.chat=Could not start stream: %s + +stream.unavailable.soundflower.chat=Soundflower is required to be able to stream on Mac. %s +stream.unavailable.soundflower.chat.link=Please click here to install it. + +stream.userinfo.chatTooltip=Click to manage user +stream.userinfo.timeout=Timeout +stream.userinfo.ban=Ban +stream.userinfo.unban=Unban +stream.userinfo.mod=Promote to Moderator +stream.userinfo.unmod=Demote from Moderator + +item.banner.black.name=Black Banner +item.banner.red.name=Red Banner +item.banner.green.name=Green Banner +item.banner.brown.name=Brown Banner +item.banner.blue.name=Blue Banner +item.banner.purple.name=Purple Banner +item.banner.cyan.name=Cyan Banner +item.banner.silver.name=Light Gray Banner +item.banner.gray.name=Gray Banner +item.banner.pink.name=Pink Banner +item.banner.lime.name=Lime Banner +item.banner.yellow.name=Yellow Banner +item.banner.lightBlue.name=Light Blue Banner +item.banner.magenta.name=Magenta Banner +item.banner.orange.name=Orange Banner +item.banner.white.name=White Banner + +item.banner.square_bottom_left.black=Black Base Dexter Canton +item.banner.square_bottom_left.red=Red Base Dexter Canton +item.banner.square_bottom_left.green=Green Base Dexter Canton +item.banner.square_bottom_left.brown=Brown Base Dexter Canton +item.banner.square_bottom_left.blue=Blue Base Dexter Canton +item.banner.square_bottom_left.purple=Purple Base Dexter Canton +item.banner.square_bottom_left.cyan=Cyan Base Dexter Canton +item.banner.square_bottom_left.silver=Light Gray Base Dexter Canton +item.banner.square_bottom_left.gray=Gray Base Dexter Canton +item.banner.square_bottom_left.pink=Pink Base Dexter Canton +item.banner.square_bottom_left.lime=Lime Base Dexter Canton +item.banner.square_bottom_left.yellow=Yellow Base Dexter Canton +item.banner.square_bottom_left.lightBlue=Light Blue Base Dexter Canton +item.banner.square_bottom_left.magenta=Magenta Base Dexter Canton +item.banner.square_bottom_left.orange=Orange Base Dexter Canton +item.banner.square_bottom_left.white=White Base Dexter Canton + +item.banner.square_bottom_right.black=Black Base Sinister Canton +item.banner.square_bottom_right.red=Red Base Sinister Canton +item.banner.square_bottom_right.green=Green Base Sinister Canton +item.banner.square_bottom_right.brown=Brown Base Sinister Canton +item.banner.square_bottom_right.blue=Blue Base Sinister Canton +item.banner.square_bottom_right.purple=Purple Base Sinister Canton +item.banner.square_bottom_right.cyan=Cyan Base Sinister Canton +item.banner.square_bottom_right.silver=Light Gray Base Sinister Canton +item.banner.square_bottom_right.gray=Gray Base Sinister Canton +item.banner.square_bottom_right.pink=Pink Base Sinister Canton +item.banner.square_bottom_right.lime=Lime Base Sinister Canton +item.banner.square_bottom_right.yellow=Yellow Base Sinister Canton +item.banner.square_bottom_right.lightBlue=Light Blue Base Sinister Canton +item.banner.square_bottom_right.magenta=Magenta Base Sinister Canton +item.banner.square_bottom_right.orange=Orange Base Sinister Canton +item.banner.square_bottom_right.white=White Base Sinister Canton + +item.banner.square_top_left.black=Black Chief Dexter Canton +item.banner.square_top_left.red=Red Chief Dexter Canton +item.banner.square_top_left.green=Green Chief Dexter Canton +item.banner.square_top_left.brown=Brown Chief Dexter Canton +item.banner.square_top_left.blue=Blue Chief Dexter Canton +item.banner.square_top_left.purple=Purple Chief Dexter Canton +item.banner.square_top_left.cyan=Cyan Chief Dexter Canton +item.banner.square_top_left.silver=Light Gray Chief Dexter Canton +item.banner.square_top_left.gray=Gray Chief Dexter Canton +item.banner.square_top_left.pink=Pink Chief Dexter Canton +item.banner.square_top_left.lime=Lime Chief Dexter Canton +item.banner.square_top_left.yellow=Yellow Chief Dexter Canton +item.banner.square_top_left.lightBlue=Light Blue Chief Dexter Canton +item.banner.square_top_left.magenta=Magenta Chief Dexter Canton +item.banner.square_top_left.orange=Orange Chief Dexter Canton +item.banner.square_top_left.white=White Chief Dexter Canton + +item.banner.square_top_right.black=Black Chief Sinister Canton +item.banner.square_top_right.red=Red Chief Sinister Canton +item.banner.square_top_right.green=Green Chief Sinister Canton +item.banner.square_top_right.brown=Brown Chief Sinister Canton +item.banner.square_top_right.blue=Blue Chief Sinister Canton +item.banner.square_top_right.purple=Purple Chief Sinister Canton +item.banner.square_top_right.cyan=Cyan Chief Sinister Canton +item.banner.square_top_right.silver=Light Gray Chief Sinister Canton +item.banner.square_top_right.gray=Gray Chief Sinister Canton +item.banner.square_top_right.pink=Pink Chief Sinister Canton +item.banner.square_top_right.lime=Lime Chief Sinister Canton +item.banner.square_top_right.yellow=Yellow Chief Sinister Canton +item.banner.square_top_right.lightBlue=Light Blue Chief Sinister Canton +item.banner.square_top_right.magenta=Magenta Chief Sinister Canton +item.banner.square_top_right.orange=Orange Chief Sinister Canton +item.banner.square_top_right.white=White Chief Sinister Canton + +item.banner.stripe_bottom.black=Black Base Fess +item.banner.stripe_bottom.red=Red Base Fess +item.banner.stripe_bottom.green=Green Base Fess +item.banner.stripe_bottom.brown=Brown Base Fess +item.banner.stripe_bottom.blue=Blue Base Fess +item.banner.stripe_bottom.purple=Purple Base Fess +item.banner.stripe_bottom.cyan=Cyan Base Fess +item.banner.stripe_bottom.silver=Light Gray Base Fess +item.banner.stripe_bottom.gray=Gray Base Fess +item.banner.stripe_bottom.pink=Pink Base Fess +item.banner.stripe_bottom.lime=Lime Base Fess +item.banner.stripe_bottom.yellow=Yellow Base Fess +item.banner.stripe_bottom.lightBlue=Light Blue Base Fess +item.banner.stripe_bottom.magenta=Magenta Base Fess +item.banner.stripe_bottom.orange=Orange Base Fess +item.banner.stripe_bottom.white=White Base Fess + +item.banner.stripe_top.black=Black Chief Fess +item.banner.stripe_top.red=Red Chief Fess +item.banner.stripe_top.green=Green Chief Fess +item.banner.stripe_top.brown=Brown Chief Fess +item.banner.stripe_top.blue=Blue Chief Fess +item.banner.stripe_top.purple=Purple Chief Fess +item.banner.stripe_top.cyan=Cyan Chief Fess +item.banner.stripe_top.silver=Light Gray Chief Fess +item.banner.stripe_top.gray=Gray Chief Fess +item.banner.stripe_top.pink=Pink Chief Fess +item.banner.stripe_top.lime=Lime Chief Fess +item.banner.stripe_top.yellow=Yellow Chief Fess +item.banner.stripe_top.lightBlue=Light Blue Chief Fess +item.banner.stripe_top.magenta=Magenta Chief Fess +item.banner.stripe_top.orange=Orange Chief Fess +item.banner.stripe_top.white=White Chief Fess + +item.banner.stripe_left.black=Black Pale Dexter +item.banner.stripe_left.red=Red Pale Dexter +item.banner.stripe_left.green=Green Pale Dexter +item.banner.stripe_left.brown=Brown Pale Dexter +item.banner.stripe_left.blue=Blue Pale Dexter +item.banner.stripe_left.purple=Purple Pale Dexter +item.banner.stripe_left.cyan=Cyan Pale Dexter +item.banner.stripe_left.silver=Light Gray Pale Dexter +item.banner.stripe_left.gray=Gray Pale Dexter +item.banner.stripe_left.pink=Pink Pale Dexter +item.banner.stripe_left.lime=Lime Pale Dexter +item.banner.stripe_left.yellow=Yellow Pale Dexter +item.banner.stripe_left.lightBlue=Light Blue Pale Dexter +item.banner.stripe_left.magenta=Magenta Pale Dexter +item.banner.stripe_left.orange=Orange Pale Dexter +item.banner.stripe_left.white=White Pale Dexter + +item.banner.stripe_right.black=Black Pale Sinister +item.banner.stripe_right.red=Red Pale Sinister +item.banner.stripe_right.green=Green Pale Sinister +item.banner.stripe_right.brown=Brown Pale Sinister +item.banner.stripe_right.blue=Blue Pale Sinister +item.banner.stripe_right.purple=Purple Pale Sinister +item.banner.stripe_right.cyan=Cyan Pale Sinister +item.banner.stripe_right.silver=Light Gray Pale Sinister +item.banner.stripe_right.gray=Gray Pale Sinister +item.banner.stripe_right.pink=Pink Pale Sinister +item.banner.stripe_right.lime=Lime Pale Sinister +item.banner.stripe_right.yellow=Yellow Pale Sinister +item.banner.stripe_right.lightBlue=Light Blue Pale Sinister +item.banner.stripe_right.magenta=Magenta Pale Sinister +item.banner.stripe_right.orange=Orange Pale Sinister +item.banner.stripe_right.white=White Pale Sinister + +item.banner.stripe_center.black=Black Pale +item.banner.stripe_center.red=Red Pale +item.banner.stripe_center.green=Green Pale +item.banner.stripe_center.brown=Brown Pale +item.banner.stripe_center.blue=Blue Pale +item.banner.stripe_center.purple=Purple Pale +item.banner.stripe_center.cyan=Cyan Pale +item.banner.stripe_center.silver=Light Gray Pale +item.banner.stripe_center.gray=Gray Pale +item.banner.stripe_center.pink=Pink Pale +item.banner.stripe_center.lime=Lime Pale +item.banner.stripe_center.yellow=Yellow Pale +item.banner.stripe_center.lightBlue=Light Blue Pale +item.banner.stripe_center.magenta=Magenta Pale +item.banner.stripe_center.orange=Orange Pale +item.banner.stripe_center.white=White Pale + +item.banner.stripe_middle.black=Black Fess +item.banner.stripe_middle.red=Red Fess +item.banner.stripe_middle.green=Green Fess +item.banner.stripe_middle.brown=Brown Fess +item.banner.stripe_middle.blue=Blue Fess +item.banner.stripe_middle.purple=Purple Fess +item.banner.stripe_middle.cyan=Cyan Fess +item.banner.stripe_middle.silver=Light Gray Fess +item.banner.stripe_middle.gray=Gray Fess +item.banner.stripe_middle.pink=Pink Fess +item.banner.stripe_middle.lime=Lime Fess +item.banner.stripe_middle.yellow=Yellow Fess +item.banner.stripe_middle.lightBlue=Light Blue Fess +item.banner.stripe_middle.magenta=Magenta Fess +item.banner.stripe_middle.orange=Orange Fess +item.banner.stripe_middle.white=White Fess + +item.banner.stripe_downright.black=Black Bend +item.banner.stripe_downright.red=Red Bend +item.banner.stripe_downright.green=Green Bend +item.banner.stripe_downright.brown=Brown Bend +item.banner.stripe_downright.blue=Blue Bend +item.banner.stripe_downright.purple=Purple Bend +item.banner.stripe_downright.cyan=Cyan Bend +item.banner.stripe_downright.silver=Light Gray Bend +item.banner.stripe_downright.gray=Gray Bend +item.banner.stripe_downright.pink=Pink Bend +item.banner.stripe_downright.lime=Lime Bend +item.banner.stripe_downright.yellow=Yellow Bend +item.banner.stripe_downright.lightBlue=Light Blue Bend +item.banner.stripe_downright.magenta=Magenta Bend +item.banner.stripe_downright.orange=Orange Bend +item.banner.stripe_downright.white=White Bend + +item.banner.stripe_downleft.black=Black Bend Sinister +item.banner.stripe_downleft.red=Red Bend Sinister +item.banner.stripe_downleft.green=Green Bend Sinister +item.banner.stripe_downleft.brown=Brown Bend Sinister +item.banner.stripe_downleft.blue=Blue Bend Sinister +item.banner.stripe_downleft.purple=Purple Bend Sinister +item.banner.stripe_downleft.cyan=Cyan Bend Sinister +item.banner.stripe_downleft.silver=Light Gray Bend Sinister +item.banner.stripe_downleft.gray=Gray Bend Sinister +item.banner.stripe_downleft.pink=Pink Bend Sinister +item.banner.stripe_downleft.lime=Lime Bend Sinister +item.banner.stripe_downleft.yellow=Yellow Bend Sinister +item.banner.stripe_downleft.lightBlue=Light Blue Bend Sinister +item.banner.stripe_downleft.magenta=Magenta Bend Sinister +item.banner.stripe_downleft.orange=Orange Bend Sinister +item.banner.stripe_downleft.white=White Bend Sinister + +item.banner.small_stripes.black=Black Paly +item.banner.small_stripes.red=Red Paly +item.banner.small_stripes.green=Green Paly +item.banner.small_stripes.brown=Brown Paly +item.banner.small_stripes.blue=Blue Paly +item.banner.small_stripes.purple=Purple Paly +item.banner.small_stripes.cyan=Cyan Paly +item.banner.small_stripes.silver=Light Gray Paly +item.banner.small_stripes.gray=Gray Paly +item.banner.small_stripes.pink=Pink Paly +item.banner.small_stripes.lime=Lime Paly +item.banner.small_stripes.yellow=Yellow Paly +item.banner.small_stripes.lightBlue=Light Blue Paly +item.banner.small_stripes.magenta=Magenta Paly +item.banner.small_stripes.orange=Orange Paly +item.banner.small_stripes.white=White Paly + +item.banner.cross.black=Black Saltire +item.banner.cross.red=Red Saltire +item.banner.cross.green=Green Saltire +item.banner.cross.brown=Brown Saltire +item.banner.cross.blue=Blue Saltire +item.banner.cross.purple=Purple Saltire +item.banner.cross.cyan=Cyan Saltire +item.banner.cross.silver=Light Gray Saltire +item.banner.cross.gray=Gray Saltire +item.banner.cross.pink=Pink Saltire +item.banner.cross.lime=Lime Saltire +item.banner.cross.yellow=Yellow Saltire +item.banner.cross.lightBlue=Light Blue Saltire +item.banner.cross.magenta=Magenta Saltire +item.banner.cross.orange=Orange Saltire +item.banner.cross.white=White Saltire + +item.banner.triangle_bottom.black=Black Chevron +item.banner.triangle_bottom.red=Red Chevron +item.banner.triangle_bottom.green=Green Chevron +item.banner.triangle_bottom.brown=Brown Chevron +item.banner.triangle_bottom.blue=Blue Chevron +item.banner.triangle_bottom.purple=Purple Chevron +item.banner.triangle_bottom.cyan=Cyan Chevron +item.banner.triangle_bottom.silver=Light Gray Chevron +item.banner.triangle_bottom.gray=Gray Chevron +item.banner.triangle_bottom.pink=Pink Chevron +item.banner.triangle_bottom.lime=Lime Chevron +item.banner.triangle_bottom.yellow=Yellow Chevron +item.banner.triangle_bottom.lightBlue=Light Blue Chevron +item.banner.triangle_bottom.magenta=Magenta Chevron +item.banner.triangle_bottom.orange=Orange Chevron +item.banner.triangle_bottom.white=White Chevron + +item.banner.triangle_top.black=Black Inverted Chevron +item.banner.triangle_top.red=Red Inverted Chevron +item.banner.triangle_top.green=Green Inverted Chevron +item.banner.triangle_top.brown=Brown Inverted Chevron +item.banner.triangle_top.blue=Blue Inverted Chevron +item.banner.triangle_top.purple=Purple Inverted Chevron +item.banner.triangle_top.cyan=Cyan Inverted Chevron +item.banner.triangle_top.silver=Light Gray Inverted Chevron +item.banner.triangle_top.gray=Gray Inverted Chevron +item.banner.triangle_top.pink=Pink Inverted Chevron +item.banner.triangle_top.lime=Lime Inverted Chevron +item.banner.triangle_top.yellow=Yellow Inverted Chevron +item.banner.triangle_top.lightBlue=Light Blue Inverted Chevron +item.banner.triangle_top.magenta=Magenta Inverted Chevron +item.banner.triangle_top.orange=Orange Inverted Chevron +item.banner.triangle_top.white=White Inverted Chevron + +item.banner.triangles_bottom.black=Black Base Indented +item.banner.triangles_bottom.red=Red Base Indented +item.banner.triangles_bottom.green=Green Base Indented +item.banner.triangles_bottom.brown=Brown Base Indented +item.banner.triangles_bottom.blue=Blue Base Indented +item.banner.triangles_bottom.purple=Purple Base Indented +item.banner.triangles_bottom.cyan=Cyan Base Indented +item.banner.triangles_bottom.silver=Light Gray Base Indented +item.banner.triangles_bottom.gray=Gray Base Indented +item.banner.triangles_bottom.pink=Pink Base Indented +item.banner.triangles_bottom.lime=Lime Base Indented +item.banner.triangles_bottom.yellow=Yellow Base Indented +item.banner.triangles_bottom.lightBlue=Light Blue Base Indented +item.banner.triangles_bottom.magenta=Magenta Base Indented +item.banner.triangles_bottom.orange=Orange Base Indented +item.banner.triangles_bottom.white=White Base Indented + +item.banner.triangles_top.black=Black Chief Indented +item.banner.triangles_top.red=Red Chief Indented +item.banner.triangles_top.green=Green Chief Indented +item.banner.triangles_top.brown=Brown Chief Indented +item.banner.triangles_top.blue=Blue Chief Indented +item.banner.triangles_top.purple=Purple Chief Indented +item.banner.triangles_top.cyan=Cyan Chief Indented +item.banner.triangles_top.silver=Light Gray Chief Indented +item.banner.triangles_top.gray=Gray Chief Indented +item.banner.triangles_top.pink=Pink Chief Indented +item.banner.triangles_top.lime=Lime Chief Indented +item.banner.triangles_top.yellow=Yellow Chief Indented +item.banner.triangles_top.lightBlue=Light Blue Chief Indented +item.banner.triangles_top.magenta=Magenta Chief Indented +item.banner.triangles_top.orange=Orange Chief Indented +item.banner.triangles_top.white=White Chief Indented + +item.banner.diagonal_left.black=Black Per Bend Sinister +item.banner.diagonal_left.red=Red Per Bend Sinister +item.banner.diagonal_left.green=Green Per Bend Sinister +item.banner.diagonal_left.brown=Brown Per Bend Sinister +item.banner.diagonal_left.blue=Blue Per Bend Sinister +item.banner.diagonal_left.purple=Purple Per Bend Sinister +item.banner.diagonal_left.cyan=Cyan Per Bend Sinister +item.banner.diagonal_left.silver=Light Gray Per Bend Sinister +item.banner.diagonal_left.gray=Gray Per Bend Sinister +item.banner.diagonal_left.pink=Pink Per Bend Sinister +item.banner.diagonal_left.lime=Lime Per Bend Sinister +item.banner.diagonal_left.yellow=Yellow Per Bend Sinister +item.banner.diagonal_left.lightBlue=Light Blue Per Bend Sinister +item.banner.diagonal_left.magenta=Magenta Per Bend Sinister +item.banner.diagonal_left.orange=Orange Per Bend Sinister +item.banner.diagonal_left.white=White Per Bend Sinister + +item.banner.diagonal_right.black=Black Per Bend +item.banner.diagonal_right.red=Red Per Bend +item.banner.diagonal_right.green=Green Per Bend +item.banner.diagonal_right.brown=Brown Per Bend +item.banner.diagonal_right.blue=Blue Per Bend +item.banner.diagonal_right.purple=Purple Per Bend +item.banner.diagonal_right.cyan=Cyan Per Bend +item.banner.diagonal_right.silver=Light Gray Per Bend +item.banner.diagonal_right.gray=Gray Per Bend +item.banner.diagonal_right.pink=Pink Per Bend +item.banner.diagonal_right.lime=Lime Per Bend +item.banner.diagonal_right.yellow=Yellow Per Bend +item.banner.diagonal_right.lightBlue=Light Blue Per Bend +item.banner.diagonal_right.magenta=Magenta Per Bend +item.banner.diagonal_right.orange=Orange Per Bend +item.banner.diagonal_right.white=White Per Bend + +item.banner.diagonal_up_left.black=Black Per Bend Inverted +item.banner.diagonal_up_left.red=Red Per Bend Inverted +item.banner.diagonal_up_left.green=Green Per Bend Inverted +item.banner.diagonal_up_left.brown=Brown Per Bend Inverted +item.banner.diagonal_up_left.blue=Blue Per Bend Inverted +item.banner.diagonal_up_left.purple=Purple Per Bend Inverted +item.banner.diagonal_up_left.cyan=Cyan Per Bend Inverted +item.banner.diagonal_up_left.silver=Light Gray Per Bend Inverted +item.banner.diagonal_up_left.gray=Gray Per Bend Inverted +item.banner.diagonal_up_left.pink=Pink Per Bend Inverted +item.banner.diagonal_up_left.lime=Lime Per Bend Inverted +item.banner.diagonal_up_left.yellow=Yellow Per Bend Inverted +item.banner.diagonal_up_left.lightBlue=Light Blue Per Bend Inverted +item.banner.diagonal_up_left.magenta=Magenta Per Bend Inverted +item.banner.diagonal_up_left.orange=Orange Per Bend Inverted +item.banner.diagonal_up_left.white=White Per Bend Inverted + +item.banner.diagonal_up_right.black=Black Per Bend Sinister Inverted +item.banner.diagonal_up_right.red=Red Per Bend Sinister Inverted +item.banner.diagonal_up_right.green=Green Per Bend Sinister Inverted +item.banner.diagonal_up_right.brown=Brown Per Bend Sinister Inverted +item.banner.diagonal_up_right.blue=Blue Per Bend Sinister Inverted +item.banner.diagonal_up_right.purple=Purple Per Bend Sinister Inverted +item.banner.diagonal_up_right.cyan=Cyan Per Bend Sinister Inverted +item.banner.diagonal_up_right.silver=Light Gray Per Bend Sinister Inverted +item.banner.diagonal_up_right.gray=Gray Per Bend Sinister Inverted +item.banner.diagonal_up_right.pink=Pink Per Bend Sinister Inverted +item.banner.diagonal_up_right.lime=Lime Per Bend Sinister Inverted +item.banner.diagonal_up_right.yellow=Yellow Per Bend Sinister Inverted +item.banner.diagonal_up_right.lightBlue=Light Blue Per Bend Sinister Inverted +item.banner.diagonal_up_right.magenta=Magenta Per Bend Sinister Inverted +item.banner.diagonal_up_right.orange=Orange Per Bend Sinister Inverted +item.banner.diagonal_up_right.white=White Per Bend Sinister Inverted + +item.banner.circle.black=Black Roundel +item.banner.circle.red=Red Roundel +item.banner.circle.green=Green Roundel +item.banner.circle.brown=Brown Roundel +item.banner.circle.blue=Blue Roundel +item.banner.circle.purple=Purple Roundel +item.banner.circle.cyan=Cyan Roundel +item.banner.circle.silver=Light Gray Roundel +item.banner.circle.gray=Gray Roundel +item.banner.circle.pink=Pink Roundel +item.banner.circle.lime=Lime Roundel +item.banner.circle.yellow=Yellow Roundel +item.banner.circle.lightBlue=Light Blue Roundel +item.banner.circle.magenta=Magenta Roundel +item.banner.circle.orange=Orange Roundel +item.banner.circle.white=White Roundel + +item.banner.rhombus.black=Black Lozenge +item.banner.rhombus.red=Red Lozenge +item.banner.rhombus.green=Green Lozenge +item.banner.rhombus.brown=Brown Lozenge +item.banner.rhombus.blue=Blue Lozenge +item.banner.rhombus.purple=Purple Lozenge +item.banner.rhombus.cyan=Cyan Lozenge +item.banner.rhombus.silver=Light Gray Lozenge +item.banner.rhombus.gray=Gray Lozenge +item.banner.rhombus.pink=Pink Lozenge +item.banner.rhombus.lime=Lime Lozenge +item.banner.rhombus.yellow=Yellow Lozenge +item.banner.rhombus.lightBlue=Light Blue Lozenge +item.banner.rhombus.magenta=Magenta Lozenge +item.banner.rhombus.orange=Orange Lozenge +item.banner.rhombus.white=White Lozenge + +item.banner.half_vertical.black=Black Per Pale +item.banner.half_vertical.red=Red Per Pale +item.banner.half_vertical.green=Green Per Pale +item.banner.half_vertical.brown=Brown Per Pale +item.banner.half_vertical.blue=Blue Per Pale +item.banner.half_vertical.purple=Purple Per Pale +item.banner.half_vertical.cyan=Cyan Per Pale +item.banner.half_vertical.silver=Light Gray Per Pale +item.banner.half_vertical.gray=Gray Per Pale +item.banner.half_vertical.pink=Pink Per Pale +item.banner.half_vertical.lime=Lime Per Pale +item.banner.half_vertical.yellow=Yellow Per Pale +item.banner.half_vertical.lightBlue=Light Blue Per Pale +item.banner.half_vertical.magenta=Magenta Per Pale +item.banner.half_vertical.orange=Orange Per Pale +item.banner.half_vertical.white=White Per Pale + +item.banner.half_horizontal.black=Black Per Fess +item.banner.half_horizontal.red=Red Per Fess +item.banner.half_horizontal.green=Green Per Fess +item.banner.half_horizontal.brown=Brown Per Fess +item.banner.half_horizontal.blue=Blue Per Fess +item.banner.half_horizontal.purple=Purple Per Fess +item.banner.half_horizontal.cyan=Cyan Per Fess +item.banner.half_horizontal.silver=Light Gray Per Fess +item.banner.half_horizontal.gray=Gray Per Fess +item.banner.half_horizontal.pink=Pink Per Fess +item.banner.half_horizontal.lime=Lime Per Fess +item.banner.half_horizontal.yellow=Yellow Per Fess +item.banner.half_horizontal.lightBlue=Light Blue Per Fess +item.banner.half_horizontal.magenta=Magenta Per Fess +item.banner.half_horizontal.orange=Orange Per Fess +item.banner.half_horizontal.white=White Per Fess + +item.banner.half_vertical_right.black=Black Per Pale Inverted +item.banner.half_vertical_right.red=Red Per Pale Inverted +item.banner.half_vertical_right.green=Green Per Pale Inverted +item.banner.half_vertical_right.brown=Brown Per Pale Inverted +item.banner.half_vertical_right.blue=Blue Per Pale Inverted +item.banner.half_vertical_right.purple=Purple Per Pale Inverted +item.banner.half_vertical_right.cyan=Cyan Per Pale Inverted +item.banner.half_vertical_right.silver=Light Gray Per Pale Inverted +item.banner.half_vertical_right.gray=Gray Per Pale Inverted +item.banner.half_vertical_right.pink=Pink Per Pale Inverted +item.banner.half_vertical_right.lime=Lime Per Pale Inverted +item.banner.half_vertical_right.yellow=Yellow Per Pale Inverted +item.banner.half_vertical_right.lightBlue=Light Blue Per Pale Inverted +item.banner.half_vertical_right.magenta=Magenta Per Pale Inverted +item.banner.half_vertical_right.orange=Orange Per Pale Inverted +item.banner.half_vertical_right.white=White Per Pale Inverted + +item.banner.half_horizontal_bottom.black=Black Per Fess Inverted +item.banner.half_horizontal_bottom.red=Red Per Fess Inverted +item.banner.half_horizontal_bottom.green=Green Per Fess Inverted +item.banner.half_horizontal_bottom.brown=Brown Per Fess Inverted +item.banner.half_horizontal_bottom.blue=Blue Per Fess Inverted +item.banner.half_horizontal_bottom.purple=Purple Per Fess Inverted +item.banner.half_horizontal_bottom.cyan=Cyan Per Fess Inverted +item.banner.half_horizontal_bottom.silver=Light Gray Per Fess Inverted +item.banner.half_horizontal_bottom.gray=Gray Per Fess Inverted +item.banner.half_horizontal_bottom.pink=Pink Per Fess Inverted +item.banner.half_horizontal_bottom.lime=Lime Per Fess Inverted +item.banner.half_horizontal_bottom.yellow=Yellow Per Fess Inverted +item.banner.half_horizontal_bottom.lightBlue=Light Blue Per Fess Inverted +item.banner.half_horizontal_bottom.magenta=Magenta Per Fess Inverted +item.banner.half_horizontal_bottom.orange=Orange Per Fess Inverted +item.banner.half_horizontal_bottom.white=White Per Fess Inverted + +item.banner.creeper.black=Black Creeper Charge +item.banner.creeper.red=Red Creeper Charge +item.banner.creeper.green=Green Creeper Charge +item.banner.creeper.brown=Brown Creeper Charge +item.banner.creeper.blue=Blue Creeper Charge +item.banner.creeper.purple=Purple Creeper Charge +item.banner.creeper.cyan=Cyan Creeper Charge +item.banner.creeper.silver=Light Gray Creeper Charge +item.banner.creeper.gray=Gray Creeper Charge +item.banner.creeper.pink=Pink Creeper Charge +item.banner.creeper.lime=Lime Creeper Charge +item.banner.creeper.yellow=Yellow Creeper Charge +item.banner.creeper.lightBlue=Light Blue Creeper Charge +item.banner.creeper.magenta=Magenta Creeper Charge +item.banner.creeper.orange=Orange Creeper Charge +item.banner.creeper.white=White Creeper Charge + +item.banner.bricks.black=Black Field Masoned +item.banner.bricks.red=Red Field Masoned +item.banner.bricks.green=Green Field Masoned +item.banner.bricks.brown=Brown Field Masoned +item.banner.bricks.blue=Blue Field Masoned +item.banner.bricks.purple=Purple Field Masoned +item.banner.bricks.cyan=Cyan Field Masoned +item.banner.bricks.silver=Light Gray Field Masoned +item.banner.bricks.gray=Gray Field Masoned +item.banner.bricks.pink=Pink Field Masoned +item.banner.bricks.lime=Lime Field Masoned +item.banner.bricks.yellow=Yellow Field Masoned +item.banner.bricks.lightBlue=Light Blue Field Masoned +item.banner.bricks.magenta=Magenta Field Masoned +item.banner.bricks.orange=Orange Field Masoned +item.banner.bricks.white=White Field Masoned + +item.banner.gradient.black=Black Gradient +item.banner.gradient.red=Red Gradient +item.banner.gradient.green=Green Gradient +item.banner.gradient.brown=Brown Gradient +item.banner.gradient.blue=Blue Gradient +item.banner.gradient.purple=Purple Gradient +item.banner.gradient.cyan=Cyan Gradient +item.banner.gradient.silver=Light Gray Gradient +item.banner.gradient.gray=Gray Gradient +item.banner.gradient.pink=Pink Gradient +item.banner.gradient.lime=Lime Gradient +item.banner.gradient.yellow=Yellow Gradient +item.banner.gradient.lightBlue=Light Blue Gradient +item.banner.gradient.magenta=Magenta Gradient +item.banner.gradient.orange=Orange Gradient +item.banner.gradient.white=White Gradient + +item.banner.gradient_up.black=Black Base Gradient +item.banner.gradient_up.red=Red Base Gradient +item.banner.gradient_up.green=Green Base Gradient +item.banner.gradient_up.brown=Brown Base Gradient +item.banner.gradient_up.blue=Blue Base Gradient +item.banner.gradient_up.purple=Purple Base Gradient +item.banner.gradient_up.cyan=Cyan Base Gradient +item.banner.gradient_up.silver=Light Gray Base Gradient +item.banner.gradient_up.gray=Gray Base Gradient +item.banner.gradient_up.pink=Pink Base Gradient +item.banner.gradient_up.lime=Lime Base Gradient +item.banner.gradient_up.yellow=Yellow Base Gradient +item.banner.gradient_up.lightBlue=Light Blue Base Gradient +item.banner.gradient_up.magenta=Magenta Base Gradient +item.banner.gradient_up.orange=Orange Base Gradient +item.banner.gradient_up.white=White Base Gradient + +item.banner.skull.black=Black Skull Charge +item.banner.skull.red=Red Skull Charge +item.banner.skull.green=Green Skull Charge +item.banner.skull.brown=Brown Skull Charge +item.banner.skull.blue=Blue Skull Charge +item.banner.skull.purple=Purple Skull Charge +item.banner.skull.cyan=Cyan Skull Charge +item.banner.skull.silver=Light Gray Skull Charge +item.banner.skull.gray=Gray Skull Charge +item.banner.skull.pink=Pink Skull Charge +item.banner.skull.lime=Lime Skull Charge +item.banner.skull.yellow=Yellow Skull Charge +item.banner.skull.lightBlue=Light Blue Skull Charge +item.banner.skull.magenta=Magenta Skull Charge +item.banner.skull.orange=Orange Skull Charge +item.banner.skull.white=White Skull Charge + +item.banner.flower.black=Black Flower Charge +item.banner.flower.red=Red Flower Charge +item.banner.flower.green=Green Flower Charge +item.banner.flower.brown=Brown Flower Charge +item.banner.flower.blue=Blue Flower Charge +item.banner.flower.purple=Purple Flower Charge +item.banner.flower.cyan=Cyan Flower Charge +item.banner.flower.silver=Light Gray Flower Charge +item.banner.flower.gray=Gray Flower Charge +item.banner.flower.pink=Pink Flower Charge +item.banner.flower.lime=Lime Flower Charge +item.banner.flower.yellow=Yellow Flower Charge +item.banner.flower.lightBlue=Light Blue Flower Charge +item.banner.flower.magenta=Magenta Flower Charge +item.banner.flower.orange=Orange Flower Charge +item.banner.flower.white=White Flower Charge + +item.banner.border.black=Black Bordure +item.banner.border.red=Red Bordure +item.banner.border.green=Green Bordure +item.banner.border.brown=Brown Bordure +item.banner.border.blue=Blue Bordure +item.banner.border.purple=Purple Bordure +item.banner.border.cyan=Cyan Bordure +item.banner.border.silver=Light Gray Bordure +item.banner.border.gray=Gray Bordure +item.banner.border.pink=Pink Bordure +item.banner.border.lime=Lime Bordure +item.banner.border.yellow=Yellow Bordure +item.banner.border.lightBlue=Light Blue Bordure +item.banner.border.magenta=Magenta Bordure +item.banner.border.orange=Orange Bordure +item.banner.border.white=White Bordure + +item.banner.curly_border.black=Black Bordure Indented +item.banner.curly_border.red=Red Bordure Indented +item.banner.curly_border.green=Green Bordure Indented +item.banner.curly_border.brown=Brown Bordure Indented +item.banner.curly_border.blue=Blue Bordure Indented +item.banner.curly_border.purple=Purple Bordure Indented +item.banner.curly_border.cyan=Cyan Bordure Indented +item.banner.curly_border.silver=Light Gray Bordure Indented +item.banner.curly_border.gray=Gray Bordure Indented +item.banner.curly_border.pink=Pink Bordure Indented +item.banner.curly_border.lime=Lime Bordure Indented +item.banner.curly_border.yellow=Yellow Bordure Indented +item.banner.curly_border.lightBlue=Light Blue Bordure Indented +item.banner.curly_border.magenta=Magenta Bordure Indented +item.banner.curly_border.orange=Orange Bordure Indented +item.banner.curly_border.white=White Bordure Indented + +item.banner.mojang.black=Black Thing +item.banner.mojang.red=Red Thing +item.banner.mojang.green=Green Thing +item.banner.mojang.brown=Brown Thing +item.banner.mojang.blue=Blue Thing +item.banner.mojang.purple=Purple Thing +item.banner.mojang.cyan=Cyan Thing +item.banner.mojang.silver=Light Gray Thing +item.banner.mojang.gray=Gray Thing +item.banner.mojang.pink=Pink Thing +item.banner.mojang.lime=Lime Thing +item.banner.mojang.yellow=Yellow Thing +item.banner.mojang.lightBlue=Light Blue Thing +item.banner.mojang.magenta=Magenta Thing +item.banner.mojang.orange=Orange Thing +item.banner.mojang.white=White Thing + +item.banner.straight_cross.black=Black Cross +item.banner.straight_cross.red=Red Cross +item.banner.straight_cross.green=Green Cross +item.banner.straight_cross.brown=Brown Cross +item.banner.straight_cross.blue=Blue Cross +item.banner.straight_cross.purple=Purple Cross +item.banner.straight_cross.cyan=Cyan Cross +item.banner.straight_cross.silver=Light Gray Cross +item.banner.straight_cross.gray=Gray Cross +item.banner.straight_cross.pink=Pink Cross +item.banner.straight_cross.lime=Lime Cross +item.banner.straight_cross.yellow=Yellow Cross +item.banner.straight_cross.lightBlue=Light Blue Cross +item.banner.straight_cross.magenta=Magenta Cross +item.banner.straight_cross.orange=Orange Cross +item.banner.straight_cross.white=White Cross + +tile.purpurBlock.name=Purpur Block +tile.purpurPillar.name=Purpur Pillar +tile.stairsPurpur.name=Purpur Stairs +tile.purpurSlab.name=Purpur Slab +tile.purpurSlab.default.name=Purpur Slab +tile.endRod.name=End Rod +tile.chorusPlant.name=Chorus Plant +tile.chorusFlower.name=Chorus Flower +tile.grassPath.name=Grass Path +tile.endBricks.name=End Stone Bricks +tile.commandBlock.name=Command Block +tile.repeatingCommandBlock.name=Repeating Command Block +tile.chainCommandBlock.name=Chain Command Block + +item.chorusFruit.name=Chorus Fruit +item.chorusFruitPopped.name=Popped Chorus Fruit +item.beetroot.name=Beetroot +item.beetroot_seeds.name=Beetroot Seeds +item.beetroot_soup.name=Beetroot Soup +item.elytra.name=Elytra +item.end_crystal.name=End Crystal + +advMode.setCommand=Set Console Command for Block +advMode.setCommand.success=Command set: %s +advMode.command=Console Command +advMode.nearestPlayer=Use "@p" to target nearest player +advMode.randomPlayer=Use "@r" to target random player +advMode.allPlayers=Use "@a" to target all players +advMode.allEntities=Use "@e" to target all entities +advMode.previousOutput=Previous Output +advMode.mode.sequence=Chain +advMode.mode.auto=Repeat +advMode.mode.redstone=Impulse +advMode.mode.conditional=Conditional +advMode.mode.unconditional=Unconditional +advMode.mode.redstoneTriggered=Needs Redstone +advMode.mode.autoexec.bat=Always Active + +advMode.notEnabled=Command blocks are not enabled on this server +advMode.notAllowed=Must be an opped player in creative mode \ No newline at end of file diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_bark.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_bark.json new file mode 100644 index 0000000..2ae3fc4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_bark.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/log_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_door_bottom.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_door_bottom.json new file mode 100644 index 0000000..0c5951e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_door_bottom.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_bottom", + "textures": { + "bottom": "blocks/door_acacia_lower", + "top": "blocks/door_acacia_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_door_bottom_rh.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_door_bottom_rh.json new file mode 100644 index 0000000..f918660 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_door_bottom_rh.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_bottom_rh", + "textures": { + "bottom": "blocks/door_acacia_lower", + "top": "blocks/door_acacia_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_door_top.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_door_top.json new file mode 100644 index 0000000..1214f3b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_door_top.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_top", + "textures": { + "bottom": "blocks/door_acacia_lower", + "top": "blocks/door_acacia_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_door_top_rh.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_door_top_rh.json new file mode 100644 index 0000000..d706f36 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_door_top_rh.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_top_rh", + "textures": { + "bottom": "blocks/door_acacia_lower", + "top": "blocks/door_acacia_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_gate_closed.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_gate_closed.json new file mode 100644 index 0000000..8e317cc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_gate_closed.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_gate_closed", + "textures": { + "texture": "blocks/planks_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_gate_open.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_gate_open.json new file mode 100644 index 0000000..16234a2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_gate_open.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_gate_open", + "textures": { + "texture": "blocks/planks_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_inventory.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_inventory.json new file mode 100644 index 0000000..e390a8a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_inventory", + "textures": { + "texture": "blocks/planks_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_n.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_n.json new file mode 100644 index 0000000..54a17dc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_n.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_n", + "textures": { + "texture": "blocks/planks_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_ne.json new file mode 100644 index 0000000..0f1c10d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_ne.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_ne", + "textures": { + "texture": "blocks/planks_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_ns.json new file mode 100644 index 0000000..4098444 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_ns.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_ns", + "textures": { + "texture": "blocks/planks_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_nse.json new file mode 100644 index 0000000..67fe693 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_nse.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_nse", + "textures": { + "texture": "blocks/planks_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_nsew.json new file mode 100644 index 0000000..8e11585 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_nsew.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_nsew", + "textures": { + "texture": "blocks/planks_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_post.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_post.json new file mode 100644 index 0000000..bc78d2f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_fence_post.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_post", + "textures": { + "texture": "blocks/planks_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_inner_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_inner_stairs.json new file mode 100644 index 0000000..727e10e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_inner_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/inner_stairs", + "textures": { + "bottom": "blocks/planks_acacia", + "top": "blocks/planks_acacia", + "side": "blocks/planks_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_leaves.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_leaves.json new file mode 100644 index 0000000..8f7f654 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_leaves.json @@ -0,0 +1,6 @@ +{ + "parent": "block/leaves", + "textures": { + "all": "blocks/leaves_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_log.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_log.json new file mode 100644 index 0000000..9ca2062 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_log.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "blocks/log_acacia_top", + "side": "blocks/log_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_log_side.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_log_side.json new file mode 100644 index 0000000..7547c14 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_log_side.json @@ -0,0 +1,7 @@ +{ + "parent": "block/column_side", + "textures": { + "end": "blocks/log_acacia_top", + "side": "blocks/log_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_outer_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_outer_stairs.json new file mode 100644 index 0000000..689009b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_outer_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/outer_stairs", + "textures": { + "bottom": "blocks/planks_acacia", + "top": "blocks/planks_acacia", + "side": "blocks/planks_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_planks.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_planks.json new file mode 100644 index 0000000..514b5df --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_planks.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/planks_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_sapling.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_sapling.json new file mode 100644 index 0000000..0ac2f33 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_sapling.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/sapling_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_stairs.json new file mode 100644 index 0000000..9496b30 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/stairs", + "textures": { + "bottom": "blocks/planks_acacia", + "top": "blocks/planks_acacia", + "side": "blocks/planks_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_wall_gate_closed.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_wall_gate_closed.json new file mode 100644 index 0000000..663ff1a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_wall_gate_closed.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_gate_closed", + "textures": { + "texture": "blocks/planks_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/acacia_wall_gate_open.json b/desktopRuntime/resources/assets/minecraft/models/block/acacia_wall_gate_open.json new file mode 100644 index 0000000..21706f6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/acacia_wall_gate_open.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_gate_open", + "textures": { + "texture": "blocks/planks_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/activator_rail_active_flat.json b/desktopRuntime/resources/assets/minecraft/models/block/activator_rail_active_flat.json new file mode 100644 index 0000000..c35d708 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/activator_rail_active_flat.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_flat", + "textures": { + "rail": "blocks/rail_activator_powered" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/activator_rail_active_raised_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/activator_rail_active_raised_ne.json new file mode 100644 index 0000000..dc90395 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/activator_rail_active_raised_ne.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_raised_ne", + "textures": { + "rail": "blocks/rail_activator_powered" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/activator_rail_active_raised_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/activator_rail_active_raised_sw.json new file mode 100644 index 0000000..e70658d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/activator_rail_active_raised_sw.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_raised_sw", + "textures": { + "rail": "blocks/rail_activator_powered" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/activator_rail_flat.json b/desktopRuntime/resources/assets/minecraft/models/block/activator_rail_flat.json new file mode 100644 index 0000000..61a8f21 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/activator_rail_flat.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_flat", + "textures": { + "rail": "blocks/rail_activator" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/activator_rail_raised_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/activator_rail_raised_ne.json new file mode 100644 index 0000000..721d80d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/activator_rail_raised_ne.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_raised_ne", + "textures": { + "rail": "blocks/rail_activator" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/activator_rail_raised_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/activator_rail_raised_sw.json new file mode 100644 index 0000000..32f04b5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/activator_rail_raised_sw.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_raised_sw", + "textures": { + "rail": "blocks/rail_activator" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/allium.json b/desktopRuntime/resources/assets/minecraft/models/block/allium.json new file mode 100644 index 0000000..e7485ac --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/allium.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cross", + "textures": { + "particle": "blocks/flower_allium", + "cross": "blocks/flower_allium" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/andesite.json b/desktopRuntime/resources/assets/minecraft/models/block/andesite.json new file mode 100644 index 0000000..25adfc7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/andesite.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/stone_andesite" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/andesite_smooth.json b/desktopRuntime/resources/assets/minecraft/models/block/andesite_smooth.json new file mode 100644 index 0000000..8f815be --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/andesite_smooth.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/stone_andesite_smooth" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/anvil.json b/desktopRuntime/resources/assets/minecraft/models/block/anvil.json new file mode 100644 index 0000000..b590f63 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/anvil.json @@ -0,0 +1,52 @@ +{ + "elements": [ + { "__comment": "Anvil base", + "from": [ 2, 0, 2 ], + "to": [ 14, 4, 14 ], + "faces": { + "down": { "uv": [ 2, 2, 14, 14 ], "texture": "#body", "rotation": 180, "cullface": "down" }, + "up": { "uv": [ 2, 2, 14, 14 ], "texture": "#body", "rotation": 180 }, + "north": { "uv": [ 2, 12, 14, 16 ], "texture": "#body" }, + "south": { "uv": [ 2, 12, 14, 16 ], "texture": "#body" }, + "west": { "uv": [ 0, 2, 4, 14 ], "texture": "#body", "rotation": 90 }, + "east": { "uv": [ 4, 2, 0, 14 ], "texture": "#body", "rotation": 270 } + } + }, + { "__comment": "Lower narrow portion", + "from": [ 4, 4, 3 ], + "to": [ 12, 5, 13 ], + "faces": { + "down": { "uv": [ 4, 3, 12, 13 ], "texture": "#body", "rotation": 180 }, + "up": { "uv": [ 4, 3, 12, 13 ], "texture": "#body", "rotation": 180 }, + "north": { "uv": [ 4, 11, 12, 12 ], "texture": "#body" }, + "south": { "uv": [ 4, 11, 12, 12 ], "texture": "#body" }, + "west": { "uv": [ 4, 3, 5, 13 ], "texture": "#body", "rotation": 90 }, + "east": { "uv": [ 5, 3, 4, 13 ], "texture": "#body", "rotation": 270 } + } + }, + { "__comment": "Wider section beneath top portion", + "from": [ 6, 5, 4 ], + "to": [ 10, 10, 12 ], + "faces": { + "down": { "uv": [ 10, 12, 6, 4 ], "texture": "#body", "rotation": 180 }, + "up": { "uv": [ 10, 12, 6, 4 ], "texture": "#body", "rotation": 180 }, + "north": { "uv": [ 6, 6, 10, 11 ], "texture": "#body" }, + "south": { "uv": [ 6, 6, 10, 11 ], "texture": "#body" }, + "west": { "uv": [ 5, 4, 10, 12 ], "texture": "#body", "rotation": 90 }, + "east": { "uv": [ 10, 4, 5, 12 ], "texture": "#body", "rotation": 270 } + } + }, + { "__comment": "Anvil top", + "from": [ 3, 10, 0 ], + "to": [ 13, 16, 16 ], + "faces": { + "down": { "uv": [ 3, 0, 13, 16 ], "texture": "#body", "rotation": 180 }, + "up": { "uv": [ 3, 0, 13, 16 ], "texture": "#top", "rotation": 180 }, + "north": { "uv": [ 3, 0, 13, 6 ], "texture": "#body" }, + "south": { "uv": [ 3, 0, 13, 6 ], "texture": "#body" }, + "west": { "uv": [ 10, 0, 16, 16 ], "texture": "#body", "rotation": 90 }, + "east": { "uv": [ 16, 0, 10, 16 ], "texture": "#body", "rotation": 270 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/anvil_slightly_damaged.json b/desktopRuntime/resources/assets/minecraft/models/block/anvil_slightly_damaged.json new file mode 100644 index 0000000..09f541c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/anvil_slightly_damaged.json @@ -0,0 +1,8 @@ +{ + "parent": "block/anvil", + "textures": { + "particle": "blocks/anvil_base", + "body": "blocks/anvil_base", + "top": "blocks/anvil_top_damaged_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/anvil_undamaged.json b/desktopRuntime/resources/assets/minecraft/models/block/anvil_undamaged.json new file mode 100644 index 0000000..1e1ad44 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/anvil_undamaged.json @@ -0,0 +1,8 @@ +{ + "parent": "block/anvil", + "textures": { + "particle": "blocks/anvil_base", + "body": "blocks/anvil_base", + "top": "blocks/anvil_top_damaged_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/anvil_very_damaged.json b/desktopRuntime/resources/assets/minecraft/models/block/anvil_very_damaged.json new file mode 100644 index 0000000..4623b97 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/anvil_very_damaged.json @@ -0,0 +1,8 @@ +{ + "parent": "block/anvil", + "textures": { + "particle": "blocks/anvil_base", + "body": "blocks/anvil_base", + "top": "blocks/anvil_top_damaged_2" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/bars_n.json b/desktopRuntime/resources/assets/minecraft/models/block/bars_n.json new file mode 100644 index 0000000..02f371b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/bars_n.json @@ -0,0 +1,31 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/iron_bars", + "bars": "blocks/iron_bars", + "edge": "blocks/iron_bars" + }, + "elements": [ + { "from": [ 8, 0, 0 ], + "to": [ 8, 16, 8 ], + "faces": { + "west": { "uv": [ 8, 0, 16, 16 ], "texture": "#bars" }, + "east": { "uv": [ 8, 0, 16, 16 ], "texture": "#bars" } + } + }, + { "from": [ 7, 0, 0 ], + "to": [ 9, 16, 9 ], + "faces": { + "north": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "north" }, + "south": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" } + } + }, + { "from": [ 7, 0.005, 0 ], + "to": [ 9, 15.995, 9 ], + "faces": { + "down": { "uv": [ 9, 0, 7, 9 ], "texture": "#edge" }, + "up": { "uv": [ 7, 0, 9, 9 ], "texture": "#edge" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/bars_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/bars_ne.json new file mode 100644 index 0000000..9697aec --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/bars_ne.json @@ -0,0 +1,50 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/iron_bars", + "bars": "blocks/iron_bars", + "edge": "blocks/iron_bars" + }, + "elements": [ + { "from": [ 8, 0, 0 ], + "to": [ 8, 16, 8 ], + "faces": { + "west": { "uv": [ 0, 0, 8, 16 ], "texture": "#bars" }, + "east": { "uv": [ 8, 0, 16, 16 ], "texture": "#bars" } + } + }, + { "from": [ 7, 0, 0 ], + "to": [ 9, 16, 0 ], + "faces": { + "north": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "north" } + } + }, + { "from": [ 7, 0.005, 0 ], + "to": [ 9, 15.995, 9 ], + "faces": { + "down": { "uv": [ 9, 0, 7, 9 ], "texture": "#edge" }, + "up": { "uv": [ 7, 0, 9, 9 ], "texture": "#edge" } + } + }, + { "from": [ 8, 0, 8 ], + "to": [ 16, 16, 8 ], + "faces": { + "north": { "uv": [ 0, 0, 8, 16 ], "texture": "#bars" }, + "south": { "uv": [ 8, 0, 16, 16 ], "texture": "#bars" } + } + }, + { "from": [ 0, 0, 7 ], + "to": [ 16, 16, 9 ], + "faces": { + "east": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "east" } + } + }, + { "from": [ 9, 0.005, 7 ], + "to": [ 16, 15.995, 9 ], + "faces": { + "down": { "uv": [ 9, 0, 7, 7 ], "texture": "#edge", "rotation": 90 }, + "up": { "uv": [ 7, 0, 9, 7 ], "texture": "#edge", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/bars_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/bars_ns.json new file mode 100644 index 0000000..425b554 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/bars_ns.json @@ -0,0 +1,31 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/iron_bars", + "bars": "blocks/iron_bars", + "edge": "blocks/iron_bars" + }, + "elements": [ + { "from": [ 8, 0, 0 ], + "to": [ 8, 16, 16 ], + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#bars" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#bars" } + } + }, + { "from": [ 7, 0, 0 ], + "to": [ 9, 16, 16 ], + "faces": { + "north": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "north" }, + "south": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "south" } + } + }, + { "from": [ 7, 0.005, 0 ], + "to": [ 9, 15.995, 16 ], + "faces": { + "down": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" }, + "up": { "uv": [ 9, 0, 7, 16 ], "texture": "#edge" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/bars_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/bars_nse.json new file mode 100644 index 0000000..c43bab9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/bars_nse.json @@ -0,0 +1,51 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/iron_bars", + "bars": "blocks/iron_bars", + "edge": "blocks/iron_bars" + }, + "elements": [ + { "from": [ 8, 0, 0 ], + "to": [ 8, 16, 16 ], + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#bars" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#bars" } + } + }, + { "from": [ 7, 0, 0 ], + "to": [ 9, 16, 16 ], + "faces": { + "north": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "north" }, + "south": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "south" } + } + }, + { "from": [ 7, 0.005, 0 ], + "to": [ 9, 15.995, 16 ], + "faces": { + "down": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" }, + "up": { "uv": [ 9, 0, 7, 16 ], "texture": "#edge" } + } + }, + { "from": [ 8, 0, 8 ], + "to": [ 16, 16, 8 ], + "faces": { + "north": { "uv": [ 0, 0, 8, 16 ], "texture": "#bars" }, + "south": { "uv": [ 8, 0, 16, 16 ], "texture": "#bars" } + } + }, + { "from": [ 0, 0, 7 ], + "to": [ 16, 16, 9 ], + "faces": { + "east": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "east" } + } + }, + { "from": [ 9, 0.005, 7 ], + "to": [ 16, 15.995, 9 ], + "faces": { + "down": { "uv": [ 9, 0, 7, 7 ], "texture": "#edge", "rotation": 90 }, + "up": { "uv": [ 7, 0, 9, 7 ], "texture": "#edge", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/bars_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/bars_nsew.json new file mode 100644 index 0000000..6d6c701 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/bars_nsew.json @@ -0,0 +1,59 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/iron_bars", + "bars": "blocks/iron_bars", + "edge": "blocks/iron_bars" + }, + "elements": [ + { "from": [ 8, 0, 0 ], + "to": [ 8, 16, 16 ], + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#bars" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#bars" } + } + }, + { "from": [ 7, 0, 0 ], + "to": [ 9, 16, 16 ], + "faces": { + "north": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "north" }, + "south": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "south" } + } + }, + { "from": [ 7, 0.005, 0 ], + "to": [ 9, 15.995, 16 ], + "faces": { + "down": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" }, + "up": { "uv": [ 9, 0, 7, 16 ], "texture": "#edge" } + } + }, + { "from": [ 0, 0, 8 ], + "to": [ 16, 16, 8 ], + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#bars" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#bars" } + } + }, + { "from": [ 0, 0, 7 ], + "to": [ 16, 16, 9 ], + "faces": { + "west": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "west" }, + "east": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "east" } + } + }, + { "from": [ 0, 0.005, 7 ], + "to": [ 7, 15.995, 9 ], + "faces": { + "down": { "uv": [ 9, 9, 7, 16 ], "texture": "#edge", "rotation": 90 }, + "up": { "uv": [ 7, 9, 9, 16 ], "texture": "#edge", "rotation": 90 } + } + }, + { "from": [ 9, 0.005, 7 ], + "to": [ 16, 15.995, 9 ], + "faces": { + "down": { "uv": [ 9, 0, 7, 7 ], "texture": "#edge", "rotation": 90 }, + "up": { "uv": [ 7, 0, 9, 7 ], "texture": "#edge", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/beacon.json b/desktopRuntime/resources/assets/minecraft/models/block/beacon.json new file mode 100644 index 0000000..747d42b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/beacon.json @@ -0,0 +1,47 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/glass", + "glass": "blocks/glass", + "obsidian": "blocks/obsidian", + "beacon": "blocks/beacon" + }, + "elements": [ + { "__comment": "Glass shell", + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#glass" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#glass" }, + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#glass" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#glass" }, + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#glass" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#glass" } + } + }, + { "__comment": "Obsidian base", + "from": [ 2, 0.1, 2 ], + "to": [ 14, 3, 14 ], + "faces": { + "down": { "uv": [ 2, 2, 14, 14 ], "texture": "#obsidian" }, + "up": { "uv": [ 2, 2, 14, 14 ], "texture": "#obsidian" }, + "north": { "uv": [ 2, 13, 14, 16 ], "texture": "#obsidian" }, + "south": { "uv": [ 2, 13, 14, 16 ], "texture": "#obsidian" }, + "west": { "uv": [ 2, 13, 14, 16 ], "texture": "#obsidian" }, + "east": { "uv": [ 2, 13, 14, 16 ], "texture": "#obsidian" } + } + }, + { "__comment": "Inner beacon texture", + "from": [ 3, 3, 3 ], + "to": [ 13, 14, 13 ], + "faces": { + "down": { "uv": [ 3, 3, 13, 13 ], "texture": "#beacon" }, + "up": { "uv": [ 3, 3, 13, 13 ], "texture": "#beacon" }, + "north": { "uv": [ 3, 2, 13, 13 ], "texture": "#beacon" }, + "south": { "uv": [ 3, 2, 13, 13 ], "texture": "#beacon" }, + "west": { "uv": [ 3, 2, 13, 13 ], "texture": "#beacon" }, + "east": { "uv": [ 3, 2, 13, 13 ], "texture": "#beacon" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/bed_foot.json b/desktopRuntime/resources/assets/minecraft/models/block/bed_foot.json new file mode 100644 index 0000000..98ada98 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/bed_foot.json @@ -0,0 +1,39 @@ +{ + "textures": { + "particle": "blocks/planks_oak", + "bottom": "blocks/planks_oak", + "feet": "blocks/bed_feet" + }, + "elements": [ + { "from": [ 0, 3, 0 ], + "to": [ 16, 9, 16 ], + "faces": { + "up": { "uv": [ 0, 0, 8, 8 ], "texture": "#feet" }, + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom" }, + "north": { "uv": [ 8, 8, 16, 11 ], "texture": "#feet" }, + "west": { "uv": [ 8, 4, 16, 7 ], "texture": "#feet" }, + "east": { "uv": [ 0, 8, 8, 11 ], "texture": "#feet" } + } + }, + { "from": [ 0, 0, 0 ], + "to": [ 3, 3, 3 ], + "faces": { + "down": { "uv": [ 8, 0, 9.5, 1.5 ], "texture": "#feet" }, + "north": { "uv": [ 8, 2, 9.5, 3.5 ], "texture": "#feet" }, + "west": { "uv": [ 10, 2, 11.5, 3.5 ], "texture": "#feet" }, + "south": { "uv": [ 12, 2, 13.5, 3.5 ], "texture": "#feet" }, + "east": { "uv": [ 14, 2, 15.5, 3.5 ], "texture": "#feet" } + } + }, + { "from": [ 13, 0, 0 ], + "to": [ 16, 3, 3 ], + "faces": { + "down": { "uv": [ 10, 0, 11.5, 1.5 ], "texture": "#feet" }, + "north": { "uv": [ 10, 2, 11.5, 3.5 ], "texture": "#feet" }, + "west": { "uv": [ 12, 2, 13.5, 3.5 ], "texture": "#feet" }, + "south": { "uv": [ 14, 2, 15.5, 3.5 ], "texture": "#feet" }, + "east": { "uv": [ 8, 2, 9.5, 3.5 ], "texture": "#feet" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/bed_head.json b/desktopRuntime/resources/assets/minecraft/models/block/bed_head.json new file mode 100644 index 0000000..528f847 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/bed_head.json @@ -0,0 +1,39 @@ +{ + "textures": { + "particle": "blocks/planks_oak", + "bottom": "blocks/planks_oak", + "head": "blocks/bed_head" + }, + "elements": [ + { "from": [ 0, 3, 0 ], + "to": [ 16, 9, 16 ], + "faces": { + "up": { "uv": [ 0, 0, 8, 8 ], "texture": "#head" }, + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom" }, + "south": { "uv": [ 8, 8, 16, 11 ], "texture": "#head" }, + "west": { "uv": [ 0, 8, 8, 11 ], "texture": "#head" }, + "east": { "uv": [ 8, 4, 16, 7 ], "texture": "#head" } + } + }, + { "from": [ 0, 0, 13 ], + "to": [ 3, 3, 16 ], + "faces": { + "down": { "uv": [ 14, 0, 15.5, 1.5 ], "texture": "#head" }, + "north": { "uv": [ 14, 2, 15.5, 3.5 ], "texture": "#head" }, + "west": { "uv": [ 8, 2, 9.5, 3.5 ], "texture": "#head" }, + "south": { "uv": [ 10, 2, 11.5, 3.5 ], "texture": "#head" }, + "east": { "uv": [ 12, 2, 13.5, 3.5 ], "texture": "#head" } + } + }, + { "from": [ 13, 0, 13 ], + "to": [ 16, 3, 16 ], + "faces": { + "down": { "uv": [ 12, 0, 13.5, 1.5 ], "texture": "#head" }, + "north": { "uv": [ 12, 2, 13.5, 3.5 ], "texture": "#head" }, + "west": { "uv": [ 14, 2, 15.5, 3.5 ], "texture": "#head" }, + "south": { "uv": [ 8, 2, 9.5, 3.5 ], "texture": "#head" }, + "east": { "uv": [ 10, 2, 11.5, 3.5 ], "texture": "#head" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/bed_inventory.json b/desktopRuntime/resources/assets/minecraft/models/block/bed_inventory.json new file mode 100644 index 0000000..b072507 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/bed_inventory.json @@ -0,0 +1,70 @@ +{ + "textures": { + "particle": "blocks/planks_oak", + "bottom": "blocks/planks_oak", + "feet": "blocks/bed_feet", + "head": "blocks/bed_head" + }, + "elements": [ + { "from": [ 4, 1.5, 0 ], + "to": [ 12, 4.5, 8 ], + "faces": { + "up": { "uv": [ 0, 0, 8, 8 ], "texture": "#feet" }, + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom" }, + "north": { "uv": [ 8, 8, 16, 11 ], "texture": "#feet" }, + "west": { "uv": [ 8, 4, 16, 7 ], "texture": "#feet" }, + "east": { "uv": [ 0, 8, 8, 11 ], "texture": "#feet" } + } + }, + { "from": [ 4, 0, 0 ], + "to": [ 5.5, 1.5, 1.5 ], + "faces": { + "down": { "uv": [ 8, 0, 9.5, 1.5 ], "texture": "#feet" }, + "north": { "uv": [ 8, 2, 9.5, 3.5 ], "texture": "#feet" }, + "west": { "uv": [ 10, 2, 11.5, 3.5 ], "texture": "#feet" }, + "south": { "uv": [ 12, 2, 13.5, 3.5 ], "texture": "#feet" }, + "east": { "uv": [ 14, 2, 15.5, 3.5 ], "texture": "#feet" } + } + }, + { "from": [ 10.5, 0, 0 ], + "to": [ 12, 1.5, 1.5 ], + "faces": { + "down": { "uv": [ 10, 0, 11.5, 1.5 ], "texture": "#feet" }, + "north": { "uv": [ 10, 2, 11.5, 3.5 ], "texture": "#feet" }, + "west": { "uv": [ 12, 2, 13.5, 3.5 ], "texture": "#feet" }, + "south": { "uv": [ 14, 2, 15.5, 3.5 ], "texture": "#feet" }, + "east": { "uv": [ 8, 2, 9.5, 3.5 ], "texture": "#feet" } + } + }, + { "from": [ 4, 1.5, 8 ], + "to": [ 12, 4.5, 16 ], + "faces": { + "up": { "uv": [ 0, 0, 8, 8 ], "texture": "#head" }, + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom" }, + "south": { "uv": [ 8, 8, 16, 11 ], "texture": "#head" }, + "west": { "uv": [ 0, 8, 8, 11 ], "texture": "#head" }, + "east": { "uv": [ 8, 4, 16, 7 ], "texture": "#head" } + } + }, + { "from": [ 4, 0, 14.5 ], + "to": [ 5.5, 1.5, 16 ], + "faces": { + "down": { "uv": [ 14, 0, 15.5, 1.5 ], "texture": "#head" }, + "north": { "uv": [ 14, 2, 15.5, 3.5 ], "texture": "#head" }, + "west": { "uv": [ 8, 2, 9.5, 3.5 ], "texture": "#head" }, + "south": { "uv": [ 10, 2, 11.5, 3.5 ], "texture": "#head" }, + "east": { "uv": [ 12, 2, 13.5, 3.5 ], "texture": "#head" } + } + }, + { "from": [ 10.5, 0, 14.5 ], + "to": [ 12, 1.5, 16 ], + "faces": { + "down": { "uv": [ 12, 0, 13.5, 1.5 ], "texture": "#head" }, + "north": { "uv": [ 12, 2, 13.5, 3.5 ], "texture": "#head" }, + "west": { "uv": [ 14, 2, 15.5, 3.5 ], "texture": "#head" }, + "south": { "uv": [ 8, 2, 9.5, 3.5 ], "texture": "#head" }, + "east": { "uv": [ 10, 2, 11.5, 3.5 ], "texture": "#head" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/bedrock.json b/desktopRuntime/resources/assets/minecraft/models/block/bedrock.json new file mode 100644 index 0000000..c635270 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/bedrock.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/bedrock" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/bedrock_mirrored.json b/desktopRuntime/resources/assets/minecraft/models/block/bedrock_mirrored.json new file mode 100644 index 0000000..e63c643 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/bedrock_mirrored.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_mirrored_all", + "textures": { + "all": "blocks/bedrock" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/beetroots_stage0.json b/desktopRuntime/resources/assets/minecraft/models/block/beetroots_stage0.json new file mode 100644 index 0000000..ea1b26f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/beetroots_stage0.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/beetroots_stage_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/beetroots_stage1.json b/desktopRuntime/resources/assets/minecraft/models/block/beetroots_stage1.json new file mode 100644 index 0000000..05fb5de --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/beetroots_stage1.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/beetroots_stage_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/beetroots_stage2.json b/desktopRuntime/resources/assets/minecraft/models/block/beetroots_stage2.json new file mode 100644 index 0000000..f0ebca5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/beetroots_stage2.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/beetroots_stage_2" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/beetroots_stage3.json b/desktopRuntime/resources/assets/minecraft/models/block/beetroots_stage3.json new file mode 100644 index 0000000..496f97a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/beetroots_stage3.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/beetroots_stage_3" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_bark.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_bark.json new file mode 100644 index 0000000..cd5ba86 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_bark.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/log_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_door_bottom.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_door_bottom.json new file mode 100644 index 0000000..b1aee11 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_door_bottom.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_bottom", + "textures": { + "bottom": "blocks/door_birch_lower", + "top": "blocks/door_birch_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_door_bottom_rh.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_door_bottom_rh.json new file mode 100644 index 0000000..1cd3271 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_door_bottom_rh.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_bottom_rh", + "textures": { + "bottom": "blocks/door_birch_lower", + "top": "blocks/door_birch_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_door_top.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_door_top.json new file mode 100644 index 0000000..82c321f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_door_top.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_top", + "textures": { + "bottom": "blocks/door_birch_lower", + "top": "blocks/door_birch_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_door_top_rh.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_door_top_rh.json new file mode 100644 index 0000000..28c754c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_door_top_rh.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_top_rh", + "textures": { + "bottom": "blocks/door_birch_lower", + "top": "blocks/door_birch_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_gate_closed.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_gate_closed.json new file mode 100644 index 0000000..9125e47 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_gate_closed.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_gate_closed", + "textures": { + "texture": "blocks/planks_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_gate_open.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_gate_open.json new file mode 100644 index 0000000..ba95ded --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_gate_open.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_gate_open", + "textures": { + "texture": "blocks/planks_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_inventory.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_inventory.json new file mode 100644 index 0000000..b17fc3a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_inventory", + "textures": { + "texture": "blocks/planks_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_n.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_n.json new file mode 100644 index 0000000..009c707 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_n.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_n", + "textures": { + "texture": "blocks/planks_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_ne.json new file mode 100644 index 0000000..8744122 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_ne.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_ne", + "textures": { + "texture": "blocks/planks_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_ns.json new file mode 100644 index 0000000..884f686 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_ns.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_ns", + "textures": { + "texture": "blocks/planks_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_nse.json new file mode 100644 index 0000000..c6e3b55 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_nse.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_nse", + "textures": { + "texture": "blocks/planks_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_nsew.json new file mode 100644 index 0000000..ff83f60 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_nsew.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_nsew", + "textures": { + "texture": "blocks/planks_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_post.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_post.json new file mode 100644 index 0000000..e593ace --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_fence_post.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_post", + "textures": { + "texture": "blocks/planks_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_inner_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_inner_stairs.json new file mode 100644 index 0000000..bb52f30 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_inner_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/inner_stairs", + "textures": { + "bottom": "blocks/planks_birch", + "top": "blocks/planks_birch", + "side": "blocks/planks_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_leaves.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_leaves.json new file mode 100644 index 0000000..95fe59b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_leaves.json @@ -0,0 +1,6 @@ +{ + "parent": "block/leaves", + "textures": { + "all": "blocks/leaves_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_log.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_log.json new file mode 100644 index 0000000..4f40977 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_log.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "blocks/log_birch_top", + "side": "blocks/log_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_log_side.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_log_side.json new file mode 100644 index 0000000..384487d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_log_side.json @@ -0,0 +1,7 @@ +{ + "parent": "block/column_side", + "textures": { + "end": "blocks/log_birch_top", + "side": "blocks/log_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_outer_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_outer_stairs.json new file mode 100644 index 0000000..8f94932 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_outer_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/outer_stairs", + "textures": { + "bottom": "blocks/planks_birch", + "top": "blocks/planks_birch", + "side": "blocks/planks_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_planks.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_planks.json new file mode 100644 index 0000000..cd3e708 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_planks.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/planks_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_sapling.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_sapling.json new file mode 100644 index 0000000..c2f31f6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_sapling.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/sapling_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_stairs.json new file mode 100644 index 0000000..aca0c6e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/stairs", + "textures": { + "bottom": "blocks/planks_birch", + "top": "blocks/planks_birch", + "side": "blocks/planks_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_wall_gate_closed.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_wall_gate_closed.json new file mode 100644 index 0000000..0d50e58 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_wall_gate_closed.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_gate_closed", + "textures": { + "texture": "blocks/planks_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/birch_wall_gate_open.json b/desktopRuntime/resources/assets/minecraft/models/block/birch_wall_gate_open.json new file mode 100644 index 0000000..040947a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/birch_wall_gate_open.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_gate_open", + "textures": { + "texture": "blocks/planks_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/black_pane_n.json b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_n.json new file mode 100644 index 0000000..45b0296 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_n.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_n", + "textures": { + "edge": "blocks/glass_pane_top_black", + "pane": "blocks/glass_black" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/black_pane_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_ne.json new file mode 100644 index 0000000..d845145 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_ne.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ne", + "textures": { + "edge": "blocks/glass_pane_top_black", + "pane": "blocks/glass_black" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/black_pane_new.json b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_new.json new file mode 100644 index 0000000..4bb2e8c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_new.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_new", + "textures": { + "edge": "blocks/glass_pane_top_black", + "pane": "blocks/glass_black" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/black_pane_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_ns.json new file mode 100644 index 0000000..dfd85a1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_ns.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ns", + "textures": { + "edge": "blocks/glass_pane_top_black", + "pane": "blocks/glass_black" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/black_pane_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_nse.json new file mode 100644 index 0000000..db9beb7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_nse.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nse", + "textures": { + "edge": "blocks/glass_pane_top_black", + "pane": "blocks/glass_black" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/black_pane_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_nsew.json new file mode 100644 index 0000000..2f51743 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_nsew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsew", + "textures": { + "edge": "blocks/glass_pane_top_black", + "pane": "blocks/glass_black" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/black_pane_nsw.json b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_nsw.json new file mode 100644 index 0000000..7301142 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_nsw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsw", + "textures": { + "edge": "blocks/glass_pane_top_black", + "pane": "blocks/glass_black" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/black_pane_nw.json b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_nw.json new file mode 100644 index 0000000..6d7f488 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_nw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nw", + "textures": { + "edge": "blocks/glass_pane_top_black", + "pane": "blocks/glass_black" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/black_pane_s.json b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_s.json new file mode 100644 index 0000000..ad6b830 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_s.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_s", + "textures": { + "edge": "blocks/glass_pane_top_black", + "pane": "blocks/glass_black" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/black_pane_se.json b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_se.json new file mode 100644 index 0000000..955fc44 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_se.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_se", + "textures": { + "edge": "blocks/glass_pane_top_black", + "pane": "blocks/glass_black" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/black_pane_sew.json b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_sew.json new file mode 100644 index 0000000..ae78059 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_sew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sew", + "textures": { + "edge": "blocks/glass_pane_top_black", + "pane": "blocks/glass_black" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/black_pane_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_sw.json new file mode 100644 index 0000000..035b4c3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/black_pane_sw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sw", + "textures": { + "edge": "blocks/glass_pane_top_black", + "pane": "blocks/glass_black" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/black_wool.json b/desktopRuntime/resources/assets/minecraft/models/block/black_wool.json new file mode 100644 index 0000000..74797fb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/black_wool.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/wool_colored_black" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_n.json b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_n.json new file mode 100644 index 0000000..1ee4a6d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_n.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_n", + "textures": { + "edge": "blocks/glass_pane_top_blue", + "pane": "blocks/glass_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_ne.json new file mode 100644 index 0000000..9c9cc06 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_ne.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ne", + "textures": { + "edge": "blocks/glass_pane_top_blue", + "pane": "blocks/glass_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_new.json b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_new.json new file mode 100644 index 0000000..9e6f5f1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_new.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_new", + "textures": { + "edge": "blocks/glass_pane_top_blue", + "pane": "blocks/glass_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_ns.json new file mode 100644 index 0000000..948f016 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_ns.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ns", + "textures": { + "edge": "blocks/glass_pane_top_blue", + "pane": "blocks/glass_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_nse.json new file mode 100644 index 0000000..59afc3d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_nse.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nse", + "textures": { + "edge": "blocks/glass_pane_top_blue", + "pane": "blocks/glass_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_nsew.json new file mode 100644 index 0000000..1611003 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_nsew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsew", + "textures": { + "edge": "blocks/glass_pane_top_blue", + "pane": "blocks/glass_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_nsw.json b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_nsw.json new file mode 100644 index 0000000..38b7492 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_nsw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsw", + "textures": { + "edge": "blocks/glass_pane_top_blue", + "pane": "blocks/glass_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_nw.json b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_nw.json new file mode 100644 index 0000000..ab9f875 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_nw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nw", + "textures": { + "edge": "blocks/glass_pane_top_blue", + "pane": "blocks/glass_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_s.json b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_s.json new file mode 100644 index 0000000..87b5bad --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_s.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_s", + "textures": { + "edge": "blocks/glass_pane_top_blue", + "pane": "blocks/glass_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_se.json b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_se.json new file mode 100644 index 0000000..0c085f7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_se.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_se", + "textures": { + "edge": "blocks/glass_pane_top_blue", + "pane": "blocks/glass_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_sew.json b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_sew.json new file mode 100644 index 0000000..b1f0d1e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_sew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sew", + "textures": { + "edge": "blocks/glass_pane_top_blue", + "pane": "blocks/glass_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_sw.json new file mode 100644 index 0000000..d79300b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/blue_pane_sw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sw", + "textures": { + "edge": "blocks/glass_pane_top_blue", + "pane": "blocks/glass_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/blue_wool.json b/desktopRuntime/resources/assets/minecraft/models/block/blue_wool.json new file mode 100644 index 0000000..1292e85 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/blue_wool.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/wool_colored_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/bookshelf.json b/desktopRuntime/resources/assets/minecraft/models/block/bookshelf.json new file mode 100644 index 0000000..b46b6f0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/bookshelf.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "blocks/planks_oak", + "side": "blocks/bookshelf" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_bottles_1.json b/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_bottles_1.json new file mode 100644 index 0000000..526a210 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_bottles_1.json @@ -0,0 +1,86 @@ +{ + "textures": { + "particle": "blocks/brewing_stand", + "base": "blocks/brewing_stand_base", + "stand": "blocks/brewing_stand" + }, + "elements": [ + { "from": [ 7, 0, 7 ], + "to": [ 9, 14, 9 ], + "faces": { + "down": { "uv": [ 7, 7, 9, 9 ], "texture": "#stand" }, + "up": { "uv": [ 7, 7, 9, 9 ], "texture": "#stand" }, + "north": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "south": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "west": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "east": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" } + } + }, + { "from": [ 9, 0, 5 ], + "to": [ 15, 2, 11 ], + "faces": { + "down": { "uv": [ 9, 5, 15, 11 ], "texture": "#base" }, + "up": { "uv": [ 9, 5, 15, 11 ], "texture": "#base" }, + "north": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "south": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "west": { "uv": [ 5, 14, 11, 16 ], "texture": "#base" }, + "east": { "uv": [ 5, 14, 11, 16 ], "texture": "#base" } + } + }, + { "from": [ 2, 0, 1 ], + "to": [ 8, 2, 7 ], + "faces": { + "down": { "uv": [ 2, 1, 8, 7 ], "texture": "#base" }, + "up": { "uv": [ 2, 1, 8, 7 ], "texture": "#base" }, + "north": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "south": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "west": { "uv": [ 1, 14, 7, 16 ], "texture": "#base" }, + "east": { "uv": [ 1, 14, 7, 16 ], "texture": "#base" } + } + }, + { "from": [ 2, 0, 9 ], + "to": [ 8, 2, 15 ], + "faces": { + "down": { "uv": [ 2, 9, 8, 15 ], "texture": "#base" }, + "up": { "uv": [ 2, 9, 8, 15 ], "texture": "#base" }, + "north": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "south": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "west": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "east": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" } + } + }, + { "from": [ 8, 0, 8 ], + "to": [ 16, 16, 8 ], + "faces": { + "north": { "uv": [ 0, 0, 8, 16 ], "texture": "#stand" }, + "south": { "uv": [ 8, 0, 0, 16 ], "texture": "#stand" } + } + }, + { "from": [ 0, 0, 8 ], + "to": [ 8, 16, 8 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": 45, + "rescale": true + }, + "faces": { + "north": { "uv": [ 8, 0, 16, 16 ], "texture": "#stand" }, + "south": { "uv": [ 16, 0, 8, 16 ], "texture": "#stand" } + } + }, + { "from": [ 0, 0, 8 ], + "to": [ 8, 16, 8 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": -45, + "rescale": true + }, + "faces": { + "north": { "uv": [ 8, 0, 16, 16 ], "texture": "#stand" }, + "south": { "uv": [ 16, 0, 8, 16 ], "texture": "#stand" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_bottles_12.json b/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_bottles_12.json new file mode 100644 index 0000000..f198d1b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_bottles_12.json @@ -0,0 +1,86 @@ +{ + "textures": { + "particle": "blocks/brewing_stand", + "base": "blocks/brewing_stand_base", + "stand": "blocks/brewing_stand" + }, + "elements": [ + { "from": [ 7, 0, 7 ], + "to": [ 9, 14, 9 ], + "faces": { + "down": { "uv": [ 7, 7, 9, 9 ], "texture": "#stand" }, + "up": { "uv": [ 7, 7, 9, 9 ], "texture": "#stand" }, + "north": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "south": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "west": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "east": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" } + } + }, + { "from": [ 9, 0, 5 ], + "to": [ 15, 2, 11 ], + "faces": { + "down": { "uv": [ 9, 5, 15, 11 ], "texture": "#base" }, + "up": { "uv": [ 9, 5, 15, 11 ], "texture": "#base" }, + "north": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "south": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "west": { "uv": [ 5, 14, 11, 16 ], "texture": "#base" }, + "east": { "uv": [ 5, 14, 11, 16 ], "texture": "#base" } + } + }, + { "from": [ 2, 0, 1 ], + "to": [ 8, 2, 7 ], + "faces": { + "down": { "uv": [ 2, 1, 8, 7 ], "texture": "#base" }, + "up": { "uv": [ 2, 1, 8, 7 ], "texture": "#base" }, + "north": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "south": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "west": { "uv": [ 1, 14, 7, 16 ], "texture": "#base" }, + "east": { "uv": [ 1, 14, 7, 16 ], "texture": "#base" } + } + }, + { "from": [ 2, 0, 9 ], + "to": [ 8, 2, 15 ], + "faces": { + "down": { "uv": [ 2, 9, 8, 15 ], "texture": "#base" }, + "up": { "uv": [ 2, 9, 8, 15 ], "texture": "#base" }, + "north": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "south": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "west": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "east": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" } + } + }, + { "from": [ 8, 0, 8 ], + "to": [ 16, 16, 8 ], + "faces": { + "north": { "uv": [ 0, 0, 8, 16 ], "texture": "#stand" }, + "south": { "uv": [ 8, 0, 0, 16 ], "texture": "#stand" } + } + }, + { "from": [ 0, 0, 8 ], + "to": [ 8, 16, 8 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": 45, + "rescale": true + }, + "faces": { + "north": { "uv": [ 8, 0, 16, 16 ], "texture": "#stand" }, + "south": { "uv": [ 16, 0, 8, 16 ], "texture": "#stand" } + } + }, + { "from": [ 0, 0, 8 ], + "to": [ 8, 16, 8 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": -45, + "rescale": true + }, + "faces": { + "north": { "uv": [ 8, 0, 0, 16 ], "texture": "#stand" }, + "south": { "uv": [ 0, 0, 8, 16 ], "texture": "#stand" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_bottles_123.json b/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_bottles_123.json new file mode 100644 index 0000000..51f2a35 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_bottles_123.json @@ -0,0 +1,86 @@ +{ + "textures": { + "particle": "blocks/brewing_stand", + "base": "blocks/brewing_stand_base", + "stand": "blocks/brewing_stand" + }, + "elements": [ + { "from": [ 7, 0, 7 ], + "to": [ 9, 14, 9 ], + "faces": { + "down": { "uv": [ 7, 7, 9, 9 ], "texture": "#stand" }, + "up": { "uv": [ 7, 7, 9, 9 ], "texture": "#stand" }, + "north": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "south": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "west": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "east": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" } + } + }, + { "from": [ 9, 0, 5 ], + "to": [ 15, 2, 11 ], + "faces": { + "down": { "uv": [ 9, 5, 15, 11 ], "texture": "#base" }, + "up": { "uv": [ 9, 5, 15, 11 ], "texture": "#base" }, + "north": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "south": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "west": { "uv": [ 5, 14, 11, 16 ], "texture": "#base" }, + "east": { "uv": [ 5, 14, 11, 16 ], "texture": "#base" } + } + }, + { "from": [ 2, 0, 1 ], + "to": [ 8, 2, 7 ], + "faces": { + "down": { "uv": [ 2, 1, 8, 7 ], "texture": "#base" }, + "up": { "uv": [ 2, 1, 8, 7 ], "texture": "#base" }, + "north": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "south": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "west": { "uv": [ 1, 14, 7, 16 ], "texture": "#base" }, + "east": { "uv": [ 1, 14, 7, 16 ], "texture": "#base" } + } + }, + { "from": [ 2, 0, 9 ], + "to": [ 8, 2, 15 ], + "faces": { + "down": { "uv": [ 2, 9, 8, 15 ], "texture": "#base" }, + "up": { "uv": [ 2, 9, 8, 15 ], "texture": "#base" }, + "north": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "south": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "west": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "east": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" } + } + }, + { "from": [ 8, 0, 8 ], + "to": [ 16, 16, 8 ], + "faces": { + "north": { "uv": [ 0, 0, 8, 16 ], "texture": "#stand" }, + "south": { "uv": [ 8, 0, 0, 16 ], "texture": "#stand" } + } + }, + { "from": [ 0, 0, 8 ], + "to": [ 8, 16, 8 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": 45, + "rescale": true + }, + "faces": { + "north": { "uv": [ 8, 0, 0, 16 ], "texture": "#stand" }, + "south": { "uv": [ 0, 0, 8, 16 ], "texture": "#stand" } + } + }, + { "from": [ 0, 0, 8 ], + "to": [ 8, 16, 8 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": -45, + "rescale": true + }, + "faces": { + "north": { "uv": [ 8, 0, 0, 16 ], "texture": "#stand" }, + "south": { "uv": [ 0, 0, 8, 16 ], "texture": "#stand" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_bottles_13.json b/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_bottles_13.json new file mode 100644 index 0000000..b580905 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_bottles_13.json @@ -0,0 +1,86 @@ +{ + "textures": { + "particle": "blocks/brewing_stand", + "base": "blocks/brewing_stand_base", + "stand": "blocks/brewing_stand" + }, + "elements": [ + { "from": [ 7, 0, 7 ], + "to": [ 9, 14, 9 ], + "faces": { + "down": { "uv": [ 7, 7, 9, 9 ], "texture": "#stand" }, + "up": { "uv": [ 7, 7, 9, 9 ], "texture": "#stand" }, + "north": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "south": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "west": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "east": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" } + } + }, + { "from": [ 9, 0, 5 ], + "to": [ 15, 2, 11 ], + "faces": { + "down": { "uv": [ 9, 5, 15, 11 ], "texture": "#base" }, + "up": { "uv": [ 9, 5, 15, 11 ], "texture": "#base" }, + "north": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "south": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "west": { "uv": [ 5, 14, 11, 16 ], "texture": "#base" }, + "east": { "uv": [ 5, 14, 11, 16 ], "texture": "#base" } + } + }, + { "from": [ 2, 0, 1 ], + "to": [ 8, 2, 7 ], + "faces": { + "down": { "uv": [ 2, 1, 8, 7 ], "texture": "#base" }, + "up": { "uv": [ 2, 1, 8, 7 ], "texture": "#base" }, + "north": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "south": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "west": { "uv": [ 1, 14, 7, 16 ], "texture": "#base" }, + "east": { "uv": [ 1, 14, 7, 16 ], "texture": "#base" } + } + }, + { "from": [ 2, 0, 9 ], + "to": [ 8, 2, 15 ], + "faces": { + "down": { "uv": [ 2, 9, 8, 15 ], "texture": "#base" }, + "up": { "uv": [ 2, 9, 8, 15 ], "texture": "#base" }, + "north": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "south": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "west": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "east": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" } + } + }, + { "from": [ 8, 0, 8 ], + "to": [ 16, 16, 8 ], + "faces": { + "north": { "uv": [ 0, 0, 8, 16 ], "texture": "#stand" }, + "south": { "uv": [ 8, 0, 0, 16 ], "texture": "#stand" } + } + }, + { "from": [ 0, 0, 8 ], + "to": [ 8, 16, 8 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": 45, + "rescale": true + }, + "faces": { + "north": { "uv": [ 8, 0, 0, 16 ], "texture": "#stand" }, + "south": { "uv": [ 0, 0, 8, 16 ], "texture": "#stand" } + } + }, + { "from": [ 0, 0, 8 ], + "to": [ 8, 16, 8 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": -45, + "rescale": true + }, + "faces": { + "north": { "uv": [ 8, 0, 16, 16 ], "texture": "#stand" }, + "south": { "uv": [ 16, 0, 8, 16 ], "texture": "#stand" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_bottles_2.json b/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_bottles_2.json new file mode 100644 index 0000000..ae2b177 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_bottles_2.json @@ -0,0 +1,86 @@ +{ + "textures": { + "particle": "blocks/brewing_stand", + "base": "blocks/brewing_stand_base", + "stand": "blocks/brewing_stand" + }, + "elements": [ + { "from": [ 7, 0, 7 ], + "to": [ 9, 14, 9 ], + "faces": { + "down": { "uv": [ 7, 7, 9, 9 ], "texture": "#stand" }, + "up": { "uv": [ 7, 7, 9, 9 ], "texture": "#stand" }, + "north": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "south": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "west": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "east": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" } + } + }, + { "from": [ 9, 0, 5 ], + "to": [ 15, 2, 11 ], + "faces": { + "down": { "uv": [ 9, 5, 15, 11 ], "texture": "#base" }, + "up": { "uv": [ 9, 5, 15, 11 ], "texture": "#base" }, + "north": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "south": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "west": { "uv": [ 5, 14, 11, 16 ], "texture": "#base" }, + "east": { "uv": [ 5, 14, 11, 16 ], "texture": "#base" } + } + }, + { "from": [ 2, 0, 1 ], + "to": [ 8, 2, 7 ], + "faces": { + "down": { "uv": [ 2, 1, 8, 7 ], "texture": "#base" }, + "up": { "uv": [ 2, 1, 8, 7 ], "texture": "#base" }, + "north": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "south": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "west": { "uv": [ 1, 14, 7, 16 ], "texture": "#base" }, + "east": { "uv": [ 1, 14, 7, 16 ], "texture": "#base" } + } + }, + { "from": [ 2, 0, 9 ], + "to": [ 8, 2, 15 ], + "faces": { + "down": { "uv": [ 2, 9, 8, 15 ], "texture": "#base" }, + "up": { "uv": [ 2, 9, 8, 15 ], "texture": "#base" }, + "north": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "south": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "west": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "east": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" } + } + }, + { "from": [ 8, 0, 8 ], + "to": [ 16, 16, 8 ], + "faces": { + "north": { "uv": [ 16, 0, 8, 16 ], "texture": "#stand" }, + "south": { "uv": [ 8, 0, 16, 16 ], "texture": "#stand" } + } + }, + { "from": [ 0, 0, 8 ], + "to": [ 8, 16, 8 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": 45, + "rescale": true + }, + "faces": { + "north": { "uv": [ 8, 0, 16, 16 ], "texture": "#stand" }, + "south": { "uv": [ 16, 0, 8, 16 ], "texture": "#stand" } + } + }, + { "from": [ 0, 0, 8 ], + "to": [ 8, 16, 8 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": -45, + "rescale": true + }, + "faces": { + "north": { "uv": [ 8, 0, 0, 16 ], "texture": "#stand" }, + "south": { "uv": [ 0, 0, 8, 16 ], "texture": "#stand" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_bottles_23.json b/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_bottles_23.json new file mode 100644 index 0000000..2b27b86 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_bottles_23.json @@ -0,0 +1,86 @@ +{ + "textures": { + "particle": "blocks/brewing_stand", + "base": "blocks/brewing_stand_base", + "stand": "blocks/brewing_stand" + }, + "elements": [ + { "from": [ 7, 0, 7 ], + "to": [ 9, 14, 9 ], + "faces": { + "down": { "uv": [ 7, 7, 9, 9 ], "texture": "#stand" }, + "up": { "uv": [ 7, 7, 9, 9 ], "texture": "#stand" }, + "north": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "south": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "west": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "east": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" } + } + }, + { "from": [ 9, 0, 5 ], + "to": [ 15, 2, 11 ], + "faces": { + "down": { "uv": [ 9, 5, 15, 11 ], "texture": "#base" }, + "up": { "uv": [ 9, 5, 15, 11 ], "texture": "#base" }, + "north": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "south": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "west": { "uv": [ 5, 14, 11, 16 ], "texture": "#base" }, + "east": { "uv": [ 5, 14, 11, 16 ], "texture": "#base" } + } + }, + { "from": [ 2, 0, 1 ], + "to": [ 8, 2, 7 ], + "faces": { + "down": { "uv": [ 2, 1, 8, 7 ], "texture": "#base" }, + "up": { "uv": [ 2, 1, 8, 7 ], "texture": "#base" }, + "north": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "south": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "west": { "uv": [ 1, 14, 7, 16 ], "texture": "#base" }, + "east": { "uv": [ 1, 14, 7, 16 ], "texture": "#base" } + } + }, + { "from": [ 2, 0, 9 ], + "to": [ 8, 2, 15 ], + "faces": { + "down": { "uv": [ 2, 9, 8, 15 ], "texture": "#base" }, + "up": { "uv": [ 2, 9, 8, 15 ], "texture": "#base" }, + "north": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "south": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "west": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "east": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" } + } + }, + { "from": [ 8, 0, 8 ], + "to": [ 16, 16, 8 ], + "faces": { + "north": { "uv": [ 16, 0, 8, 16 ], "texture": "#stand" }, + "south": { "uv": [ 8, 0, 16, 16 ], "texture": "#stand" } + } + }, + { "from": [ 0, 0, 8 ], + "to": [ 8, 16, 8 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": 45, + "rescale": true + }, + "faces": { + "north": { "uv": [ 8, 0, 0, 16 ], "texture": "#stand" }, + "south": { "uv": [ 0, 0, 8, 16 ], "texture": "#stand" } + } + }, + { "from": [ 0, 0, 8 ], + "to": [ 8, 16, 8 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": -45, + "rescale": true + }, + "faces": { + "north": { "uv": [ 8, 0, 0, 16 ], "texture": "#stand" }, + "south": { "uv": [ 0, 0, 8, 16 ], "texture": "#stand" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_bottles_3.json b/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_bottles_3.json new file mode 100644 index 0000000..47b3ed1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_bottles_3.json @@ -0,0 +1,86 @@ +{ + "textures": { + "particle": "blocks/brewing_stand", + "base": "blocks/brewing_stand_base", + "stand": "blocks/brewing_stand" + }, + "elements": [ + { "from": [ 7, 0, 7 ], + "to": [ 9, 14, 9 ], + "faces": { + "down": { "uv": [ 7, 7, 9, 9 ], "texture": "#stand" }, + "up": { "uv": [ 7, 7, 9, 9 ], "texture": "#stand" }, + "north": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "south": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "west": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "east": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" } + } + }, + { "from": [ 9, 0, 5 ], + "to": [ 15, 2, 11 ], + "faces": { + "down": { "uv": [ 9, 5, 15, 11 ], "texture": "#base" }, + "up": { "uv": [ 9, 5, 15, 11 ], "texture": "#base" }, + "north": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "south": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "west": { "uv": [ 5, 14, 11, 16 ], "texture": "#base" }, + "east": { "uv": [ 5, 14, 11, 16 ], "texture": "#base" } + } + }, + { "from": [ 2, 0, 1 ], + "to": [ 8, 2, 7 ], + "faces": { + "down": { "uv": [ 2, 1, 8, 7 ], "texture": "#base" }, + "up": { "uv": [ 2, 1, 8, 7 ], "texture": "#base" }, + "north": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "south": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "west": { "uv": [ 1, 14, 7, 16 ], "texture": "#base" }, + "east": { "uv": [ 1, 14, 7, 16 ], "texture": "#base" } + } + }, + { "from": [ 2, 0, 9 ], + "to": [ 8, 2, 15 ], + "faces": { + "down": { "uv": [ 2, 9, 8, 15 ], "texture": "#base" }, + "up": { "uv": [ 2, 9, 8, 15 ], "texture": "#base" }, + "north": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "south": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "west": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "east": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" } + } + }, + { "from": [ 8, 0, 8 ], + "to": [ 16, 16, 8 ], + "faces": { + "north": { "uv": [ 16, 0, 8, 16 ], "texture": "#stand" }, + "south": { "uv": [ 8, 0, 16, 16 ], "texture": "#stand" } + } + }, + { "from": [ 0, 0, 8 ], + "to": [ 8, 16, 8 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": 45, + "rescale": true + }, + "faces": { + "north": { "uv": [ 8, 0, 0, 16 ], "texture": "#stand" }, + "south": { "uv": [ 0, 0, 8, 16 ], "texture": "#stand" } + } + }, + { "from": [ 0, 0, 8 ], + "to": [ 8, 16, 8 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": -45, + "rescale": true + }, + "faces": { + "north": { "uv": [ 8, 0, 16, 16 ], "texture": "#stand" }, + "south": { "uv": [ 16, 0, 8, 16 ], "texture": "#stand" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_empty.json b/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_empty.json new file mode 100644 index 0000000..26dd126 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brewing_stand_empty.json @@ -0,0 +1,86 @@ +{ + "textures": { + "particle": "blocks/brewing_stand", + "base": "blocks/brewing_stand_base", + "stand": "blocks/brewing_stand" + }, + "elements": [ + { "from": [ 7, 0, 7 ], + "to": [ 9, 14, 9 ], + "faces": { + "down": { "uv": [ 7, 7, 9, 9 ], "texture": "#stand" }, + "up": { "uv": [ 7, 7, 9, 9 ], "texture": "#stand" }, + "north": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "south": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "west": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" }, + "east": { "uv": [ 7, 2, 9, 16 ], "texture": "#stand" } + } + }, + { "from": [ 9, 0, 5 ], + "to": [ 15, 2, 11 ], + "faces": { + "down": { "uv": [ 9, 5, 15, 11 ], "texture": "#base" }, + "up": { "uv": [ 9, 5, 15, 11 ], "texture": "#base" }, + "north": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "south": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "west": { "uv": [ 5, 14, 11, 16 ], "texture": "#base" }, + "east": { "uv": [ 5, 14, 11, 16 ], "texture": "#base" } + } + }, + { "from": [ 2, 0, 1 ], + "to": [ 8, 2, 7 ], + "faces": { + "down": { "uv": [ 2, 1, 8, 7 ], "texture": "#base" }, + "up": { "uv": [ 2, 1, 8, 7 ], "texture": "#base" }, + "north": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "south": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "west": { "uv": [ 1, 14, 7, 16 ], "texture": "#base" }, + "east": { "uv": [ 1, 14, 7, 16 ], "texture": "#base" } + } + }, + { "from": [ 2, 0, 9 ], + "to": [ 8, 2, 15 ], + "faces": { + "down": { "uv": [ 2, 9, 8, 15 ], "texture": "#base" }, + "up": { "uv": [ 2, 9, 8, 15 ], "texture": "#base" }, + "north": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "south": { "uv": [ 2, 14, 8, 16 ], "texture": "#base" }, + "west": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" }, + "east": { "uv": [ 9, 14, 15, 16 ], "texture": "#base" } + } + }, + { "from": [ 8, 0, 8 ], + "to": [ 16, 16, 8 ], + "faces": { + "north": { "uv": [ 16, 0, 8, 16 ], "texture": "#stand" }, + "south": { "uv": [ 8, 0, 16, 16 ], "texture": "#stand" } + } + }, + { "from": [ 0, 0, 8 ], + "to": [ 8, 16, 8 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": 45, + "rescale": true + }, + "faces": { + "north": { "uv": [ 8, 0, 16, 16 ], "texture": "#stand" }, + "south": { "uv": [ 16, 0, 8, 16 ], "texture": "#stand" } + } + }, + { "from": [ 0, 0, 8 ], + "to": [ 8, 16, 8 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": -45, + "rescale": true + }, + "faces": { + "north": { "uv": [ 8, 0, 16, 16 ], "texture": "#stand" }, + "south": { "uv": [ 16, 0, 8, 16 ], "texture": "#stand" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brick.json b/desktopRuntime/resources/assets/minecraft/models/block/brick.json new file mode 100644 index 0000000..82f388b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brick.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/brick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brick_inner_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/brick_inner_stairs.json new file mode 100644 index 0000000..90c3b47 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brick_inner_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/inner_stairs", + "textures": { + "bottom": "blocks/brick", + "top": "blocks/brick", + "side": "blocks/brick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brick_outer_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/brick_outer_stairs.json new file mode 100644 index 0000000..3c28d04 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brick_outer_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/outer_stairs", + "textures": { + "bottom": "blocks/brick", + "top": "blocks/brick", + "side": "blocks/brick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brick_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/brick_stairs.json new file mode 100644 index 0000000..1bf8b2a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brick_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/stairs", + "textures": { + "bottom": "blocks/brick", + "top": "blocks/brick", + "side": "blocks/brick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom.json new file mode 100644 index 0000000..e06fae4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/mushroom_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_c.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_c.json new file mode 100644 index 0000000..18e866b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_c.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "blocks/mushroom_block_inside", + "down": "blocks/mushroom_block_inside", + "up": "blocks/mushroom_block_skin_brown", + "north": "blocks/mushroom_block_inside", + "east": "blocks/mushroom_block_inside", + "south": "blocks/mushroom_block_inside", + "west": "blocks/mushroom_block_inside" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_cap_all.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_cap_all.json new file mode 100644 index 0000000..8a75431 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_cap_all.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/mushroom_block_skin_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_e.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_e.json new file mode 100644 index 0000000..780e055 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_e.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "blocks/mushroom_block_inside", + "down": "blocks/mushroom_block_inside", + "up": "blocks/mushroom_block_skin_brown", + "north": "blocks/mushroom_block_inside", + "east": "blocks/mushroom_block_skin_brown", + "south": "blocks/mushroom_block_inside", + "west": "blocks/mushroom_block_inside" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_inside_all.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_inside_all.json new file mode 100644 index 0000000..472dc8a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_inside_all.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/mushroom_block_inside" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_n.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_n.json new file mode 100644 index 0000000..fb5c593 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_n.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "blocks/mushroom_block_inside", + "down": "blocks/mushroom_block_inside", + "up": "blocks/mushroom_block_skin_brown", + "north": "blocks/mushroom_block_skin_brown", + "east": "blocks/mushroom_block_inside", + "south": "blocks/mushroom_block_inside", + "west": "blocks/mushroom_block_inside" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_ne.json new file mode 100644 index 0000000..51080d3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_ne.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "blocks/mushroom_block_inside", + "down": "blocks/mushroom_block_inside", + "up": "blocks/mushroom_block_skin_brown", + "north": "blocks/mushroom_block_skin_brown", + "east": "blocks/mushroom_block_skin_brown", + "south": "blocks/mushroom_block_inside", + "west": "blocks/mushroom_block_inside" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_nw.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_nw.json new file mode 100644 index 0000000..b8fbdf9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_nw.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "blocks/mushroom_block_inside", + "down": "blocks/mushroom_block_inside", + "up": "blocks/mushroom_block_skin_brown", + "north": "blocks/mushroom_block_skin_brown", + "east": "blocks/mushroom_block_inside", + "south": "blocks/mushroom_block_inside", + "west": "blocks/mushroom_block_skin_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_s.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_s.json new file mode 100644 index 0000000..5cc9752 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_s.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "blocks/mushroom_block_inside", + "down": "blocks/mushroom_block_inside", + "up": "blocks/mushroom_block_skin_brown", + "north": "blocks/mushroom_block_inside", + "east": "blocks/mushroom_block_inside", + "south": "blocks/mushroom_block_skin_brown", + "west": "blocks/mushroom_block_inside" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_se.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_se.json new file mode 100644 index 0000000..5881c62 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_se.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "blocks/mushroom_block_inside", + "down": "blocks/mushroom_block_inside", + "up": "blocks/mushroom_block_skin_brown", + "north": "blocks/mushroom_block_inside", + "east": "blocks/mushroom_block_skin_brown", + "south": "blocks/mushroom_block_skin_brown", + "west": "blocks/mushroom_block_inside" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_stem.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_stem.json new file mode 100644 index 0000000..b839c9a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_stem.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "side": "blocks/mushroom_block_skin_stem", + "end": "blocks/mushroom_block_inside" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_stem_all.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_stem_all.json new file mode 100644 index 0000000..73434e4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_stem_all.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/mushroom_block_skin_stem" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_sw.json new file mode 100644 index 0000000..7936308 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_sw.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "blocks/mushroom_block_inside", + "down": "blocks/mushroom_block_inside", + "up": "blocks/mushroom_block_skin_brown", + "north": "blocks/mushroom_block_inside", + "east": "blocks/mushroom_block_inside", + "south": "blocks/mushroom_block_skin_brown", + "west": "blocks/mushroom_block_skin_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_w.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_w.json new file mode 100644 index 0000000..3f8fe8a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_mushroom_block_w.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "blocks/mushroom_block_inside", + "down": "blocks/mushroom_block_inside", + "up": "blocks/mushroom_block_skin_brown", + "north": "blocks/mushroom_block_inside", + "east": "blocks/mushroom_block_inside", + "south": "blocks/mushroom_block_inside", + "west": "blocks/mushroom_block_skin_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_n.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_n.json new file mode 100644 index 0000000..968a8de --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_n.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_n", + "textures": { + "edge": "blocks/glass_pane_top_brown", + "pane": "blocks/glass_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_ne.json new file mode 100644 index 0000000..4a0e525 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_ne.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ne", + "textures": { + "edge": "blocks/glass_pane_top_brown", + "pane": "blocks/glass_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_new.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_new.json new file mode 100644 index 0000000..70cdce8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_new.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_new", + "textures": { + "edge": "blocks/glass_pane_top_brown", + "pane": "blocks/glass_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_ns.json new file mode 100644 index 0000000..a4db56a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_ns.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ns", + "textures": { + "edge": "blocks/glass_pane_top_brown", + "pane": "blocks/glass_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_nse.json new file mode 100644 index 0000000..6036951 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_nse.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nse", + "textures": { + "edge": "blocks/glass_pane_top_brown", + "pane": "blocks/glass_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_nsew.json new file mode 100644 index 0000000..b3f5f52 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_nsew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsew", + "textures": { + "edge": "blocks/glass_pane_top_brown", + "pane": "blocks/glass_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_nsw.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_nsw.json new file mode 100644 index 0000000..8047043 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_nsw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsw", + "textures": { + "edge": "blocks/glass_pane_top_brown", + "pane": "blocks/glass_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_nw.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_nw.json new file mode 100644 index 0000000..7edbeb1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_nw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nw", + "textures": { + "edge": "blocks/glass_pane_top_brown", + "pane": "blocks/glass_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_s.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_s.json new file mode 100644 index 0000000..3459412 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_s.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_s", + "textures": { + "edge": "blocks/glass_pane_top_brown", + "pane": "blocks/glass_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_se.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_se.json new file mode 100644 index 0000000..29dc758 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_se.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_se", + "textures": { + "edge": "blocks/glass_pane_top_brown", + "pane": "blocks/glass_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_sew.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_sew.json new file mode 100644 index 0000000..85b0dc9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_sew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sew", + "textures": { + "edge": "blocks/glass_pane_top_brown", + "pane": "blocks/glass_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_sw.json new file mode 100644 index 0000000..87abb4b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_pane_sw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sw", + "textures": { + "edge": "blocks/glass_pane_top_brown", + "pane": "blocks/glass_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/brown_wool.json b/desktopRuntime/resources/assets/minecraft/models/block/brown_wool.json new file mode 100644 index 0000000..f14b513 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/brown_wool.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/wool_colored_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/button.json b/desktopRuntime/resources/assets/minecraft/models/block/button.json new file mode 100644 index 0000000..8b5c506 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/button.json @@ -0,0 +1,18 @@ +{ + "textures": { + "particle": "#texture" + }, + "elements": [ + { "from": [ 5, 0, 6 ], + "to": [ 11, 2, 10 ], + "faces": { + "down": { "uv": [ 5, 6, 11, 10 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 5, 10, 11, 6 ], "texture": "#texture" }, + "north": { "uv": [ 5, 14, 11, 16 ], "texture": "#texture" }, + "south": { "uv": [ 5, 14, 11, 16 ], "texture": "#texture" }, + "west": { "uv": [ 6, 14, 10, 16 ], "texture": "#texture" }, + "east": { "uv": [ 6, 14, 10, 16 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/button_inventory.json b/desktopRuntime/resources/assets/minecraft/models/block/button_inventory.json new file mode 100644 index 0000000..54e3429 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/button_inventory.json @@ -0,0 +1,18 @@ +{ + "textures": { + "particle": "#texture" + }, + "elements": [ + { "from": [ 5, 6, 6 ], + "to": [ 11, 10, 10 ], + "faces": { + "down": { "uv": [ 5, 6, 11, 10 ], "texture": "#texture" }, + "up": { "uv": [ 5, 10, 11, 6 ], "texture": "#texture" }, + "north": { "uv": [ 5, 12, 11, 16 ], "texture": "#texture" }, + "south": { "uv": [ 5, 12, 11, 16 ], "texture": "#texture" }, + "west": { "uv": [ 6, 12, 10, 16 ], "texture": "#texture" }, + "east": { "uv": [ 6, 12, 10, 16 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/button_pressed.json b/desktopRuntime/resources/assets/minecraft/models/block/button_pressed.json new file mode 100644 index 0000000..40fe996 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/button_pressed.json @@ -0,0 +1,18 @@ +{ + "textures": { + "particle": "#texture" + }, + "elements": [ + { "from": [ 5, 0, 6 ], + "to": [ 11, 1, 10 ], + "faces": { + "down": { "uv": [ 5, 6, 11, 10 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 5, 10, 11, 6 ], "texture": "#texture" }, + "north": { "uv": [ 5, 15, 11, 16 ], "texture": "#texture" }, + "south": { "uv": [ 5, 15, 11, 16 ], "texture": "#texture" }, + "west": { "uv": [ 6, 15, 10, 16 ], "texture": "#texture" }, + "east": { "uv": [ 6, 15, 10, 16 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cactus.json b/desktopRuntime/resources/assets/minecraft/models/block/cactus.json new file mode 100644 index 0000000..02c69f0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cactus.json @@ -0,0 +1,32 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/cactus_side", + "bottom": "blocks/cactus_bottom", + "top": "blocks/cactus_top", + "side": "blocks/cactus_side" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top", "cullface": "up" } + } + }, + { "from": [ 0, 0, 1 ], + "to": [ 16, 16, 15 ], + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" } + } + }, + { "from": [ 1, 0, 0 ], + "to": [ 15, 16, 16 ], + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cake_slice1.json b/desktopRuntime/resources/assets/minecraft/models/block/cake_slice1.json new file mode 100644 index 0000000..9be0a85 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cake_slice1.json @@ -0,0 +1,22 @@ +{ + "textures": { + "particle": "blocks/cake_side", + "bottom": "blocks/cake_bottom", + "top": "blocks/cake_top", + "side": "blocks/cake_side", + "inside": "blocks/cake_inner" + }, + "elements": [ + { "from": [ 3, 0, 1 ], + "to": [ 15, 8, 15 ], + "faces": { + "down": { "uv": [ 3, 1, 15, 15 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 3, 1, 15, 15 ], "texture": "#top" }, + "north": { "uv": [ 1, 8, 13, 16 ], "texture": "#side" }, + "south": { "uv": [ 1, 8, 13, 16 ], "texture": "#side" }, + "west": { "uv": [ 1, 8, 15, 16 ], "texture": "#inside" }, + "east": { "uv": [ 1, 8, 15, 16 ], "texture": "#side" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cake_slice2.json b/desktopRuntime/resources/assets/minecraft/models/block/cake_slice2.json new file mode 100644 index 0000000..07559eb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cake_slice2.json @@ -0,0 +1,22 @@ +{ + "textures": { + "particle": "blocks/cake_side", + "bottom": "blocks/cake_bottom", + "top": "blocks/cake_top", + "side": "blocks/cake_side", + "inside": "blocks/cake_inner" + }, + "elements": [ + { "from": [ 5, 0, 1 ], + "to": [ 15, 8, 15 ], + "faces": { + "down": { "uv": [ 5, 1, 15, 15 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 5, 1, 15, 15 ], "texture": "#top" }, + "north": { "uv": [ 1, 8, 11, 16 ], "texture": "#side" }, + "south": { "uv": [ 1, 8, 11, 16 ], "texture": "#side" }, + "west": { "uv": [ 1, 8, 15, 16 ], "texture": "#inside" }, + "east": { "uv": [ 1, 8, 15, 16 ], "texture": "#side" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cake_slice3.json b/desktopRuntime/resources/assets/minecraft/models/block/cake_slice3.json new file mode 100644 index 0000000..d097df5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cake_slice3.json @@ -0,0 +1,22 @@ +{ + "textures": { + "particle": "blocks/cake_side", + "bottom": "blocks/cake_bottom", + "top": "blocks/cake_top", + "side": "blocks/cake_side", + "inside": "blocks/cake_inner" + }, + "elements": [ + { "from": [ 7, 0, 1 ], + "to": [ 15, 8, 15 ], + "faces": { + "down": { "uv": [ 7, 1, 15, 15 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 7, 1, 15, 15 ], "texture": "#top" }, + "north": { "uv": [ 1, 8, 9, 16 ], "texture": "#side" }, + "south": { "uv": [ 1, 8, 9, 16 ], "texture": "#side" }, + "west": { "uv": [ 1, 8, 15, 16 ], "texture": "#inside" }, + "east": { "uv": [ 1, 8, 15, 16 ], "texture": "#side" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cake_slice4.json b/desktopRuntime/resources/assets/minecraft/models/block/cake_slice4.json new file mode 100644 index 0000000..d8dff74 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cake_slice4.json @@ -0,0 +1,22 @@ +{ + "textures": { + "particle": "blocks/cake_side", + "bottom": "blocks/cake_bottom", + "top": "blocks/cake_top", + "side": "blocks/cake_side", + "inside": "blocks/cake_inner" + }, + "elements": [ + { "from": [ 9, 0, 1 ], + "to": [ 15, 8, 15 ], + "faces": { + "down": { "uv": [ 9, 1, 15, 15 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 9, 1, 15, 15 ], "texture": "#top" }, + "north": { "uv": [ 1, 8, 7, 16 ], "texture": "#side" }, + "south": { "uv": [ 1, 8, 7, 16 ], "texture": "#side" }, + "west": { "uv": [ 1, 8, 15, 16 ], "texture": "#inside" }, + "east": { "uv": [ 1, 8, 15, 16 ], "texture": "#side" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cake_slice5.json b/desktopRuntime/resources/assets/minecraft/models/block/cake_slice5.json new file mode 100644 index 0000000..0f6e8af --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cake_slice5.json @@ -0,0 +1,22 @@ +{ + "textures": { + "particle": "blocks/cake_side", + "bottom": "blocks/cake_bottom", + "top": "blocks/cake_top", + "side": "blocks/cake_side", + "inside": "blocks/cake_inner" + }, + "elements": [ + { "from": [ 11, 0, 1 ], + "to": [ 15, 8, 15 ], + "faces": { + "down": { "uv": [ 11, 1, 15, 15 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 11, 1, 15, 15 ], "texture": "#top" }, + "north": { "uv": [ 1, 8, 5, 16 ], "texture": "#side" }, + "south": { "uv": [ 1, 8, 5, 16 ], "texture": "#side" }, + "west": { "uv": [ 1, 8, 15, 16 ], "texture": "#inside" }, + "east": { "uv": [ 1, 8, 15, 16 ], "texture": "#side" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cake_slice6.json b/desktopRuntime/resources/assets/minecraft/models/block/cake_slice6.json new file mode 100644 index 0000000..c75940f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cake_slice6.json @@ -0,0 +1,22 @@ +{ + "textures": { + "particle": "blocks/cake_side", + "bottom": "blocks/cake_bottom", + "top": "blocks/cake_top", + "side": "blocks/cake_side", + "inside": "blocks/cake_inner" + }, + "elements": [ + { "from": [ 13, 0, 1 ], + "to": [ 15, 8, 15 ], + "faces": { + "down": { "uv": [ 13, 1, 15, 15 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 13, 1, 15, 15 ], "texture": "#top" }, + "north": { "uv": [ 1, 8, 3, 16 ], "texture": "#side" }, + "south": { "uv": [ 1, 8, 3, 16 ], "texture": "#side" }, + "west": { "uv": [ 1, 8, 15, 16 ], "texture": "#inside" }, + "east": { "uv": [ 1, 8, 15, 16 ], "texture": "#side" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cake_uneaten.json b/desktopRuntime/resources/assets/minecraft/models/block/cake_uneaten.json new file mode 100644 index 0000000..c5b9de9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cake_uneaten.json @@ -0,0 +1,21 @@ +{ + "textures": { + "particle": "blocks/cake_side", + "bottom": "blocks/cake_bottom", + "top": "blocks/cake_top", + "side": "blocks/cake_side" + }, + "elements": [ + { "from": [ 1, 0, 1 ], + "to": [ 15, 8, 15 ], + "faces": { + "down": { "uv": [ 1, 1, 15, 15 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 1, 1, 15, 15 ], "texture": "#top" }, + "north": { "uv": [ 1, 8, 15, 16 ], "texture": "#side" }, + "south": { "uv": [ 1, 8, 15, 16 ], "texture": "#side" }, + "west": { "uv": [ 1, 8, 15, 16 ], "texture": "#side" }, + "east": { "uv": [ 1, 8, 15, 16 ], "texture": "#side" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/carpet.json b/desktopRuntime/resources/assets/minecraft/models/block/carpet.json new file mode 100644 index 0000000..67710a1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/carpet.json @@ -0,0 +1,15 @@ +{ + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 1, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#wool", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#wool" }, + "north": { "uv": [ 0, 15, 16, 16 ], "texture": "#wool", "cullface": "north" }, + "south": { "uv": [ 0, 15, 16, 16 ], "texture": "#wool", "cullface": "south" }, + "west": { "uv": [ 0, 15, 16, 16 ], "texture": "#wool", "cullface": "west" }, + "east": { "uv": [ 0, 15, 16, 16 ], "texture": "#wool", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/carpet_black.json b/desktopRuntime/resources/assets/minecraft/models/block/carpet_black.json new file mode 100644 index 0000000..32b0388 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/carpet_black.json @@ -0,0 +1,7 @@ +{ + "parent": "block/carpet", + "textures": { + "particle": "blocks/wool_colored_black", + "wool": "blocks/wool_colored_black" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/carpet_blue.json b/desktopRuntime/resources/assets/minecraft/models/block/carpet_blue.json new file mode 100644 index 0000000..1b53f1b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/carpet_blue.json @@ -0,0 +1,7 @@ +{ + "parent": "block/carpet", + "textures": { + "particle": "blocks/wool_colored_blue", + "wool": "blocks/wool_colored_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/carpet_brown.json b/desktopRuntime/resources/assets/minecraft/models/block/carpet_brown.json new file mode 100644 index 0000000..7b1c74a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/carpet_brown.json @@ -0,0 +1,7 @@ +{ + "parent": "block/carpet", + "textures": { + "particle": "blocks/wool_colored_brown", + "wool": "blocks/wool_colored_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/carpet_cyan.json b/desktopRuntime/resources/assets/minecraft/models/block/carpet_cyan.json new file mode 100644 index 0000000..d5bcffc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/carpet_cyan.json @@ -0,0 +1,7 @@ +{ + "parent": "block/carpet", + "textures": { + "particle": "blocks/wool_colored_cyan", + "wool": "blocks/wool_colored_cyan" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/carpet_gray.json b/desktopRuntime/resources/assets/minecraft/models/block/carpet_gray.json new file mode 100644 index 0000000..426544f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/carpet_gray.json @@ -0,0 +1,7 @@ +{ + "parent": "block/carpet", + "textures": { + "particle": "blocks/wool_colored_gray", + "wool": "blocks/wool_colored_gray" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/carpet_green.json b/desktopRuntime/resources/assets/minecraft/models/block/carpet_green.json new file mode 100644 index 0000000..84e8280 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/carpet_green.json @@ -0,0 +1,7 @@ +{ + "parent": "block/carpet", + "textures": { + "particle": "blocks/wool_colored_green", + "wool": "blocks/wool_colored_green" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/carpet_light_blue.json b/desktopRuntime/resources/assets/minecraft/models/block/carpet_light_blue.json new file mode 100644 index 0000000..e87d04b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/carpet_light_blue.json @@ -0,0 +1,7 @@ +{ + "parent": "block/carpet", + "textures": { + "particle": "blocks/wool_colored_light_blue", + "wool": "blocks/wool_colored_light_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/carpet_lime.json b/desktopRuntime/resources/assets/minecraft/models/block/carpet_lime.json new file mode 100644 index 0000000..7a70b81 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/carpet_lime.json @@ -0,0 +1,7 @@ +{ + "parent": "block/carpet", + "textures": { + "particle": "blocks/wool_colored_lime", + "wool": "blocks/wool_colored_lime" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/carpet_magenta.json b/desktopRuntime/resources/assets/minecraft/models/block/carpet_magenta.json new file mode 100644 index 0000000..25ae7f7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/carpet_magenta.json @@ -0,0 +1,7 @@ +{ + "parent": "block/carpet", + "textures": { + "particle": "blocks/wool_colored_magenta", + "wool": "blocks/wool_colored_magenta" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/carpet_orange.json b/desktopRuntime/resources/assets/minecraft/models/block/carpet_orange.json new file mode 100644 index 0000000..1e01b88 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/carpet_orange.json @@ -0,0 +1,7 @@ +{ + "parent": "block/carpet", + "textures": { + "particle": "blocks/wool_colored_orange", + "wool": "blocks/wool_colored_orange" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/carpet_pink.json b/desktopRuntime/resources/assets/minecraft/models/block/carpet_pink.json new file mode 100644 index 0000000..f7aefe7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/carpet_pink.json @@ -0,0 +1,7 @@ +{ + "parent": "block/carpet", + "textures": { + "particle": "blocks/wool_colored_pink", + "wool": "blocks/wool_colored_pink" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/carpet_purple.json b/desktopRuntime/resources/assets/minecraft/models/block/carpet_purple.json new file mode 100644 index 0000000..01c2d6b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/carpet_purple.json @@ -0,0 +1,7 @@ +{ + "parent": "block/carpet", + "textures": { + "particle": "blocks/wool_colored_purple", + "wool": "blocks/wool_colored_purple" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/carpet_red.json b/desktopRuntime/resources/assets/minecraft/models/block/carpet_red.json new file mode 100644 index 0000000..3a45c71 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/carpet_red.json @@ -0,0 +1,7 @@ +{ + "parent": "block/carpet", + "textures": { + "particle": "blocks/wool_colored_red", + "wool": "blocks/wool_colored_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/carpet_silver.json b/desktopRuntime/resources/assets/minecraft/models/block/carpet_silver.json new file mode 100644 index 0000000..35287d9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/carpet_silver.json @@ -0,0 +1,7 @@ +{ + "parent": "block/carpet", + "textures": { + "particle": "blocks/wool_colored_silver", + "wool": "blocks/wool_colored_silver" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/carpet_white.json b/desktopRuntime/resources/assets/minecraft/models/block/carpet_white.json new file mode 100644 index 0000000..5b38ca7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/carpet_white.json @@ -0,0 +1,7 @@ +{ + "parent": "block/carpet", + "textures": { + "particle": "blocks/wool_colored_white", + "wool": "blocks/wool_colored_white" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/carpet_yellow.json b/desktopRuntime/resources/assets/minecraft/models/block/carpet_yellow.json new file mode 100644 index 0000000..bf328a1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/carpet_yellow.json @@ -0,0 +1,7 @@ +{ + "parent": "block/carpet", + "textures": { + "particle": "blocks/wool_colored_yellow", + "wool": "blocks/wool_colored_yellow" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/carrots_stage0.json b/desktopRuntime/resources/assets/minecraft/models/block/carrots_stage0.json new file mode 100644 index 0000000..63596d4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/carrots_stage0.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/carrots_stage_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/carrots_stage1.json b/desktopRuntime/resources/assets/minecraft/models/block/carrots_stage1.json new file mode 100644 index 0000000..84f9742 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/carrots_stage1.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/carrots_stage_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/carrots_stage2.json b/desktopRuntime/resources/assets/minecraft/models/block/carrots_stage2.json new file mode 100644 index 0000000..eb17687 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/carrots_stage2.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/carrots_stage_2" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/carrots_stage3.json b/desktopRuntime/resources/assets/minecraft/models/block/carrots_stage3.json new file mode 100644 index 0000000..5d7dcbc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/carrots_stage3.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/carrots_stage_3" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cauldron_empty.json b/desktopRuntime/resources/assets/minecraft/models/block/cauldron_empty.json new file mode 100644 index 0000000..8b084f5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cauldron_empty.json @@ -0,0 +1,155 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/cauldron_side", + "top": "blocks/cauldron_top", + "bottom": "blocks/cauldron_bottom", + "side": "blocks/cauldron_side", + "inside": "blocks/cauldron_inner" + }, + "elements": [ + { "from": [ 0, 3, 0 ], + "to": [ 2, 16, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 2, 16 ], "texture": "#inside", "cullface": "down" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 2, 0, 0, 13 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 0, 16, 13 ], "texture": "#side" } + } + }, + { "from": [ 2, 3, 2 ], + "to": [ 14, 4, 14 ], + "faces": { + "down": { "uv": [ 2, 2, 14, 14 ], "texture": "#inside", "cullface": "down" }, + "up": { "uv": [ 2, 2, 14, 14 ], "texture": "#inside", "cullface": "up" }, + "north": { "uv": [ 2, 0, 0, 13 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 14, 3, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [ 14, 0, 16, 16 ], "texture": "#inside", "cullface": "down" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 16, 0, 14, 13 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 14, 0, 16, 13 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 13 ], "texture": "#side" }, + "east": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 2, 3, 0 ], + "to": [ 14, 16, 2 ], + "faces": { + "down": { "uv": [ 2, 0, 14, 2 ], "texture": "#inside", "cullface": "down" }, + "up": { "uv": [ 2, 0, 14, 2 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 2, 0, 14, 13 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 2, 0, 14, 13 ], "texture": "#side" }, + "west": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 2, 3, 14 ], + "to": [ 14, 16, 16 ], + "faces": { + "down": { "uv": [ 2, 14, 14, 16 ], "texture": "#inside", "cullface": "down" }, + "up": { "uv": [ 2, 14, 14, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 2, 0, 14, 13 ], "texture": "#side" }, + "south": { "uv": [ 2, 0, 14, 13 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 14, 0, 16, 13 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 14, 0, 16, 13 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 0, 0, 0 ], + "to": [ 4, 3, 2 ], + "faces": { + "down": { "uv": [ 0, 0, 4, 2 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 4, 13, 0, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 13, 4, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 0, 0, 2 ], + "to": [ 2, 3, 4 ], + "faces": { + "down": { "uv": [ 0, 2, 2, 4 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 2, 13, 0, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 2, 13, 4, 16 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 2, 13, 4, 16 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 12, 0, 0 ], + "to": [ 16, 3, 2 ], + "faces": { + "down": { "uv": [ 12, 0, 16, 2 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 16, 13, 12, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 12, 13, 16, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 14, 0, 2 ], + "to": [ 16, 3, 4 ], + "faces": { + "down": { "uv": [ 14, 2, 16, 4 ], "texture": "#bottom" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top" }, + "north": { "uv": [ 16, 13, 14, 16 ], "texture": "#side" }, + "south": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }, + "west": { "uv": [ 4, 13, 2, 16 ], "texture": "#side" }, + "east": { "uv": [ 4, 13, 2, 16 ], "texture": "#side" } + } + }, + { "from": [ 0, 0, 14 ], + "to": [ 4, 3, 16 ], + "faces": { + "down": { "uv": [ 14, 0, 16, 4 ], "texture": "#bottom" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 4, 13, 0, 16 ], "texture": "#side" }, + "south": { "uv": [ 0, 13, 4, 16 ], "texture": "#side" }, + "west": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }, + "east": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" } + } + }, + { "from": [ 0, 0, 12 ], + "to": [ 2, 3, 14 ], + "faces": { + "down": { "uv": [ 12, 0, 14, 4 ], "texture": "#bottom" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 2, 13, 0, 16 ], "texture": "#side" }, + "south": { "uv": [ 0, 13, 2, 16 ], "texture": "#side" }, + "west": { "uv": [ 12, 13, 14, 16 ], "texture": "#side" }, + "east": { "uv": [ 12, 13, 14, 16 ], "texture": "#side" } + } + }, + { "from": [ 12, 0, 14 ], + "to": [ 16, 3, 16 ], + "faces": { + "down": { "uv": [ 14, 12, 16, 16 ], "texture": "#bottom" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 16, 13, 12, 16 ], "texture": "#side" }, + "south": { "uv": [ 12, 13, 16, 16 ], "texture": "#side" }, + "west": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }, + "east": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" } + } + }, + { "from": [ 14, 0, 12 ], + "to": [ 16, 3, 14 ], + "faces": { + "down": { "uv": [ 14, 12, 16, 14 ], "texture": "#bottom" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 16, 13, 14, 16 ], "texture": "#side" }, + "south": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }, + "west": { "uv": [ 14, 13, 12, 16 ], "texture": "#side" }, + "east": { "uv": [ 14, 13, 12, 16 ], "texture": "#side" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cauldron_level1.json b/desktopRuntime/resources/assets/minecraft/models/block/cauldron_level1.json new file mode 100644 index 0000000..c929bb3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cauldron_level1.json @@ -0,0 +1,162 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/cauldron_side", + "top": "blocks/cauldron_top", + "bottom": "blocks/cauldron_bottom", + "side": "blocks/cauldron_side", + "inside": "blocks/cauldron_inner", + "water": "blocks/water_still" + }, + "elements": [ + { "from": [ 0, 3, 0 ], + "to": [ 2, 16, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 2, 16 ], "texture": "#inside", "cullface": "down" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 2, 0, 0, 13 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 0, 16, 13 ], "texture": "#side" } + } + }, + { "from": [ 2, 3, 2 ], + "to": [ 14, 4, 14 ], + "faces": { + "down": { "uv": [ 2, 2, 14, 14 ], "texture": "#inside", "cullface": "down" }, + "up": { "uv": [ 2, 2, 14, 14 ], "texture": "#inside", "cullface": "up" }, + "north": { "uv": [ 2, 0, 0, 13 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 14, 3, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [ 14, 0, 16, 16 ], "texture": "#inside", "cullface": "down" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 16, 0, 14, 13 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 14, 0, 16, 13 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 13 ], "texture": "#side" }, + "east": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 2, 3, 0 ], + "to": [ 14, 16, 2 ], + "faces": { + "down": { "uv": [ 2, 0, 14, 2 ], "texture": "#inside", "cullface": "down" }, + "up": { "uv": [ 2, 0, 14, 2 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 2, 0, 14, 13 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 2, 0, 14, 13 ], "texture": "#side" }, + "west": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 2, 3, 14 ], + "to": [ 14, 16, 16 ], + "faces": { + "down": { "uv": [ 2, 14, 14, 16 ], "texture": "#inside", "cullface": "down" }, + "up": { "uv": [ 2, 14, 14, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 2, 0, 14, 13 ], "texture": "#side" }, + "south": { "uv": [ 2, 0, 14, 13 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 14, 0, 16, 13 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 14, 0, 16, 13 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 0, 0, 0 ], + "to": [ 4, 3, 2 ], + "faces": { + "down": { "uv": [ 0, 0, 4, 2 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 4, 13, 0, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 13, 4, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 0, 0, 2 ], + "to": [ 2, 3, 4 ], + "faces": { + "down": { "uv": [ 0, 2, 2, 4 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 2, 13, 0, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 2, 13, 4, 16 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 2, 13, 4, 16 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 12, 0, 0 ], + "to": [ 16, 3, 2 ], + "faces": { + "down": { "uv": [ 12, 0, 16, 2 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 16, 13, 12, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 12, 13, 16, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 14, 0, 2 ], + "to": [ 16, 3, 4 ], + "faces": { + "down": { "uv": [ 14, 2, 16, 4 ], "texture": "#bottom" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top" }, + "north": { "uv": [ 16, 13, 14, 16 ], "texture": "#side" }, + "south": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }, + "west": { "uv": [ 4, 13, 2, 16 ], "texture": "#side" }, + "east": { "uv": [ 4, 13, 2, 16 ], "texture": "#side" } + } + }, + { "from": [ 0, 0, 14 ], + "to": [ 4, 3, 16 ], + "faces": { + "down": { "uv": [ 14, 0, 16, 4 ], "texture": "#bottom" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 4, 13, 0, 16 ], "texture": "#side" }, + "south": { "uv": [ 0, 13, 4, 16 ], "texture": "#side" }, + "west": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }, + "east": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" } + } + }, + { "from": [ 0, 0, 12 ], + "to": [ 2, 3, 14 ], + "faces": { + "down": { "uv": [ 12, 0, 14, 4 ], "texture": "#bottom" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 2, 13, 0, 16 ], "texture": "#side" }, + "south": { "uv": [ 0, 13, 2, 16 ], "texture": "#side" }, + "west": { "uv": [ 12, 13, 14, 16 ], "texture": "#side" }, + "east": { "uv": [ 12, 13, 14, 16 ], "texture": "#side" } + } + }, + { "from": [ 12, 0, 14 ], + "to": [ 16, 3, 16 ], + "faces": { + "down": { "uv": [ 14, 12, 16, 16 ], "texture": "#bottom" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 16, 13, 12, 16 ], "texture": "#side" }, + "south": { "uv": [ 12, 13, 16, 16 ], "texture": "#side" }, + "west": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }, + "east": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" } + } + }, + { "from": [ 14, 0, 12 ], + "to": [ 16, 3, 14 ], + "faces": { + "down": { "uv": [ 14, 12, 16, 14 ], "texture": "#bottom" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 16, 13, 14, 16 ], "texture": "#side" }, + "south": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }, + "west": { "uv": [ 14, 13, 12, 16 ], "texture": "#side" }, + "east": { "uv": [ 14, 13, 12, 16 ], "texture": "#side" } + } + }, + { "from": [ 2, 9, 2 ], + "to": [ 14, 9, 14 ], + "faces": { + "up": { "uv": [ 2, 2, 14, 14 ], "texture": "#water" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cauldron_level2.json b/desktopRuntime/resources/assets/minecraft/models/block/cauldron_level2.json new file mode 100644 index 0000000..b486310 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cauldron_level2.json @@ -0,0 +1,162 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/cauldron_side", + "top": "blocks/cauldron_top", + "bottom": "blocks/cauldron_bottom", + "side": "blocks/cauldron_side", + "inside": "blocks/cauldron_inner", + "water": "blocks/water_still" + }, + "elements": [ + { "from": [ 0, 3, 0 ], + "to": [ 2, 16, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 2, 16 ], "texture": "#inside", "cullface": "down" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 2, 0, 0, 13 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 0, 16, 13 ], "texture": "#side" } + } + }, + { "from": [ 2, 3, 2 ], + "to": [ 14, 4, 14 ], + "faces": { + "down": { "uv": [ 2, 2, 14, 14 ], "texture": "#inside", "cullface": "down" }, + "up": { "uv": [ 2, 2, 14, 14 ], "texture": "#inside", "cullface": "up" }, + "north": { "uv": [ 2, 0, 0, 13 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 14, 3, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [ 14, 0, 16, 16 ], "texture": "#inside", "cullface": "down" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 16, 0, 14, 13 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 14, 0, 16, 13 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 13 ], "texture": "#side" }, + "east": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 2, 3, 0 ], + "to": [ 14, 16, 2 ], + "faces": { + "down": { "uv": [ 2, 0, 14, 2 ], "texture": "#inside", "cullface": "down" }, + "up": { "uv": [ 2, 0, 14, 2 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 2, 0, 14, 13 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 2, 0, 14, 13 ], "texture": "#side" }, + "west": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 2, 3, 14 ], + "to": [ 14, 16, 16 ], + "faces": { + "down": { "uv": [ 2, 14, 14, 16 ], "texture": "#inside", "cullface": "down" }, + "up": { "uv": [ 2, 14, 14, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 2, 0, 14, 13 ], "texture": "#side" }, + "south": { "uv": [ 2, 0, 14, 13 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 14, 0, 16, 13 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 14, 0, 16, 13 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 0, 0, 0 ], + "to": [ 4, 3, 2 ], + "faces": { + "down": { "uv": [ 0, 0, 4, 2 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 4, 13, 0, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 13, 4, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 0, 0, 2 ], + "to": [ 2, 3, 4 ], + "faces": { + "down": { "uv": [ 0, 2, 2, 4 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 2, 13, 0, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 2, 13, 4, 16 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 2, 13, 4, 16 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 12, 0, 0 ], + "to": [ 16, 3, 2 ], + "faces": { + "down": { "uv": [ 12, 0, 16, 2 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 16, 13, 12, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 12, 13, 16, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 14, 0, 2 ], + "to": [ 16, 3, 4 ], + "faces": { + "down": { "uv": [ 14, 2, 16, 4 ], "texture": "#bottom" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top" }, + "north": { "uv": [ 16, 13, 14, 16 ], "texture": "#side" }, + "south": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }, + "west": { "uv": [ 4, 13, 2, 16 ], "texture": "#side" }, + "east": { "uv": [ 4, 13, 2, 16 ], "texture": "#side" } + } + }, + { "from": [ 0, 0, 14 ], + "to": [ 4, 3, 16 ], + "faces": { + "down": { "uv": [ 14, 0, 16, 4 ], "texture": "#bottom" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 4, 13, 0, 16 ], "texture": "#side" }, + "south": { "uv": [ 0, 13, 4, 16 ], "texture": "#side" }, + "west": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }, + "east": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" } + } + }, + { "from": [ 0, 0, 12 ], + "to": [ 2, 3, 14 ], + "faces": { + "down": { "uv": [ 12, 0, 14, 4 ], "texture": "#bottom" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 2, 13, 0, 16 ], "texture": "#side" }, + "south": { "uv": [ 0, 13, 2, 16 ], "texture": "#side" }, + "west": { "uv": [ 12, 13, 14, 16 ], "texture": "#side" }, + "east": { "uv": [ 12, 13, 14, 16 ], "texture": "#side" } + } + }, + { "from": [ 12, 0, 14 ], + "to": [ 16, 3, 16 ], + "faces": { + "down": { "uv": [ 14, 12, 16, 16 ], "texture": "#bottom" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 16, 13, 12, 16 ], "texture": "#side" }, + "south": { "uv": [ 12, 13, 16, 16 ], "texture": "#side" }, + "west": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }, + "east": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" } + } + }, + { "from": [ 14, 0, 12 ], + "to": [ 16, 3, 14 ], + "faces": { + "down": { "uv": [ 14, 12, 16, 14 ], "texture": "#bottom" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 16, 13, 14, 16 ], "texture": "#side" }, + "south": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }, + "west": { "uv": [ 14, 13, 12, 16 ], "texture": "#side" }, + "east": { "uv": [ 14, 13, 12, 16 ], "texture": "#side" } + } + }, + { "from": [ 2, 12, 2 ], + "to": [ 14, 12, 14 ], + "faces": { + "up": { "uv": [ 2, 2, 14, 14 ], "texture": "#water" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cauldron_level3.json b/desktopRuntime/resources/assets/minecraft/models/block/cauldron_level3.json new file mode 100644 index 0000000..841621b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cauldron_level3.json @@ -0,0 +1,162 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/cauldron_side", + "top": "blocks/cauldron_top", + "bottom": "blocks/cauldron_bottom", + "side": "blocks/cauldron_side", + "inside": "blocks/cauldron_inner", + "water": "blocks/water_still" + }, + "elements": [ + { "from": [ 0, 3, 0 ], + "to": [ 2, 16, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 2, 16 ], "texture": "#inside", "cullface": "down" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 2, 0, 0, 13 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 0, 16, 13 ], "texture": "#side" } + } + }, + { "from": [ 2, 3, 2 ], + "to": [ 14, 4, 14 ], + "faces": { + "down": { "uv": [ 2, 2, 14, 14 ], "texture": "#inside", "cullface": "down" }, + "up": { "uv": [ 2, 2, 14, 14 ], "texture": "#inside", "cullface": "up" }, + "north": { "uv": [ 2, 0, 0, 13 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 14, 3, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [ 14, 0, 16, 16 ], "texture": "#inside", "cullface": "down" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 16, 0, 14, 13 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 14, 0, 16, 13 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 13 ], "texture": "#side" }, + "east": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 2, 3, 0 ], + "to": [ 14, 16, 2 ], + "faces": { + "down": { "uv": [ 2, 0, 14, 2 ], "texture": "#inside", "cullface": "down" }, + "up": { "uv": [ 2, 0, 14, 2 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 2, 0, 14, 13 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 2, 0, 14, 13 ], "texture": "#side" }, + "west": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 2, 3, 14 ], + "to": [ 14, 16, 16 ], + "faces": { + "down": { "uv": [ 2, 14, 14, 16 ], "texture": "#inside", "cullface": "down" }, + "up": { "uv": [ 2, 14, 14, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 2, 0, 14, 13 ], "texture": "#side" }, + "south": { "uv": [ 2, 0, 14, 13 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 14, 0, 16, 13 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 14, 0, 16, 13 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 0, 0, 0 ], + "to": [ 4, 3, 2 ], + "faces": { + "down": { "uv": [ 0, 0, 4, 2 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 4, 13, 0, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 13, 4, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 0, 0, 2 ], + "to": [ 2, 3, 4 ], + "faces": { + "down": { "uv": [ 0, 2, 2, 4 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 2, 13, 0, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 2, 13, 4, 16 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 2, 13, 4, 16 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 12, 0, 0 ], + "to": [ 16, 3, 2 ], + "faces": { + "down": { "uv": [ 12, 0, 16, 2 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 16, 13, 12, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 12, 13, 16, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 14, 0, 2 ], + "to": [ 16, 3, 4 ], + "faces": { + "down": { "uv": [ 14, 2, 16, 4 ], "texture": "#bottom" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top" }, + "north": { "uv": [ 16, 13, 14, 16 ], "texture": "#side" }, + "south": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }, + "west": { "uv": [ 4, 13, 2, 16 ], "texture": "#side" }, + "east": { "uv": [ 4, 13, 2, 16 ], "texture": "#side" } + } + }, + { "from": [ 0, 0, 14 ], + "to": [ 4, 3, 16 ], + "faces": { + "down": { "uv": [ 14, 0, 16, 4 ], "texture": "#bottom" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 4, 13, 0, 16 ], "texture": "#side" }, + "south": { "uv": [ 0, 13, 4, 16 ], "texture": "#side" }, + "west": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }, + "east": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" } + } + }, + { "from": [ 0, 0, 12 ], + "to": [ 2, 3, 14 ], + "faces": { + "down": { "uv": [ 12, 0, 14, 4 ], "texture": "#bottom" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 2, 13, 0, 16 ], "texture": "#side" }, + "south": { "uv": [ 0, 13, 2, 16 ], "texture": "#side" }, + "west": { "uv": [ 12, 13, 14, 16 ], "texture": "#side" }, + "east": { "uv": [ 12, 13, 14, 16 ], "texture": "#side" } + } + }, + { "from": [ 12, 0, 14 ], + "to": [ 16, 3, 16 ], + "faces": { + "down": { "uv": [ 14, 12, 16, 16 ], "texture": "#bottom" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 16, 13, 12, 16 ], "texture": "#side" }, + "south": { "uv": [ 12, 13, 16, 16 ], "texture": "#side" }, + "west": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }, + "east": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" } + } + }, + { "from": [ 14, 0, 12 ], + "to": [ 16, 3, 14 ], + "faces": { + "down": { "uv": [ 14, 12, 16, 14 ], "texture": "#bottom" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 16, 13, 14, 16 ], "texture": "#side" }, + "south": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }, + "west": { "uv": [ 14, 13, 12, 16 ], "texture": "#side" }, + "east": { "uv": [ 14, 13, 12, 16 ], "texture": "#side" } + } + }, + { "from": [ 2, 15, 2 ], + "to": [ 14, 15, 14 ], + "faces": { + "up": { "uv": [ 2, 2, 14, 14 ], "texture": "#water" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/chain_command_block.json b/desktopRuntime/resources/assets/minecraft/models/block/chain_command_block.json new file mode 100644 index 0000000..67b0b0b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/chain_command_block.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube_directional", + "textures": { + "particle": "blocks/chain_command_block_back", + "down": "blocks/chain_command_block_side", + "up": "blocks/chain_command_block_side", + "north": "blocks/chain_command_block_front", + "east": "blocks/chain_command_block_side", + "south": "blocks/chain_command_block_back", + "west": "blocks/chain_command_block_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/chain_command_block_conditional.json b/desktopRuntime/resources/assets/minecraft/models/block/chain_command_block_conditional.json new file mode 100644 index 0000000..0488df2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/chain_command_block_conditional.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube_directional", + "textures": { + "particle": "blocks/chain_command_block_back", + "down": "blocks/chain_command_block_conditional", + "up": "blocks/chain_command_block_conditional", + "north": "blocks/chain_command_block_front", + "east": "blocks/chain_command_block_conditional", + "south": "blocks/chain_command_block_back", + "west": "blocks/chain_command_block_conditional" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/chorus_flower.json b/desktopRuntime/resources/assets/minecraft/models/block/chorus_flower.json new file mode 100644 index 0000000..b744f79 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/chorus_flower.json @@ -0,0 +1,76 @@ +{ + "textures": { + "texture": "blocks/chorus_flower", + "bottom": "blocks/chorus_plant", + "particle": "blocks/chorus_flower" + }, + "elements": [ + { + "from": [ 2, 14, 2 ], + "to": [ 14, 16, 14 ], + "faces": { + "up": { "uv": [ 2, 2, 14, 14 ], "texture": "#texture" }, + "north": { "uv": [ 2, 0, 14, 2 ], "texture": "#bottom" }, + "south": { "uv": [ 2, 0, 14, 2 ], "texture": "#bottom" }, + "west": { "uv": [ 2, 0, 14, 2 ], "texture": "#bottom" }, + "east": { "uv": [ 2, 0, 14, 2 ], "texture": "#bottom" } + } + }, + { + "from": [ 0, 2, 2 ], + "to": [ 2, 14, 14 ], + "faces": { + "down": { "uv": [ 16, 14, 14, 2 ], "texture": "#bottom" }, + "up": { "uv": [ 0, 2, 2, 14 ], "texture": "#bottom" }, + "north": { "uv": [ 14, 2, 16, 14 ], "texture": "#bottom" }, + "south": { "uv": [ 0, 2, 2, 14 ], "texture": "#bottom" }, + "west": { "uv": [ 2, 2, 14, 14 ], "texture": "#texture" } + } + }, + { + "from": [ 2, 2, 0 ], + "to": [ 14, 14, 2 ], + "faces": { + "down": { "uv": [ 14, 2, 2, 0 ], "texture": "#bottom" }, + "up": { "uv": [ 2, 0, 14, 2 ], "texture": "#bottom" }, + "north": { "uv": [ 2, 2, 14, 14 ], "texture": "#texture" }, + "west": { "uv": [ 0, 2, 2, 14 ], "texture": "#bottom" }, + "east": { "uv": [ 14, 2, 16, 14 ], "texture": "#bottom" } + } + }, + { + "from": [ 2, 2, 14 ], + "to": [ 14, 14, 16 ], + "faces": { + "down": { "uv": [ 14, 16, 2, 14 ], "texture": "#bottom" }, + "up": { "uv": [ 2, 14, 14, 16 ], "texture": "#bottom" }, + "south": { "uv": [ 2, 2, 14, 14 ], "texture": "#texture" }, + "west": { "uv": [ 14, 2, 16, 14 ], "texture": "#bottom" }, + "east": { "uv": [ 0, 2, 2, 14 ], "texture": "#bottom" } + } + }, + { + "from": [ 14, 2, 2 ], + "to": [ 16, 14, 14 ], + "faces": { + "down": { "uv": [ 2, 14, 0, 2 ], "texture": "#bottom" }, + "up": { "uv": [ 14, 2, 16, 14 ], "texture": "#bottom" }, + "north": { "uv": [ 0, 2, 2, 14 ], "texture": "#bottom" }, + "south": { "uv": [ 14, 2, 16, 14 ], "texture": "#bottom" }, + "east": { "uv": [ 2, 2, 14, 14 ], "texture": "#texture" } + } + }, + { + "from": [ 2, 0, 2 ], + "to": [ 14, 14, 14 ], + "faces": { + "up": { "uv": [ 2, 2, 14, 14 ], "texture": "#bottom" }, + "down": { "uv": [ 14, 14, 2, 2 ], "texture": "#bottom" }, + "north": { "uv": [ 2, 2, 14, 16 ], "texture": "#bottom" }, + "south": { "uv": [ 2, 2, 14, 16 ], "texture": "#bottom" }, + "west": { "uv": [ 2, 2, 14, 16 ], "texture": "#bottom" }, + "east": { "uv": [ 2, 2, 14, 16 ], "texture": "#bottom" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/chorus_flower_dead.json b/desktopRuntime/resources/assets/minecraft/models/block/chorus_flower_dead.json new file mode 100644 index 0000000..7e9cae5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/chorus_flower_dead.json @@ -0,0 +1,8 @@ +{ + "parent": "block/chorus_flower", + "textures": { + "texture": "blocks/chorus_flower_dead", + "bottom": "blocks/chorus_plant", + "particle": "blocks/chorus_flower_dead" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/chorus_plant.json b/desktopRuntime/resources/assets/minecraft/models/block/chorus_plant.json new file mode 100644 index 0000000..a9caec0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/chorus_plant.json @@ -0,0 +1,81 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { "from": [ 2, 14, 2 ], + "to": [ 14, 16, 14 ], + "faces": { + "up": { "uv": [ 2, 2, 14, 14 ], "texture": "#texture", "cullface":"up" }, + "north": { "uv": [ 2, 0, 14, 2 ], "texture": "#texture", "cullface":"up" }, + "south": { "uv": [ 2, 0, 14, 2 ], "texture": "#texture", "cullface":"up" }, + "west": { "uv": [ 2, 0, 14, 2 ], "texture": "#texture", "cullface":"up" }, + "east": { "uv": [ 2, 0, 14, 2 ], "texture": "#texture", "cullface":"up" } + } + }, + { "from": [ 0, 2, 2 ], + "to": [ 2, 14, 14 ], + "faces": { + "down": { "uv": [ 16, 14, 14, 2 ], "texture": "#texture", "cullface":"west" }, + "up": { "uv": [ 0, 2, 2, 14 ], "texture": "#texture", "cullface":"west" }, + "north": { "uv": [ 14, 2, 16, 14 ], "texture": "#texture", "cullface":"west" }, + "south": { "uv": [ 0, 2, 2, 14 ], "texture": "#texture", "cullface":"west" }, + "west": { "uv": [ 2, 2, 14, 14 ], "texture": "#texture", "cullface":"west" } + } + }, + { "from": [ 2, 2, 0 ], + "to": [ 14, 14, 2 ], + "faces": { + "down": { "uv": [ 14, 2, 2, 0 ], "texture": "#texture", "cullface":"north" }, + "up": { "uv": [ 2, 0, 14, 2 ], "texture": "#texture", "cullface":"north" }, + "north": { "uv": [ 2, 2, 14, 14 ], "texture": "#texture", "cullface":"north" }, + "west": { "uv": [ 0, 2, 2, 14 ], "texture": "#texture", "cullface":"north" }, + "east": { "uv": [ 14, 2, 16, 14 ], "texture": "#texture", "cullface":"north" } + } + }, + { "from": [ 2, 2, 14 ], + "to": [ 14, 14, 16 ], + "faces": { + "down": { "uv": [ 14, 16, 2, 14 ], "texture": "#texture", "cullface":"south" }, + "up": { "uv": [ 2, 14, 14, 16 ], "texture": "#texture", "cullface":"south" }, + "south": { "uv": [ 2, 2, 14, 14 ], "texture": "#texture", "cullface":"south" }, + "west": { "uv": [ 14, 2, 16, 14 ], "texture": "#texture", "cullface":"south" }, + "east": { "uv": [ 0, 2, 2, 14 ], "texture": "#texture", "cullface":"south" } + } + }, + { "from": [ 14, 2, 2 ], + "to": [ 16, 14, 14 ], + "faces": { + "down": { "uv": [ 2, 14, 0, 2 ], "texture": "#texture", "cullface":"east" }, + "up": { "uv": [ 14, 2, 16, 14 ], "texture": "#texture", "cullface":"east" }, + "north": { "uv": [ 0, 2, 2, 14 ], "texture": "#texture", "cullface":"east" }, + "south": { "uv": [ 14, 2, 16, 14 ], "texture": "#texture", "cullface":"east" }, + "east": { "uv": [ 2, 2, 14, 14 ], "texture": "#texture", "cullface":"east" } + } + }, + { "from": [ 2, 0, 2 ], + "to": [ 14, 2, 14 ], + "faces": { + "down": { "uv": [ 14, 14, 2, 2 ], "texture": "#texture", "cullface":"down" }, + "north": { "uv": [ 2, 14, 14, 16 ], "texture": "#texture", "cullface":"down" }, + "south": { "uv": [ 2, 14, 14, 16 ], "texture": "#texture", "cullface":"down" }, + "west": { "uv": [ 2, 14, 14, 16 ], "texture": "#texture", "cullface":"down" }, + "east": { "uv": [ 2, 14, 14, 16 ], "texture": "#texture", "cullface":"down" } + } + }, + { "from": [ 2, 2, 2 ], + "to": [ 14, 14, 14 ], + "faces": { + "down": { "uv": [ 14, 14, 2, 2 ], "texture": "#inside" }, + "up": { "uv": [ 2, 2, 14, 14 ], "texture": "#inside" }, + "north": { "uv": [ 2, 2, 14, 14 ], "texture": "#inside" }, + "south": { "uv": [ 2, 2, 14, 14 ], "texture": "#inside" }, + "west": { "uv": [ 2, 2, 14, 14 ], "texture": "#inside" }, + "east": { "uv": [ 2, 2, 14, 14 ], "texture": "#inside" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/clay.json b/desktopRuntime/resources/assets/minecraft/models/block/clay.json new file mode 100644 index 0000000..a1d68d5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/clay.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/clay" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/coal_block.json b/desktopRuntime/resources/assets/minecraft/models/block/coal_block.json new file mode 100644 index 0000000..4760fd9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/coal_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/coal_block" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/coal_ore.json b/desktopRuntime/resources/assets/minecraft/models/block/coal_ore.json new file mode 100644 index 0000000..a475352 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/coal_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/coal_ore" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/coarse_dirt.json b/desktopRuntime/resources/assets/minecraft/models/block/coarse_dirt.json new file mode 100644 index 0000000..8badd3f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/coarse_dirt.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/coarse_dirt" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cobblestone.json b/desktopRuntime/resources/assets/minecraft/models/block/cobblestone.json new file mode 100644 index 0000000..5b3a489 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cobblestone.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/cobblestone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_inventory.json b/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_inventory.json new file mode 100644 index 0000000..079cb13 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_inventory", + "textures": { + "wall": "blocks/cobblestone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_mossy_inventory.json b/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_mossy_inventory.json new file mode 100644 index 0000000..f5f126f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_mossy_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_inventory", + "textures": { + "wall": "blocks/cobblestone_mossy" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_n.json b/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_n.json new file mode 100644 index 0000000..2b04bb1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_n.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_n", + "textures": { + "wall": "blocks/cobblestone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_ne.json new file mode 100644 index 0000000..56ae774 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_ne.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_ne", + "textures": { + "wall": "blocks/cobblestone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_ns.json new file mode 100644 index 0000000..ba0495e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_ns.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_ns", + "textures": { + "wall": "blocks/cobblestone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_ns_above.json b/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_ns_above.json new file mode 100644 index 0000000..c320ef8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_ns_above.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_ns_above", + "textures": { + "wall": "blocks/cobblestone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_nse.json new file mode 100644 index 0000000..d2baeff --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_nse.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_nse", + "textures": { + "wall": "blocks/cobblestone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_nsew.json new file mode 100644 index 0000000..d09ac04 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_nsew.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_nsew", + "textures": { + "wall": "blocks/cobblestone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_post.json b/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_post.json new file mode 100644 index 0000000..6b3069b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cobblestone_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_post", + "textures": { + "wall": "blocks/cobblestone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cocoa_age0_s.json b/desktopRuntime/resources/assets/minecraft/models/block/cocoa_age0_s.json new file mode 100644 index 0000000..2e8804e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cocoa_age0_s.json @@ -0,0 +1,27 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/cocoa_stage_0", + "cocoa": "blocks/cocoa_stage_0" + }, + "elements": [ + { "from": [ 6, 7, 11 ], + "to": [ 10, 12, 15 ], + "faces": { + "down": { "uv": [ 0, 0, 4, 4 ], "texture": "#cocoa" }, + "up": { "uv": [ 0, 0, 4, 4 ], "texture": "#cocoa" }, + "north": { "uv": [ 11, 4, 15, 9 ], "texture": "#cocoa" }, + "south": { "uv": [ 11, 4, 15, 9 ], "texture": "#cocoa" }, + "west": { "uv": [ 11, 4, 15, 9 ], "texture": "#cocoa" }, + "east": { "uv": [ 11, 4, 15, 9 ], "texture": "#cocoa" } + } + }, + { "from": [ 8, 12, 12 ], + "to": [ 8, 16, 16 ], + "faces": { + "west": { "uv": [ 12, 0, 16, 4 ], "texture": "#cocoa" }, + "east": { "uv": [ 16, 0, 12, 4 ], "texture": "#cocoa" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cocoa_age1_s.json b/desktopRuntime/resources/assets/minecraft/models/block/cocoa_age1_s.json new file mode 100644 index 0000000..05e8c8e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cocoa_age1_s.json @@ -0,0 +1,27 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/cocoa_stage_1", + "cocoa": "blocks/cocoa_stage_1" + }, + "elements": [ + { "from": [ 5, 5, 9 ], + "to": [ 11, 12, 15 ], + "faces": { + "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#cocoa" }, + "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#cocoa" }, + "north": { "uv": [ 9, 4, 15, 11 ], "texture": "#cocoa" }, + "south": { "uv": [ 9, 4, 15, 11 ], "texture": "#cocoa" }, + "west": { "uv": [ 9, 4, 15, 11 ], "texture": "#cocoa" }, + "east": { "uv": [ 9, 4, 15, 11 ], "texture": "#cocoa" } + } + }, + { "from": [ 8, 12, 12 ], + "to": [ 8, 16, 16 ], + "faces": { + "west": { "uv": [ 12, 0, 16, 4 ], "texture": "#cocoa" }, + "east": { "uv": [ 16, 0, 12, 4 ], "texture": "#cocoa" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cocoa_age2_s.json b/desktopRuntime/resources/assets/minecraft/models/block/cocoa_age2_s.json new file mode 100644 index 0000000..d9b70ce --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cocoa_age2_s.json @@ -0,0 +1,27 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/cocoa_stage_2", + "cocoa": "blocks/cocoa_stage_2" + }, + "elements": [ + { "from": [ 4, 3, 7 ], + "to": [ 12, 12, 15 ], + "faces": { + "down": { "uv": [ 0, 0, 7, 7 ], "texture": "#cocoa" }, + "up": { "uv": [ 0, 0, 7, 7 ], "texture": "#cocoa" }, + "north": { "uv": [ 7, 4, 15, 13 ], "texture": "#cocoa" }, + "south": { "uv": [ 7, 4, 15, 13 ], "texture": "#cocoa" }, + "west": { "uv": [ 7, 4, 15, 13 ], "texture": "#cocoa" }, + "east": { "uv": [ 7, 4, 15, 13 ], "texture": "#cocoa" } + } + }, + { "from": [ 8, 12, 12 ], + "to": [ 8, 16, 16 ], + "faces": { + "west": { "uv": [ 12, 0, 16, 4 ], "texture": "#cocoa" }, + "east": { "uv": [ 16, 0, 12, 4 ], "texture": "#cocoa" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/column_side.json b/desktopRuntime/resources/assets/minecraft/models/block/column_side.json new file mode 100644 index 0000000..1a7f9e7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/column_side.json @@ -0,0 +1,18 @@ +{ + "textures": { + "particle": "#side" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#side", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#side", "cullface": "up" }, + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#end", "cullface": "north" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#end", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#side", "cullface": "west", "rotation": 270 }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#side", "cullface": "east", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/command_block.json b/desktopRuntime/resources/assets/minecraft/models/block/command_block.json new file mode 100644 index 0000000..a375547 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/command_block.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube_directional", + "textures": { + "particle": "blocks/command_block_back", + "down": "blocks/command_block_side", + "up": "blocks/command_block_side", + "north": "blocks/command_block_front", + "east": "blocks/command_block_side", + "south": "blocks/command_block_back", + "west": "blocks/command_block_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/command_block_conditional.json b/desktopRuntime/resources/assets/minecraft/models/block/command_block_conditional.json new file mode 100644 index 0000000..1639f2e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/command_block_conditional.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube_directional", + "textures": { + "particle": "blocks/command_block_back", + "down": "blocks/command_block_conditional", + "up": "blocks/command_block_conditional", + "north": "blocks/command_block_front", + "east": "blocks/command_block_conditional", + "south": "blocks/command_block_back", + "west": "blocks/command_block_conditional" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/comparator_lit.json b/desktopRuntime/resources/assets/minecraft/models/block/comparator_lit.json new file mode 100644 index 0000000..bc1ed81 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/comparator_lit.json @@ -0,0 +1,74 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/comparator_on", + "slab": "blocks/stone_slab_top", + "top": "blocks/comparator_on", + "unlit": "blocks/redstone_torch_off", + "lit": "blocks/redstone_torch_on" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#slab", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "north" }, + "south": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "south" }, + "west": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "west" }, + "east": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "east" } + } + }, + { "from": [ 4, 7, 11 ], + "to": [ 6, 7, 13 ], + "faces": { + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lit" } + } + }, + { "from": [ 4, 2, 10 ], + "to": [ 6, 8, 14 ], + "faces": { + "west": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "east": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 3, 2, 11 ], + "to": [ 7, 8, 13 ], + "faces": { + "north": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "south": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 10, 7, 11 ], + "to": [ 12, 7, 13 ], + "faces": { + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lit" } + } + }, + { "from": [ 10, 2, 10 ], + "to": [ 12, 8, 14 ], + "faces": { + "west": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "east": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 9, 2, 11 ], + "to": [ 13, 8, 13 ], + "faces": { + "north": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "south": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 7, 2, 2 ], + "to": [ 9, 4, 4 ], + "faces": { + "down": { "uv": [ 7, 13, 9, 15 ], "texture": "#unlit" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "north": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "south": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "west": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "east": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/comparator_lit_subtract.json b/desktopRuntime/resources/assets/minecraft/models/block/comparator_lit_subtract.json new file mode 100644 index 0000000..e55921f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/comparator_lit_subtract.json @@ -0,0 +1,83 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/comparator_on", + "slab": "blocks/stone_slab_top", + "top": "blocks/comparator_on", + "unlit": "blocks/redstone_torch_off", + "lit": "blocks/redstone_torch_on" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#slab", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "north" }, + "south": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "south" }, + "west": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "west" }, + "east": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "east" } + } + }, + { "from": [ 4, 7, 11 ], + "to": [ 6, 7, 13 ], + "faces": { + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lit" } + } + }, + { "from": [ 4, 2, 10 ], + "to": [ 6, 8, 14 ], + "faces": { + "west": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "east": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 3, 2, 11 ], + "to": [ 7, 8, 13 ], + "faces": { + "north": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "south": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 10, 7, 11 ], + "to": [ 12, 7, 13 ], + "faces": { + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lit" } + } + }, + { "from": [ 10, 2, 10 ], + "to": [ 12, 8, 14 ], + "faces": { + "west": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "east": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 9, 2, 11 ], + "to": [ 13, 8, 13 ], + "faces": { + "north": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "south": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 7, 5, 2 ], + "to": [ 9, 5, 4 ], + "faces": { + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lit" } + } + }, + { "from": [ 7, 2, 1 ], + "to": [ 9, 6, 5 ], + "faces": { + "west": { "uv": [ 6, 5, 10, 9 ], "texture": "#lit" }, + "east": { "uv": [ 6, 5, 10, 9 ], "texture": "#lit" } + } + }, + { "from": [ 6, 2, 2 ], + "to": [ 10, 6, 4 ], + "faces": { + "north": { "uv": [ 6, 5, 10, 9 ], "texture": "#lit" }, + "south": { "uv": [ 6, 5, 10, 9 ], "texture": "#lit" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/comparator_unlit.json b/desktopRuntime/resources/assets/minecraft/models/block/comparator_unlit.json new file mode 100644 index 0000000..7da6397 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/comparator_unlit.json @@ -0,0 +1,56 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/comparator_off", + "slab": "blocks/stone_slab_top", + "top": "blocks/comparator_off", + "unlit": "blocks/redstone_torch_off", + "lit": "blocks/redstone_torch_on" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#slab", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "north" }, + "south": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "south" }, + "west": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "west" }, + "east": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "east" } + } + }, + { "from": [ 4, 2, 11 ], + "to": [ 6, 7, 13 ], + "faces": { + "down": { "uv": [ 7, 13, 9, 15 ], "texture": "#unlit" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "north": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "south": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "west": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "east": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" } + } + }, + { "from": [ 10, 2, 11 ], + "to": [ 12, 7, 13 ], + "faces": { + "down": { "uv": [ 7, 13, 9, 15 ], "texture": "#unlit" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "north": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "south": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "west": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "east": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" } + } + }, + { "from": [ 7, 2, 2 ], + "to": [ 9, 4, 4 ], + "faces": { + "down": { "uv": [ 7, 13, 9, 15 ], "texture": "#unlit" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "north": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "south": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "west": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "east": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/comparator_unlit_subtract.json b/desktopRuntime/resources/assets/minecraft/models/block/comparator_unlit_subtract.json new file mode 100644 index 0000000..bb0c4ec --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/comparator_unlit_subtract.json @@ -0,0 +1,65 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/comparator_off", + "slab": "blocks/stone_slab_top", + "top": "blocks/comparator_off", + "unlit": "blocks/redstone_torch_off", + "lit": "blocks/redstone_torch_on" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#slab", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "north" }, + "south": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "south" }, + "west": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "west" }, + "east": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "east" } + } + }, + { "from": [ 4, 2, 11 ], + "to": [ 6, 7, 13 ], + "faces": { + "down": { "uv": [ 7, 13, 9, 15 ], "texture": "#unlit" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "north": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "south": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "west": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "east": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" } + } + }, + { "from": [ 10, 2, 11 ], + "to": [ 12, 7, 13 ], + "faces": { + "down": { "uv": [ 7, 13, 9, 15 ], "texture": "#unlit" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "north": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "south": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "west": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "east": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" } + } + }, + { "from": [ 7, 5, 2 ], + "to": [ 9, 5, 4 ], + "faces": { + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lit" } + } + }, + { "from": [ 7, 2, 1 ], + "to": [ 9, 6, 5 ], + "faces": { + "west": { "uv": [ 6, 5, 10, 9 ], "texture": "#lit" }, + "east": { "uv": [ 6, 5, 10, 9 ], "texture": "#lit" } + } + }, + { "from": [ 6, 2, 2 ], + "to": [ 10, 6, 4 ], + "faces": { + "north": { "uv": [ 6, 5, 10, 9 ], "texture": "#lit" }, + "south": { "uv": [ 6, 5, 10, 9 ], "texture": "#lit" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/crafting_table.json b/desktopRuntime/resources/assets/minecraft/models/block/crafting_table.json new file mode 100644 index 0000000..2ec0068 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/crafting_table.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "blocks/crafting_table_front", + "down": "blocks/planks_oak", + "up": "blocks/crafting_table_top", + "north": "blocks/crafting_table_front", + "east": "blocks/crafting_table_side", + "south": "blocks/crafting_table_side", + "west": "blocks/crafting_table_front" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/crop.json b/desktopRuntime/resources/assets/minecraft/models/block/crop.json new file mode 100644 index 0000000..9cc479e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/crop.json @@ -0,0 +1,40 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#crop" + }, + "elements": [ + { "from": [ 4, -1, 0 ], + "to": [ 4, 15, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#crop" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#crop" } + } + }, + { "from": [ 12, -1, 0 ], + "to": [ 12, 15, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#crop" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#crop" } + } + }, + { "from": [ 0, -1, 4 ], + "to": [ 16, 15, 4 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#crop" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#crop" } + } + }, + { "from": [ 0, -1, 12 ], + "to": [ 16, 15, 12 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#crop" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#crop" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cross.json b/desktopRuntime/resources/assets/minecraft/models/block/cross.json new file mode 100644 index 0000000..37c8b09 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cross.json @@ -0,0 +1,26 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#cross" + }, + "elements": [ + { "from": [ 0.8, 0, 8 ], + "to": [ 15.2, 16, 8 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross" } + } + }, + { "from": [ 8, 0, 0.8 ], + "to": [ 8, 16, 15.2 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cube.json b/desktopRuntime/resources/assets/minecraft/models/block/cube.json new file mode 100644 index 0000000..e44c18e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cube.json @@ -0,0 +1,15 @@ +{ + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "texture": "#down", "cullface": "down" }, + "up": { "texture": "#up", "cullface": "up" }, + "north": { "texture": "#north", "cullface": "north" }, + "south": { "texture": "#south", "cullface": "south" }, + "west": { "texture": "#west", "cullface": "west" }, + "east": { "texture": "#east", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cube_all.json b/desktopRuntime/resources/assets/minecraft/models/block/cube_all.json new file mode 100644 index 0000000..fa2f9e7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cube_all.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "#all", + "down": "#all", + "up": "#all", + "north": "#all", + "east": "#all", + "south": "#all", + "west": "#all" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cube_bottom_top.json b/desktopRuntime/resources/assets/minecraft/models/block/cube_bottom_top.json new file mode 100644 index 0000000..4c61059 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cube_bottom_top.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "#side", + "down": "#bottom", + "up": "#top", + "north": "#side", + "east": "#side", + "south": "#side", + "west": "#side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cube_column.json b/desktopRuntime/resources/assets/minecraft/models/block/cube_column.json new file mode 100644 index 0000000..358b984 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cube_column.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "#side", + "down": "#end", + "up": "#end", + "north": "#side", + "east": "#side", + "south": "#side", + "west": "#side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cube_directional.json b/desktopRuntime/resources/assets/minecraft/models/block/cube_directional.json new file mode 100644 index 0000000..4f28de1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cube_directional.json @@ -0,0 +1,15 @@ +{ + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "texture": "#down", "cullface": "down", "rotation": 180 }, + "up": { "texture": "#up", "cullface": "up" }, + "north": { "texture": "#north", "cullface": "north" }, + "south": { "texture": "#south", "cullface": "south" }, + "west": { "texture": "#west", "cullface": "west", "rotation": 270 }, + "east": { "texture": "#east", "cullface": "east", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cube_mirrored.json b/desktopRuntime/resources/assets/minecraft/models/block/cube_mirrored.json new file mode 100644 index 0000000..38f44bd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cube_mirrored.json @@ -0,0 +1,15 @@ +{ + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [16, 0, 0, 16], "texture": "#down", "cullface": "down" }, + "up": { "uv": [16, 0, 0, 16], "texture": "#up", "cullface": "up" }, + "north": { "uv": [16, 0, 0, 16], "texture": "#north", "cullface": "north" }, + "south": { "uv": [16, 0, 0, 16], "texture": "#south", "cullface": "south" }, + "west": { "uv": [16, 0, 0, 16], "texture": "#west", "cullface": "west" }, + "east": { "uv": [16, 0, 0, 16], "texture": "#east", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cube_mirrored_all.json b/desktopRuntime/resources/assets/minecraft/models/block/cube_mirrored_all.json new file mode 100644 index 0000000..75743f2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cube_mirrored_all.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube_mirrored", + "textures": { + "particle": "#all", + "down": "#all", + "up": "#all", + "north": "#all", + "east": "#all", + "south": "#all", + "west": "#all" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cube_top.json b/desktopRuntime/resources/assets/minecraft/models/block/cube_top.json new file mode 100644 index 0000000..a0c1d56 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cube_top.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "#side", + "down": "#side", + "up": "#top", + "north": "#side", + "east": "#side", + "south": "#side", + "west": "#side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_n.json b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_n.json new file mode 100644 index 0000000..7dae5c3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_n.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_n", + "textures": { + "edge": "blocks/glass_pane_top_cyan", + "pane": "blocks/glass_cyan" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_ne.json new file mode 100644 index 0000000..90e59ce --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_ne.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ne", + "textures": { + "edge": "blocks/glass_pane_top_cyan", + "pane": "blocks/glass_cyan" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_new.json b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_new.json new file mode 100644 index 0000000..58660f5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_new.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_new", + "textures": { + "edge": "blocks/glass_pane_top_cyan", + "pane": "blocks/glass_cyan" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_ns.json new file mode 100644 index 0000000..28dfa29 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_ns.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ns", + "textures": { + "edge": "blocks/glass_pane_top_cyan", + "pane": "blocks/glass_cyan" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_nse.json new file mode 100644 index 0000000..8d7ba7c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_nse.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nse", + "textures": { + "edge": "blocks/glass_pane_top_cyan", + "pane": "blocks/glass_cyan" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_nsew.json new file mode 100644 index 0000000..f9b53ea --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_nsew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsew", + "textures": { + "edge": "blocks/glass_pane_top_cyan", + "pane": "blocks/glass_cyan" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_nsw.json b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_nsw.json new file mode 100644 index 0000000..40e4f03 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_nsw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsw", + "textures": { + "edge": "blocks/glass_pane_top_cyan", + "pane": "blocks/glass_cyan" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_nw.json b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_nw.json new file mode 100644 index 0000000..d318598 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_nw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nw", + "textures": { + "edge": "blocks/glass_pane_top_cyan", + "pane": "blocks/glass_cyan" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_s.json b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_s.json new file mode 100644 index 0000000..e1c2c6b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_s.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_s", + "textures": { + "edge": "blocks/glass_pane_top_cyan", + "pane": "blocks/glass_cyan" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_se.json b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_se.json new file mode 100644 index 0000000..c47ba25 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_se.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_se", + "textures": { + "edge": "blocks/glass_pane_top_cyan", + "pane": "blocks/glass_cyan" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_sew.json b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_sew.json new file mode 100644 index 0000000..8d936dc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_sew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sew", + "textures": { + "edge": "blocks/glass_pane_top_cyan", + "pane": "blocks/glass_cyan" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_sw.json new file mode 100644 index 0000000..2855ff5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cyan_pane_sw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sw", + "textures": { + "edge": "blocks/glass_pane_top_cyan", + "pane": "blocks/glass_cyan" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/cyan_wool.json b/desktopRuntime/resources/assets/minecraft/models/block/cyan_wool.json new file mode 100644 index 0000000..c1ac12d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/cyan_wool.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/wool_colored_cyan" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/daisy.json b/desktopRuntime/resources/assets/minecraft/models/block/daisy.json new file mode 100644 index 0000000..47700f1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/daisy.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/flower_oxeye_daisy" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dandelion.json b/desktopRuntime/resources/assets/minecraft/models/block/dandelion.json new file mode 100644 index 0000000..8ffa73a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dandelion.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/flower_dandelion" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_bark.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_bark.json new file mode 100644 index 0000000..e846895 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_bark.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/log_big_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_door_bottom.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_door_bottom.json new file mode 100644 index 0000000..04d487d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_door_bottom.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_bottom", + "textures": { + "bottom": "blocks/door_dark_oak_lower", + "top": "blocks/door_dark_oak_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_door_bottom_rh.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_door_bottom_rh.json new file mode 100644 index 0000000..ea602e7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_door_bottom_rh.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_bottom_rh", + "textures": { + "bottom": "blocks/door_dark_oak_lower", + "top": "blocks/door_dark_oak_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_door_top.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_door_top.json new file mode 100644 index 0000000..2b45279 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_door_top.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_top", + "textures": { + "bottom": "blocks/door_dark_oak_lower", + "top": "blocks/door_dark_oak_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_door_top_rh.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_door_top_rh.json new file mode 100644 index 0000000..5e84e95 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_door_top_rh.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_top_rh", + "textures": { + "bottom": "blocks/door_dark_oak_lower", + "top": "blocks/door_dark_oak_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_gate_closed.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_gate_closed.json new file mode 100644 index 0000000..ab54a5f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_gate_closed.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_gate_closed", + "textures": { + "texture": "blocks/planks_big_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_gate_open.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_gate_open.json new file mode 100644 index 0000000..4ac9881 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_gate_open.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_gate_open", + "textures": { + "texture": "blocks/planks_big_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_inventory.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_inventory.json new file mode 100644 index 0000000..072aaf1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_inventory", + "textures": { + "texture": "blocks/planks_big_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_n.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_n.json new file mode 100644 index 0000000..61c6ac6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_n.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_n", + "textures": { + "texture": "blocks/planks_big_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_ne.json new file mode 100644 index 0000000..2c328c9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_ne.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_ne", + "textures": { + "texture": "blocks/planks_big_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_ns.json new file mode 100644 index 0000000..a3b2149 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_ns.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_ns", + "textures": { + "texture": "blocks/planks_big_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_nse.json new file mode 100644 index 0000000..b2172fc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_nse.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_nse", + "textures": { + "texture": "blocks/planks_big_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_nsew.json new file mode 100644 index 0000000..f927c64 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_nsew.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_nsew", + "textures": { + "texture": "blocks/planks_big_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_post.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_post.json new file mode 100644 index 0000000..71a7090 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_fence_post.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_post", + "textures": { + "texture": "blocks/planks_big_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_inner_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_inner_stairs.json new file mode 100644 index 0000000..0abd3b6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_inner_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/inner_stairs", + "textures": { + "bottom": "blocks/planks_big_oak", + "top": "blocks/planks_big_oak", + "side": "blocks/planks_big_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_leaves.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_leaves.json new file mode 100644 index 0000000..d92b1ac --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_leaves.json @@ -0,0 +1,6 @@ +{ + "parent": "block/leaves", + "textures": { + "all": "blocks/leaves_big_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_log.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_log.json new file mode 100644 index 0000000..c7e3cf3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_log.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "blocks/log_big_oak_top", + "side": "blocks/log_big_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_log_side.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_log_side.json new file mode 100644 index 0000000..2bd469f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_log_side.json @@ -0,0 +1,7 @@ +{ + "parent": "block/column_side", + "textures": { + "end": "blocks/log_big_oak_top", + "side": "blocks/log_big_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_outer_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_outer_stairs.json new file mode 100644 index 0000000..94bf157 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_outer_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/outer_stairs", + "textures": { + "bottom": "blocks/planks_big_oak", + "top": "blocks/planks_big_oak", + "side": "blocks/planks_big_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_planks.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_planks.json new file mode 100644 index 0000000..b04a1a5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_planks.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/planks_big_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_sapling.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_sapling.json new file mode 100644 index 0000000..e9b70d5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_sapling.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/sapling_roofed_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_stairs.json new file mode 100644 index 0000000..2d7a286 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/stairs", + "textures": { + "bottom": "blocks/planks_big_oak", + "top": "blocks/planks_big_oak", + "side": "blocks/planks_big_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_wall_gate_closed.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_wall_gate_closed.json new file mode 100644 index 0000000..479bb4b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_wall_gate_closed.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_gate_closed", + "textures": { + "texture": "blocks/planks_big_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_wall_gate_open.json b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_wall_gate_open.json new file mode 100644 index 0000000..a04668b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dark_oak_wall_gate_open.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_gate_open", + "textures": { + "texture": "blocks/planks_big_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/daylight_detector.json b/desktopRuntime/resources/assets/minecraft/models/block/daylight_detector.json new file mode 100644 index 0000000..1d29482 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/daylight_detector.json @@ -0,0 +1,20 @@ +{ + "textures": { + "particle": "blocks/daylight_detector_top", + "top": "blocks/daylight_detector_top", + "side": "blocks/daylight_detector_side" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 6, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#side", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 10, 16, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 10, 16, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 10, 16, 16 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 10, 16, 16 ], "texture": "#side", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/daylight_detector_inverted.json b/desktopRuntime/resources/assets/minecraft/models/block/daylight_detector_inverted.json new file mode 100644 index 0000000..769d9d3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/daylight_detector_inverted.json @@ -0,0 +1,20 @@ +{ + "textures": { + "particle": "blocks/daylight_detector_inverted_top", + "top": "blocks/daylight_detector_inverted_top", + "side": "blocks/daylight_detector_side" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 6, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#side", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 10, 16, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 10, 16, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 10, 16, 16 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 10, 16, 16 ], "texture": "#side", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dead_bush.json b/desktopRuntime/resources/assets/minecraft/models/block/dead_bush.json new file mode 100644 index 0000000..5aee4f4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dead_bush.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/deadbush" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/desktop.ini b/desktopRuntime/resources/assets/minecraft/models/block/desktop.ini new file mode 100644 index 0000000..fd82e4c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/desktop.ini @@ -0,0 +1,5 @@ +[LocalizedFileNames] +beetroots_stage1.json=@beetroots_stage1.json,0 +beetroots_stage2.json=@beetroots_stage2.json,0 +beetroots_stage3.json=@beetroots_stage3.json,0 +beetroots_stage0.json=@beetroots_stage0.json,0 diff --git a/desktopRuntime/resources/assets/minecraft/models/block/detector_rail_flat.json b/desktopRuntime/resources/assets/minecraft/models/block/detector_rail_flat.json new file mode 100644 index 0000000..363009d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/detector_rail_flat.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_flat", + "textures": { + "rail": "blocks/rail_detector" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/detector_rail_powered_flat.json b/desktopRuntime/resources/assets/minecraft/models/block/detector_rail_powered_flat.json new file mode 100644 index 0000000..d1c4414 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/detector_rail_powered_flat.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_flat", + "textures": { + "rail": "blocks/rail_detector_powered" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/detector_rail_powered_raised_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/detector_rail_powered_raised_ne.json new file mode 100644 index 0000000..b6dd186 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/detector_rail_powered_raised_ne.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_raised_ne", + "textures": { + "rail": "blocks/rail_detector_powered" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/detector_rail_powered_raised_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/detector_rail_powered_raised_sw.json new file mode 100644 index 0000000..077566e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/detector_rail_powered_raised_sw.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_raised_sw", + "textures": { + "rail": "blocks/rail_detector_powered" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/detector_rail_raised_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/detector_rail_raised_ne.json new file mode 100644 index 0000000..1f8b457 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/detector_rail_raised_ne.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_raised_ne", + "textures": { + "rail": "blocks/rail_detector" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/detector_rail_raised_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/detector_rail_raised_sw.json new file mode 100644 index 0000000..9d520eb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/detector_rail_raised_sw.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_raised_sw", + "textures": { + "rail": "blocks/rail_detector" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/diamond_block.json b/desktopRuntime/resources/assets/minecraft/models/block/diamond_block.json new file mode 100644 index 0000000..5234ebd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/diamond_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/diamond_block" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/diamond_ore.json b/desktopRuntime/resources/assets/minecraft/models/block/diamond_ore.json new file mode 100644 index 0000000..d1c996f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/diamond_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/diamond_ore" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/diorite.json b/desktopRuntime/resources/assets/minecraft/models/block/diorite.json new file mode 100644 index 0000000..4c0d48b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/diorite.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/stone_diorite" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/diorite_smooth.json b/desktopRuntime/resources/assets/minecraft/models/block/diorite_smooth.json new file mode 100644 index 0000000..7bb78d5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/diorite_smooth.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/stone_diorite_smooth" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dirt.json b/desktopRuntime/resources/assets/minecraft/models/block/dirt.json new file mode 100644 index 0000000..5d1c7b5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dirt.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/dirt" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dispenser.json b/desktopRuntime/resources/assets/minecraft/models/block/dispenser.json new file mode 100644 index 0000000..453c6ce --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dispenser.json @@ -0,0 +1,8 @@ +{ + "parent": "block/orientable", + "textures": { + "top": "blocks/furnace_top", + "front": "blocks/dispenser_front_horizontal", + "side": "blocks/furnace_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dispenser_vertical.json b/desktopRuntime/resources/assets/minecraft/models/block/dispenser_vertical.json new file mode 100644 index 0000000..978f660 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dispenser_vertical.json @@ -0,0 +1,7 @@ +{ + "parent": "block/orientable_vertical", + "textures": { + "front": "blocks/dispenser_front_vertical", + "side": "blocks/furnace_top" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/door_bottom.json b/desktopRuntime/resources/assets/minecraft/models/block/door_bottom.json new file mode 100644 index 0000000..905758f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/door_bottom.json @@ -0,0 +1,18 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#bottom" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 3, 16, 16 ], + "faces": { + "down": { "uv": [ 13, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" }, + "north": { "uv": [ 3, 0, 0, 16 ], "texture": "#bottom", "cullface": "north" }, + "south": { "uv": [ 0, 0, 3, 16 ], "texture": "#bottom", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom", "cullface": "west" }, + "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#bottom" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/door_bottom_rh.json b/desktopRuntime/resources/assets/minecraft/models/block/door_bottom_rh.json new file mode 100644 index 0000000..26acf4c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/door_bottom_rh.json @@ -0,0 +1,18 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#bottom" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 3, 16, 16 ], + "faces": { + "down": { "uv": [ 13, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" }, + "north": { "uv": [ 3, 0, 0, 16 ], "texture": "#bottom", "cullface": "north" }, + "south": { "uv": [ 0, 0, 3, 16 ], "texture": "#bottom", "cullface": "south" }, + "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#bottom", "cullface": "west" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/door_top.json b/desktopRuntime/resources/assets/minecraft/models/block/door_top.json new file mode 100644 index 0000000..809fa44 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/door_top.json @@ -0,0 +1,18 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#top" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 3, 16, 16 ], + "faces": { + "up": { "uv": [ 13, 0, 16, 16 ], "texture": "#bottom", "cullface": "up" }, + "north": { "uv": [ 3, 0, 0, 16 ], "texture": "#top", "cullface": "north" }, + "south": { "uv": [ 0, 0, 3, 16 ], "texture": "#top", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#top", "cullface": "west" }, + "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#top" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/door_top_rh.json b/desktopRuntime/resources/assets/minecraft/models/block/door_top_rh.json new file mode 100644 index 0000000..e7d2f93 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/door_top_rh.json @@ -0,0 +1,18 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#top" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 3, 16, 16 ], + "faces": { + "up": { "uv": [ 13, 0, 16, 16 ], "texture": "#bottom", "cullface": "up" }, + "north": { "uv": [ 3, 0, 0, 16 ], "texture": "#top", "cullface": "north" }, + "south": { "uv": [ 0, 0, 3, 16 ], "texture": "#top", "cullface": "south" }, + "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#top", "cullface": "west" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/double_fern_bottom.json b/desktopRuntime/resources/assets/minecraft/models/block/double_fern_bottom.json new file mode 100644 index 0000000..c560b72 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/double_fern_bottom.json @@ -0,0 +1,6 @@ +{ + "parent": "block/tallgrass", + "textures": { + "cross": "blocks/double_plant_fern_bottom" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/double_fern_top.json b/desktopRuntime/resources/assets/minecraft/models/block/double_fern_top.json new file mode 100644 index 0000000..babcfce --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/double_fern_top.json @@ -0,0 +1,6 @@ +{ + "parent": "block/tallgrass", + "textures": { + "cross": "blocks/double_plant_fern_top" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/double_grass_bottom.json b/desktopRuntime/resources/assets/minecraft/models/block/double_grass_bottom.json new file mode 100644 index 0000000..fad54d6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/double_grass_bottom.json @@ -0,0 +1,6 @@ +{ + "parent": "block/tallgrass", + "textures": { + "cross": "blocks/double_plant_grass_bottom" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/double_grass_top.json b/desktopRuntime/resources/assets/minecraft/models/block/double_grass_top.json new file mode 100644 index 0000000..7bbee32 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/double_grass_top.json @@ -0,0 +1,6 @@ +{ + "parent": "block/tallgrass", + "textures": { + "cross": "blocks/double_plant_grass_top" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/double_paeonia_bottom.json b/desktopRuntime/resources/assets/minecraft/models/block/double_paeonia_bottom.json new file mode 100644 index 0000000..01e35b3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/double_paeonia_bottom.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/double_plant_paeonia_bottom" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/double_paeonia_top.json b/desktopRuntime/resources/assets/minecraft/models/block/double_paeonia_top.json new file mode 100644 index 0000000..8023494 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/double_paeonia_top.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/double_plant_paeonia_top" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/double_rose_bottom.json b/desktopRuntime/resources/assets/minecraft/models/block/double_rose_bottom.json new file mode 100644 index 0000000..8407de0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/double_rose_bottom.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/double_plant_rose_bottom" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/double_rose_top.json b/desktopRuntime/resources/assets/minecraft/models/block/double_rose_top.json new file mode 100644 index 0000000..1601c3b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/double_rose_top.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/double_plant_rose_top" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/double_stone.json b/desktopRuntime/resources/assets/minecraft/models/block/double_stone.json new file mode 100644 index 0000000..ce3fd92 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/double_stone.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "blocks/stone_slab_top", + "side": "blocks/stone_slab_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/double_stone_top.json b/desktopRuntime/resources/assets/minecraft/models/block/double_stone_top.json new file mode 100644 index 0000000..0cb25a8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/double_stone_top.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/stone_slab_top" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/double_sunflower_bottom.json b/desktopRuntime/resources/assets/minecraft/models/block/double_sunflower_bottom.json new file mode 100644 index 0000000..0caa997 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/double_sunflower_bottom.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/double_plant_sunflower_bottom" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/double_sunflower_top.json b/desktopRuntime/resources/assets/minecraft/models/block/double_sunflower_top.json new file mode 100644 index 0000000..a0df09c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/double_sunflower_top.json @@ -0,0 +1,53 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/double_plant_sunflower_front", + "cross": "blocks/double_plant_sunflower_top", + "back": "blocks/double_plant_sunflower_back", + "front": "blocks/double_plant_sunflower_front" + }, + "elements": [ + { "from": [ 0.8, 0, 8 ], + "to": [ 15.2, 8, 8 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": 45, + "rescale": true + }, + "shade": false, + "faces": { + "north": { "uv": [ 0, 8, 16, 16 ], "texture": "#cross" }, + "south": { "uv": [ 0, 8, 16, 16 ], "texture": "#cross" } + } + }, + { "from": [ 8, 0, 0.8 ], + "to": [ 8, 8, 15.2 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": 45, + "rescale": true + }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 8, 16, 16 ], "texture": "#cross" }, + "east": { "uv": [ 0, 8, 16, 16 ], "texture": "#cross" } + } + }, + { "from": [ 9.6, -1, 1 ], + "to": [ 9.6, 15, 15 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "z", + "angle": 22.5, + "rescale": true + }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#back" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#front" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/double_syringa_bottom.json b/desktopRuntime/resources/assets/minecraft/models/block/double_syringa_bottom.json new file mode 100644 index 0000000..aa72e58 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/double_syringa_bottom.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/double_plant_syringa_bottom" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/double_syringa_top.json b/desktopRuntime/resources/assets/minecraft/models/block/double_syringa_top.json new file mode 100644 index 0000000..d173954 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/double_syringa_top.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/double_plant_syringa_top" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dragon_egg.json b/desktopRuntime/resources/assets/minecraft/models/block/dragon_egg.json new file mode 100644 index 0000000..15eb225 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dragon_egg.json @@ -0,0 +1,97 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/dragon_egg", + "all": "blocks/dragon_egg" + }, + "elements": [ + { "from": [ 6, 15, 6 ], + "to": [ 10, 16, 10 ], + "faces": { + "down": { "uv": [ 6, 6, 10, 10 ], "texture": "#all" }, + "up": { "uv": [ 6, 6, 10, 10 ], "texture": "#all" }, + "north": { "uv": [ 6, 15, 10, 16 ], "texture": "#all" }, + "south": { "uv": [ 6, 15, 10, 16 ], "texture": "#all" }, + "west": { "uv": [ 6, 15, 10, 16 ], "texture": "#all" }, + "east": { "uv": [ 6, 15, 10, 16 ], "texture": "#all" } + } + }, + { "from": [ 5, 14, 5 ], + "to": [ 11, 15, 11 ], + "faces": { + "down": { "uv": [ 5, 5, 11, 11 ], "texture": "#all" }, + "up": { "uv": [ 5, 5, 11, 11 ], "texture": "#all" }, + "north": { "uv": [ 5, 14, 11, 15 ], "texture": "#all" }, + "south": { "uv": [ 5, 14, 11, 15 ], "texture": "#all" }, + "west": { "uv": [ 5, 14, 11, 15 ], "texture": "#all" }, + "east": { "uv": [ 5, 14, 11, 15 ], "texture": "#all" } + } + }, + { "from": [ 5, 13, 5 ], + "to": [ 11, 14, 11 ], + "faces": { + "down": { "uv": [ 4, 4, 12, 12 ], "texture": "#all" }, + "up": { "uv": [ 4, 4, 12, 12 ], "texture": "#all" }, + "north": { "uv": [ 4, 13, 12, 14 ], "texture": "#all" }, + "south": { "uv": [ 4, 13, 12, 14 ], "texture": "#all" }, + "west": { "uv": [ 4, 13, 12, 14 ], "texture": "#all" }, + "east": { "uv": [ 4, 13, 12, 14 ], "texture": "#all" } + } + }, + { "from": [ 3, 11, 3 ], + "to": [ 13, 13, 13 ], + "faces": { + "down": { "uv": [ 3, 3, 13, 13 ], "texture": "#all" }, + "up": { "uv": [ 3, 3, 13, 13 ], "texture": "#all" }, + "north": { "uv": [ 3, 11, 13, 13 ], "texture": "#all" }, + "south": { "uv": [ 3, 11, 13, 13 ], "texture": "#all" }, + "west": { "uv": [ 3, 11, 13, 13 ], "texture": "#all" }, + "east": { "uv": [ 3, 11, 13, 13 ], "texture": "#all" } + } + }, + { "from": [ 2, 8, 2 ], + "to": [ 14, 11, 14 ], + "faces": { + "down": { "uv": [ 2, 2, 14, 14 ], "texture": "#all" }, + "up": { "uv": [ 2, 2, 14, 14 ], "texture": "#all" }, + "north": { "uv": [ 2, 8, 14, 11 ], "texture": "#all" }, + "south": { "uv": [ 2, 8, 14, 11 ], "texture": "#all" }, + "west": { "uv": [ 2, 8, 14, 11 ], "texture": "#all" }, + "east": { "uv": [ 2, 8, 14, 11 ], "texture": "#all" } + } + }, + { "from": [ 1, 3, 1 ], + "to": [ 15, 8, 15 ], + "faces": { + "down": { "uv": [ 1, 1, 15, 15 ], "texture": "#all" }, + "up": { "uv": [ 1, 1, 15, 15 ], "texture": "#all" }, + "north": { "uv": [ 1, 3, 15, 8 ], "texture": "#all" }, + "south": { "uv": [ 1, 3, 15, 8 ], "texture": "#all" }, + "west": { "uv": [ 1, 3, 15, 8 ], "texture": "#all" }, + "east": { "uv": [ 1, 3, 15, 8 ], "texture": "#all" } + } + }, + { "from": [ 2, 1, 2 ], + "to": [ 14, 3, 14 ], + "faces": { + "down": { "uv": [ 2, 2, 14, 14 ], "texture": "#all" }, + "up": { "uv": [ 2, 2, 14, 14 ], "texture": "#all" }, + "north": { "uv": [ 2, 1, 14, 3 ], "texture": "#all" }, + "south": { "uv": [ 2, 1, 14, 3 ], "texture": "#all" }, + "west": { "uv": [ 2, 1, 14, 3 ], "texture": "#all" }, + "east": { "uv": [ 2, 1, 14, 3 ], "texture": "#all" } + } + }, + { "from": [ 3, 0, 3 ], + "to": [ 13, 1, 13 ], + "faces": { + "down": { "uv": [ 3, 3, 13, 13 ], "texture": "#all" }, + "up": { "uv": [ 3, 3, 13, 13 ], "texture": "#all" }, + "north": { "uv": [ 3, 0, 13, 1 ], "texture": "#all" }, + "south": { "uv": [ 3, 0, 13, 1 ], "texture": "#all" }, + "west": { "uv": [ 3, 0, 13, 1 ], "texture": "#all" }, + "east": { "uv": [ 3, 0, 13, 1 ], "texture": "#all" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dropper.json b/desktopRuntime/resources/assets/minecraft/models/block/dropper.json new file mode 100644 index 0000000..3b6e09e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dropper.json @@ -0,0 +1,8 @@ +{ + "parent": "block/orientable", + "textures": { + "top": "blocks/furnace_top", + "front": "blocks/dropper_front_horizontal", + "side": "blocks/furnace_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/dropper_vertical.json b/desktopRuntime/resources/assets/minecraft/models/block/dropper_vertical.json new file mode 100644 index 0000000..bf763e0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/dropper_vertical.json @@ -0,0 +1,7 @@ +{ + "parent": "block/orientable_vertical", + "textures": { + "front": "blocks/dropper_front_vertical", + "side": "blocks/furnace_top" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/emerald_block.json b/desktopRuntime/resources/assets/minecraft/models/block/emerald_block.json new file mode 100644 index 0000000..b58a988 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/emerald_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/emerald_block" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/emerald_ore.json b/desktopRuntime/resources/assets/minecraft/models/block/emerald_ore.json new file mode 100644 index 0000000..32347f3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/emerald_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/emerald_ore" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/enchanting_table_base.json b/desktopRuntime/resources/assets/minecraft/models/block/enchanting_table_base.json new file mode 100644 index 0000000..f355f4b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/enchanting_table_base.json @@ -0,0 +1,21 @@ +{ + "textures": { + "particle": "blocks/enchanting_table_bottom", + "bottom": "blocks/enchanting_table_bottom", + "top": "blocks/enchanting_table_top", + "side": "blocks/enchanting_table_side" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 12, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 4, 16, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 4, 16, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 4, 16, 16 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 4, 16, 16 ], "texture": "#side", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/end_bricks.json b/desktopRuntime/resources/assets/minecraft/models/block/end_bricks.json new file mode 100644 index 0000000..edc2b1c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/end_bricks.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/end_bricks" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/end_portal_frame_empty.json b/desktopRuntime/resources/assets/minecraft/models/block/end_portal_frame_empty.json new file mode 100644 index 0000000..b7130c6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/end_portal_frame_empty.json @@ -0,0 +1,21 @@ +{ + "textures": { + "particle": "blocks/endframe_side", + "bottom": "blocks/end_stone", + "top": "blocks/endframe_top", + "side": "blocks/endframe_side" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 13, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 3, 16, 16 ], "texture": "#side" }, + "south": { "uv": [ 0, 3, 16, 16 ], "texture": "#side" }, + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#side" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#side" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/end_portal_frame_filled.json b/desktopRuntime/resources/assets/minecraft/models/block/end_portal_frame_filled.json new file mode 100644 index 0000000..778afa3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/end_portal_frame_filled.json @@ -0,0 +1,33 @@ +{ + "textures": { + "particle": "blocks/endframe_side", + "bottom": "blocks/end_stone", + "top": "blocks/endframe_top", + "side": "blocks/endframe_side", + "eye": "blocks/endframe_eye" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 13, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 3, 16, 16 ], "texture": "#side" }, + "south": { "uv": [ 0, 3, 16, 16 ], "texture": "#side" }, + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#side" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#side" } + } + }, + { "from": [ 4, 13, 4 ], + "to": [ 12, 16, 12 ], + "faces": { + "down": { "uv": [ 4, 4, 12, 12 ], "texture": "#eye" }, + "up": { "uv": [ 4, 4, 12, 12 ], "texture": "#eye" }, + "north": { "uv": [ 4, 0, 12, 3 ], "texture": "#eye" }, + "south": { "uv": [ 4, 0, 12, 3 ], "texture": "#eye" }, + "west": { "uv": [ 4, 0, 12, 3 ], "texture": "#eye" }, + "east": { "uv": [ 4, 0, 12, 3 ], "texture": "#eye" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/end_rod.json b/desktopRuntime/resources/assets/minecraft/models/block/end_rod.json new file mode 100644 index 0000000..c614850 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/end_rod.json @@ -0,0 +1,44 @@ +{ + "display": { + "head": { + "rotation": [ -60, 0, 0 ], + "translation": [ 0, 5, -9], + "scale":[ 1, 1, 1] + }, + "thirdperson": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 0, 0], + "scale": [ 0.375, 0.375, 0.375 ] + } + }, + "ambientocclusion": false, + "textures": { + "end_rod": "blocks/end_rod" + }, + "elements": [ + { + "from": [ 6, 0, 6 ], + "to": [ 10, 1, 10 ], + "faces": { + "down": { "uv": [ 6, 6, 2, 2 ], "texture": "#end_rod" }, + "up": { "uv": [ 2, 2, 6, 6 ], "texture": "#end_rod" }, + "north": { "uv": [ 2, 6, 6, 7 ], "texture": "#end_rod" }, + "south": { "uv": [ 2, 6, 6, 7 ], "texture": "#end_rod" }, + "west": { "uv": [ 2, 6, 6, 7 ], "texture": "#end_rod" }, + "east": { "uv": [ 2, 6, 6, 7 ], "texture": "#end_rod" } + } + }, + { + "from": [ 7, 1, 7 ], + "to": [ 9, 16, 9 ], + "faces": { + "down": { "uv": [ 4, 2, 2, 0 ], "texture": "#end_rod" }, + "up": { "uv": [ 2, 0, 4, 2 ], "texture": "#end_rod" }, + "north": { "uv": [ 0, 0, 2, 15 ], "texture": "#end_rod" }, + "south": { "uv": [ 0, 0, 2, 15 ], "texture": "#end_rod" }, + "west": { "uv": [ 0, 0, 2, 15 ], "texture": "#end_rod" }, + "east": { "uv": [ 0, 0, 2, 15 ], "texture": "#end_rod" } + } + } + ] +} \ No newline at end of file diff --git a/desktopRuntime/resources/assets/minecraft/models/block/end_stone.json b/desktopRuntime/resources/assets/minecraft/models/block/end_stone.json new file mode 100644 index 0000000..a66a632 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/end_stone.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/end_stone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/farmland.json b/desktopRuntime/resources/assets/minecraft/models/block/farmland.json new file mode 100644 index 0000000..1033809 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/farmland.json @@ -0,0 +1,15 @@ +{ + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 15, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#dirt", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 1, 16, 16 ], "texture": "#dirt", "cullface": "north" }, + "south": { "uv": [ 0, 1, 16, 16 ], "texture": "#dirt", "cullface": "south" }, + "west": { "uv": [ 0, 1, 16, 16 ], "texture": "#dirt", "cullface": "west" }, + "east": { "uv": [ 0, 1, 16, 16 ], "texture": "#dirt", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/farmland_dry.json b/desktopRuntime/resources/assets/minecraft/models/block/farmland_dry.json new file mode 100644 index 0000000..94e31eb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/farmland_dry.json @@ -0,0 +1,8 @@ +{ + "parent": "block/farmland", + "textures": { + "particle": "blocks/dirt", + "dirt": "blocks/dirt", + "top": "blocks/farmland_dry" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/farmland_moist.json b/desktopRuntime/resources/assets/minecraft/models/block/farmland_moist.json new file mode 100644 index 0000000..a1cda53 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/farmland_moist.json @@ -0,0 +1,8 @@ +{ + "parent": "block/farmland", + "textures": { + "particle": "blocks/dirt", + "dirt": "blocks/dirt", + "top": "blocks/farmland_wet" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fence_gate_closed.json b/desktopRuntime/resources/assets/minecraft/models/block/fence_gate_closed.json new file mode 100644 index 0000000..73c4d00 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fence_gate_closed.json @@ -0,0 +1,95 @@ +{ + "textures": { + "particle" : "#texture" + }, + "elements": [ + { "__comment": "Left-hand post", + "from": [ 0, 5, 7 ], + "to": [ 2, 16, 9 ], + "faces": { + "down": { "uv": [ 0, 7, 2, 9 ], "texture": "#texture" }, + "up": { "uv": [ 0, 7, 2, 9 ], "texture": "#texture" }, + "north": { "uv": [ 0, 0, 2, 11 ], "texture": "#texture" }, + "south": { "uv": [ 0, 0, 2, 11 ], "texture": "#texture" }, + "west": { "uv": [ 7, 0, 9, 11 ], "texture": "#texture", "cullface": "west" }, + "east": { "uv": [ 7, 0, 9, 11 ], "texture": "#texture" } + } + }, + { "__comment": "Right-hand post", + "from": [ 14, 5, 7 ], + "to": [ 16, 16, 9 ], + "faces": { + "down": { "uv": [ 14, 7, 16, 9 ], "texture": "#texture" }, + "up": { "uv": [ 14, 7, 16, 9 ], "texture": "#texture" }, + "north": { "uv": [ 14, 0, 16, 11 ], "texture": "#texture" }, + "south": { "uv": [ 14, 0, 16, 11 ], "texture": "#texture" }, + "west": { "uv": [ 7, 0, 9, 11 ], "texture": "#texture" }, + "east": { "uv": [ 7, 0, 9, 11 ], "texture": "#texture", "cullface": "east" } + } + }, + { "__comment": "Inner vertical post of left-hand gate door", + "from": [ 6, 6, 7 ], + "to": [ 8, 15, 9 ], + "faces": { + "down": { "uv": [ 6, 7, 8, 9 ], "texture": "#texture" }, + "up": { "uv": [ 6, 7, 8, 9 ], "texture": "#texture" }, + "north": { "uv": [ 6, 1, 8, 10 ], "texture": "#texture" }, + "south": { "uv": [ 6, 1, 8, 10 ], "texture": "#texture" }, + "west": { "uv": [ 7, 1, 9, 10 ], "texture": "#texture" }, + "east": { "uv": [ 7, 1, 9, 10 ], "texture": "#texture" } + } + }, + { "__comment": "Inner vertical post of right-hand gate door", + "from": [ 8, 6, 7 ], + "to": [ 10, 15, 9 ], + "faces": { + "down": { "uv": [ 8, 7, 10, 9 ], "texture": "#texture" }, + "up": { "uv": [ 8, 7, 10, 9 ], "texture": "#texture" }, + "north": { "uv": [ 8, 1, 10, 10 ], "texture": "#texture" }, + "south": { "uv": [ 8, 1, 10, 10 ], "texture": "#texture" }, + "west": { "uv": [ 7, 1, 9, 10 ], "texture": "#texture" }, + "east": { "uv": [ 7, 1, 9, 10 ], "texture": "#texture" } + } + }, + { "__comment": "Lower horizontal bar of left-hand gate door", + "from": [ 2, 6, 7 ], + "to": [ 6, 9, 9 ], + "faces": { + "down": { "uv": [ 2, 7, 6, 9 ], "texture": "#texture" }, + "up": { "uv": [ 2, 7, 6, 9 ], "texture": "#texture" }, + "north": { "uv": [ 2, 7, 6, 10 ], "texture": "#texture" }, + "south": { "uv": [ 2, 7, 6, 10 ], "texture": "#texture" } + } + }, + { "__comment": "Upper horizontal bar of left-hand gate door", + "from": [ 2, 12, 7 ], + "to": [ 6, 15, 9 ], + "faces": { + "down": { "uv": [ 2, 7, 6, 9 ], "texture": "#texture" }, + "up": { "uv": [ 2, 7, 6, 9 ], "texture": "#texture" }, + "north": { "uv": [ 2, 1, 6, 4 ], "texture": "#texture" }, + "south": { "uv": [ 2, 1, 6, 4 ], "texture": "#texture" } + } + }, + { "__comment": "Lower horizontal bar of right-hand gate door", + "from": [ 10, 6, 7 ], + "to": [ 14, 9, 9 ], + "faces": { + "down": { "uv": [ 10, 7, 14, 9 ], "texture": "#texture" }, + "up": { "uv": [ 10, 7, 14, 9 ], "texture": "#texture" }, + "north": { "uv": [ 10, 7, 14, 10 ], "texture": "#texture" }, + "south": { "uv": [ 10, 7, 14, 10 ], "texture": "#texture" } + } + }, + { "__comment": "Upper horizontal bar of right-hand gate door", + "from": [ 10, 12, 7 ], + "to": [ 14, 15, 9 ], + "faces": { + "down": { "uv": [ 10, 7, 14, 9 ], "texture": "#texture" }, + "up": { "uv": [ 10, 7, 14, 9 ], "texture": "#texture" }, + "north": { "uv": [ 10, 1, 14, 4 ], "texture": "#texture" }, + "south": { "uv": [ 10, 1, 14, 4 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fence_gate_open.json b/desktopRuntime/resources/assets/minecraft/models/block/fence_gate_open.json new file mode 100644 index 0000000..9e7baf9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fence_gate_open.json @@ -0,0 +1,95 @@ +{ + "textures": { + "particle" : "#texture" + }, + "elements": [ + { "__comment": "Left-hand post", + "from": [ 0, 5, 7 ], + "to": [ 2, 16, 9 ], + "faces": { + "down": { "uv": [ 0, 7, 2, 9 ], "texture": "#texture" }, + "up": { "uv": [ 0, 7, 2, 9 ], "texture": "#texture" }, + "north": { "uv": [ 0, 0, 2, 11 ], "texture": "#texture" }, + "south": { "uv": [ 0, 0, 2, 11 ], "texture": "#texture" }, + "west": { "uv": [ 7, 0, 9, 11 ], "texture": "#texture", "cullface": "west" }, + "east": { "uv": [ 7, 0, 9, 11 ], "texture": "#texture" } + } + }, + { "__comment": "Right-hand post", + "from": [ 14, 5, 7 ], + "to": [ 16, 16, 9 ], + "faces": { + "down": { "uv": [ 14, 7, 16, 9 ], "texture": "#texture" }, + "up": { "uv": [ 14, 7, 16, 9 ], "texture": "#texture" }, + "north": { "uv": [ 14, 0, 16, 11 ], "texture": "#texture" }, + "south": { "uv": [ 14, 0, 16, 11 ], "texture": "#texture" }, + "west": { "uv": [ 7, 0, 9, 11 ], "texture": "#texture" }, + "east": { "uv": [ 7, 0, 9, 11 ], "texture": "#texture", "cullface": "east" } + } + }, + { "__comment": "Inner vertical post of left-hand gate door", + "from": [ 0, 6, 13 ], + "to": [ 2, 15, 15 ], + "faces": { + "down": { "uv": [ 0, 13, 2, 15 ], "texture": "#texture" }, + "up": { "uv": [ 0, 13, 2, 15 ], "texture": "#texture" }, + "north": { "uv": [ 0, 1, 2, 10 ], "texture": "#texture" }, + "south": { "uv": [ 0, 1, 2, 10 ], "texture": "#texture" }, + "west": { "uv": [ 13, 1, 15, 10 ], "texture": "#texture" }, + "east": { "uv": [ 13, 1, 15, 10 ], "texture": "#texture" } + } + }, + { "__comment": "Inner vertical post of right-hand gate door", + "from": [ 14, 6, 13 ], + "to": [ 16, 15, 15 ], + "faces": { + "down": { "uv": [ 14, 13, 16, 15 ], "texture": "#texture" }, + "up": { "uv": [ 14, 13, 16, 15 ], "texture": "#texture" }, + "north": { "uv": [ 14, 1, 16, 10 ], "texture": "#texture" }, + "south": { "uv": [ 14, 1, 16, 10 ], "texture": "#texture" }, + "west": { "uv": [ 13, 1, 15, 10 ], "texture": "#texture" }, + "east": { "uv": [ 13, 1, 15, 10 ], "texture": "#texture" } + } + }, + { "__comment": "Lower horizontal bar of left-hand gate door", + "from": [ 0, 6, 9 ], + "to": [ 2, 9, 13 ], + "faces": { + "down": { "uv": [ 0, 9, 2, 13 ], "texture": "#texture" }, + "up": { "uv": [ 0, 9, 2, 13 ], "texture": "#texture" }, + "west": { "uv": [ 13, 7, 15, 10 ], "texture": "#texture" }, + "east": { "uv": [ 13, 7, 15, 10 ], "texture": "#texture" } + } + }, + { "__comment": "Upper horizontal bar of left-hand gate door", + "from": [ 0, 12, 9 ], + "to": [ 2, 15, 13 ], + "faces": { + "down": { "uv": [ 0, 9, 2, 13 ], "texture": "#texture" }, + "up": { "uv": [ 0, 9, 2, 13 ], "texture": "#texture" }, + "west": { "uv": [ 13, 1, 15, 4 ], "texture": "#texture" }, + "east": { "uv": [ 13, 1, 15, 4 ], "texture": "#texture" } + } + }, + { "__comment": "Lower horizontal bar of left-hand gate door", + "from": [ 14, 6, 9 ], + "to": [ 16, 9, 13 ], + "faces": { + "down": { "uv": [ 14, 9, 16, 13 ], "texture": "#texture" }, + "up": { "uv": [ 14, 9, 16, 13 ], "texture": "#texture" }, + "west": { "uv": [ 13, 7, 15, 10 ], "texture": "#texture" }, + "east": { "uv": [ 13, 7, 15, 10 ], "texture": "#texture" } + } + }, + { "__comment": "Upper horizontal bar of left-hand gate door", + "from": [ 14, 12, 9 ], + "to": [ 16, 15, 13 ], + "faces": { + "down": { "uv": [ 14, 9, 16, 13 ], "texture": "#texture" }, + "up": { "uv": [ 14, 9, 16, 13 ], "texture": "#texture" }, + "west": { "uv": [ 13, 1, 15, 4 ], "texture": "#texture" }, + "east": { "uv": [ 13, 1, 15, 4 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fence_inventory.json b/desktopRuntime/resources/assets/minecraft/models/block/fence_inventory.json new file mode 100644 index 0000000..18943d7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fence_inventory.json @@ -0,0 +1,56 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#texture" + }, + "elements": [ + { "from": [ 6, 0, 0 ], + "to": [ 10, 16, 4 ], + "faces": { + "down": { "uv": [ 6, 0, 10, 4 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 6, 0, 10, 4 ], "texture": "#texture" }, + "north": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "south": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "west": { "uv": [ 0, 0, 4, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 0, 4, 16 ], "texture": "#texture" } + }, + "__comment": "Left post" + }, + { "from": [ 6, 0, 12 ], + "to": [ 10, 16, 16 ], + "faces": { + "down": { "uv": [ 6, 12, 10, 16 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 6, 12, 10, 16 ], "texture": "#texture" }, + "north": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "south": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "west": { "uv": [ 12, 0, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 12, 0, 16, 16 ], "texture": "#texture" } + }, + "__comment": "Right post" + }, + { "from": [ 7, 13, -2 ], + "to": [ 9, 15, 18 ], + "faces": { + "down": { "uv": [ 7, 0, 9, 16 ], "texture": "#texture" }, + "up": { "uv": [ 7, 0, 9, 16 ], "texture": "#texture" }, + "north": { "uv": [ 7, 1, 9, 3 ], "texture": "#texture" }, + "south": { "uv": [ 7, 1, 9, 3 ], "texture": "#texture" }, + "west": { "uv": [ 0, 1, 16, 3 ], "texture": "#texture" }, + "east": { "uv": [ 0, 1, 16, 3 ], "texture": "#texture" } + }, + "__comment": "Top bar" + }, + { "from": [ 7, 5, -2 ], + "to": [ 9, 7, 18 ], + "faces": { + "down": { "uv": [ 7, 0, 9, 16 ], "texture": "#texture" }, + "up": { "uv": [ 7, 0, 9, 16 ], "texture": "#texture" }, + "north": { "uv": [ 7, 9, 9, 11 ], "texture": "#texture" }, + "south": { "uv": [ 7, 9, 9, 11 ], "texture": "#texture" }, + "west": { "uv": [ 0, 9, 16, 11 ], "texture": "#texture" }, + "east": { "uv": [ 0, 9, 16, 11 ], "texture": "#texture" } + }, + "__comment": "Lower bar" + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fence_n.json b/desktopRuntime/resources/assets/minecraft/models/block/fence_n.json new file mode 100644 index 0000000..f03a6a4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fence_n.json @@ -0,0 +1,41 @@ +{ + "textures": { + "particle": "#texture" + }, + "elements": [ + { "from": [ 6, 0, 6 ], + "to": [ 10, 16, 10 ], + "faces": { + "down": { "uv": [ 6, 6, 10, 10 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 6, 6, 10, 10 ], "texture": "#texture", "cullface": "up" }, + "north": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "south": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "west": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "east": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" } + }, + "__comment": "Center post" + }, + { "from": [ 7, 12, 0 ], + "to": [ 9, 15, 9 ], + "faces": { + "down": { "uv": [ 7, 0, 9, 9 ], "texture": "#texture" }, + "up": { "uv": [ 7, 0, 9, 9 ], "texture": "#texture" }, + "north": { "uv": [ 7, 1, 9, 4 ], "texture": "#texture", "cullface": "north" }, + "west": { "uv": [ 0, 1, 9, 4 ], "texture": "#texture" }, + "east": { "uv": [ 0, 1, 9, 4 ], "texture": "#texture" } + }, + "__comment": "North top bar" + }, + { "from": [ 7, 6, 0 ], + "to": [ 9, 9, 9 ], + "faces": { + "down": { "uv": [ 7, 0, 9, 9 ], "texture": "#texture" }, + "up": { "uv": [ 7, 0, 9, 9 ], "texture": "#texture" }, + "north": { "uv": [ 7, 7, 9, 10 ], "texture": "#texture", "cullface": "north" }, + "west": { "uv": [ 0, 7, 9, 10 ], "texture": "#texture" }, + "east": { "uv": [ 0, 7, 9, 10 ], "texture": "#texture" } + }, + "__comment": "North lower bar" + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fence_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/fence_ne.json new file mode 100644 index 0000000..299df23 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fence_ne.json @@ -0,0 +1,63 @@ +{ + "textures": { + "particle": "#texture" + }, + "elements": [ + { "from": [ 6, 0, 6 ], + "to": [ 10, 16, 10 ], + "faces": { + "down": { "uv": [ 6, 6, 10, 10 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 6, 6, 10, 10 ], "texture": "#texture", "cullface": "up" }, + "north": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "south": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "west": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "east": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" } + }, + "__comment": "Center post" + }, + { "from": [ 7, 12, 0 ], + "to": [ 9, 15, 9 ], + "faces": { + "down": { "uv": [ 7, 0, 9, 9 ], "texture": "#texture" }, + "up": { "uv": [ 7, 0, 9, 9 ], "texture": "#texture" }, + "north": { "uv": [ 7, 1, 9, 4 ], "texture": "#texture", "cullface": "north" }, + "west": { "uv": [ 0, 1, 9, 4 ], "texture": "#texture" }, + "east": { "uv": [ 0, 1, 9, 4 ], "texture": "#texture" } + }, + "__comment": "North top bar" + }, + { "from": [ 7, 6, 0 ], + "to": [ 9, 9, 9 ], + "faces": { + "down": { "uv": [ 7, 0, 9, 9 ], "texture": "#texture" }, + "up": { "uv": [ 7, 0, 9, 9 ], "texture": "#texture" }, + "north": { "uv": [ 7, 7, 9, 10 ], "texture": "#texture", "cullface": "north" }, + "west": { "uv": [ 0, 7, 9, 10 ], "texture": "#texture" }, + "east": { "uv": [ 0, 7, 9, 10 ], "texture": "#texture" } + }, + "__comment": "North lower bar" + }, + { "from": [ 7, 12, 7 ], + "to": [ 16, 15, 9 ], + "faces": { + "down": { "uv": [ 7, 7, 16, 9 ], "texture": "#texture" }, + "up": { "uv": [ 7, 7, 16, 9 ], "texture": "#texture" }, + "north": { "uv": [ 7, 1, 16, 4 ], "texture": "#texture" }, + "south": { "uv": [ 7, 1, 16, 4 ], "texture": "#texture" }, + "east": { "uv": [ 7, 1, 9, 4 ], "texture": "#texture", "cullface": "east" } + }, + "__comment": "East top bar" + }, + { "from": [ 7, 6, 7 ], + "to": [ 16, 9, 9 ], + "faces": { + "down": { "uv": [ 7, 7, 16, 9 ], "texture": "#texture" }, + "up": { "uv": [ 7, 7, 16, 9 ], "texture": "#texture" }, + "north": { "uv": [ 7, 7, 16, 10 ], "texture": "#texture" }, + "south": { "uv": [ 7, 7, 16, 10 ], "texture": "#texture" }, + "east": { "uv": [ 7, 7, 9, 10 ], "texture": "#texture", "cullface": "east" } + }, + "__comment": "East lower bar" + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fence_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/fence_ns.json new file mode 100644 index 0000000..7392eac --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fence_ns.json @@ -0,0 +1,43 @@ +{ + "textures": { + "particle": "#texture" + }, + "elements": [ + { "from": [ 6, 0, 6 ], + "to": [ 10, 16, 10 ], + "faces": { + "down": { "uv": [ 6, 6, 10, 10 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 6, 6, 10, 10 ], "texture": "#texture", "cullface": "up" }, + "north": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "south": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "west": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "east": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" } + }, + "__comment": "Center post" + }, + { "from": [ 7, 12, 0 ], + "to": [ 9, 15, 16 ], + "faces": { + "down": { "uv": [ 7, 0, 9, 16 ], "texture": "#texture" }, + "up": { "uv": [ 7, 0, 9, 16 ], "texture": "#texture" }, + "north": { "uv": [ 7, 1, 9, 4 ], "texture": "#texture", "cullface": "north" }, + "south": { "uv": [ 7, 1, 9, 4 ], "texture": "#texture", "cullface": "south" }, + "west": { "uv": [ 0, 1, 16, 4 ], "texture": "#texture" }, + "east": { "uv": [ 0, 1, 16, 4 ], "texture": "#texture" } + }, + "__comment": "North-south top bar" + }, + { "from": [ 7, 6, 0 ], + "to": [ 9, 9, 16 ], + "faces": { + "down": { "uv": [ 7, 0, 9, 16 ], "texture": "#texture" }, + "up": { "uv": [ 7, 0, 9, 16 ], "texture": "#texture" }, + "north": { "uv": [ 7, 7, 9, 10 ], "texture": "#texture", "cullface": "north" }, + "south": { "uv": [ 7, 7, 9, 10 ], "texture": "#texture", "cullface": "south" }, + "west": { "uv": [ 0, 7, 16, 10 ], "texture": "#texture" }, + "east": { "uv": [ 0, 7, 16, 10 ], "texture": "#texture" } + }, + "__comment": "North-south lower bar" + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fence_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/fence_nse.json new file mode 100644 index 0000000..b80b1e3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fence_nse.json @@ -0,0 +1,65 @@ +{ + "textures": { + "particle": "#texture" + }, + "elements": [ + { "from": [ 6, 0, 6 ], + "to": [ 10, 16, 10 ], + "faces": { + "down": { "uv": [ 6, 6, 10, 10 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 6, 6, 10, 10 ], "texture": "#texture", "cullface": "up" }, + "north": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "south": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "west": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "east": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" } + }, + "__comment": "Center post" + }, + { "from": [ 7, 12, 0 ], + "to": [ 9, 15, 16 ], + "faces": { + "down": { "uv": [ 7, 0, 9, 16 ], "texture": "#texture" }, + "up": { "uv": [ 7, 0, 9, 16 ], "texture": "#texture" }, + "north": { "uv": [ 7, 1, 9, 4 ], "texture": "#texture", "cullface": "north" }, + "south": { "uv": [ 7, 1, 9, 4 ], "texture": "#texture", "cullface": "south" }, + "west": { "uv": [ 0, 1, 16, 4 ], "texture": "#texture" }, + "east": { "uv": [ 0, 1, 16, 4 ], "texture": "#texture" } + }, + "__comment": "North-south top bar" + }, + { "from": [ 7, 6, 0 ], + "to": [ 9, 9, 16 ], + "faces": { + "down": { "uv": [ 7, 0, 9, 16 ], "texture": "#texture" }, + "up": { "uv": [ 7, 0, 9, 16 ], "texture": "#texture" }, + "north": { "uv": [ 7, 7, 9, 10 ], "texture": "#texture", "cullface": "north" }, + "south": { "uv": [ 7, 7, 9, 10 ], "texture": "#texture", "cullface": "south" }, + "west": { "uv": [ 0, 7, 16, 10 ], "texture": "#texture" }, + "east": { "uv": [ 0, 7, 16, 10 ], "texture": "#texture" } + }, + "__comment": "North-south lower bar" + }, + { "from": [ 7, 12, 7 ], + "to": [ 16, 15, 9 ], + "faces": { + "down": { "uv": [ 7, 7, 16, 9 ], "texture": "#texture" }, + "up": { "uv": [ 7, 7, 16, 9 ], "texture": "#texture" }, + "north": { "uv": [ 7, 1, 16, 4 ], "texture": "#texture" }, + "south": { "uv": [ 7, 1, 16, 4 ], "texture": "#texture" }, + "east": { "uv": [ 7, 1, 9, 4 ], "texture": "#texture", "cullface": "east" } + }, + "__comment": "East top bar" + }, + { "from": [ 7, 6, 7 ], + "to": [ 16, 9, 9 ], + "faces": { + "down": { "uv": [ 7, 7, 16, 9 ], "texture": "#texture" }, + "up": { "uv": [ 7, 7, 16, 9 ], "texture": "#texture" }, + "north": { "uv": [ 7, 7, 16, 10 ], "texture": "#texture" }, + "south": { "uv": [ 7, 7, 16, 10 ], "texture": "#texture" }, + "east": { "uv": [ 7, 7, 9, 10 ], "texture": "#texture", "cullface": "east" } + }, + "__comment": "East lower bar" + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fence_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/fence_nsew.json new file mode 100644 index 0000000..c5a5c81 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fence_nsew.json @@ -0,0 +1,67 @@ +{ + "textures": { + "particle": "#texture" + }, + "elements": [ + { "from": [ 6, 0, 6 ], + "to": [ 10, 16, 10 ], + "faces": { + "down": { "uv": [ 6, 6, 10, 10 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 6, 6, 10, 10 ], "texture": "#texture", "cullface": "up" }, + "north": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "south": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "west": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "east": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" } + }, + "__comment": "Center post" + }, + { "from": [ 7, 12, 0 ], + "to": [ 9, 15, 16 ], + "faces": { + "down": { "uv": [ 7, 0, 9, 16 ], "texture": "#texture" }, + "up": { "uv": [ 7, 0, 9, 16 ], "texture": "#texture" }, + "north": { "uv": [ 7, 1, 9, 4 ], "texture": "#texture", "cullface": "north" }, + "south": { "uv": [ 7, 1, 9, 4 ], "texture": "#texture", "cullface": "south" }, + "west": { "uv": [ 0, 1, 16, 4 ], "texture": "#texture" }, + "east": { "uv": [ 0, 1, 16, 4 ], "texture": "#texture" } + }, + "__comment": "North-south top bar" + }, + { "from": [ 7, 6, 0 ], + "to": [ 9, 9, 16 ], + "faces": { + "down": { "uv": [ 7, 0, 9, 16 ], "texture": "#texture" }, + "up": { "uv": [ 7, 0, 9, 16 ], "texture": "#texture" }, + "north": { "uv": [ 7, 7, 9, 10 ], "texture": "#texture", "cullface": "north" }, + "south": { "uv": [ 7, 7, 9, 10 ], "texture": "#texture", "cullface": "south" }, + "west": { "uv": [ 0, 7, 16, 10 ], "texture": "#texture" }, + "east": { "uv": [ 0, 7, 16, 10 ], "texture": "#texture" } + }, + "__comment": "North-south lower bar" + }, + { "from": [ 0, 12, 7 ], + "to": [ 16, 15, 9 ], + "faces": { + "down": { "uv": [ 0, 7, 16, 9 ], "texture": "#texture" }, + "up": { "uv": [ 0, 7, 16, 9 ], "texture": "#texture" }, + "north": { "uv": [ 0, 1, 16, 4 ], "texture": "#texture" }, + "south": { "uv": [ 0, 1, 16, 4 ], "texture": "#texture" }, + "west": { "uv": [ 7, 1, 9, 4 ], "texture": "#texture", "cullface": "west" }, + "east": { "uv": [ 7, 1, 9, 4 ], "texture": "#texture", "cullface": "east" } + }, + "__comment": "East-west top bar" + }, + { "from": [ 0, 6, 7 ], + "to": [ 16, 9, 9 ], + "faces": { + "down": { "uv": [ 0, 7, 16, 9 ], "texture": "#texture" }, + "up": { "uv": [ 0, 7, 16, 9 ], "texture": "#texture" }, + "north": { "uv": [ 0, 7, 16, 10 ], "texture": "#texture" }, + "south": { "uv": [ 0, 7, 16, 10 ], "texture": "#texture" }, + "west": { "uv": [ 7, 7, 9, 10 ], "texture": "#texture", "cullface": "west" }, + "east": { "uv": [ 7, 7, 9, 10 ], "texture": "#texture", "cullface": "east" } + }, + "__comment": "East-west lower bar" + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fence_post.json b/desktopRuntime/resources/assets/minecraft/models/block/fence_post.json new file mode 100644 index 0000000..d472ce6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fence_post.json @@ -0,0 +1,19 @@ +{ + "textures": { + "particle": "#texture" + }, + "elements": [ + { "from": [ 6, 0, 6 ], + "to": [ 10, 16, 10 ], + "faces": { + "down": { "uv": [ 6, 6, 10, 10 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 6, 6, 10, 10 ], "texture": "#texture", "cullface": "up" }, + "north": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "south": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "west": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }, + "east": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" } + }, + "__comment": "Center post" + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fern.json b/desktopRuntime/resources/assets/minecraft/models/block/fern.json new file mode 100644 index 0000000..9d1947a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fern.json @@ -0,0 +1,6 @@ +{ + "parent": "block/tallgrass", + "textures": { + "cross": "blocks/fern" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_floor.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_floor.json new file mode 100644 index 0000000..6df2567 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_floor.json @@ -0,0 +1,49 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 0, 8.8 ], + "to": [ 16, 22.4, 8.8 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "x", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 0, 7.2 ], + "to": [ 16, 22.4, 7.2 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "x", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 8.8, 0, 0 ], + "to": [ 8.8, 22.4, 16 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "z", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 7.2, 0, 0 ], + "to": [ 7.2, 22.4, 16 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "z", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 0, 15.99 ], + "to": [ 16, 22.4, 15.99 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 0, 0.01 ], + "to": [ 16, 22.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0.01, 0, 0 ], + "to": [ 0.01, 22.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 0, 0 ], + "to": [ 15.99, 22.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_floor_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_floor_main.json new file mode 100644 index 0000000..230630e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_floor_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_floor", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_n.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_n.json new file mode 100644 index 0000000..b94fc74 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_n.json @@ -0,0 +1,15 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_n_alt.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_n_alt.json new file mode 100644 index 0000000..a2e3853 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_n_alt.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_n", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_n_alt_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_n_alt_flip.json new file mode 100644 index 0000000..a876474 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_n_alt_flip.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_n_flip", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_n_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_n_flip.json new file mode 100644 index 0000000..117225d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_n_flip.json @@ -0,0 +1,15 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_n_flip_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_n_flip_main.json new file mode 100644 index 0000000..903d351 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_n_flip_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_n_flip", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_n_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_n_main.json new file mode 100644 index 0000000..90c064f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_n_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_n", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_ne.json new file mode 100644 index 0000000..85f4cd6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_ne.json @@ -0,0 +1,25 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_ne_alt.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_ne_alt.json new file mode 100644 index 0000000..03bf39b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_ne_alt.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_ne", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_ne_alt_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_ne_alt_flip.json new file mode 100644 index 0000000..d1675d2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_ne_alt_flip.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_ne_flip", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_ne_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_ne_flip.json new file mode 100644 index 0000000..4b87db9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_ne_flip.json @@ -0,0 +1,25 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_ne_flip_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_ne_flip_main.json new file mode 100644 index 0000000..4401221 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_ne_flip_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_ne_flip", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_ne_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_ne_main.json new file mode 100644 index 0000000..d84423f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_ne_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_ne", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_neu1.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu1.json new file mode 100644 index 0000000..afa6532 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu1.json @@ -0,0 +1,37 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 16, 16, 8 ], "axis": "z", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 270 }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 0, 16, 8 ], "axis": "z", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 90 }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_neu1_alt.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu1_alt.json new file mode 100644 index 0000000..08b46b5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu1_alt.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_neu1", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_neu1_alt_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu1_alt_flip.json new file mode 100644 index 0000000..6349a54 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu1_alt_flip.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_neu1_flip", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_neu1_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu1_flip.json new file mode 100644 index 0000000..70cb16e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu1_flip.json @@ -0,0 +1,37 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 16, 16, 8 ], "axis": "z", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 270 }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 0, 16, 8 ], "axis": "z", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 90 }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_neu1_flip_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu1_flip_main.json new file mode 100644 index 0000000..7254e12 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu1_flip_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_neu1_flip", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_neu1_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu1_main.json new file mode 100644 index 0000000..66966da --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu1_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_neu1", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_neu2.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu2.json new file mode 100644 index 0000000..237fc2a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu2.json @@ -0,0 +1,37 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 16 ], "axis": "x", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 180 }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 0 ], "axis": "x", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_neu2_alt.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu2_alt.json new file mode 100644 index 0000000..2760d6e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu2_alt.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_neu2", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_neu2_alt_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu2_alt_flip.json new file mode 100644 index 0000000..84c5f98 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu2_alt_flip.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_neu2_flip", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_neu2_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu2_flip.json new file mode 100644 index 0000000..4c332da --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu2_flip.json @@ -0,0 +1,37 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 16 ], "axis": "x", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 180 }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 0 ], "axis": "x", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_neu2_flip_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu2_flip_main.json new file mode 100644 index 0000000..cbcb88a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu2_flip_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_neu2_flip", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_neu2_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu2_main.json new file mode 100644 index 0000000..5dab175 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_neu2_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_neu2", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_ns.json new file mode 100644 index 0000000..9b97a72 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_ns.json @@ -0,0 +1,25 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_ns_alt.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_ns_alt.json new file mode 100644 index 0000000..ee9d7ae --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_ns_alt.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_ns", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_ns_alt_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_ns_alt_flip.json new file mode 100644 index 0000000..b620cdc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_ns_alt_flip.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_ns_flip", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_ns_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_ns_flip.json new file mode 100644 index 0000000..6c9203e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_ns_flip.json @@ -0,0 +1,25 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_ns_flip_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_ns_flip_main.json new file mode 100644 index 0000000..c7080fd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_ns_flip_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_ns_flip", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_ns_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_ns_main.json new file mode 100644 index 0000000..8f04917 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_ns_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_ns", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nse.json new file mode 100644 index 0000000..1c77aa4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nse.json @@ -0,0 +1,35 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nse_alt.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nse_alt.json new file mode 100644 index 0000000..2787d36 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nse_alt.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nse", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nse_alt_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nse_alt_flip.json new file mode 100644 index 0000000..dbb8b54 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nse_alt_flip.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nse_flip", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nse_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nse_flip.json new file mode 100644 index 0000000..3069fba --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nse_flip.json @@ -0,0 +1,35 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nse_flip_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nse_flip_main.json new file mode 100644 index 0000000..24c02a6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nse_flip_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nse_flip", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nse_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nse_main.json new file mode 100644 index 0000000..4a45223 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nse_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nse", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu1.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu1.json new file mode 100644 index 0000000..18def16 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu1.json @@ -0,0 +1,47 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 16, 16, 8 ], "axis": "z", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 270 }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 0, 16, 8 ], "axis": "z", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 90 }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu1_alt.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu1_alt.json new file mode 100644 index 0000000..65d9c10 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu1_alt.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nseu1", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu1_alt_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu1_alt_flip.json new file mode 100644 index 0000000..260eba1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu1_alt_flip.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nseu1_flip", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu1_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu1_flip.json new file mode 100644 index 0000000..ce2735e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu1_flip.json @@ -0,0 +1,47 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 16, 16, 8 ], "axis": "z", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 270 }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 0, 16, 8 ], "axis": "z", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 90 }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu1_flip_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu1_flip_main.json new file mode 100644 index 0000000..3f29a80 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu1_flip_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nseu1_flip", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu1_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu1_main.json new file mode 100644 index 0000000..49d8a00 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu1_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nseu1", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu2.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu2.json new file mode 100644 index 0000000..41e6aaa --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu2.json @@ -0,0 +1,47 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 16 ], "axis": "x", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 180 }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 0 ], "axis": "x", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu2_alt.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu2_alt.json new file mode 100644 index 0000000..f6c903c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu2_alt.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nseu2", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu2_alt_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu2_alt_flip.json new file mode 100644 index 0000000..da41494 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu2_alt_flip.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nseu2_flip", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu2_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu2_flip.json new file mode 100644 index 0000000..78c3e11 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu2_flip.json @@ -0,0 +1,47 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 16 ], "axis": "x", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 180 }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 0 ], "axis": "x", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu2_flip_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu2_flip_main.json new file mode 100644 index 0000000..3ab90d2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu2_flip_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nseu2_flip", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu2_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu2_main.json new file mode 100644 index 0000000..7ba2bfc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nseu2_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nseu2", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsew.json new file mode 100644 index 0000000..47eb000 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsew.json @@ -0,0 +1,45 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0.01, 1, 0 ], + "to": [ 0.01, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 0.01, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsew_alt.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsew_alt.json new file mode 100644 index 0000000..a9f740e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsew_alt.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nsew", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsew_alt_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsew_alt_flip.json new file mode 100644 index 0000000..0b54534 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsew_alt_flip.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nsew_flip", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsew_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsew_flip.json new file mode 100644 index 0000000..3b8a601 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsew_flip.json @@ -0,0 +1,45 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0.01, 1, 0 ], + "to": [ 0.01, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 0.01, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsew_flip_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsew_flip_main.json new file mode 100644 index 0000000..93ad78d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsew_flip_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nsew_flip", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsew_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsew_main.json new file mode 100644 index 0000000..d00d8de --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsew_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nsew", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu1.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu1.json new file mode 100644 index 0000000..0169002 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu1.json @@ -0,0 +1,57 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0.01, 1, 0 ], + "to": [ 0.01, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 0.01, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 16, 16, 8 ], "axis": "z", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 270 }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 0, 16, 8 ], "axis": "z", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 90 }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu1_alt.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu1_alt.json new file mode 100644 index 0000000..fea1b08 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu1_alt.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nsewu1", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu1_alt_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu1_alt_flip.json new file mode 100644 index 0000000..d81a7ba --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu1_alt_flip.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nsewu1_flip", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu1_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu1_flip.json new file mode 100644 index 0000000..5676585 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu1_flip.json @@ -0,0 +1,57 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0.01, 1, 0 ], + "to": [ 0.01, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 0.01, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 16, 16, 8 ], "axis": "z", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 270 }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 0, 16, 8 ], "axis": "z", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 90 }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu1_flip_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu1_flip_main.json new file mode 100644 index 0000000..1b46d1b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu1_flip_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nsewu1_flip", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu1_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu1_main.json new file mode 100644 index 0000000..aff44aa --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu1_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nsewu1", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu2.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu2.json new file mode 100644 index 0000000..546a3a2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu2.json @@ -0,0 +1,57 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0.01, 1, 0 ], + "to": [ 0.01, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 0.01, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 16 ], "axis": "x", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 180 }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 0 ], "axis": "x", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu2_alt.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu2_alt.json new file mode 100644 index 0000000..76ce652 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu2_alt.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nsewu2", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu2_alt_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu2_alt_flip.json new file mode 100644 index 0000000..8ee747c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu2_alt_flip.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nsewu2_flip", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu2_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu2_flip.json new file mode 100644 index 0000000..c61b898 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu2_flip.json @@ -0,0 +1,57 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 15.99, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0.01, 1, 0 ], + "to": [ 0.01, 23.4, 16 ], + "shade": false, + "faces": { "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 15.99, 1, 0 ], + "to": [ 0.01, 23.4, 16 ], + "shade": false, + "faces": { "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 16 ], "axis": "x", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 180 }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 0 ], "axis": "x", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu2_flip_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu2_flip_main.json new file mode 100644 index 0000000..6f80972 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu2_flip_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nsewu2_flip", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu2_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu2_main.json new file mode 100644 index 0000000..6e212b4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsewu2_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nsewu2", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu1.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu1.json new file mode 100644 index 0000000..6f8c8f0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu1.json @@ -0,0 +1,37 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 16, 16, 8 ], "axis": "z", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 270 }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 0, 16, 8 ], "axis": "z", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 90 }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu1_alt.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu1_alt.json new file mode 100644 index 0000000..dfd3600 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu1_alt.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nsu1", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu1_alt_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu1_alt_flip.json new file mode 100644 index 0000000..00c8553 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu1_alt_flip.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nsu1_flip", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu1_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu1_flip.json new file mode 100644 index 0000000..a978462 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu1_flip.json @@ -0,0 +1,37 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 16, 16, 8 ], "axis": "z", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 270 }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 0, 16, 8 ], "axis": "z", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 90 }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu1_flip_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu1_flip_main.json new file mode 100644 index 0000000..b7359d8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu1_flip_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nsu1_flip", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu1_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu1_main.json new file mode 100644 index 0000000..d2db70e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu1_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nsu1", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu2.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu2.json new file mode 100644 index 0000000..443b097 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu2.json @@ -0,0 +1,37 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 16 ], "axis": "x", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 180 }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 0 ], "axis": "x", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu2_alt.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu2_alt.json new file mode 100644 index 0000000..27c7196 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu2_alt.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nsu2", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu2_alt_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu2_alt_flip.json new file mode 100644 index 0000000..f88ce30 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu2_alt_flip.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nsu2_flip", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu2_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu2_flip.json new file mode 100644 index 0000000..1f3cfab --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu2_flip.json @@ -0,0 +1,37 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 15.99 ], + "to": [ 16, 23.4, 15.99 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 16 ], "axis": "x", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 180 }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 0 ], "axis": "x", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu2_flip_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu2_flip_main.json new file mode 100644 index 0000000..f703e31 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu2_flip_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nsu2_flip", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu2_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu2_main.json new file mode 100644 index 0000000..ff6e5cf --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nsu2_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nsu2", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nu1.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu1.json new file mode 100644 index 0000000..656af53 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu1.json @@ -0,0 +1,27 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 16, 16, 8 ], "axis": "z", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 270 }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 0, 16, 8 ], "axis": "z", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 90 }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nu1_alt.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu1_alt.json new file mode 100644 index 0000000..6090265 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu1_alt.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nu1", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nu1_alt_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu1_alt_flip.json new file mode 100644 index 0000000..e7ea7b0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu1_alt_flip.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_u2", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nu1_flip_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu1_flip_main.json new file mode 100644 index 0000000..73a340f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu1_flip_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_u2", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nu1_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu1_main.json new file mode 100644 index 0000000..e10f89f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu1_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nu1", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nu2.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu2.json new file mode 100644 index 0000000..12855a7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu2.json @@ -0,0 +1,27 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 16 ], "axis": "x", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 180 }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 0 ], "axis": "x", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nu2_alt.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu2_alt.json new file mode 100644 index 0000000..61c2660 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu2_alt.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nu2", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nu2_alt_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu2_alt_flip.json new file mode 100644 index 0000000..13d7507 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu2_alt_flip.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nu2_flip", + "textures": { + "particle": "blocks/fire_layer_1", + "fire": "blocks/fire_layer_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nu2_flip.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu2_flip.json new file mode 100644 index 0000000..a6db426 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu2_flip.json @@ -0,0 +1,27 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 1, 0.01 ], + "to": [ 16, 23.4, 0.01 ], + "shade": false, + "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#fire" }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 16 ], "axis": "x", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 180 }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 0 ], "axis": "x", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nu2_flip_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu2_flip_main.json new file mode 100644 index 0000000..68e6671 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu2_flip_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nu2_flip", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_nu2_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu2_main.json new file mode 100644 index 0000000..4d3797a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_nu2_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_nu2", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_u1.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_u1.json new file mode 100644 index 0000000..e0f391d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_u1.json @@ -0,0 +1,17 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 16, 16, 8 ], "axis": "z", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 270 }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 0, 16, 8 ], "axis": "z", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 90 }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_u1_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_u1_main.json new file mode 100644 index 0000000..6ab3fb3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_u1_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_u1", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_u2.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_u2.json new file mode 100644 index 0000000..9bfab62 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_u2.json @@ -0,0 +1,17 @@ +{ + "ambientocclusion": false, + "elements": [ + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 16 ], "axis": "x", "angle": -22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire", "rotation": 180 }} + }, + { "from": [ 0, 16, 0 ], + "to": [ 16, 16, 16 ], + "rotation": { "origin": [ 8, 16, 0 ], "axis": "x", "angle": 22.5, "rescale": true }, + "shade": false, + "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#fire" }} + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fire_u2_main.json b/desktopRuntime/resources/assets/minecraft/models/block/fire_u2_main.json new file mode 100644 index 0000000..73a340f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fire_u2_main.json @@ -0,0 +1,7 @@ +{ + "parent": "block/fire_u2", + "textures": { + "particle": "blocks/fire_layer_0", + "fire": "blocks/fire_layer_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot.json new file mode 100644 index 0000000..b5f1c29 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot.json @@ -0,0 +1,57 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/flower_pot", + "flowerpot": "blocks/flower_pot", + "dirt": "blocks/dirt" + }, + "elements": [ + { "from": [ 5, 0, 5 ], + "to": [ 6, 6, 11 ], + "faces": { + "down": { "uv": [ 5, 5, 6, 11 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 5, 5, 6, 11 ], "texture": "#flowerpot" }, + "north": { "uv": [ 10, 10, 11, 16 ], "texture": "#flowerpot" }, + "south": { "uv": [ 5, 10, 6, 16 ], "texture": "#flowerpot" }, + "west": { "uv": [ 5, 10, 11, 16 ], "texture": "#flowerpot" }, + "east": { "uv": [ 5, 10, 11, 16 ], "texture": "#flowerpot" } + } + }, + { "from": [ 10, 0, 5 ], + "to": [ 11, 6, 11 ], + "faces": { + "down": { "uv": [ 10, 5, 11, 11 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 10, 5, 11, 11 ], "texture": "#flowerpot" }, + "north": { "uv": [ 5, 10, 6, 16 ], "texture": "#flowerpot" }, + "south": { "uv": [ 10, 10, 11, 16 ], "texture": "#flowerpot" }, + "west": { "uv": [ 5, 10, 11, 16 ], "texture": "#flowerpot" }, + "east": { "uv": [ 5, 10, 11, 16 ], "texture": "#flowerpot" } + } + }, + { "from": [ 6, 0, 5 ], + "to": [ 10, 6, 6 ], + "faces": { + "down": { "uv": [ 6, 10, 10, 11 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 6, 5, 10, 6 ], "texture": "#flowerpot" }, + "north": { "uv": [ 6, 10, 10, 16 ], "texture": "#flowerpot" }, + "south": { "uv": [ 6, 10, 10, 16 ], "texture": "#flowerpot" } + } + }, + { "from": [ 6, 0, 10 ], + "to": [ 10, 6, 11 ], + "faces": { + "down": { "uv": [ 6, 5, 10, 6 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 6, 10, 10, 11 ], "texture": "#flowerpot" }, + "north": { "uv": [ 6, 10, 10, 16 ], "texture": "#flowerpot" }, + "south": { "uv": [ 6, 10, 10, 16 ], "texture": "#flowerpot" } + } + }, + { "from": [ 6, 0, 6 ], + "to": [ 10, 4, 10 ], + "faces": { + "down": { "uv": [ 6, 6, 10, 10 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 6, 6, 10, 10 ], "texture": "#dirt" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_acacia.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_acacia.json new file mode 100644 index 0000000..21f6dcd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_acacia.json @@ -0,0 +1,6 @@ +{ + "parent": "block/flower_pot_cross", + "textures": { + "plant": "blocks/sapling_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_allium.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_allium.json new file mode 100644 index 0000000..2a0e686 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_allium.json @@ -0,0 +1,6 @@ +{ + "parent": "block/flower_pot_cross", + "textures": { + "plant": "blocks/flower_allium" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_birch.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_birch.json new file mode 100644 index 0000000..90c04a1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_birch.json @@ -0,0 +1,6 @@ +{ + "parent": "block/flower_pot_cross", + "textures": { + "plant": "blocks/sapling_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_cactus.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_cactus.json new file mode 100644 index 0000000..669e3f7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_cactus.json @@ -0,0 +1,86 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/flower_pot", + "flowerpot": "blocks/flower_pot", + "dirt": "blocks/dirt", + "cactus": "blocks/cactus_side" + }, + "elements": [ + { "from": [ 5, 0, 5 ], + "to": [ 6, 6, 11 ], + "faces": { + "down": { "uv": [ 5, 5, 6, 11 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 5, 5, 6, 11 ], "texture": "#flowerpot" }, + "north": { "uv": [ 10, 10, 11, 16 ], "texture": "#flowerpot" }, + "south": { "uv": [ 5, 10, 6, 16 ], "texture": "#flowerpot" }, + "west": { "uv": [ 5, 10, 11, 16 ], "texture": "#flowerpot" }, + "east": { "uv": [ 5, 10, 11, 16 ], "texture": "#flowerpot" } + } + }, + { "from": [ 10, 0, 5 ], + "to": [ 11, 6, 11 ], + "faces": { + "down": { "uv": [ 10, 5, 11, 11 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 10, 5, 11, 11 ], "texture": "#flowerpot" }, + "north": { "uv": [ 5, 10, 6, 16 ], "texture": "#flowerpot" }, + "south": { "uv": [ 10, 10, 11, 16 ], "texture": "#flowerpot" }, + "west": { "uv": [ 5, 10, 11, 16 ], "texture": "#flowerpot" }, + "east": { "uv": [ 5, 10, 11, 16 ], "texture": "#flowerpot" } + } + }, + { "from": [ 6, 0, 5 ], + "to": [ 10, 6, 6 ], + "faces": { + "down": { "uv": [ 6, 10, 10, 11 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 6, 5, 10, 6 ], "texture": "#flowerpot" }, + "north": { "uv": [ 6, 10, 10, 16 ], "texture": "#flowerpot" }, + "south": { "uv": [ 6, 10, 10, 16 ], "texture": "#flowerpot" } + } + }, + { "from": [ 6, 0, 10 ], + "to": [ 10, 6, 11 ], + "faces": { + "down": { "uv": [ 6, 5, 10, 6 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 6, 10, 10, 11 ], "texture": "#flowerpot" }, + "north": { "uv": [ 6, 10, 10, 16 ], "texture": "#flowerpot" }, + "south": { "uv": [ 6, 10, 10, 16 ], "texture": "#flowerpot" } + } + }, + { "from": [ 6, 0, 6 ], + "to": [ 10, 4, 10 ], + "faces": { + "down": { "uv": [ 6, 6, 10, 10 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 6, 6, 10, 10 ], "texture": "#dirt" } + } + }, + { "from": [ 6, 4, 6 ], + "to": [ 10, 8, 10 ], + "faces": { + "north": { "uv": [ 6, 8, 10, 12 ], "texture": "#cactus" }, + "south": { "uv": [ 6, 8, 10, 12 ], "texture": "#cactus" }, + "west": { "uv": [ 6, 8, 10, 12 ], "texture": "#cactus" }, + "east": { "uv": [ 6, 8, 10, 12 ], "texture": "#cactus" } + } + }, + { "from": [ 6, 8, 6 ], + "to": [ 10, 12, 10 ], + "faces": { + "north": { "uv": [ 6, 4, 10, 8 ], "texture": "#cactus" }, + "south": { "uv": [ 6, 4, 10, 8 ], "texture": "#cactus" }, + "west": { "uv": [ 6, 4, 10, 8 ], "texture": "#cactus" }, + "east": { "uv": [ 6, 4, 10, 8 ], "texture": "#cactus" } + } + }, + { "from": [ 6, 12, 6 ], + "to": [ 10, 16, 10 ], + "faces": { + "up": { "uv": [ 6, 6, 10, 10 ], "texture": "#cactus" }, + "north": { "uv": [ 6, 0, 10, 4 ], "texture": "#cactus" }, + "south": { "uv": [ 6, 0, 10, 4 ], "texture": "#cactus" }, + "west": { "uv": [ 6, 0, 10, 4 ], "texture": "#cactus" }, + "east": { "uv": [ 6, 0, 10, 4 ], "texture": "#cactus" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_cross.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_cross.json new file mode 100644 index 0000000..7af477b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_cross.json @@ -0,0 +1,73 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/flower_pot", + "flowerpot": "blocks/flower_pot", + "dirt": "blocks/dirt" + }, + "elements": [ + { "from": [ 5, 0, 5 ], + "to": [ 6, 6, 11 ], + "faces": { + "down": { "uv": [ 5, 5, 6, 11 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 5, 5, 6, 11 ], "texture": "#flowerpot" }, + "north": { "uv": [ 10, 10, 11, 16 ], "texture": "#flowerpot" }, + "south": { "uv": [ 5, 10, 6, 16 ], "texture": "#flowerpot" }, + "west": { "uv": [ 5, 10, 11, 16 ], "texture": "#flowerpot" }, + "east": { "uv": [ 5, 10, 11, 16 ], "texture": "#flowerpot" } + } + }, + { "from": [ 10, 0, 5 ], + "to": [ 11, 6, 11 ], + "faces": { + "down": { "uv": [ 10, 5, 11, 11 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 10, 5, 11, 11 ], "texture": "#flowerpot" }, + "north": { "uv": [ 5, 10, 6, 16 ], "texture": "#flowerpot" }, + "south": { "uv": [ 10, 10, 11, 16 ], "texture": "#flowerpot" }, + "west": { "uv": [ 5, 10, 11, 16 ], "texture": "#flowerpot" }, + "east": { "uv": [ 5, 10, 11, 16 ], "texture": "#flowerpot" } + } + }, + { "from": [ 6, 0, 5 ], + "to": [ 10, 6, 6 ], + "faces": { + "down": { "uv": [ 6, 10, 10, 11 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 6, 5, 10, 6 ], "texture": "#flowerpot" }, + "north": { "uv": [ 6, 10, 10, 16 ], "texture": "#flowerpot" }, + "south": { "uv": [ 6, 10, 10, 16 ], "texture": "#flowerpot" } + } + }, + { "from": [ 6, 0, 10 ], + "to": [ 10, 6, 11 ], + "faces": { + "down": { "uv": [ 6, 5, 10, 6 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 6, 10, 10, 11 ], "texture": "#flowerpot" }, + "north": { "uv": [ 6, 10, 10, 16 ], "texture": "#flowerpot" }, + "south": { "uv": [ 6, 10, 10, 16 ], "texture": "#flowerpot" } + } + }, + { "from": [ 6, 0, 6 ], + "to": [ 10, 4, 10 ], + "faces": { + "down": { "uv": [ 6, 6, 10, 10 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 6, 6, 10, 10 ], "texture": "#dirt" } + } + }, + { "from": [ 2.6, 4, 8 ], + "to": [ 13.4, 16, 8 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#plant" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#plant" } + } + }, + { "from": [ 8, 4, 2.6 ], + "to": [ 8, 16, 13.4 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#plant" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#plant" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_daisy.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_daisy.json new file mode 100644 index 0000000..d065044 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_daisy.json @@ -0,0 +1,6 @@ +{ + "parent": "block/flower_pot_cross", + "textures": { + "plant": "blocks/flower_oxeye_daisy" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_dandelion.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_dandelion.json new file mode 100644 index 0000000..353eb5e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_dandelion.json @@ -0,0 +1,6 @@ +{ + "parent": "block/flower_pot_cross", + "textures": { + "plant": "blocks/flower_dandelion" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_dark_oak.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_dark_oak.json new file mode 100644 index 0000000..f0c714e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_dark_oak.json @@ -0,0 +1,6 @@ +{ + "parent": "block/flower_pot_cross", + "textures": { + "plant": "blocks/sapling_roofed_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_dead_bush.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_dead_bush.json new file mode 100644 index 0000000..b792169 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_dead_bush.json @@ -0,0 +1,6 @@ +{ + "parent": "block/flower_pot_cross", + "textures": { + "plant": "blocks/deadbush" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_fern.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_fern.json new file mode 100644 index 0000000..e12f90d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_fern.json @@ -0,0 +1,74 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/flower_pot", + "flowerpot": "blocks/flower_pot", + "dirt": "blocks/dirt", + "plant": "blocks/fern" + }, + "elements": [ + { "from": [ 5, 0, 5 ], + "to": [ 6, 6, 11 ], + "faces": { + "down": { "uv": [ 5, 5, 6, 11 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 5, 5, 6, 11 ], "texture": "#flowerpot" }, + "north": { "uv": [ 10, 10, 11, 16 ], "texture": "#flowerpot" }, + "south": { "uv": [ 5, 10, 6, 16 ], "texture": "#flowerpot" }, + "west": { "uv": [ 5, 10, 11, 16 ], "texture": "#flowerpot" }, + "east": { "uv": [ 5, 10, 11, 16 ], "texture": "#flowerpot" } + } + }, + { "from": [ 10, 0, 5 ], + "to": [ 11, 6, 11 ], + "faces": { + "down": { "uv": [ 10, 5, 11, 11 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 10, 5, 11, 11 ], "texture": "#flowerpot" }, + "north": { "uv": [ 5, 10, 6, 16 ], "texture": "#flowerpot" }, + "south": { "uv": [ 10, 10, 11, 16 ], "texture": "#flowerpot" }, + "west": { "uv": [ 5, 10, 11, 16 ], "texture": "#flowerpot" }, + "east": { "uv": [ 5, 10, 11, 16 ], "texture": "#flowerpot" } + } + }, + { "from": [ 6, 0, 5 ], + "to": [ 10, 6, 6 ], + "faces": { + "down": { "uv": [ 6, 10, 10, 11 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 6, 5, 10, 6 ], "texture": "#flowerpot" }, + "north": { "uv": [ 6, 10, 10, 16 ], "texture": "#flowerpot" }, + "south": { "uv": [ 6, 10, 10, 16 ], "texture": "#flowerpot" } + } + }, + { "from": [ 6, 0, 10 ], + "to": [ 10, 6, 11 ], + "faces": { + "down": { "uv": [ 6, 5, 10, 6 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 6, 10, 10, 11 ], "texture": "#flowerpot" }, + "north": { "uv": [ 6, 10, 10, 16 ], "texture": "#flowerpot" }, + "south": { "uv": [ 6, 10, 10, 16 ], "texture": "#flowerpot" } + } + }, + { "from": [ 6, 0, 6 ], + "to": [ 10, 4, 10 ], + "faces": { + "down": { "uv": [ 6, 6, 10, 10 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 6, 6, 10, 10 ], "texture": "#dirt" } + } + }, + { "from": [ 2.6, 4, 8 ], + "to": [ 13.4, 16, 8 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#plant", "tintindex": 0 }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#plant", "tintindex": 0 } + } + }, + { "from": [ 8, 4, 2.6 ], + "to": [ 8, 16, 13.4 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#plant", "tintindex": 0 }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#plant", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_houstonia.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_houstonia.json new file mode 100644 index 0000000..a270ed8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_houstonia.json @@ -0,0 +1,6 @@ +{ + "parent": "block/flower_pot_cross", + "textures": { + "plant": "blocks/flower_houstonia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_jungle.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_jungle.json new file mode 100644 index 0000000..c8c854c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_jungle.json @@ -0,0 +1,6 @@ +{ + "parent": "block/flower_pot_cross", + "textures": { + "plant": "blocks/sapling_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_mushroom_brown.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_mushroom_brown.json new file mode 100644 index 0000000..531c564 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_mushroom_brown.json @@ -0,0 +1,6 @@ +{ + "parent": "block/flower_pot_cross", + "textures": { + "plant": "blocks/mushroom_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_mushroom_red.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_mushroom_red.json new file mode 100644 index 0000000..2e339ae --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_mushroom_red.json @@ -0,0 +1,6 @@ +{ + "parent": "block/flower_pot_cross", + "textures": { + "plant": "blocks/mushroom_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_oak.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_oak.json new file mode 100644 index 0000000..8a90b8c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_oak.json @@ -0,0 +1,6 @@ +{ + "parent": "block/flower_pot_cross", + "textures": { + "plant": "blocks/sapling_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_orchid.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_orchid.json new file mode 100644 index 0000000..a5f29ff --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_orchid.json @@ -0,0 +1,6 @@ +{ + "parent": "block/flower_pot_cross", + "textures": { + "plant": "blocks/flower_blue_orchid" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_rose.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_rose.json new file mode 100644 index 0000000..ffd38bf --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_rose.json @@ -0,0 +1,6 @@ +{ + "parent": "block/flower_pot_cross", + "textures": { + "plant": "blocks/flower_rose" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_spruce.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_spruce.json new file mode 100644 index 0000000..752a0a9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_spruce.json @@ -0,0 +1,6 @@ +{ + "parent": "block/flower_pot_cross", + "textures": { + "plant": "blocks/sapling_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_tulip_orange.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_tulip_orange.json new file mode 100644 index 0000000..c397ab4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_tulip_orange.json @@ -0,0 +1,6 @@ +{ + "parent": "block/flower_pot_cross", + "textures": { + "plant": "blocks/flower_tulip_orange" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_tulip_pink.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_tulip_pink.json new file mode 100644 index 0000000..74db107 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_tulip_pink.json @@ -0,0 +1,6 @@ +{ + "parent": "block/flower_pot_cross", + "textures": { + "plant": "blocks/flower_tulip_pink" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_tulip_red.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_tulip_red.json new file mode 100644 index 0000000..8285aea --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_tulip_red.json @@ -0,0 +1,6 @@ +{ + "parent": "block/flower_pot_cross", + "textures": { + "plant": "blocks/flower_tulip_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_tulip_white.json b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_tulip_white.json new file mode 100644 index 0000000..adc4ed9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/flower_pot_tulip_white.json @@ -0,0 +1,6 @@ +{ + "parent": "block/flower_pot_cross", + "textures": { + "plant": "blocks/flower_tulip_white" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/frosted_ice_0.json b/desktopRuntime/resources/assets/minecraft/models/block/frosted_ice_0.json new file mode 100644 index 0000000..eebe1da --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/frosted_ice_0.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/frosted_ice_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/frosted_ice_1.json b/desktopRuntime/resources/assets/minecraft/models/block/frosted_ice_1.json new file mode 100644 index 0000000..a33d79e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/frosted_ice_1.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/frosted_ice_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/frosted_ice_2.json b/desktopRuntime/resources/assets/minecraft/models/block/frosted_ice_2.json new file mode 100644 index 0000000..0ba8c37 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/frosted_ice_2.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/frosted_ice_2" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/frosted_ice_3.json b/desktopRuntime/resources/assets/minecraft/models/block/frosted_ice_3.json new file mode 100644 index 0000000..989789f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/frosted_ice_3.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/frosted_ice_3" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_1cn.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_1cn.json new file mode 100644 index 0000000..9e1dc0c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_1cn.json @@ -0,0 +1,32 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 4, 4 ], + "to": [ 12, 12, 12 ], + "faces": { + "down": { "texture": "#inside" }, + "up": { "texture": "#inside" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + }, + { "from": [ 4, 4, 0 ], + "to": [ 12, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture", "cullface":"north" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_2cne.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_2cne.json new file mode 100644 index 0000000..b38d9e5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_2cne.json @@ -0,0 +1,42 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 4, 4 ], + "to": [ 12, 12, 12 ], + "faces": { + "down": { "texture": "#inside" }, + "up": { "texture": "#inside" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + }, + { "from": [ 4, 4, 0 ], + "to": [ 12, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture", "cullface":"north" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" } + } + }, + { "from": [ 12, 12, 12 ], + "to": [ 16, 4, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture" }, + "east": { "texture": "#texture", "cullface":"east" }, + "south": { "texture": "#inside" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_2cns.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_2cns.json new file mode 100644 index 0000000..367543a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_2cns.json @@ -0,0 +1,42 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 4, 4 ], + "to": [ 12, 12, 12 ], + "faces": { + "down": { "texture": "#inside" }, + "up": { "texture": "#inside" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + }, + { "from": [ 4, 4, 0 ], + "to": [ 12, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture", "cullface":"north" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" } + } + }, + { "from": [ 12, 4, 16 ], + "to": [ 4, 12, 12 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" }, + "south": { "texture": "#inside", "cullface":"south" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_3nse.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_3nse.json new file mode 100644 index 0000000..c5368b8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_3nse.json @@ -0,0 +1,52 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 4, 4 ], + "to": [ 12, 12, 12 ], + "faces": { + "down": { "texture": "#inside" }, + "up": { "texture": "#inside" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + }, + { "from": [ 4, 4, 0 ], + "to": [ 12, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture", "cullface":"north" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" } + } + }, + { "from": [ 12, 12, 12 ], + "to": [ 16, 4, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture" }, + "east": { "texture": "#texture", "cullface":"east" }, + "south": { "texture": "#texture" } + } + }, + { "from": [ 12, 4, 16 ], + "to": [ 4, 12, 12 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" }, + "south": { "texture": "#inside", "cullface":"south" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_4cnswe.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_4cnswe.json new file mode 100644 index 0000000..8c7797f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_4cnswe.json @@ -0,0 +1,62 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 4, 4 ], + "to": [ 12, 12, 12 ], + "faces": { + "down": { "texture": "#inside" }, + "up": { "texture": "#inside" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + }, + { "from": [ 4, 4, 0 ], + "to": [ 12, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture", "cullface":"north" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" } + } + }, + { "from": [ 12, 12, 12 ], + "to": [ 16, 4, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture" }, + "east": { "texture": "#texture", "cullface":"east" }, + "south": { "texture": "#texture" } + } + }, + { "from": [ 12, 4, 16 ], + "to": [ 4, 12, 12 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" }, + "south": { "texture": "#texture", "cullface":"south" } + } + }, + { "from": [ 4, 4, 12 ], + "to": [ 0, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture" }, + "west": { "texture": "#texture", "cullface":"west" }, + "south": { "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_af.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_af.json new file mode 100644 index 0000000..802b730 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_af.json @@ -0,0 +1,22 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 4, 4 ], + "to": [ 12, 12, 12 ], + "faces": { + "down": { "texture": "#inside" }, + "up": { "texture": "#inside" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_td.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_td.json new file mode 100644 index 0000000..383a437 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_td.json @@ -0,0 +1,22 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 0, 4 ], + "to": [ 12, 12, 12 ], + "faces": { + "up": { "texture": "#inside" }, + "down": { "texture": "#inside", "cullface":"down" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_td_1cn.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_td_1cn.json new file mode 100644 index 0000000..ed57c90 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_td_1cn.json @@ -0,0 +1,32 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 0, 4 ], + "to": [ 12, 12, 12 ], + "faces": { + "down": { "texture": "#inside", "cullface":"down" }, + "up": { "texture": "#inside" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + }, + { "from": [ 4, 4, 0 ], + "to": [ 12, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture", "cullface":"north" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_td_2cne.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_td_2cne.json new file mode 100644 index 0000000..840a536 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_td_2cne.json @@ -0,0 +1,42 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 0, 4 ], + "to": [ 12, 12, 12 ], + "faces": { + "up": { "texture": "#inside" }, + "down": { "texture": "#inside", "cullface":"down" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + }, + { "from": [ 4, 4, 0 ], + "to": [ 12, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture", "cullface":"north" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" } + } + }, + { "from": [ 12, 12, 12 ], + "to": [ 16, 4, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture" }, + "east": { "texture": "#texture", "cullface":"east" }, + "south": { "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_td_2cns.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_td_2cns.json new file mode 100644 index 0000000..4523694 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_td_2cns.json @@ -0,0 +1,42 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 0, 4 ], + "to": [ 12, 12, 12 ], + "faces": { + "up": { "texture": "#inside" }, + "down": { "texture": "#inside", "cullface":"down" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + }, + { "from": [ 4, 4, 0 ], + "to": [ 12, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture", "cullface":"north" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" } + } + }, + { "from": [ 12, 4, 16 ], + "to": [ 4, 12, 12 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" }, + "south": { "texture": "#texture", "cullface":"south" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_td_3nse.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_td_3nse.json new file mode 100644 index 0000000..4551201 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_td_3nse.json @@ -0,0 +1,52 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 0, 4 ], + "to": [ 12, 12, 12 ], + "faces": { + "up": { "texture": "#inside" }, + "down": { "texture": "#inside", "cullface":"down" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + }, + { "from": [ 4, 4, 0 ], + "to": [ 12, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture", "cullface":"north" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" } + } + }, + { "from": [ 12, 12, 12 ], + "to": [ 16, 4, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture" }, + "east": { "texture": "#texture", "cullface":"east" }, + "south": { "texture": "#inside" } + } + }, + { "from": [ 12, 4, 16 ], + "to": [ 4, 12, 12 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" }, + "south": { "texture": "#inside", "cullface":"south" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_td_4cnswe.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_td_4cnswe.json new file mode 100644 index 0000000..e19358a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_td_4cnswe.json @@ -0,0 +1,62 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 4, 4 ], + "to": [ 12, 12, 12 ], + "faces": { + "down": { "texture": "#inside" }, + "up": { "texture": "#inside" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + }, + { "from": [ 4, 4, 0 ], + "to": [ 12, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture", "cullface":"north" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" } + } + }, + { "from": [ 12, 12, 12 ], + "to": [ 16, 4, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture" }, + "east": { "texture": "#texture", "cullface":"east" }, + "south": { "texture": "#texture" } + } + }, + { "from": [ 12, 4, 16 ], + "to": [ 4, 12, 12 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" }, + "south": { "texture": "#texture", "cullface":"south" } + } + }, + { "from": [ 0, 12, 4 ], + "to": [ 4, 4, 12 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" }, + "south": { "texture": "#texture", "cullface":"south" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tdu.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tdu.json new file mode 100644 index 0000000..94ac717 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tdu.json @@ -0,0 +1,22 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 0, 4 ], + "to": [ 12, 16, 12 ], + "faces": { + "up": { "texture": "#inside", "cullface":"up" }, + "down": { "texture": "#inside", "cullface":"down" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tdu_1cn.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tdu_1cn.json new file mode 100644 index 0000000..5d1a105 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tdu_1cn.json @@ -0,0 +1,32 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 0, 4 ], + "to": [ 12, 16, 12 ], + "faces": { + "up": { "texture": "#inside", "cullface":"up" }, + "down": { "texture": "#inside", "cullface":"down" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + }, + { "from": [ 4, 4, 0 ], + "to": [ 12, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture", "cullface":"north" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tdu_2cne.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tdu_2cne.json new file mode 100644 index 0000000..d9e9c2f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tdu_2cne.json @@ -0,0 +1,42 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 0, 4 ], + "to": [ 12, 16, 12 ], + "faces": { + "up": { "texture": "#inside", "cullface":"up" }, + "down": { "texture": "#inside", "cullface":"down" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + }, + { "from": [ 4, 4, 0 ], + "to": [ 12, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture", "cullface":"north" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" } + } + }, + { "from": [ 12, 12, 12 ], + "to": [ 16, 4, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture" }, + "east": { "texture": "#texture", "cullface":"east" }, + "south": { "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tdu_2cns.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tdu_2cns.json new file mode 100644 index 0000000..5203ddb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tdu_2cns.json @@ -0,0 +1,42 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 0, 4 ], + "to": [ 12, 16, 12 ], + "faces": { + "up": { "texture": "#inside", "cullface":"up" }, + "down": { "texture": "#inside", "cullface":"down" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + }, + { "from": [ 4, 4, 0 ], + "to": [ 12, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture", "cullface":"north" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" } + } + }, + { "from": [ 12, 4, 16 ], + "to": [ 4, 12, 12 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" }, + "south": { "texture": "#inside", "cullface":"south" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tdu_3nse.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tdu_3nse.json new file mode 100644 index 0000000..b431c75 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tdu_3nse.json @@ -0,0 +1,52 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 0, 4 ], + "to": [ 12, 16, 12 ], + "faces": { + "up": { "texture": "#inside", "cullface":"up" }, + "down": { "texture": "#inside", "cullface":"down" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + }, + { "from": [ 4, 4, 0 ], + "to": [ 12, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture", "cullface":"north" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" } + } + }, + { "from": [ 12, 12, 12 ], + "to": [ 16, 4, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture" }, + "east": { "texture": "#texture", "cullface":"east" }, + "south": { "texture": "#inside" } + } + }, + { "from": [ 12, 4, 16 ], + "to": [ 4, 12, 12 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" }, + "south": { "texture": "#inside", "cullface":"south" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tdu_4cnswe.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tdu_4cnswe.json new file mode 100644 index 0000000..8771c54 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tdu_4cnswe.json @@ -0,0 +1,63 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 4, 4 ], + "to": [ 12, 12, 12 ], + "faces": { + "down": { "texture": "#inside" }, + "up": { "texture": "#inside" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + }, + { "from": [ 4, 4, 0 ], + "to": [ 12, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture", "cullface":"north" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" } + } + }, + { "from": [ 12, 12, 12 ], + "to": [ 16, 4, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture" }, + "east": { "texture": "#texture", "cullface":"east" }, + "south": { "texture": "#texture" } + } + }, + { "from": [ 12, 4, 16 ], + "to": [ 4, 12, 12 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" }, + "south": { "texture": "#texture", "cullface":"south" } + } + }, + { "from": [ 4, 4, 12 ], + "to": [ 0, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" }, + "south": { "texture": "#texture", "cullface":"south" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tu.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tu.json new file mode 100644 index 0000000..31c39c4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tu.json @@ -0,0 +1,22 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 4, 4 ], + "to": [ 12, 16, 12 ], + "faces": { + "up": { "texture": "#inside", "cullface":"up" }, + "down": { "texture": "#inside" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tu_1cn.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tu_1cn.json new file mode 100644 index 0000000..8e94724 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tu_1cn.json @@ -0,0 +1,32 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 4, 4 ], + "to": [ 12, 16, 12 ], + "faces": { + "up": { "texture": "#inside", "cullface":"up" }, + "down": { "texture": "#inside" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + }, + { "from": [ 4, 4, 0 ], + "to": [ 12, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture", "cullface":"north" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tu_2cne.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tu_2cne.json new file mode 100644 index 0000000..691a165 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tu_2cne.json @@ -0,0 +1,42 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 4, 4 ], + "to": [ 12, 16, 12 ], + "faces": { + "up": { "texture": "#inside", "cullface":"up" }, + "down": { "texture": "#inside" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + }, + { "from": [ 4, 4, 0 ], + "to": [ 12, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture", "cullface":"north" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" } + } + }, + { "from": [ 12, 12, 12 ], + "to": [ 16, 4, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture" }, + "east": { "texture": "#texture", "cullface":"east" }, + "south": { "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tu_2cns.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tu_2cns.json new file mode 100644 index 0000000..9abada7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tu_2cns.json @@ -0,0 +1,42 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 4, 4 ], + "to": [ 12, 16, 12 ], + "faces": { + "up": { "texture": "#inside", "cullface":"up" }, + "down": { "texture": "#inside" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + }, + { "from": [ 4, 4, 0 ], + "to": [ 12, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture", "cullface":"north" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" } + } + }, + { "from": [ 12, 4, 16 ], + "to": [ 4, 12, 12 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" }, + "south": { "texture": "#inside", "cullface":"south" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tu_3nse.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tu_3nse.json new file mode 100644 index 0000000..a4c3016 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tu_3nse.json @@ -0,0 +1,52 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 4, 4 ], + "to": [ 12, 16, 12 ], + "faces": { + "up": { "texture": "#inside", "cullface":"up" }, + "down": { "texture": "#inside" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + }, + { "from": [ 4, 4, 0 ], + "to": [ 12, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture", "cullface":"north" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" } + } + }, + { "from": [ 12, 12, 12 ], + "to": [ 16, 4, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture" }, + "east": { "texture": "#texture", "cullface":"east" }, + "south": { "texture": "#inside" } + } + }, + { "from": [ 12, 4, 16 ], + "to": [ 4, 12, 12 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" }, + "south": { "texture": "#inside", "cullface":"south" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tu_4cnswe.json b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tu_4cnswe.json new file mode 100644 index 0000000..e19358a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/fuckchorus/chorus_plant_tu_4cnswe.json @@ -0,0 +1,62 @@ +{ + "ambientocclusion": false, + "textures": { + "texture": "blocks/chorus_plant", + "inside": "blocks/chorus_plant", + "particle": "blocks/chorus_plant" + }, + "elements": [ + { + "from": [ 4, 4, 4 ], + "to": [ 12, 12, 12 ], + "faces": { + "down": { "texture": "#inside" }, + "up": { "texture": "#inside" }, + "north": { "texture": "#inside" }, + "south": { "texture": "#inside" }, + "east": { "texture": "#inside" }, + "west": { "texture": "#inside" } + } + }, + { "from": [ 4, 4, 0 ], + "to": [ 12, 12, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture", "cullface":"north" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" } + } + }, + { "from": [ 12, 12, 12 ], + "to": [ 16, 4, 4 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "north": { "texture": "#texture" }, + "east": { "texture": "#texture", "cullface":"east" }, + "south": { "texture": "#texture" } + } + }, + { "from": [ 12, 4, 16 ], + "to": [ 4, 12, 12 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" }, + "south": { "texture": "#texture", "cullface":"south" } + } + }, + { "from": [ 0, 12, 4 ], + "to": [ 4, 4, 12 ], + "faces": { + "down": { "texture": "#texture" }, + "up": { "texture": "#texture" }, + "west": { "texture": "#texture" }, + "east": { "texture": "#texture" }, + "south": { "texture": "#texture", "cullface":"south" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/furnace.json b/desktopRuntime/resources/assets/minecraft/models/block/furnace.json new file mode 100644 index 0000000..9d88a5e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/furnace.json @@ -0,0 +1,8 @@ +{ + "parent": "block/orientable", + "textures": { + "top": "blocks/furnace_top", + "front": "blocks/furnace_front_off", + "side": "blocks/furnace_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass.json b/desktopRuntime/resources/assets/minecraft/models/block/glass.json new file mode 100644 index 0000000..aa796b5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/glass" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_black.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_black.json new file mode 100644 index 0000000..b9008a0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_black.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/glass_black" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_blue.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_blue.json new file mode 100644 index 0000000..3f8fb9b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_blue.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/glass_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_brown.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_brown.json new file mode 100644 index 0000000..b916aa9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_brown.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/glass_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_cyan.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_cyan.json new file mode 100644 index 0000000..83e6c58 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_cyan.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/glass_cyan" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_gray.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_gray.json new file mode 100644 index 0000000..f37201d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_gray.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/glass_gray" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_green.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_green.json new file mode 100644 index 0000000..c313268 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_green.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/glass_green" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_light_blue.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_light_blue.json new file mode 100644 index 0000000..2faeffa --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_light_blue.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/glass_light_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_lime.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_lime.json new file mode 100644 index 0000000..f6ba9c3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_lime.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/glass_lime" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_magenta.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_magenta.json new file mode 100644 index 0000000..fda210f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_magenta.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/glass_magenta" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_orange.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_orange.json new file mode 100644 index 0000000..d2d7204 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_orange.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/glass_orange" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_n.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_n.json new file mode 100644 index 0000000..ad71fc3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_n.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_n", + "textures": { + "edge": "blocks/glass_pane_top", + "pane": "blocks/glass" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_ne.json new file mode 100644 index 0000000..44cada4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_ne.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ne", + "textures": { + "edge": "blocks/glass_pane_top", + "pane": "blocks/glass" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_new.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_new.json new file mode 100644 index 0000000..85de1ae --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_new.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_new", + "textures": { + "edge": "blocks/glass_pane_top", + "pane": "blocks/glass" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_ns.json new file mode 100644 index 0000000..5e6ecfe --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_ns.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ns", + "textures": { + "edge": "blocks/glass_pane_top", + "pane": "blocks/glass" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_nse.json new file mode 100644 index 0000000..c8fa2d1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_nse.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nse", + "textures": { + "edge": "blocks/glass_pane_top", + "pane": "blocks/glass" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_nsew.json new file mode 100644 index 0000000..226f690 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_nsew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsew", + "textures": { + "edge": "blocks/glass_pane_top", + "pane": "blocks/glass" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_nsw.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_nsw.json new file mode 100644 index 0000000..489076b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_nsw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsw", + "textures": { + "edge": "blocks/glass_pane_top", + "pane": "blocks/glass" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_nw.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_nw.json new file mode 100644 index 0000000..cc616f9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_nw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nw", + "textures": { + "edge": "blocks/glass_pane_top", + "pane": "blocks/glass" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_s.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_s.json new file mode 100644 index 0000000..7db345f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_s.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_s", + "textures": { + "edge": "blocks/glass_pane_top", + "pane": "blocks/glass" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_se.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_se.json new file mode 100644 index 0000000..015428f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_se.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_se", + "textures": { + "edge": "blocks/glass_pane_top", + "pane": "blocks/glass" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_sew.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_sew.json new file mode 100644 index 0000000..bd2270b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_sew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sew", + "textures": { + "edge": "blocks/glass_pane_top", + "pane": "blocks/glass" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_sw.json new file mode 100644 index 0000000..813ac36 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_pane_sw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sw", + "textures": { + "edge": "blocks/glass_pane_top", + "pane": "blocks/glass" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_pink.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_pink.json new file mode 100644 index 0000000..b557e8b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_pink.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/glass_pink" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_purple.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_purple.json new file mode 100644 index 0000000..ac12904 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_purple.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/glass_purple" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_red.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_red.json new file mode 100644 index 0000000..939f58d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_red.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/glass_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_silver.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_silver.json new file mode 100644 index 0000000..afeeeaa --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_silver.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/glass_silver" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_white.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_white.json new file mode 100644 index 0000000..c7df9fc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_white.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/glass_white" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glass_yellow.json b/desktopRuntime/resources/assets/minecraft/models/block/glass_yellow.json new file mode 100644 index 0000000..3ba5a6c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glass_yellow.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/glass_yellow" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/glowstone.json b/desktopRuntime/resources/assets/minecraft/models/block/glowstone.json new file mode 100644 index 0000000..9ffe5db --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/glowstone.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/glowstone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/gold_block.json b/desktopRuntime/resources/assets/minecraft/models/block/gold_block.json new file mode 100644 index 0000000..1c227f0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/gold_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/gold_block" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/gold_ore.json b/desktopRuntime/resources/assets/minecraft/models/block/gold_ore.json new file mode 100644 index 0000000..ce4e035 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/gold_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/gold_ore" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/golden_rail_active_flat.json b/desktopRuntime/resources/assets/minecraft/models/block/golden_rail_active_flat.json new file mode 100644 index 0000000..a2f49b1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/golden_rail_active_flat.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_flat", + "textures": { + "rail": "blocks/rail_golden_powered" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/golden_rail_active_raised_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/golden_rail_active_raised_ne.json new file mode 100644 index 0000000..4ab8f64 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/golden_rail_active_raised_ne.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_raised_ne", + "textures": { + "rail": "blocks/rail_golden_powered" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/golden_rail_active_raised_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/golden_rail_active_raised_sw.json new file mode 100644 index 0000000..8fef059 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/golden_rail_active_raised_sw.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_raised_sw", + "textures": { + "rail": "blocks/rail_golden_powered" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/golden_rail_flat.json b/desktopRuntime/resources/assets/minecraft/models/block/golden_rail_flat.json new file mode 100644 index 0000000..87a08fc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/golden_rail_flat.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_flat", + "textures": { + "rail": "blocks/rail_golden" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/golden_rail_raised_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/golden_rail_raised_ne.json new file mode 100644 index 0000000..ff3856d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/golden_rail_raised_ne.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_raised_ne", + "textures": { + "rail": "blocks/rail_golden" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/golden_rail_raised_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/golden_rail_raised_sw.json new file mode 100644 index 0000000..520414d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/golden_rail_raised_sw.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_raised_sw", + "textures": { + "rail": "blocks/rail_golden" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/granite.json b/desktopRuntime/resources/assets/minecraft/models/block/granite.json new file mode 100644 index 0000000..eee4fae --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/granite.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/stone_granite" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/granite_smooth.json b/desktopRuntime/resources/assets/minecraft/models/block/granite_smooth.json new file mode 100644 index 0000000..31fc9f1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/granite_smooth.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/stone_granite_smooth" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/grass.json b/desktopRuntime/resources/assets/minecraft/models/block/grass.json new file mode 100644 index 0000000..2f23537 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/grass.json @@ -0,0 +1,24 @@ +{ + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top", "cullface": "up", "tintindex": 0 }, + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#overlay", "tintindex": 0, "cullface": "north" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#overlay", "tintindex": 0, "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#overlay", "tintindex": 0, "cullface": "west" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#overlay", "tintindex": 0, "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/grass_normal.json b/desktopRuntime/resources/assets/minecraft/models/block/grass_normal.json new file mode 100644 index 0000000..b6201eb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/grass_normal.json @@ -0,0 +1,10 @@ +{ + "parent": "block/grass", + "textures": { + "particle": "blocks/dirt", + "bottom": "blocks/dirt", + "top": "blocks/grass_top", + "side": "blocks/grass_side", + "overlay": "blocks/grass_side_overlay" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/grass_path.json b/desktopRuntime/resources/assets/minecraft/models/block/grass_path.json new file mode 100644 index 0000000..b78dbf2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/grass_path.json @@ -0,0 +1,21 @@ +{ + "textures": { + "particle": "blocks/dirt", + "top": "blocks/grass_path_top", + "side": "blocks/grass_path_side", + "bottom": "blocks/dirt" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 15, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 1, 16, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 1, 16, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 1, 16, 16 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 1, 16, 16 ], "texture": "#side", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/grass_snowed.json b/desktopRuntime/resources/assets/minecraft/models/block/grass_snowed.json new file mode 100644 index 0000000..c33ffc5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/grass_snowed.json @@ -0,0 +1,9 @@ +{ + "parent": "block/cube_bottom_top", + "textures": { + "particle": "blocks/dirt", + "bottom": "blocks/dirt", + "top": "blocks/grass_top", + "side": "blocks/grass_side_snowed" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/gravel.json b/desktopRuntime/resources/assets/minecraft/models/block/gravel.json new file mode 100644 index 0000000..e2cf665 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/gravel.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/gravel" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_n.json b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_n.json new file mode 100644 index 0000000..6258ea6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_n.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_n", + "textures": { + "edge": "blocks/glass_pane_top_gray", + "pane": "blocks/glass_gray" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_ne.json new file mode 100644 index 0000000..d9625fc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_ne.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ne", + "textures": { + "edge": "blocks/glass_pane_top_gray", + "pane": "blocks/glass_gray" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_new.json b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_new.json new file mode 100644 index 0000000..9104c90 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_new.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_new", + "textures": { + "edge": "blocks/glass_pane_top_gray", + "pane": "blocks/glass_gray" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_ns.json new file mode 100644 index 0000000..2c2eaec --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_ns.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ns", + "textures": { + "edge": "blocks/glass_pane_top_gray", + "pane": "blocks/glass_gray" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_nse.json new file mode 100644 index 0000000..0c1dbaa --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_nse.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nse", + "textures": { + "edge": "blocks/glass_pane_top_gray", + "pane": "blocks/glass_gray" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_nsew.json new file mode 100644 index 0000000..46bb9cf --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_nsew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsew", + "textures": { + "edge": "blocks/glass_pane_top_gray", + "pane": "blocks/glass_gray" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_nsw.json b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_nsw.json new file mode 100644 index 0000000..614f304 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_nsw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsw", + "textures": { + "edge": "blocks/glass_pane_top_gray", + "pane": "blocks/glass_gray" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_nw.json b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_nw.json new file mode 100644 index 0000000..70dba64 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_nw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nw", + "textures": { + "edge": "blocks/glass_pane_top_gray", + "pane": "blocks/glass_gray" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_s.json b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_s.json new file mode 100644 index 0000000..70af4f0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_s.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_s", + "textures": { + "edge": "blocks/glass_pane_top_gray", + "pane": "blocks/glass_gray" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_se.json b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_se.json new file mode 100644 index 0000000..a0ab99f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_se.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_se", + "textures": { + "edge": "blocks/glass_pane_top_gray", + "pane": "blocks/glass_gray" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_sew.json b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_sew.json new file mode 100644 index 0000000..9ee1e0b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_sew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sew", + "textures": { + "edge": "blocks/glass_pane_top_gray", + "pane": "blocks/glass_gray" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_sw.json new file mode 100644 index 0000000..490172b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/gray_pane_sw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sw", + "textures": { + "edge": "blocks/glass_pane_top_gray", + "pane": "blocks/glass_gray" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/gray_wool.json b/desktopRuntime/resources/assets/minecraft/models/block/gray_wool.json new file mode 100644 index 0000000..f88eb1d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/gray_wool.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/wool_colored_gray" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/green_pane_n.json b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_n.json new file mode 100644 index 0000000..67c1ce9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_n.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_n", + "textures": { + "edge": "blocks/glass_pane_top_green", + "pane": "blocks/glass_green" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/green_pane_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_ne.json new file mode 100644 index 0000000..82ca8c9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_ne.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ne", + "textures": { + "edge": "blocks/glass_pane_top_green", + "pane": "blocks/glass_green" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/green_pane_new.json b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_new.json new file mode 100644 index 0000000..2d55f3b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_new.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_new", + "textures": { + "edge": "blocks/glass_pane_top_green", + "pane": "blocks/glass_green" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/green_pane_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_ns.json new file mode 100644 index 0000000..d90e681 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_ns.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ns", + "textures": { + "edge": "blocks/glass_pane_top_green", + "pane": "blocks/glass_green" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/green_pane_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_nse.json new file mode 100644 index 0000000..4cc015f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_nse.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nse", + "textures": { + "edge": "blocks/glass_pane_top_green", + "pane": "blocks/glass_green" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/green_pane_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_nsew.json new file mode 100644 index 0000000..69ee99e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_nsew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsew", + "textures": { + "edge": "blocks/glass_pane_top_green", + "pane": "blocks/glass_green" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/green_pane_nsw.json b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_nsw.json new file mode 100644 index 0000000..aef8ec9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_nsw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsw", + "textures": { + "edge": "blocks/glass_pane_top_green", + "pane": "blocks/glass_green" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/green_pane_nw.json b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_nw.json new file mode 100644 index 0000000..30b1cb5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_nw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nw", + "textures": { + "edge": "blocks/glass_pane_top_green", + "pane": "blocks/glass_green" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/green_pane_s.json b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_s.json new file mode 100644 index 0000000..471301a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_s.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_s", + "textures": { + "edge": "blocks/glass_pane_top_green", + "pane": "blocks/glass_green" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/green_pane_se.json b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_se.json new file mode 100644 index 0000000..2df0a1c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_se.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_se", + "textures": { + "edge": "blocks/glass_pane_top_green", + "pane": "blocks/glass_green" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/green_pane_sew.json b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_sew.json new file mode 100644 index 0000000..0ce17dd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_sew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sew", + "textures": { + "edge": "blocks/glass_pane_top_green", + "pane": "blocks/glass_green" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/green_pane_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_sw.json new file mode 100644 index 0000000..ad82c52 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/green_pane_sw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sw", + "textures": { + "edge": "blocks/glass_pane_top_green", + "pane": "blocks/glass_green" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/green_wool.json b/desktopRuntime/resources/assets/minecraft/models/block/green_wool.json new file mode 100644 index 0000000..44c65a5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/green_wool.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/wool_colored_green" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/half_slab.json b/desktopRuntime/resources/assets/minecraft/models/block/half_slab.json new file mode 100644 index 0000000..1b3cee1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/half_slab.json @@ -0,0 +1,18 @@ +{ + "textures": { + "particle": "#side" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 8, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/half_slab_acacia.json b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_acacia.json new file mode 100644 index 0000000..25e7353 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_acacia.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "blocks/planks_acacia", + "top": "blocks/planks_acacia", + "side": "blocks/planks_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/half_slab_birch.json b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_birch.json new file mode 100644 index 0000000..1dc753c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_birch.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "blocks/planks_birch", + "top": "blocks/planks_birch", + "side": "blocks/planks_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/half_slab_brick.json b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_brick.json new file mode 100644 index 0000000..1fd4a27 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_brick.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "blocks/brick", + "top": "blocks/brick", + "side": "blocks/brick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/half_slab_cobblestone.json b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_cobblestone.json new file mode 100644 index 0000000..7520794 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_cobblestone.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "blocks/cobblestone", + "top": "blocks/cobblestone", + "side": "blocks/cobblestone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/half_slab_dark_oak.json b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_dark_oak.json new file mode 100644 index 0000000..f4d89ec --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_dark_oak.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "blocks/planks_big_oak", + "top": "blocks/planks_big_oak", + "side": "blocks/planks_big_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/half_slab_jungle.json b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_jungle.json new file mode 100644 index 0000000..5d3d271 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_jungle.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "blocks/planks_jungle", + "top": "blocks/planks_jungle", + "side": "blocks/planks_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/half_slab_nether_brick.json b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_nether_brick.json new file mode 100644 index 0000000..2e30c56 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_nether_brick.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "blocks/nether_brick", + "top": "blocks/nether_brick", + "side": "blocks/nether_brick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/half_slab_oak.json b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_oak.json new file mode 100644 index 0000000..15b2612 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_oak.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "blocks/planks_oak", + "top": "blocks/planks_oak", + "side": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/half_slab_purpur.json b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_purpur.json new file mode 100644 index 0000000..76cc60b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_purpur.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "blocks/purpur_block", + "top": "blocks/purpur_block", + "side": "blocks/purpur_block" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/half_slab_quartz.json b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_quartz.json new file mode 100644 index 0000000..1066da7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_quartz.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "blocks/quartz_block_bottom", + "top": "blocks/quartz_block_top", + "side": "blocks/quartz_block_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/half_slab_red_sandstone.json b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_red_sandstone.json new file mode 100644 index 0000000..08dc64c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_red_sandstone.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "blocks/red_sandstone_bottom", + "top": "blocks/red_sandstone_top", + "side": "blocks/red_sandstone_normal" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/half_slab_sandstone.json b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_sandstone.json new file mode 100644 index 0000000..5d08ff4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_sandstone.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "blocks/sandstone_bottom", + "top": "blocks/sandstone_top", + "side": "blocks/sandstone_normal" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/half_slab_spruce.json b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_spruce.json new file mode 100644 index 0000000..9e28d9f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_spruce.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "blocks/planks_spruce", + "top": "blocks/planks_spruce", + "side": "blocks/planks_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/half_slab_stone.json b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_stone.json new file mode 100644 index 0000000..b09be3e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_stone.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "blocks/stone_slab_top", + "top": "blocks/stone_slab_top", + "side": "blocks/stone_slab_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/half_slab_stone_brick.json b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_stone_brick.json new file mode 100644 index 0000000..9bb3abc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/half_slab_stone_brick.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "blocks/stonebrick", + "top": "blocks/stonebrick", + "side": "blocks/stonebrick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay.json b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay.json new file mode 100644 index 0000000..5f29119 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/hardened_clay" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_black.json b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_black.json new file mode 100644 index 0000000..cab25b2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_black.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/hardened_clay_stained_black" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_blue.json b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_blue.json new file mode 100644 index 0000000..01eed45 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_blue.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/hardened_clay_stained_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_brown.json b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_brown.json new file mode 100644 index 0000000..646946d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_brown.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/hardened_clay_stained_brown" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_cyan.json b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_cyan.json new file mode 100644 index 0000000..fd4243a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_cyan.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/hardened_clay_stained_cyan" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_gray.json b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_gray.json new file mode 100644 index 0000000..4fd29f5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_gray.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/hardened_clay_stained_gray" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_green.json b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_green.json new file mode 100644 index 0000000..b04b096 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_green.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/hardened_clay_stained_green" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_light_blue.json b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_light_blue.json new file mode 100644 index 0000000..a601f95 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_light_blue.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/hardened_clay_stained_light_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_lime.json b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_lime.json new file mode 100644 index 0000000..34f4474 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_lime.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/hardened_clay_stained_lime" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_magenta.json b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_magenta.json new file mode 100644 index 0000000..69e0944 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_magenta.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/hardened_clay_stained_magenta" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_orange.json b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_orange.json new file mode 100644 index 0000000..6feb867 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_orange.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/hardened_clay_stained_orange" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_pink.json b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_pink.json new file mode 100644 index 0000000..20afb21 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_pink.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/hardened_clay_stained_pink" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_purple.json b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_purple.json new file mode 100644 index 0000000..a5865ec --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_purple.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/hardened_clay_stained_purple" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_red.json b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_red.json new file mode 100644 index 0000000..77c34eb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_red.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/hardened_clay_stained_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_silver.json b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_silver.json new file mode 100644 index 0000000..88e0d8b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_silver.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/hardened_clay_stained_silver" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_white.json b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_white.json new file mode 100644 index 0000000..5af1046 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_white.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/hardened_clay_stained_white" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_yellow.json b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_yellow.json new file mode 100644 index 0000000..f156453 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/hardened_clay_yellow.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/hardened_clay_stained_yellow" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/hay.json b/desktopRuntime/resources/assets/minecraft/models/block/hay.json new file mode 100644 index 0000000..542ffc0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/hay.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "blocks/hay_block_top", + "side": "blocks/hay_block_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/hay_side.json b/desktopRuntime/resources/assets/minecraft/models/block/hay_side.json new file mode 100644 index 0000000..8d24c81 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/hay_side.json @@ -0,0 +1,7 @@ +{ + "parent": "block/column_side", + "textures": { + "end": "blocks/hay_block_top", + "side": "blocks/hay_block_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/heavy_pressure_plate_down.json b/desktopRuntime/resources/assets/minecraft/models/block/heavy_pressure_plate_down.json new file mode 100644 index 0000000..ce66309 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/heavy_pressure_plate_down.json @@ -0,0 +1,6 @@ +{ + "parent": "block/pressure_plate_down", + "textures": { + "texture": "blocks/iron_block" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/heavy_pressure_plate_inventory.json b/desktopRuntime/resources/assets/minecraft/models/block/heavy_pressure_plate_inventory.json new file mode 100644 index 0000000..2c7557a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/heavy_pressure_plate_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "block/pressure_plate_inventory", + "textures": { + "texture": "blocks/iron_block" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/heavy_pressure_plate_up.json b/desktopRuntime/resources/assets/minecraft/models/block/heavy_pressure_plate_up.json new file mode 100644 index 0000000..308eb16 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/heavy_pressure_plate_up.json @@ -0,0 +1,6 @@ +{ + "parent": "block/pressure_plate_up", + "textures": { + "texture": "blocks/iron_block" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/hopper_down.json b/desktopRuntime/resources/assets/minecraft/models/block/hopper_down.json new file mode 100644 index 0000000..2f89a89 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/hopper_down.json @@ -0,0 +1,88 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/hopper_outside", + "top": "blocks/hopper_top", + "side": "blocks/hopper_outside", + "inside": "blocks/hopper_inside" + }, + "elements": [ + { "from": [ 0, 10, 0 ], + "to": [ 16, 11, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#inside" }, + "north": { "uv": [ 0, 5, 16, 6 ], "texture": "#side" }, + "south": { "uv": [ 0, 5, 16, 6 ], "texture": "#side" }, + "west": { "uv": [ 0, 5, 16, 6 ], "texture": "#side" }, + "east": { "uv": [ 0, 5, 16, 6 ], "texture": "#side" } + } + }, + { "from": [ 0, 11, 0 ], + "to": [ 2, 16, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 2, 16 ], "texture": "#side" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 0, 2, 5 ], "texture": "#side" }, + "south": { "uv": [ 0, 0, 2, 5 ], "texture": "#side" }, + "west": { "uv": [ 0, 0, 16, 5 ], "texture": "#side" }, + "east": { "uv": [ 0, 0, 16, 5 ], "texture": "#side" } + } + }, + { "from": [ 14, 11, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [ 14, 0, 16, 16 ], "texture": "#side" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 14, 0, 16, 5 ], "texture": "#side" }, + "south": { "uv": [ 14, 0, 16, 5 ], "texture": "#side" }, + "west": { "uv": [ 0, 0, 16, 5 ], "texture": "#side" }, + "east": { "uv": [ 0, 0, 16, 5 ], "texture": "#side" } + } + }, + { "from": [ 2, 11, 0 ], + "to": [ 14, 16, 2 ], + "faces": { + "down": { "uv": [ 2, 0, 14, 2 ], "texture": "#side" }, + "up": { "uv": [ 2, 0, 14, 2 ], "texture": "#top" }, + "north": { "uv": [ 2, 0, 14, 5 ], "texture": "#side" }, + "south": { "uv": [ 2, 0, 14, 5 ], "texture": "#side" }, + "west": { "uv": [ 0, 0, 2, 5 ], "texture": "#side" }, + "east": { "uv": [ 0, 0, 2, 5 ], "texture": "#side" } + } + }, + { "from": [ 2, 11, 14 ], + "to": [ 14, 16, 16 ], + "faces": { + "down": { "uv": [ 2, 14, 14, 16 ], "texture": "#side" }, + "up": { "uv": [ 2, 14, 14, 16 ], "texture": "#top" }, + "north": { "uv": [ 2, 0, 14, 5 ], "texture": "#side" }, + "south": { "uv": [ 2, 0, 14, 5 ], "texture": "#side" }, + "west": { "uv": [ 14, 0, 16, 5 ], "texture": "#side" }, + "east": { "uv": [ 14, 0, 16, 5 ], "texture": "#side" } + } + }, + { "from": [ 4, 4, 4 ], + "to": [ 12, 10, 12 ], + "faces": { + "down": { "uv": [ 4, 4, 12, 12 ], "texture": "#side" }, + "up": { "uv": [ 4, 4, 12, 12 ], "texture": "#side" }, + "north": { "uv": [ 4, 6, 12, 12 ], "texture": "#side" }, + "south": { "uv": [ 4, 6, 12, 12 ], "texture": "#side" }, + "west": { "uv": [ 4, 6, 12, 12 ], "texture": "#side" }, + "east": { "uv": [ 4, 6, 12, 12 ], "texture": "#side" } + } + }, + { "from": [ 6, 0, 6 ], + "to": [ 10, 4, 10 ], + "faces": { + "down": { "uv": [ 6, 6, 10, 10 ], "texture": "#side" }, + "up": { "uv": [ 6, 6, 10, 10 ], "texture": "#side" }, + "north": { "uv": [ 6, 12, 10, 16 ], "texture": "#side" }, + "south": { "uv": [ 6, 12, 10, 16 ], "texture": "#side" }, + "west": { "uv": [ 6, 12, 10, 16 ], "texture": "#side" }, + "east": { "uv": [ 6, 12, 10, 16 ], "texture": "#side" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/hopper_side.json b/desktopRuntime/resources/assets/minecraft/models/block/hopper_side.json new file mode 100644 index 0000000..c53a737 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/hopper_side.json @@ -0,0 +1,88 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/hopper_outside", + "top": "blocks/hopper_top", + "side": "blocks/hopper_outside", + "inside": "blocks/hopper_inside" + }, + "elements": [ + { "from": [ 0, 10, 0 ], + "to": [ 16, 11, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#inside" }, + "north": { "uv": [ 0, 5, 16, 6 ], "texture": "#side" }, + "south": { "uv": [ 0, 5, 16, 6 ], "texture": "#side" }, + "west": { "uv": [ 0, 5, 16, 6 ], "texture": "#side" }, + "east": { "uv": [ 0, 5, 16, 6 ], "texture": "#side" } + } + }, + { "from": [ 0, 11, 0 ], + "to": [ 2, 16, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 2, 16 ], "texture": "#side" }, + "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 0, 2, 5 ], "texture": "#side" }, + "south": { "uv": [ 0, 0, 2, 5 ], "texture": "#side" }, + "west": { "uv": [ 0, 0, 16, 5 ], "texture": "#side" }, + "east": { "uv": [ 0, 0, 16, 5 ], "texture": "#side" } + } + }, + { "from": [ 14, 11, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [ 14, 0, 16, 16 ], "texture": "#side" }, + "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 14, 0, 16, 5 ], "texture": "#side" }, + "south": { "uv": [ 14, 0, 16, 5 ], "texture": "#side" }, + "west": { "uv": [ 0, 0, 16, 5 ], "texture": "#side" }, + "east": { "uv": [ 0, 0, 16, 5 ], "texture": "#side" } + } + }, + { "from": [ 2, 11, 0 ], + "to": [ 14, 16, 2 ], + "faces": { + "down": { "uv": [ 2, 0, 14, 2 ], "texture": "#side" }, + "up": { "uv": [ 2, 0, 14, 2 ], "texture": "#top" }, + "north": { "uv": [ 2, 0, 14, 5 ], "texture": "#side" }, + "south": { "uv": [ 2, 0, 14, 5 ], "texture": "#side" }, + "west": { "uv": [ 0, 0, 2, 5 ], "texture": "#side" }, + "east": { "uv": [ 0, 0, 2, 5 ], "texture": "#side" } + } + }, + { "from": [ 2, 11, 14 ], + "to": [ 14, 16, 16 ], + "faces": { + "down": { "uv": [ 2, 14, 14, 16 ], "texture": "#side" }, + "up": { "uv": [ 2, 14, 14, 16 ], "texture": "#top" }, + "north": { "uv": [ 2, 0, 14, 5 ], "texture": "#side" }, + "south": { "uv": [ 2, 0, 14, 5 ], "texture": "#side" }, + "west": { "uv": [ 14, 0, 16, 5 ], "texture": "#side" }, + "east": { "uv": [ 14, 0, 16, 5 ], "texture": "#side" } + } + }, + { "from": [ 4, 4, 4 ], + "to": [ 12, 10, 12 ], + "faces": { + "down": { "uv": [ 4, 4, 12, 12 ], "texture": "#side" }, + "up": { "uv": [ 4, 4, 12, 12 ], "texture": "#side" }, + "north": { "uv": [ 4, 6, 12, 12 ], "texture": "#side" }, + "south": { "uv": [ 4, 6, 12, 12 ], "texture": "#side" }, + "west": { "uv": [ 4, 6, 12, 12 ], "texture": "#side" }, + "east": { "uv": [ 4, 6, 12, 12 ], "texture": "#side" } + } + }, + { "from": [ 6, 4, 0 ], + "to": [ 10, 8, 4 ], + "faces": { + "down": { "uv": [ 6, 0, 10, 4 ], "texture": "#side" }, + "up": { "uv": [ 6, 0, 10, 4 ], "texture": "#side" }, + "north": { "uv": [ 6, 8, 10, 12 ], "texture": "#side" }, + "south": { "uv": [ 6, 8, 10, 12 ], "texture": "#side" }, + "west": { "uv": [ 0, 8, 4, 12 ], "texture": "#side" }, + "east": { "uv": [ 0, 8, 4, 12 ], "texture": "#side" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/houstonia.json b/desktopRuntime/resources/assets/minecraft/models/block/houstonia.json new file mode 100644 index 0000000..ca9b344 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/houstonia.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/flower_houstonia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/ice.json b/desktopRuntime/resources/assets/minecraft/models/block/ice.json new file mode 100644 index 0000000..2b94ada --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/ice.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/ice" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/inner_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/inner_stairs.json new file mode 100644 index 0000000..51c02e2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/inner_stairs.json @@ -0,0 +1,40 @@ +{ + "textures": { + "particle": "#side" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 8, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 8, 8, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [ 8, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 8, 0, 16, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 0, 0, 8, 8 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 8, 0, 16, 8 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 8 ], "texture": "#side" }, + "east": { "uv": [ 0, 0, 16, 8 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 0, 8, 8 ], + "to": [ 8, 16, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 8, 8 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 0, 8, 8, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 8, 0, 16, 8 ], "texture": "#side" }, + "south": { "uv": [ 0, 0, 8, 8 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 8, 0, 16, 8 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 0, 8, 8 ], "texture": "#side", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/iron_block.json b/desktopRuntime/resources/assets/minecraft/models/block/iron_block.json new file mode 100644 index 0000000..3ed6c88 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/iron_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/iron_block" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/iron_door_bottom.json b/desktopRuntime/resources/assets/minecraft/models/block/iron_door_bottom.json new file mode 100644 index 0000000..013cf58 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/iron_door_bottom.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_bottom", + "textures": { + "bottom": "blocks/door_iron_lower", + "top": "blocks/door_iron_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/iron_door_bottom_rh.json b/desktopRuntime/resources/assets/minecraft/models/block/iron_door_bottom_rh.json new file mode 100644 index 0000000..2cf3325 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/iron_door_bottom_rh.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_bottom_rh", + "textures": { + "bottom": "blocks/door_iron_lower", + "top": "blocks/door_iron_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/iron_door_top.json b/desktopRuntime/resources/assets/minecraft/models/block/iron_door_top.json new file mode 100644 index 0000000..1e4acbd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/iron_door_top.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_top", + "textures": { + "bottom": "blocks/door_iron_lower", + "top": "blocks/door_iron_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/iron_door_top_rh.json b/desktopRuntime/resources/assets/minecraft/models/block/iron_door_top_rh.json new file mode 100644 index 0000000..a42460c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/iron_door_top_rh.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_top_rh", + "textures": { + "bottom": "blocks/door_iron_lower", + "top": "blocks/door_iron_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/iron_ore.json b/desktopRuntime/resources/assets/minecraft/models/block/iron_ore.json new file mode 100644 index 0000000..a6d9f1f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/iron_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/iron_ore" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/iron_trapdoor_bottom.json b/desktopRuntime/resources/assets/minecraft/models/block/iron_trapdoor_bottom.json new file mode 100644 index 0000000..548d030 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/iron_trapdoor_bottom.json @@ -0,0 +1,6 @@ +{ + "parent": "block/trapdoor_bottom", + "textures": { + "texture": "blocks/iron_trapdoor" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/iron_trapdoor_open.json b/desktopRuntime/resources/assets/minecraft/models/block/iron_trapdoor_open.json new file mode 100644 index 0000000..eca9e15 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/iron_trapdoor_open.json @@ -0,0 +1,6 @@ +{ + "parent": "block/trapdoor_open", + "textures": { + "texture": "blocks/iron_trapdoor" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/iron_trapdoor_top.json b/desktopRuntime/resources/assets/minecraft/models/block/iron_trapdoor_top.json new file mode 100644 index 0000000..04deb33 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/iron_trapdoor_top.json @@ -0,0 +1,6 @@ +{ + "parent": "block/trapdoor_top", + "textures": { + "texture": "blocks/iron_trapdoor" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/item_frame.json b/desktopRuntime/resources/assets/minecraft/models/block/item_frame.json new file mode 100644 index 0000000..cc12c8d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/item_frame.json @@ -0,0 +1,56 @@ +{ + "textures": { + "particle": "blocks/planks_birch", + "wood": "blocks/planks_birch", + "back": "blocks/itemframe_background" + }, + "elements": [ + { "from": [ 3, 3, 15.5 ], + "to": [ 13, 13, 16 ], + "faces": { + "north": { "uv": [ 3, 3, 13, 13 ], "texture": "#back" }, + "south": { "uv": [ 3, 3, 13, 13 ], "texture": "#back" } + } + }, + { "from": [ 2, 2, 15 ], + "to": [ 14, 3, 16 ], + "faces": { + "down": { "uv": [ 2, 0, 14, 1 ], "texture": "#wood" }, + "up": { "uv": [ 2, 15, 14, 16 ], "texture": "#wood" }, + "north": { "uv": [ 2, 13, 14, 14 ], "texture": "#wood" }, + "south": { "uv": [ 2, 13, 14, 14 ], "texture": "#wood" }, + "west": { "uv": [ 15, 13, 16, 14 ], "texture": "#wood" }, + "east": { "uv": [ 0, 13, 1, 14 ], "texture": "#wood" } + } + }, + { "from": [ 2, 13, 15 ], + "to": [ 14, 14, 16 ], + "faces": { + "down": { "uv": [ 2, 0, 14, 1 ], "texture": "#wood" }, + "up": { "uv": [ 2, 15, 14, 16 ], "texture": "#wood" }, + "north": { "uv": [ 2, 2, 14, 3 ], "texture": "#wood" }, + "south": { "uv": [ 2, 2, 14, 3 ], "texture": "#wood" }, + "west": { "uv": [ 15, 2, 16, 3 ], "texture": "#wood" }, + "east": { "uv": [ 0, 2, 1, 3 ], "texture": "#wood" } + } + }, + { "from": [ 2, 3, 15 ], + "to": [ 3, 13, 16 ], + "faces": { + "north": { "uv": [ 13, 3, 14, 13 ], "texture": "#wood" }, + "south": { "uv": [ 2, 3, 3, 13 ], "texture": "#wood" }, + "west": { "uv": [ 15, 3, 16, 13 ], "texture": "#wood" }, + "east": { "uv": [ 0, 3, 1, 13 ], "texture": "#wood" } + } + }, + { "from": [ 13, 3, 15 ], + "to": [ 14, 13, 16 ], + "faces": { + "north": { "uv": [ 2, 3, 3, 13 ], "texture": "#wood" }, + "south": { "uv": [ 13, 3, 14, 13 ], "texture": "#wood" }, + "west": { "uv": [ 15, 3, 16, 13 ], "texture": "#wood" }, + "east": { "uv": [ 0, 3, 1, 13 ], "texture": "#wood" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/item_frame_map.json b/desktopRuntime/resources/assets/minecraft/models/block/item_frame_map.json new file mode 100644 index 0000000..9d02563 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/item_frame_map.json @@ -0,0 +1,56 @@ +{ + "textures": { + "particle": "blocks/planks_birch", + "wood": "blocks/planks_birch", + "back": "blocks/itemframe_background" + }, + "elements": [ + { "from": [ 1, 1, 15.001 ], + "to": [ 15, 15, 16 ], + "faces": { + "north": { "uv": [ 1, 1, 15, 15 ], "texture": "#back" }, + "south": { "uv": [ 1, 1, 15, 15 ], "texture": "#back" } + } + }, + { "from": [ 0, 0, 15.001 ], + "to": [ 16, 1, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 1 ], "texture": "#wood" }, + "up": { "uv": [ 0, 15, 16, 16 ], "texture": "#wood" }, + "north": { "uv": [ 0, 15, 16, 16 ], "texture": "#wood" }, + "south": { "uv": [ 0, 15, 16, 16 ], "texture": "#wood" }, + "west": { "uv": [ 15, 15, 16, 16 ], "texture": "#wood" }, + "east": { "uv": [ 0, 15, 1, 16 ], "texture": "#wood" } + } + }, + { "from": [ 0, 15, 15.001 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 1 ], "texture": "#wood" }, + "up": { "uv": [ 0, 15, 16, 16 ], "texture": "#wood" }, + "north": { "uv": [ 0, 0, 16, 1 ], "texture": "#wood" }, + "south": { "uv": [ 0, 0, 16, 1 ], "texture": "#wood" }, + "west": { "uv": [ 15, 0, 16, 1 ], "texture": "#wood" }, + "east": { "uv": [ 0, 0, 1, 1 ], "texture": "#wood" } + } + }, + { "from": [ 0, 1, 15.001 ], + "to": [ 1, 15, 16 ], + "faces": { + "north": { "uv": [ 15, 1, 16, 15 ], "texture": "#wood" }, + "south": { "uv": [ 0, 1, 1, 15 ], "texture": "#wood" }, + "west": { "uv": [ 15, 1, 16, 15 ], "texture": "#wood" }, + "east": { "uv": [ 0, 1, 1, 15 ], "texture": "#wood" } + } + }, + { "from": [ 15, 1, 15.001 ], + "to": [ 16, 15, 16 ], + "faces": { + "north": { "uv": [ 0, 1, 1, 15 ], "texture": "#wood" }, + "south": { "uv": [ 15, 1, 16, 15 ], "texture": "#wood" }, + "west": { "uv": [ 15, 1, 16, 15 ], "texture": "#wood" }, + "east": { "uv": [ 0, 1, 1, 15 ], "texture": "#wood" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jukebox.json b/desktopRuntime/resources/assets/minecraft/models/block/jukebox.json new file mode 100644 index 0000000..d03e64a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jukebox.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_top", + "textures": { + "top": "blocks/jukebox_top", + "side": "blocks/jukebox_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_bark.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_bark.json new file mode 100644 index 0000000..a9e95ea --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_bark.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/log_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_door_bottom.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_door_bottom.json new file mode 100644 index 0000000..ae05da1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_door_bottom.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_bottom", + "textures": { + "bottom": "blocks/door_jungle_lower", + "top": "blocks/door_jungle_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_door_bottom_rh.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_door_bottom_rh.json new file mode 100644 index 0000000..0aefd36 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_door_bottom_rh.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_bottom_rh", + "textures": { + "bottom": "blocks/door_jungle_lower", + "top": "blocks/door_jungle_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_door_top.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_door_top.json new file mode 100644 index 0000000..5c19f88 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_door_top.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_top", + "textures": { + "bottom": "blocks/door_jungle_lower", + "top": "blocks/door_jungle_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_door_top_rh.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_door_top_rh.json new file mode 100644 index 0000000..df0dd9e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_door_top_rh.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_top_rh", + "textures": { + "bottom": "blocks/door_jungle_lower", + "top": "blocks/door_jungle_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_gate_closed.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_gate_closed.json new file mode 100644 index 0000000..675a209 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_gate_closed.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_gate_closed", + "textures": { + "texture": "blocks/planks_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_gate_open.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_gate_open.json new file mode 100644 index 0000000..aaa0c23 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_gate_open.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_gate_open", + "textures": { + "texture": "blocks/planks_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_inventory.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_inventory.json new file mode 100644 index 0000000..2ca9ac2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_inventory", + "textures": { + "texture": "blocks/planks_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_n.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_n.json new file mode 100644 index 0000000..78525c8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_n.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_n", + "textures": { + "texture": "blocks/planks_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_ne.json new file mode 100644 index 0000000..987aa55 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_ne.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_ne", + "textures": { + "texture": "blocks/planks_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_ns.json new file mode 100644 index 0000000..92d762e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_ns.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_ns", + "textures": { + "texture": "blocks/planks_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_nse.json new file mode 100644 index 0000000..4fef405 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_nse.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_nse", + "textures": { + "texture": "blocks/planks_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_nsew.json new file mode 100644 index 0000000..8969cd6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_nsew.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_nsew", + "textures": { + "texture": "blocks/planks_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_post.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_post.json new file mode 100644 index 0000000..d7afc33 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_fence_post.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_post", + "textures": { + "texture": "blocks/planks_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_inner_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_inner_stairs.json new file mode 100644 index 0000000..754bea0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_inner_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/inner_stairs", + "textures": { + "bottom": "blocks/planks_jungle", + "top": "blocks/planks_jungle", + "side": "blocks/planks_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_leaves.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_leaves.json new file mode 100644 index 0000000..c50a077 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_leaves.json @@ -0,0 +1,6 @@ +{ + "parent": "block/leaves", + "textures": { + "all": "blocks/leaves_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_log.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_log.json new file mode 100644 index 0000000..5be31e7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_log.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "blocks/log_jungle_top", + "side": "blocks/log_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_log_side.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_log_side.json new file mode 100644 index 0000000..a2009f0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_log_side.json @@ -0,0 +1,7 @@ +{ + "parent": "block/column_side", + "textures": { + "end": "blocks/log_jungle_top", + "side": "blocks/log_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_outer_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_outer_stairs.json new file mode 100644 index 0000000..012678c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_outer_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/outer_stairs", + "textures": { + "bottom": "blocks/planks_jungle", + "top": "blocks/planks_jungle", + "side": "blocks/planks_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_planks.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_planks.json new file mode 100644 index 0000000..cd0cf69 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_planks.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/planks_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_sapling.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_sapling.json new file mode 100644 index 0000000..c100003 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_sapling.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/sapling_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_stairs.json new file mode 100644 index 0000000..78a5d04 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/stairs", + "textures": { + "bottom": "blocks/planks_jungle", + "top": "blocks/planks_jungle", + "side": "blocks/planks_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_wall_gate_closed.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_wall_gate_closed.json new file mode 100644 index 0000000..5ce2679 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_wall_gate_closed.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_gate_closed", + "textures": { + "texture": "blocks/planks_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/jungle_wall_gate_open.json b/desktopRuntime/resources/assets/minecraft/models/block/jungle_wall_gate_open.json new file mode 100644 index 0000000..807d2cd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/jungle_wall_gate_open.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_gate_open", + "textures": { + "texture": "blocks/planks_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/ladder.json b/desktopRuntime/resources/assets/minecraft/models/block/ladder.json new file mode 100644 index 0000000..cc3e470 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/ladder.json @@ -0,0 +1,17 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/ladder", + "texture": "blocks/ladder" + }, + "elements": [ + { "from": [ 0, 0, 15.2 ], + "to": [ 16, 16, 15.2 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lapis_block.json b/desktopRuntime/resources/assets/minecraft/models/block/lapis_block.json new file mode 100644 index 0000000..7eae7bd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lapis_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/lapis_block" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lapis_ore.json b/desktopRuntime/resources/assets/minecraft/models/block/lapis_ore.json new file mode 100644 index 0000000..ddc9a0a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lapis_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/lapis_ore" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/leaves.json b/desktopRuntime/resources/assets/minecraft/models/block/leaves.json new file mode 100644 index 0000000..9d6af5a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/leaves.json @@ -0,0 +1,18 @@ +{ + "textures": { + "particle": "#all" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#all", "tintindex": 0 }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#all", "tintindex": 0 }, + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#all", "tintindex": 0 }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#all", "tintindex": 0 }, + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#all", "tintindex": 0 }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#all", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lever.json b/desktopRuntime/resources/assets/minecraft/models/block/lever.json new file mode 100644 index 0000000..03719ac --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lever.json @@ -0,0 +1,33 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/cobblestone", + "base": "blocks/cobblestone", + "lever": "blocks/lever" + }, + "elements": [ + { "from": [ 5, 0, 4 ], + "to": [ 11, 3, 12 ], + "faces": { + "down": { "uv": [ 5, 4, 11, 12 ], "texture": "#base" }, + "up": { "uv": [ 5, 4, 11, 12 ], "texture": "#base" }, + "north": { "uv": [ 5, 0, 11, 3 ], "texture": "#base" }, + "south": { "uv": [ 5, 0, 11, 3 ], "texture": "#base" }, + "west": { "uv": [ 4, 0, 12, 3 ], "texture": "#base" }, + "east": { "uv": [ 4, 0, 12, 3 ], "texture": "#base" } + } + }, + { "from": [ 7, 1, 7 ], + "to": [ 9, 11, 9 ], + "rotation": { "origin": [ 8, 1, 8 ], "axis": "x", "angle": -45 }, + "faces": { + "down": { "uv": [ 7, 6, 9, 8 ], "texture": "#lever" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lever" }, + "north": { "uv": [ 7, 6, 9, 16 ], "texture": "#lever" }, + "south": { "uv": [ 7, 6, 9, 16 ], "texture": "#lever" }, + "west": { "uv": [ 7, 6, 9, 16 ], "texture": "#lever" }, + "east": { "uv": [ 7, 6, 9, 16 ], "texture": "#lever" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lever_off.json b/desktopRuntime/resources/assets/minecraft/models/block/lever_off.json new file mode 100644 index 0000000..d5684f3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lever_off.json @@ -0,0 +1,33 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/cobblestone", + "base": "blocks/cobblestone", + "lever": "blocks/lever" + }, + "elements": [ + { "from": [ 5, 0, 4 ], + "to": [ 11, 3, 12 ], + "faces": { + "down": { "uv": [ 5, 4, 11, 12 ], "texture": "#base" }, + "up": { "uv": [ 5, 4, 11, 12 ], "texture": "#base" }, + "north": { "uv": [ 5, 0, 11, 3 ], "texture": "#base" }, + "south": { "uv": [ 5, 0, 11, 3 ], "texture": "#base" }, + "west": { "uv": [ 4, 0, 12, 3 ], "texture": "#base" }, + "east": { "uv": [ 4, 0, 12, 3 ], "texture": "#base" } + } + }, + { "from": [ 7, 1, 7 ], + "to": [ 9, 11, 9 ], + "rotation": { "origin": [ 8, 1, 8 ], "axis": "x", "angle": 45 }, + "faces": { + "down": { "uv": [ 7, 6, 9, 8 ], "texture": "#lever" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lever" }, + "north": { "uv": [ 7, 6, 9, 16 ], "texture": "#lever" }, + "south": { "uv": [ 7, 6, 9, 16 ], "texture": "#lever" }, + "west": { "uv": [ 7, 6, 9, 16 ], "texture": "#lever" }, + "east": { "uv": [ 7, 6, 9, 16 ], "texture": "#lever" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_n.json b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_n.json new file mode 100644 index 0000000..30d3dee --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_n.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_n", + "textures": { + "edge": "blocks/glass_pane_top_light_blue", + "pane": "blocks/glass_light_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_ne.json new file mode 100644 index 0000000..7b77dec --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_ne.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ne", + "textures": { + "edge": "blocks/glass_pane_top_light_blue", + "pane": "blocks/glass_light_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_new.json b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_new.json new file mode 100644 index 0000000..63943e7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_new.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_new", + "textures": { + "edge": "blocks/glass_pane_top_light_blue", + "pane": "blocks/glass_light_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_ns.json new file mode 100644 index 0000000..2b66d1f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_ns.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ns", + "textures": { + "edge": "blocks/glass_pane_top_light_blue", + "pane": "blocks/glass_light_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_nse.json new file mode 100644 index 0000000..d220fe3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_nse.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nse", + "textures": { + "edge": "blocks/glass_pane_top_light_blue", + "pane": "blocks/glass_light_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_nsew.json new file mode 100644 index 0000000..8692b77 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_nsew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsew", + "textures": { + "edge": "blocks/glass_pane_top_light_blue", + "pane": "blocks/glass_light_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_nsw.json b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_nsw.json new file mode 100644 index 0000000..c62196f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_nsw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsw", + "textures": { + "edge": "blocks/glass_pane_top_light_blue", + "pane": "blocks/glass_light_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_nw.json b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_nw.json new file mode 100644 index 0000000..f403cc4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_nw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nw", + "textures": { + "edge": "blocks/glass_pane_top_light_blue", + "pane": "blocks/glass_light_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_s.json b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_s.json new file mode 100644 index 0000000..e1e5472 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_s.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_s", + "textures": { + "edge": "blocks/glass_pane_top_light_blue", + "pane": "blocks/glass_light_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_se.json b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_se.json new file mode 100644 index 0000000..146394a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_se.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_se", + "textures": { + "edge": "blocks/glass_pane_top_light_blue", + "pane": "blocks/glass_light_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_sew.json b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_sew.json new file mode 100644 index 0000000..ed12eaf --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_sew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sew", + "textures": { + "edge": "blocks/glass_pane_top_light_blue", + "pane": "blocks/glass_light_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_sw.json new file mode 100644 index 0000000..08191e9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_pane_sw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sw", + "textures": { + "edge": "blocks/glass_pane_top_light_blue", + "pane": "blocks/glass_light_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/light_blue_wool.json b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_wool.json new file mode 100644 index 0000000..f8dedf1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/light_blue_wool.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/wool_colored_light_blue" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/light_pressure_plate_down.json b/desktopRuntime/resources/assets/minecraft/models/block/light_pressure_plate_down.json new file mode 100644 index 0000000..4d34cb7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/light_pressure_plate_down.json @@ -0,0 +1,6 @@ +{ + "parent": "block/pressure_plate_down", + "textures": { + "texture": "blocks/gold_block" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/light_pressure_plate_inventory.json b/desktopRuntime/resources/assets/minecraft/models/block/light_pressure_plate_inventory.json new file mode 100644 index 0000000..7b4d113 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/light_pressure_plate_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "block/pressure_plate_inventory", + "textures": { + "texture": "blocks/gold_block" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/light_pressure_plate_up.json b/desktopRuntime/resources/assets/minecraft/models/block/light_pressure_plate_up.json new file mode 100644 index 0000000..3552757 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/light_pressure_plate_up.json @@ -0,0 +1,6 @@ +{ + "parent": "block/pressure_plate_up", + "textures": { + "texture": "blocks/gold_block" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_n.json b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_n.json new file mode 100644 index 0000000..241fe99 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_n.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_n", + "textures": { + "edge": "blocks/glass_pane_top_lime", + "pane": "blocks/glass_lime" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_ne.json new file mode 100644 index 0000000..0765f56 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_ne.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ne", + "textures": { + "edge": "blocks/glass_pane_top_lime", + "pane": "blocks/glass_lime" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_new.json b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_new.json new file mode 100644 index 0000000..7306df1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_new.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_new", + "textures": { + "edge": "blocks/glass_pane_top_lime", + "pane": "blocks/glass_lime" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_ns.json new file mode 100644 index 0000000..e517ca9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_ns.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ns", + "textures": { + "edge": "blocks/glass_pane_top_lime", + "pane": "blocks/glass_lime" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_nse.json new file mode 100644 index 0000000..644d26e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_nse.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nse", + "textures": { + "edge": "blocks/glass_pane_top_lime", + "pane": "blocks/glass_lime" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_nsew.json new file mode 100644 index 0000000..6e31722 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_nsew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsew", + "textures": { + "edge": "blocks/glass_pane_top_lime", + "pane": "blocks/glass_lime" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_nsw.json b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_nsw.json new file mode 100644 index 0000000..89076a1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_nsw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsw", + "textures": { + "edge": "blocks/glass_pane_top_lime", + "pane": "blocks/glass_lime" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_nw.json b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_nw.json new file mode 100644 index 0000000..676e141 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_nw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nw", + "textures": { + "edge": "blocks/glass_pane_top_lime", + "pane": "blocks/glass_lime" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_s.json b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_s.json new file mode 100644 index 0000000..1131f33 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_s.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_s", + "textures": { + "edge": "blocks/glass_pane_top_lime", + "pane": "blocks/glass_lime" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_se.json b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_se.json new file mode 100644 index 0000000..9df61a1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_se.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_se", + "textures": { + "edge": "blocks/glass_pane_top_lime", + "pane": "blocks/glass_lime" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_sew.json b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_sew.json new file mode 100644 index 0000000..46caa05 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_sew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sew", + "textures": { + "edge": "blocks/glass_pane_top_lime", + "pane": "blocks/glass_lime" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_sw.json new file mode 100644 index 0000000..911776e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lime_pane_sw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sw", + "textures": { + "edge": "blocks/glass_pane_top_lime", + "pane": "blocks/glass_lime" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lime_wool.json b/desktopRuntime/resources/assets/minecraft/models/block/lime_wool.json new file mode 100644 index 0000000..6cc935c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lime_wool.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/wool_colored_lime" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lit_furnace.json b/desktopRuntime/resources/assets/minecraft/models/block/lit_furnace.json new file mode 100644 index 0000000..7617cb7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lit_furnace.json @@ -0,0 +1,8 @@ +{ + "parent": "block/orientable", + "textures": { + "top": "blocks/furnace_top", + "front": "blocks/furnace_front_on", + "side": "blocks/furnace_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lit_pumpkin.json b/desktopRuntime/resources/assets/minecraft/models/block/lit_pumpkin.json new file mode 100644 index 0000000..1f52c2a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lit_pumpkin.json @@ -0,0 +1,8 @@ +{ + "parent": "block/orientable", + "textures": { + "top": "blocks/pumpkin_top", + "front": "blocks/pumpkin_face_on", + "side": "blocks/pumpkin_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lit_redstone_lamp.json b/desktopRuntime/resources/assets/minecraft/models/block/lit_redstone_lamp.json new file mode 100644 index 0000000..922a722 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lit_redstone_lamp.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/redstone_lamp_on" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lit_redstone_ore.json b/desktopRuntime/resources/assets/minecraft/models/block/lit_redstone_ore.json new file mode 100644 index 0000000..8285da6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lit_redstone_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/redstone_ore" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lit_redstone_torch.json b/desktopRuntime/resources/assets/minecraft/models/block/lit_redstone_torch.json new file mode 100644 index 0000000..2e658bc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lit_redstone_torch.json @@ -0,0 +1,6 @@ +{ + "parent": "block/torch", + "textures": { + "torch": "blocks/redstone_torch_on" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/lit_redstone_torch_wall.json b/desktopRuntime/resources/assets/minecraft/models/block/lit_redstone_torch_wall.json new file mode 100644 index 0000000..42417e0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/lit_redstone_torch_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "block/torch_wall", + "textures": { + "torch": "blocks/redstone_torch_on" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_n.json b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_n.json new file mode 100644 index 0000000..51f0e84 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_n.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_n", + "textures": { + "edge": "blocks/glass_pane_top_magenta", + "pane": "blocks/glass_magenta" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_ne.json new file mode 100644 index 0000000..a7e5784 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_ne.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ne", + "textures": { + "edge": "blocks/glass_pane_top_magenta", + "pane": "blocks/glass_magenta" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_new.json b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_new.json new file mode 100644 index 0000000..566d713 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_new.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_new", + "textures": { + "edge": "blocks/glass_pane_top_magenta", + "pane": "blocks/glass_magenta" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_ns.json new file mode 100644 index 0000000..2137a0e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_ns.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ns", + "textures": { + "edge": "blocks/glass_pane_top_magenta", + "pane": "blocks/glass_magenta" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_nse.json new file mode 100644 index 0000000..5e95561 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_nse.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nse", + "textures": { + "edge": "blocks/glass_pane_top_magenta", + "pane": "blocks/glass_magenta" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_nsew.json new file mode 100644 index 0000000..c8e3635 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_nsew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsew", + "textures": { + "edge": "blocks/glass_pane_top_magenta", + "pane": "blocks/glass_magenta" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_nsw.json b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_nsw.json new file mode 100644 index 0000000..c0547e1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_nsw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsw", + "textures": { + "edge": "blocks/glass_pane_top_magenta", + "pane": "blocks/glass_magenta" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_nw.json b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_nw.json new file mode 100644 index 0000000..2fb5c5c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_nw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nw", + "textures": { + "edge": "blocks/glass_pane_top_magenta", + "pane": "blocks/glass_magenta" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_s.json b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_s.json new file mode 100644 index 0000000..5a7a9f8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_s.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_s", + "textures": { + "edge": "blocks/glass_pane_top_magenta", + "pane": "blocks/glass_magenta" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_se.json b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_se.json new file mode 100644 index 0000000..c25efa3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_se.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_se", + "textures": { + "edge": "blocks/glass_pane_top_magenta", + "pane": "blocks/glass_magenta" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_sew.json b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_sew.json new file mode 100644 index 0000000..e579c36 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_sew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sew", + "textures": { + "edge": "blocks/glass_pane_top_magenta", + "pane": "blocks/glass_magenta" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_sw.json new file mode 100644 index 0000000..3fe84b8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/magenta_pane_sw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sw", + "textures": { + "edge": "blocks/glass_pane_top_magenta", + "pane": "blocks/glass_magenta" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/magenta_wool.json b/desktopRuntime/resources/assets/minecraft/models/block/magenta_wool.json new file mode 100644 index 0000000..310faa6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/magenta_wool.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/wool_colored_magenta" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/melon.json b/desktopRuntime/resources/assets/minecraft/models/block/melon.json new file mode 100644 index 0000000..5ddc9bb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/melon.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "blocks/melon_top", + "side": "blocks/melon_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_fruit.json b/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_fruit.json new file mode 100644 index 0000000..4a9805b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_fruit.json @@ -0,0 +1,7 @@ +{ + "parent": "block/stem_fruit", + "textures": { + "stem": "blocks/melon_stem_disconnected", + "upperstem": "blocks/melon_stem_connected" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth0.json b/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth0.json new file mode 100644 index 0000000..d6737d0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth0.json @@ -0,0 +1,6 @@ +{ + "parent": "block/stem_growth0", + "textures": { + "stem": "blocks/melon_stem_disconnected" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth1.json b/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth1.json new file mode 100644 index 0000000..f194f08 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth1.json @@ -0,0 +1,6 @@ +{ + "parent": "block/stem_growth1", + "textures": { + "stem": "blocks/melon_stem_disconnected" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth2.json b/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth2.json new file mode 100644 index 0000000..868e1fa --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth2.json @@ -0,0 +1,6 @@ +{ + "parent": "block/stem_growth2", + "textures": { + "stem": "blocks/melon_stem_disconnected" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth3.json b/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth3.json new file mode 100644 index 0000000..af65a4f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth3.json @@ -0,0 +1,6 @@ +{ + "parent": "block/stem_growth3", + "textures": { + "stem": "blocks/melon_stem_disconnected" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth4.json b/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth4.json new file mode 100644 index 0000000..b36e899 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth4.json @@ -0,0 +1,6 @@ +{ + "parent": "block/stem_growth4", + "textures": { + "stem": "blocks/melon_stem_disconnected" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth5.json b/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth5.json new file mode 100644 index 0000000..91b5ace --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth5.json @@ -0,0 +1,6 @@ +{ + "parent": "block/stem_growth5", + "textures": { + "stem": "blocks/melon_stem_disconnected" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth6.json b/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth6.json new file mode 100644 index 0000000..a21d49b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth6.json @@ -0,0 +1,6 @@ +{ + "parent": "block/stem_growth6", + "textures": { + "stem": "blocks/melon_stem_disconnected" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth7.json b/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth7.json new file mode 100644 index 0000000..5dd35ae --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/melon_stem_growth7.json @@ -0,0 +1,6 @@ +{ + "parent": "block/stem_growth7", + "textures": { + "stem": "blocks/melon_stem_disconnected" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/mob_spawner_cage.json b/desktopRuntime/resources/assets/minecraft/models/block/mob_spawner_cage.json new file mode 100644 index 0000000..39db5d5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/mob_spawner_cage.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/mob_spawner" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/mossy_cobblestone.json b/desktopRuntime/resources/assets/minecraft/models/block/mossy_cobblestone.json new file mode 100644 index 0000000..fe56fa5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/mossy_cobblestone.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/cobblestone_mossy" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/mossy_wall_n.json b/desktopRuntime/resources/assets/minecraft/models/block/mossy_wall_n.json new file mode 100644 index 0000000..b196830 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/mossy_wall_n.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_n", + "textures": { + "wall": "blocks/cobblestone_mossy" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/mossy_wall_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/mossy_wall_ne.json new file mode 100644 index 0000000..136528f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/mossy_wall_ne.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_ne", + "textures": { + "wall": "blocks/cobblestone_mossy" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/mossy_wall_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/mossy_wall_ns.json new file mode 100644 index 0000000..73f25ad --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/mossy_wall_ns.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_ns", + "textures": { + "wall": "blocks/cobblestone_mossy" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/mossy_wall_ns_above.json b/desktopRuntime/resources/assets/minecraft/models/block/mossy_wall_ns_above.json new file mode 100644 index 0000000..073875a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/mossy_wall_ns_above.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_ns_above", + "textures": { + "wall": "blocks/cobblestone_mossy" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/mossy_wall_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/mossy_wall_nse.json new file mode 100644 index 0000000..33d6e82 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/mossy_wall_nse.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_nse", + "textures": { + "wall": "blocks/cobblestone_mossy" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/mossy_wall_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/mossy_wall_nsew.json new file mode 100644 index 0000000..4f9f9af --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/mossy_wall_nsew.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_nsew", + "textures": { + "wall": "blocks/cobblestone_mossy" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/mossy_wall_post.json b/desktopRuntime/resources/assets/minecraft/models/block/mossy_wall_post.json new file mode 100644 index 0000000..e3e00d0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/mossy_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_post", + "textures": { + "wall": "blocks/cobblestone_mossy" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/mycelium.json b/desktopRuntime/resources/assets/minecraft/models/block/mycelium.json new file mode 100644 index 0000000..de2246f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/mycelium.json @@ -0,0 +1,8 @@ +{ + "parent": "block/cube_bottom_top", + "textures": { + "bottom": "blocks/dirt", + "top": "blocks/mycelium_top", + "side": "blocks/mycelium_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/nether_brick.json b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick.json new file mode 100644 index 0000000..dd1b296 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/nether_brick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_fence_inventory.json b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_fence_inventory.json new file mode 100644 index 0000000..a9ed5c6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_fence_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_inventory", + "textures": { + "texture": "blocks/nether_brick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_fence_n.json b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_fence_n.json new file mode 100644 index 0000000..8512b63 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_fence_n.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_n", + "textures": { + "texture": "blocks/nether_brick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_fence_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_fence_ne.json new file mode 100644 index 0000000..4deb36d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_fence_ne.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_ne", + "textures": { + "texture": "blocks/nether_brick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_fence_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_fence_ns.json new file mode 100644 index 0000000..7fc2238 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_fence_ns.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_ns", + "textures": { + "texture": "blocks/nether_brick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_fence_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_fence_nse.json new file mode 100644 index 0000000..3074da5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_fence_nse.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_nse", + "textures": { + "texture": "blocks/nether_brick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_fence_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_fence_nsew.json new file mode 100644 index 0000000..409e897 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_fence_nsew.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_nsew", + "textures": { + "texture": "blocks/nether_brick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_fence_post.json b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_fence_post.json new file mode 100644 index 0000000..111c1ae --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_fence_post.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_post", + "textures": { + "texture": "blocks/nether_brick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_inner_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_inner_stairs.json new file mode 100644 index 0000000..5b1471a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_inner_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/inner_stairs", + "textures": { + "bottom": "blocks/nether_brick", + "top": "blocks/nether_brick", + "side": "blocks/nether_brick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_outer_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_outer_stairs.json new file mode 100644 index 0000000..a9f5b98 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_outer_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/outer_stairs", + "textures": { + "bottom": "blocks/nether_brick", + "top": "blocks/nether_brick", + "side": "blocks/nether_brick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_stairs.json new file mode 100644 index 0000000..3e59a44 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/nether_brick_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/stairs", + "textures": { + "bottom": "blocks/nether_brick", + "top": "blocks/nether_brick", + "side": "blocks/nether_brick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/nether_wart_stage0.json b/desktopRuntime/resources/assets/minecraft/models/block/nether_wart_stage0.json new file mode 100644 index 0000000..d155e2b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/nether_wart_stage0.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/nether_wart_stage_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/nether_wart_stage1.json b/desktopRuntime/resources/assets/minecraft/models/block/nether_wart_stage1.json new file mode 100644 index 0000000..80be162 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/nether_wart_stage1.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/nether_wart_stage_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/nether_wart_stage2.json b/desktopRuntime/resources/assets/minecraft/models/block/nether_wart_stage2.json new file mode 100644 index 0000000..2ddadef --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/nether_wart_stage2.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/nether_wart_stage_2" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/netherrack.json b/desktopRuntime/resources/assets/minecraft/models/block/netherrack.json new file mode 100644 index 0000000..9210846 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/netherrack.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/netherrack" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/normal_rail_curved.json b/desktopRuntime/resources/assets/minecraft/models/block/normal_rail_curved.json new file mode 100644 index 0000000..c850107 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/normal_rail_curved.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_curved", + "textures": { + "rail": "blocks/rail_normal_turned" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/normal_rail_flat.json b/desktopRuntime/resources/assets/minecraft/models/block/normal_rail_flat.json new file mode 100644 index 0000000..3731790 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/normal_rail_flat.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_flat", + "textures": { + "rail": "blocks/rail_normal" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/normal_rail_raised_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/normal_rail_raised_ne.json new file mode 100644 index 0000000..7f137e6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/normal_rail_raised_ne.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_raised_ne", + "textures": { + "rail": "blocks/rail_normal" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/normal_rail_raised_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/normal_rail_raised_sw.json new file mode 100644 index 0000000..cdbd10c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/normal_rail_raised_sw.json @@ -0,0 +1,6 @@ +{ + "parent": "block/rail_raised_sw", + "textures": { + "rail": "blocks/rail_normal" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/normal_torch.json b/desktopRuntime/resources/assets/minecraft/models/block/normal_torch.json new file mode 100644 index 0000000..6759646 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/normal_torch.json @@ -0,0 +1,6 @@ +{ + "parent": "block/torch", + "textures": { + "torch": "blocks/torch_on" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/normal_torch_wall.json b/desktopRuntime/resources/assets/minecraft/models/block/normal_torch_wall.json new file mode 100644 index 0000000..beec30e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/normal_torch_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "block/torch_wall", + "textures": { + "torch": "blocks/torch_on" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/noteblock.json b/desktopRuntime/resources/assets/minecraft/models/block/noteblock.json new file mode 100644 index 0000000..deffbc8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/noteblock.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/noteblock" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/oak_bark.json b/desktopRuntime/resources/assets/minecraft/models/block/oak_bark.json new file mode 100644 index 0000000..6c1c1cd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/oak_bark.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/log_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_gate_closed.json b/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_gate_closed.json new file mode 100644 index 0000000..2978a79 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_gate_closed.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_gate_closed", + "textures": { + "texture": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_gate_open.json b/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_gate_open.json new file mode 100644 index 0000000..a9d1544 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_gate_open.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_gate_open", + "textures": { + "texture": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_inventory.json b/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_inventory.json new file mode 100644 index 0000000..7375ac3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_inventory", + "textures": { + "texture": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_n.json b/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_n.json new file mode 100644 index 0000000..08a517a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_n.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_n", + "textures": { + "texture": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_ne.json new file mode 100644 index 0000000..d983712 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_ne.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_ne", + "textures": { + "texture": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_ns.json new file mode 100644 index 0000000..c3e4467 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_ns.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_ns", + "textures": { + "texture": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_nse.json new file mode 100644 index 0000000..88ab35c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_nse.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_nse", + "textures": { + "texture": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_nsew.json new file mode 100644 index 0000000..d27fe1e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_nsew.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_nsew", + "textures": { + "texture": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_post.json b/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_post.json new file mode 100644 index 0000000..f513324 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/oak_fence_post.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_post", + "textures": { + "texture": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/oak_inner_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/oak_inner_stairs.json new file mode 100644 index 0000000..09c7960 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/oak_inner_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/inner_stairs", + "textures": { + "bottom": "blocks/planks_oak", + "top": "blocks/planks_oak", + "side": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/oak_leaves.json b/desktopRuntime/resources/assets/minecraft/models/block/oak_leaves.json new file mode 100644 index 0000000..3c0a1a7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/oak_leaves.json @@ -0,0 +1,6 @@ +{ + "parent": "block/leaves", + "textures": { + "all": "blocks/leaves_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/oak_log.json b/desktopRuntime/resources/assets/minecraft/models/block/oak_log.json new file mode 100644 index 0000000..f58239c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/oak_log.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "blocks/log_oak_top", + "side": "blocks/log_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/oak_log_side.json b/desktopRuntime/resources/assets/minecraft/models/block/oak_log_side.json new file mode 100644 index 0000000..a814627 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/oak_log_side.json @@ -0,0 +1,7 @@ +{ + "parent": "block/column_side", + "textures": { + "end": "blocks/log_oak_top", + "side": "blocks/log_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/oak_outer_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/oak_outer_stairs.json new file mode 100644 index 0000000..b5672ec --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/oak_outer_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/outer_stairs", + "textures": { + "bottom": "blocks/planks_oak", + "top": "blocks/planks_oak", + "side": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/oak_planks.json b/desktopRuntime/resources/assets/minecraft/models/block/oak_planks.json new file mode 100644 index 0000000..28d32ff --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/oak_planks.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/oak_sapling.json b/desktopRuntime/resources/assets/minecraft/models/block/oak_sapling.json new file mode 100644 index 0000000..c0ab14a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/oak_sapling.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/sapling_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/oak_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/oak_stairs.json new file mode 100644 index 0000000..d883c85 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/oak_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/stairs", + "textures": { + "bottom": "blocks/planks_oak", + "top": "blocks/planks_oak", + "side": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/oak_wall_gate_closed.json b/desktopRuntime/resources/assets/minecraft/models/block/oak_wall_gate_closed.json new file mode 100644 index 0000000..e06923d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/oak_wall_gate_closed.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_gate_closed", + "textures": { + "texture": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/oak_wall_gate_open.json b/desktopRuntime/resources/assets/minecraft/models/block/oak_wall_gate_open.json new file mode 100644 index 0000000..d8bcd0c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/oak_wall_gate_open.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_gate_open", + "textures": { + "texture": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/obsidian.json b/desktopRuntime/resources/assets/minecraft/models/block/obsidian.json new file mode 100644 index 0000000..47dee09 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/obsidian.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/obsidian" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_n.json b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_n.json new file mode 100644 index 0000000..8b3dabc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_n.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_n", + "textures": { + "edge": "blocks/glass_pane_top_orange", + "pane": "blocks/glass_orange" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_ne.json new file mode 100644 index 0000000..64c7ea1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_ne.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ne", + "textures": { + "edge": "blocks/glass_pane_top_orange", + "pane": "blocks/glass_orange" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_new.json b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_new.json new file mode 100644 index 0000000..059f81e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_new.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_new", + "textures": { + "edge": "blocks/glass_pane_top_orange", + "pane": "blocks/glass_orange" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_ns.json new file mode 100644 index 0000000..b11b793 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_ns.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ns", + "textures": { + "edge": "blocks/glass_pane_top_orange", + "pane": "blocks/glass_orange" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_nse.json new file mode 100644 index 0000000..8d4b145 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_nse.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nse", + "textures": { + "edge": "blocks/glass_pane_top_orange", + "pane": "blocks/glass_orange" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_nsew.json new file mode 100644 index 0000000..a934382 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_nsew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsew", + "textures": { + "edge": "blocks/glass_pane_top_orange", + "pane": "blocks/glass_orange" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_nsw.json b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_nsw.json new file mode 100644 index 0000000..4803747 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_nsw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsw", + "textures": { + "edge": "blocks/glass_pane_top_orange", + "pane": "blocks/glass_orange" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_nw.json b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_nw.json new file mode 100644 index 0000000..fe86a4d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_nw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nw", + "textures": { + "edge": "blocks/glass_pane_top_orange", + "pane": "blocks/glass_orange" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_s.json b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_s.json new file mode 100644 index 0000000..e906b51 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_s.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_s", + "textures": { + "edge": "blocks/glass_pane_top_orange", + "pane": "blocks/glass_orange" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_se.json b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_se.json new file mode 100644 index 0000000..5e684c9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_se.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_se", + "textures": { + "edge": "blocks/glass_pane_top_orange", + "pane": "blocks/glass_orange" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_sew.json b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_sew.json new file mode 100644 index 0000000..fc0f01b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_sew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sew", + "textures": { + "edge": "blocks/glass_pane_top_orange", + "pane": "blocks/glass_orange" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_sw.json new file mode 100644 index 0000000..9a213a8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/orange_pane_sw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sw", + "textures": { + "edge": "blocks/glass_pane_top_orange", + "pane": "blocks/glass_orange" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/orange_tulip.json b/desktopRuntime/resources/assets/minecraft/models/block/orange_tulip.json new file mode 100644 index 0000000..d7d3466 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/orange_tulip.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/flower_tulip_orange" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/orange_wool.json b/desktopRuntime/resources/assets/minecraft/models/block/orange_wool.json new file mode 100644 index 0000000..aa8dc14 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/orange_wool.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/wool_colored_orange" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/orchid.json b/desktopRuntime/resources/assets/minecraft/models/block/orchid.json new file mode 100644 index 0000000..031880b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/orchid.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/flower_blue_orchid" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/orientable.json b/desktopRuntime/resources/assets/minecraft/models/block/orientable.json new file mode 100644 index 0000000..2efc9ea --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/orientable.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "#front", + "down": "#top", + "up": "#top", + "north": "#front", + "east": "#side", + "south": "#side", + "west": "#side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/orientable_vertical.json b/desktopRuntime/resources/assets/minecraft/models/block/orientable_vertical.json new file mode 100644 index 0000000..5fb2223 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/orientable_vertical.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "#side", + "down": "#side", + "up": "#front", + "north": "#side", + "east": "#side", + "south": "#side", + "west": "#side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/outer_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/outer_stairs.json new file mode 100644 index 0000000..26fb37f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/outer_stairs.json @@ -0,0 +1,29 @@ +{ + "textures": { + "particle": "#side" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 8, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 8, 8, 8 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [ 8, 0, 16, 8 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 8, 8, 16, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 0, 0, 8, 8 ], "texture": "#side" }, + "south": { "uv": [ 8, 0, 16, 8 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 8, 0, 16, 8 ], "texture": "#side" }, + "east": { "uv": [ 0, 0, 8, 8 ], "texture": "#side", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/packed_ice.json b/desktopRuntime/resources/assets/minecraft/models/block/packed_ice.json new file mode 100644 index 0000000..3cc22a2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/packed_ice.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/ice_packed" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pane_n.json b/desktopRuntime/resources/assets/minecraft/models/block/pane_n.json new file mode 100644 index 0000000..ea29cd2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pane_n.json @@ -0,0 +1,20 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#pane" + }, + "elements": [ + { "from": [ 7, 0, 0 ], + "to": [ 9, 16, 9 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 0, 9, 9 ], "texture": "#edge" }, + "up": { "uv": [ 7, 0, 9, 9 ], "texture": "#edge" }, + "north": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "north" }, + "south": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" }, + "west": { "uv": [ 16, 0, 7, 16 ], "texture": "#pane" }, + "east": { "uv": [ 7, 0, 16, 16 ], "texture": "#pane" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pane_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/pane_ne.json new file mode 100644 index 0000000..ca38f7d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pane_ne.json @@ -0,0 +1,32 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#pane" + }, + "elements": [ + { "from": [ 7, 0, 0 ], + "to": [ 9, 16, 9 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 0, 9, 9 ], "texture": "#edge" }, + "up": { "uv": [ 7, 0, 9, 9 ], "texture": "#edge" }, + "north": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "north" }, + "south": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" }, + "west": { "uv": [ 16, 0, 7, 16 ], "texture": "#pane" }, + "east": { "uv": [ 7, 0, 16, 16 ], "texture": "#pane" } + } + }, + { "from": [ 9, 0, 7 ], + "to": [ 16, 16, 9 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 9, 9, 16 ], "rotation": 90, "texture": "#edge" }, + "up": { "uv": [ 7, 9, 9, 16 ], "rotation": 90, "texture": "#edge" }, + "north": { "uv": [ 16, 0, 9, 16 ], "texture": "#pane" }, + "south": { "uv": [ 9, 0, 16, 16 ], "texture": "#pane" }, + "west": { "uv": [ 7, 0, 9, 16 ], "texture": "#pane" }, + "east": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pane_new.json b/desktopRuntime/resources/assets/minecraft/models/block/pane_new.json new file mode 100644 index 0000000..0e849f6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pane_new.json @@ -0,0 +1,32 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#pane" + }, + "elements": [ + { "from": [ 7, 0, 0 ], + "to": [ 9, 16, 7 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 0, 9, 7 ], "texture": "#edge" }, + "up": { "uv": [ 7, 0, 9, 7 ], "texture": "#edge" }, + "north": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "north" }, + "south": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" }, + "west": { "uv": [ 16, 0, 9, 16 ], "texture": "#pane" }, + "east": { "uv": [ 9, 0, 16, 16 ], "texture": "#pane" } + } + }, + { "from": [ 0, 0, 7 ], + "to": [ 16, 16, 9 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 0, 9, 16 ], "rotation": 90, "texture": "#edge" }, + "up": { "uv": [ 7, 0, 9, 16 ], "rotation": 90, "texture": "#edge" }, + "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#pane" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#pane" }, + "west": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "west" }, + "east": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pane_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/pane_ns.json new file mode 100644 index 0000000..502e424 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pane_ns.json @@ -0,0 +1,20 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#pane" + }, + "elements": [ + { "from": [ 7, 0, 0 ], + "to": [ 9, 16, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cull": false }, + "up": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cull": false }, + "north": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" }, + "south": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" }, + "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#pane", "cull": false }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#pane", "cull": false } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pane_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/pane_nse.json new file mode 100644 index 0000000..d6a53c0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pane_nse.json @@ -0,0 +1,32 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#pane" + }, + "elements": [ + { "from": [ 7, 0, 0 ], + "to": [ 9, 16, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" }, + "up": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" }, + "north": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "north" }, + "south": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "south" }, + "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#pane" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#pane" } + } + }, + { "from": [ 9, 0, 7 ], + "to": [ 16, 16, 9 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 9, 9, 16 ], "rotation": 90, "texture": "#edge" }, + "up": { "uv": [ 7, 9, 9, 16 ], "rotation": 90, "texture": "#edge" }, + "north": { "uv": [ 16, 0, 9, 16 ], "texture": "#pane" }, + "south": { "uv": [ 9, 0, 16, 16 ], "texture": "#pane" }, + "west": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" }, + "east": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pane_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/pane_nsew.json new file mode 100644 index 0000000..0bf9def --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pane_nsew.json @@ -0,0 +1,32 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#pane" + }, + "elements": [ + { "from": [ 7, 0, 0 ], + "to": [ 9, 16, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" }, + "up": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" }, + "north": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "north" }, + "south": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#pane" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#pane" } + } + }, + { "from": [ 0, 0, 7 ], + "to": [ 16, 16, 9 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 0, 9, 16 ], "rotation": 90, "texture": "#edge" }, + "up": { "uv": [ 7, 0, 9, 16 ], "rotation": 90, "texture": "#edge" }, + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#pane" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#pane" }, + "west": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "west" }, + "east": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pane_nsw.json b/desktopRuntime/resources/assets/minecraft/models/block/pane_nsw.json new file mode 100644 index 0000000..8dc14fb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pane_nsw.json @@ -0,0 +1,32 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#pane" + }, + "elements": [ + { "from": [ 7, 0, 0 ], + "to": [ 9, 16, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" }, + "up": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" }, + "north": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "north" }, + "south": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "south" }, + "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#pane" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#pane" } + } + }, + { "from": [ 0, 0, 7 ], + "to": [ 7, 16, 9 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 0, 9, 7 ], "rotation": 90, "texture": "#edge" }, + "up": { "uv": [ 7, 0, 9, 7 ], "rotation": 90, "texture": "#edge" }, + "north": { "uv": [ 7, 0, 0, 16 ], "texture": "#pane" }, + "south": { "uv": [ 0, 0, 7, 16 ], "texture": "#pane" }, + "west": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "east" }, + "east": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pane_nw.json b/desktopRuntime/resources/assets/minecraft/models/block/pane_nw.json new file mode 100644 index 0000000..f24d1bd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pane_nw.json @@ -0,0 +1,32 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#pane" + }, + "elements": [ + { "from": [ 7, 0, 0 ], + "to": [ 9, 16, 9 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 0, 9, 9 ], "texture": "#edge" }, + "up": { "uv": [ 7, 0, 9, 9 ], "texture": "#edge" }, + "north": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "north" }, + "south": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" }, + "west": { "uv": [ 16, 0, 7, 16 ], "texture": "#pane" }, + "east": { "uv": [ 7, 0, 16, 16 ], "texture": "#pane" } + } + }, + { "from": [ 0, 0, 7 ], + "to": [ 7, 16, 9 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 0, 9, 7 ], "rotation": 90, "texture": "#edge" }, + "up": { "uv": [ 7, 0, 9, 7 ], "rotation": 90, "texture": "#edge" }, + "north": { "uv": [ 7, 0, 0, 16 ], "texture": "#pane" }, + "south": { "uv": [ 0, 0, 7, 16 ], "texture": "#pane" }, + "west": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "west" }, + "east": { "uv": [ 7, 0, 9, 16 ], "texture": "#pane" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pane_s.json b/desktopRuntime/resources/assets/minecraft/models/block/pane_s.json new file mode 100644 index 0000000..53605fc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pane_s.json @@ -0,0 +1,20 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#pane" + }, + "elements": [ + { "from": [ 7, 0, 7 ], + "to": [ 9, 16, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 7, 9, 16 ], "texture": "#edge" }, + "up": { "uv": [ 7, 7, 9, 16 ], "texture": "#edge" }, + "north": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "north" }, + "south": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" }, + "west": { "uv": [ 9, 0, 0, 16 ], "texture": "#pane" }, + "east": { "uv": [ 0, 0, 9, 16 ], "texture": "#pane" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pane_se.json b/desktopRuntime/resources/assets/minecraft/models/block/pane_se.json new file mode 100644 index 0000000..75d9d23 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pane_se.json @@ -0,0 +1,32 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#pane" + }, + "elements": [ + { "from": [ 7, 0, 7 ], + "to": [ 9, 16, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 7, 9, 16 ], "texture": "#edge" }, + "up": { "uv": [ 7, 7, 9, 16 ], "texture": "#edge" }, + "north": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "north" }, + "south": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" }, + "west": { "uv": [ 9, 0, 0, 16 ], "texture": "#pane" }, + "east": { "uv": [ 0, 0, 9, 16 ], "texture": "#pane" } + } + }, + { "from": [ 9, 0, 7 ], + "to": [ 16, 16, 9 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 9, 9, 16 ], "rotation": 90, "texture": "#edge" }, + "up": { "uv": [ 7, 9, 9, 16 ], "rotation": 90, "texture": "#edge" }, + "north": { "uv": [ 16, 0, 9, 16 ], "texture": "#pane" }, + "south": { "uv": [ 9, 0, 16, 16 ], "texture": "#pane" }, + "west": { "uv": [ 7, 0, 9, 16 ], "texture": "#pane" }, + "east": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pane_sew.json b/desktopRuntime/resources/assets/minecraft/models/block/pane_sew.json new file mode 100644 index 0000000..8dc5afa --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pane_sew.json @@ -0,0 +1,32 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#pane" + }, + "elements": [ + { "from": [ 7, 0, 9 ], + "to": [ 9, 16, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 9, 9, 16 ], "texture": "#edge" }, + "up": { "uv": [ 7, 9, 9, 16 ], "texture": "#edge" }, + "north": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" }, + "south": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "south" }, + "west": { "uv": [ 7, 0, 0, 16 ], "texture": "#pane" }, + "east": { "uv": [ 0, 0, 7, 16 ], "texture": "#pane" } + } + }, + { "from": [ 0, 0, 7 ], + "to": [ 16, 16, 9 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 0, 9, 16 ], "rotation": 90, "texture": "#edge" }, + "up": { "uv": [ 7, 0, 9, 16 ], "rotation": 90, "texture": "#edge" }, + "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#pane" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#pane" }, + "west": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "west" }, + "east": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pane_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/pane_sw.json new file mode 100644 index 0000000..7a3f167 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pane_sw.json @@ -0,0 +1,32 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#pane" + }, + "elements": [ + { "from": [ 7, 0, 7 ], + "to": [ 9, 16, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 7, 9, 16 ], "texture": "#edge" }, + "up": { "uv": [ 7, 7, 9, 16 ], "texture": "#edge" }, + "north": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "north" }, + "south": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge" }, + "west": { "uv": [ 9, 0, 0, 16 ], "texture": "#pane" }, + "east": { "uv": [ 0, 0, 9, 16 ], "texture": "#pane" } + } + }, + { "from": [ 0, 0, 7 ], + "to": [ 7, 16, 9 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 0, 9, 7 ], "rotation": 90, "texture": "#edge" }, + "up": { "uv": [ 7, 0, 9, 7 ], "rotation": 90, "texture": "#edge" }, + "north": { "uv": [ 7, 0, 0, 16 ], "texture": "#pane" }, + "south": { "uv": [ 0, 0, 7, 16 ], "texture": "#pane" }, + "west": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "west" }, + "east": { "uv": [ 7, 0, 9, 16 ], "texture": "#pane" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_n.json b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_n.json new file mode 100644 index 0000000..9fb4bb3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_n.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_n", + "textures": { + "edge": "blocks/glass_pane_top_pink", + "pane": "blocks/glass_pink" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_ne.json new file mode 100644 index 0000000..bd53200 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_ne.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ne", + "textures": { + "edge": "blocks/glass_pane_top_pink", + "pane": "blocks/glass_pink" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_new.json b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_new.json new file mode 100644 index 0000000..1f76f05 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_new.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_new", + "textures": { + "edge": "blocks/glass_pane_top_pink", + "pane": "blocks/glass_pink" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_ns.json new file mode 100644 index 0000000..db7a1cb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_ns.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ns", + "textures": { + "edge": "blocks/glass_pane_top_pink", + "pane": "blocks/glass_pink" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_nse.json new file mode 100644 index 0000000..21e257c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_nse.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nse", + "textures": { + "edge": "blocks/glass_pane_top_pink", + "pane": "blocks/glass_pink" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_nsew.json new file mode 100644 index 0000000..848ba80 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_nsew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsew", + "textures": { + "edge": "blocks/glass_pane_top_pink", + "pane": "blocks/glass_pink" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_nsw.json b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_nsw.json new file mode 100644 index 0000000..10245b1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_nsw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsw", + "textures": { + "edge": "blocks/glass_pane_top_pink", + "pane": "blocks/glass_pink" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_nw.json b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_nw.json new file mode 100644 index 0000000..b3c4e78 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_nw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nw", + "textures": { + "edge": "blocks/glass_pane_top_pink", + "pane": "blocks/glass_pink" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_s.json b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_s.json new file mode 100644 index 0000000..1d82212 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_s.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_s", + "textures": { + "edge": "blocks/glass_pane_top_pink", + "pane": "blocks/glass_pink" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_se.json b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_se.json new file mode 100644 index 0000000..c6e68f8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_se.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_se", + "textures": { + "edge": "blocks/glass_pane_top_pink", + "pane": "blocks/glass_pink" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_sew.json b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_sew.json new file mode 100644 index 0000000..b61f4c3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_sew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sew", + "textures": { + "edge": "blocks/glass_pane_top_pink", + "pane": "blocks/glass_pink" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_sw.json new file mode 100644 index 0000000..523385c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pink_pane_sw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sw", + "textures": { + "edge": "blocks/glass_pane_top_pink", + "pane": "blocks/glass_pink" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pink_tulip.json b/desktopRuntime/resources/assets/minecraft/models/block/pink_tulip.json new file mode 100644 index 0000000..9cef0d3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pink_tulip.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/flower_tulip_pink" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pink_wool.json b/desktopRuntime/resources/assets/minecraft/models/block/pink_wool.json new file mode 100644 index 0000000..4aadbad --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pink_wool.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/wool_colored_pink" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/piston.json b/desktopRuntime/resources/assets/minecraft/models/block/piston.json new file mode 100644 index 0000000..83b4e18 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/piston.json @@ -0,0 +1,18 @@ +{ + "textures": { + "particle": "#side" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#side", "rotation": 180, "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#side", "cullface": "up" }, + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#platform", "cullface": "north" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#side", "rotation": 270, "cullface": "west" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#side", "rotation": 90, "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/piston_extended.json b/desktopRuntime/resources/assets/minecraft/models/block/piston_extended.json new file mode 100644 index 0000000..45e04a3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/piston_extended.json @@ -0,0 +1,18 @@ +{ + "textures": { + "particle": "#side" + }, + "elements": [ + { "from": [ 0, 0, 4 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [ 0, 4, 16, 16 ], "texture": "#side", "cullface": "down", "rotation": 180 }, + "up": { "uv": [ 0, 4, 16, 16 ], "texture": "#side", "cullface": "up" }, + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#inside" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom", "cullface": "south" }, + "west": { "uv": [ 0, 4, 16, 16 ], "texture": "#side", "cullface": "west", "rotation": 270 }, + "east": { "uv": [ 0, 4, 16, 16 ], "texture": "#side", "cullface": "east", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/piston_extended_normal.json b/desktopRuntime/resources/assets/minecraft/models/block/piston_extended_normal.json new file mode 100644 index 0000000..28420b9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/piston_extended_normal.json @@ -0,0 +1,8 @@ +{ + "parent": "block/piston_extended", + "textures": { + "bottom": "blocks/piston_bottom", + "side": "blocks/piston_side", + "inside": "blocks/piston_inner" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/piston_head.json b/desktopRuntime/resources/assets/minecraft/models/block/piston_head.json new file mode 100644 index 0000000..5c61107 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/piston_head.json @@ -0,0 +1,36 @@ +{ + "textures": { + "particle": "#platform" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 16, 4 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 4 ], "texture": "#side", "cullface": "down", "rotation": 180 }, + "up": { "uv": [ 0, 0, 16, 4 ], "texture": "#side", "cullface": "up" }, + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#platform", "cullface": "north" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#unsticky" }, + "west": { "uv": [ 0, 0, 16, 4 ], "texture": "#side", "rotation": 270, "cullface": "west" }, + "east": { "uv": [ 0, 0, 16, 4 ], "texture": "#side", "rotation": 90, "cullface": "east" } + } + }, + { "from": [ 6, 6, 4 ], + "to": [ 10, 10, 16 ], + "faces": { + "down": { "uv": [ 4, 0, 16, 4 ], "texture": "#side", "rotation": 90 }, + "up": { "uv": [ 4, 0, 16, 4 ], "texture": "#side", "rotation": 270 }, + "west": { "uv": [ 16, 4, 4, 0 ], "texture": "#side" }, + "east": { "uv": [ 4, 0, 16, 4 ], "texture": "#side" } + } + }, + { "from": [ 6, 6, 16 ], + "to": [ 10, 10, 20 ], + "faces": { + "down": { "uv": [ 0, 0, 4, 4 ], "texture": "#side", "rotation": 90 }, + "up": { "uv": [ 0, 0, 4, 4 ], "texture": "#side", "rotation": 270 }, + "west": { "uv": [ 4, 4, 0, 0 ], "texture": "#side" }, + "east": { "uv": [ 0, 0, 4, 4 ], "texture": "#side" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/piston_head_normal.json b/desktopRuntime/resources/assets/minecraft/models/block/piston_head_normal.json new file mode 100644 index 0000000..330c848 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/piston_head_normal.json @@ -0,0 +1,8 @@ +{ + "parent": "block/piston_head", + "textures": { + "unsticky": "blocks/piston_top_normal", + "side": "blocks/piston_side", + "platform": "blocks/piston_top_normal" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/piston_head_short.json b/desktopRuntime/resources/assets/minecraft/models/block/piston_head_short.json new file mode 100644 index 0000000..cdbe9e1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/piston_head_short.json @@ -0,0 +1,27 @@ +{ + "textures": { + "particle": "#platform" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 16, 4 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 4 ], "texture": "#side", "cullface": "down", "rotation": 180 }, + "up": { "uv": [ 0, 0, 16, 4 ], "texture": "#side", "cullface": "up" }, + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#platform", "cullface": "north" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#unsticky" }, + "west": { "uv": [ 0, 0, 16, 4 ], "texture": "#side", "rotation": 270, "cullface": "west" }, + "east": { "uv": [ 0, 0, 16, 4 ], "texture": "#side", "rotation": 90, "cullface": "east" } + } + }, + { "from": [ 6, 6, 4 ], + "to": [ 10, 10, 16 ], + "faces": { + "down": { "uv": [ 4, 0, 16, 4 ], "texture": "#side", "rotation": 90 }, + "up": { "uv": [ 4, 0, 16, 4 ], "texture": "#side", "rotation": 270 }, + "west": { "uv": [ 16, 4, 4, 0 ], "texture": "#side" }, + "east": { "uv": [ 4, 0, 16, 4 ], "texture": "#side" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/piston_head_short_normal.json b/desktopRuntime/resources/assets/minecraft/models/block/piston_head_short_normal.json new file mode 100644 index 0000000..0601320 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/piston_head_short_normal.json @@ -0,0 +1,8 @@ +{ + "parent": "block/piston_head_short", + "textures": { + "unsticky": "blocks/piston_top_normal", + "side": "blocks/piston_side", + "platform": "blocks/piston_top_normal" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/piston_head_short_sticky.json b/desktopRuntime/resources/assets/minecraft/models/block/piston_head_short_sticky.json new file mode 100644 index 0000000..c4fe4d7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/piston_head_short_sticky.json @@ -0,0 +1,8 @@ +{ + "parent": "block/piston_head_short", + "textures": { + "unsticky": "blocks/piston_top_normal", + "side": "blocks/piston_side", + "platform": "blocks/piston_top_sticky" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/piston_head_sticky.json b/desktopRuntime/resources/assets/minecraft/models/block/piston_head_sticky.json new file mode 100644 index 0000000..fc6bb20 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/piston_head_sticky.json @@ -0,0 +1,8 @@ +{ + "parent": "block/piston_head", + "textures": { + "unsticky": "blocks/piston_top_normal", + "side": "blocks/piston_side", + "platform": "blocks/piston_top_sticky" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/piston_inventory_normal.json b/desktopRuntime/resources/assets/minecraft/models/block/piston_inventory_normal.json new file mode 100644 index 0000000..c094e00 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/piston_inventory_normal.json @@ -0,0 +1,8 @@ +{ + "parent": "block/cube_bottom_top", + "textures": { + "bottom": "blocks/piston_bottom", + "side": "blocks/piston_side", + "top": "blocks/piston_top_normal" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/piston_inventory_sticky.json b/desktopRuntime/resources/assets/minecraft/models/block/piston_inventory_sticky.json new file mode 100644 index 0000000..f9eeb7e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/piston_inventory_sticky.json @@ -0,0 +1,8 @@ +{ + "parent": "block/cube_bottom_top", + "textures": { + "bottom": "blocks/piston_bottom", + "side": "blocks/piston_side", + "top": "blocks/piston_top_sticky" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/piston_normal.json b/desktopRuntime/resources/assets/minecraft/models/block/piston_normal.json new file mode 100644 index 0000000..9f0c65e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/piston_normal.json @@ -0,0 +1,8 @@ +{ + "parent": "block/piston", + "textures": { + "bottom": "blocks/piston_bottom", + "side": "blocks/piston_side", + "platform": "blocks/piston_top_normal" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/podzol.json b/desktopRuntime/resources/assets/minecraft/models/block/podzol.json new file mode 100644 index 0000000..90b9369 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/podzol.json @@ -0,0 +1,8 @@ +{ + "parent": "block/cube_bottom_top", + "textures": { + "bottom": "blocks/dirt", + "top": "blocks/dirt_podzol_top", + "side": "blocks/dirt_podzol_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/poppy.json b/desktopRuntime/resources/assets/minecraft/models/block/poppy.json new file mode 100644 index 0000000..b79edb6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/poppy.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/flower_rose" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/portal_ew.json b/desktopRuntime/resources/assets/minecraft/models/block/portal_ew.json new file mode 100644 index 0000000..8148488 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/portal_ew.json @@ -0,0 +1,15 @@ +{ + "textures": { + "particle": "blocks/portal", + "portal": "blocks/portal" + }, + "elements": [ + { "from": [ 6, 0, 0 ], + "to": [ 10, 16, 16 ], + "faces": { + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#portal" }, + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#portal" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/portal_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/portal_ns.json new file mode 100644 index 0000000..8af9808 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/portal_ns.json @@ -0,0 +1,15 @@ +{ + "textures": { + "particle": "blocks/portal", + "portal": "blocks/portal" + }, + "elements": [ + { "from": [ 0, 0, 6 ], + "to": [ 16, 16, 10 ], + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#portal" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#portal" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/potatoes_stage0.json b/desktopRuntime/resources/assets/minecraft/models/block/potatoes_stage0.json new file mode 100644 index 0000000..26a54f0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/potatoes_stage0.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/potatoes_stage_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/potatoes_stage1.json b/desktopRuntime/resources/assets/minecraft/models/block/potatoes_stage1.json new file mode 100644 index 0000000..8eb64e6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/potatoes_stage1.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/potatoes_stage_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/potatoes_stage2.json b/desktopRuntime/resources/assets/minecraft/models/block/potatoes_stage2.json new file mode 100644 index 0000000..0cc9c87 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/potatoes_stage2.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/potatoes_stage_2" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/potatoes_stage3.json b/desktopRuntime/resources/assets/minecraft/models/block/potatoes_stage3.json new file mode 100644 index 0000000..5aca639 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/potatoes_stage3.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/potatoes_stage_3" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pressure_plate_down.json b/desktopRuntime/resources/assets/minecraft/models/block/pressure_plate_down.json new file mode 100644 index 0000000..5911d94 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pressure_plate_down.json @@ -0,0 +1,18 @@ +{ + "textures": { + "particle": "#texture" + }, + "elements": [ + { "from": [ 1, 0, 1 ], + "to": [ 15, 0.5, 15 ], + "faces": { + "down": { "uv": [ 1, 1, 15, 15 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 1, 1, 15, 15 ], "texture": "#texture" }, + "north": { "uv": [ 1, 15.5, 15, 16 ], "texture": "#texture" }, + "south": { "uv": [ 1, 15.5, 15, 16 ], "texture": "#texture" }, + "west": { "uv": [ 1, 15.5, 15, 16 ], "texture": "#texture" }, + "east": { "uv": [ 1, 15.5, 15, 16 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pressure_plate_inventory.json b/desktopRuntime/resources/assets/minecraft/models/block/pressure_plate_inventory.json new file mode 100644 index 0000000..7465856 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pressure_plate_inventory.json @@ -0,0 +1,18 @@ +{ + "textures": { + "particle": "#texture" + }, + "elements": [ + { "from": [ 1, 6, 1 ], + "to": [ 15, 10, 15 ], + "faces": { + "down": { "uv": [ 1, 1, 15, 15 ], "texture": "#texture" }, + "up": { "uv": [ 1, 1, 15, 15 ], "texture": "#texture" }, + "north": { "uv": [ 1, 6, 15, 10 ], "texture": "#texture" }, + "south": { "uv": [ 1, 6, 15, 10 ], "texture": "#texture" }, + "west": { "uv": [ 1, 6, 15, 10 ], "texture": "#texture" }, + "east": { "uv": [ 1, 6, 15, 10 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pressure_plate_up.json b/desktopRuntime/resources/assets/minecraft/models/block/pressure_plate_up.json new file mode 100644 index 0000000..179ee9b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pressure_plate_up.json @@ -0,0 +1,18 @@ +{ + "textures": { + "particle": "#texture" + }, + "elements": [ + { "from": [ 1, 0, 1 ], + "to": [ 15, 1, 15 ], + "faces": { + "down": { "uv": [ 1, 1, 15, 15 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 1, 1, 15, 15 ], "texture": "#texture" }, + "north": { "uv": [ 1, 15, 15, 16 ], "texture": "#texture" }, + "south": { "uv": [ 1, 15, 15, 16 ], "texture": "#texture" }, + "west": { "uv": [ 1, 15, 15, 16 ], "texture": "#texture" }, + "east": { "uv": [ 1, 15, 15, 16 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/prismarine_bricks.json b/desktopRuntime/resources/assets/minecraft/models/block/prismarine_bricks.json new file mode 100644 index 0000000..572b27b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/prismarine_bricks.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/prismarine_bricks" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/prismarine_dark.json b/desktopRuntime/resources/assets/minecraft/models/block/prismarine_dark.json new file mode 100644 index 0000000..611d9a8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/prismarine_dark.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/prismarine_dark" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/prismarine_rough.json b/desktopRuntime/resources/assets/minecraft/models/block/prismarine_rough.json new file mode 100644 index 0000000..5be6300 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/prismarine_rough.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/prismarine_rough" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pumpkin.json b/desktopRuntime/resources/assets/minecraft/models/block/pumpkin.json new file mode 100644 index 0000000..8ac2d79 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pumpkin.json @@ -0,0 +1,8 @@ +{ + "parent": "block/orientable", + "textures": { + "top": "blocks/pumpkin_top", + "front": "blocks/pumpkin_face_off", + "side": "blocks/pumpkin_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_fruit.json b/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_fruit.json new file mode 100644 index 0000000..ea00b65 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_fruit.json @@ -0,0 +1,7 @@ +{ + "parent": "block/stem_fruit", + "textures": { + "stem": "blocks/pumpkin_stem_disconnected", + "upperstem": "blocks/pumpkin_stem_connected" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth0.json b/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth0.json new file mode 100644 index 0000000..34758d3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth0.json @@ -0,0 +1,6 @@ +{ + "parent": "block/stem_growth0", + "textures": { + "stem": "blocks/pumpkin_stem_disconnected" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth1.json b/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth1.json new file mode 100644 index 0000000..21f87cc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth1.json @@ -0,0 +1,6 @@ +{ + "parent": "block/stem_growth1", + "textures": { + "stem": "blocks/pumpkin_stem_disconnected" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth2.json b/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth2.json new file mode 100644 index 0000000..f021a6d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth2.json @@ -0,0 +1,6 @@ +{ + "parent": "block/stem_growth2", + "textures": { + "stem": "blocks/pumpkin_stem_disconnected" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth3.json b/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth3.json new file mode 100644 index 0000000..ad04547 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth3.json @@ -0,0 +1,6 @@ +{ + "parent": "block/stem_growth3", + "textures": { + "stem": "blocks/pumpkin_stem_disconnected" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth4.json b/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth4.json new file mode 100644 index 0000000..5daa859 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth4.json @@ -0,0 +1,6 @@ +{ + "parent": "block/stem_growth4", + "textures": { + "stem": "blocks/pumpkin_stem_disconnected" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth5.json b/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth5.json new file mode 100644 index 0000000..8fde351 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth5.json @@ -0,0 +1,6 @@ +{ + "parent": "block/stem_growth5", + "textures": { + "stem": "blocks/pumpkin_stem_disconnected" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth6.json b/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth6.json new file mode 100644 index 0000000..e428d4c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth6.json @@ -0,0 +1,6 @@ +{ + "parent": "block/stem_growth6", + "textures": { + "stem": "blocks/pumpkin_stem_disconnected" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth7.json b/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth7.json new file mode 100644 index 0000000..43c721a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/pumpkin_stem_growth7.json @@ -0,0 +1,6 @@ +{ + "parent": "block/stem_growth7", + "textures": { + "stem": "blocks/pumpkin_stem_disconnected" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_n.json b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_n.json new file mode 100644 index 0000000..69e1962 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_n.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_n", + "textures": { + "edge": "blocks/glass_pane_top_purple", + "pane": "blocks/glass_purple" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_ne.json new file mode 100644 index 0000000..7efb723 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_ne.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ne", + "textures": { + "edge": "blocks/glass_pane_top_purple", + "pane": "blocks/glass_purple" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_new.json b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_new.json new file mode 100644 index 0000000..714aa54 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_new.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_new", + "textures": { + "edge": "blocks/glass_pane_top_purple", + "pane": "blocks/glass_purple" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_ns.json new file mode 100644 index 0000000..bf049cd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_ns.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ns", + "textures": { + "edge": "blocks/glass_pane_top_purple", + "pane": "blocks/glass_purple" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_nse.json new file mode 100644 index 0000000..f37ddea --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_nse.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nse", + "textures": { + "edge": "blocks/glass_pane_top_purple", + "pane": "blocks/glass_purple" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_nsew.json new file mode 100644 index 0000000..5f7fd23 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_nsew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsew", + "textures": { + "edge": "blocks/glass_pane_top_purple", + "pane": "blocks/glass_purple" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_nsw.json b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_nsw.json new file mode 100644 index 0000000..2872467 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_nsw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsw", + "textures": { + "edge": "blocks/glass_pane_top_purple", + "pane": "blocks/glass_purple" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_nw.json b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_nw.json new file mode 100644 index 0000000..d7214a9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_nw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nw", + "textures": { + "edge": "blocks/glass_pane_top_purple", + "pane": "blocks/glass_purple" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_s.json b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_s.json new file mode 100644 index 0000000..0aa0016 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_s.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_s", + "textures": { + "edge": "blocks/glass_pane_top_purple", + "pane": "blocks/glass_purple" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_se.json b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_se.json new file mode 100644 index 0000000..1f7b610 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_se.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_se", + "textures": { + "edge": "blocks/glass_pane_top_purple", + "pane": "blocks/glass_purple" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_sew.json b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_sew.json new file mode 100644 index 0000000..8414e69 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_sew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sew", + "textures": { + "edge": "blocks/glass_pane_top_purple", + "pane": "blocks/glass_purple" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_sw.json new file mode 100644 index 0000000..47d224a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/purple_pane_sw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sw", + "textures": { + "edge": "blocks/glass_pane_top_purple", + "pane": "blocks/glass_purple" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/purple_wool.json b/desktopRuntime/resources/assets/minecraft/models/block/purple_wool.json new file mode 100644 index 0000000..2c50318 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/purple_wool.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/wool_colored_purple" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/purpur_block.json b/desktopRuntime/resources/assets/minecraft/models/block/purpur_block.json new file mode 100644 index 0000000..1ac4652 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/purpur_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/purpur_block" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/purpur_inner_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/purpur_inner_stairs.json new file mode 100644 index 0000000..5ea5de2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/purpur_inner_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/inner_stairs", + "textures": { + "bottom": "blocks/purpur_block", + "top": "blocks/purpur_block", + "side": "blocks/purpur_block" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/purpur_outer_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/purpur_outer_stairs.json new file mode 100644 index 0000000..05431ef --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/purpur_outer_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/outer_stairs", + "textures": { + "bottom": "blocks/purpur_block", + "top": "blocks/purpur_block", + "side": "blocks/purpur_block" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/purpur_pillar_top.json b/desktopRuntime/resources/assets/minecraft/models/block/purpur_pillar_top.json new file mode 100644 index 0000000..4f02e8f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/purpur_pillar_top.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "blocks/purpur_pillar_top", + "side": "blocks/purpur_pillar" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/purpur_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/purpur_stairs.json new file mode 100644 index 0000000..5bd3a01 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/purpur_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/stairs", + "textures": { + "bottom": "blocks/purpur_block", + "top": "blocks/purpur_block", + "side": "blocks/purpur_block" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/quartz_chiseled.json b/desktopRuntime/resources/assets/minecraft/models/block/quartz_chiseled.json new file mode 100644 index 0000000..25819d7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/quartz_chiseled.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "side": "blocks/quartz_block_chiseled", + "end": "blocks/quartz_block_chiseled_top" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/quartz_inner_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/quartz_inner_stairs.json new file mode 100644 index 0000000..5b6903a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/quartz_inner_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/inner_stairs", + "textures": { + "bottom": "blocks/quartz_block_bottom", + "top": "blocks/quartz_block_top", + "side": "blocks/quartz_block_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/quartz_lines.json b/desktopRuntime/resources/assets/minecraft/models/block/quartz_lines.json new file mode 100644 index 0000000..fa2de86 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/quartz_lines.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "blocks/quartz_block_lines_top", + "side": "blocks/quartz_block_lines" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/quartz_normal.json b/desktopRuntime/resources/assets/minecraft/models/block/quartz_normal.json new file mode 100644 index 0000000..de04c92 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/quartz_normal.json @@ -0,0 +1,8 @@ +{ + "parent": "block/cube_bottom_top", + "textures": { + "bottom": "blocks/quartz_block_bottom", + "top": "blocks/quartz_block_top", + "side": "blocks/quartz_block_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/quartz_ore.json b/desktopRuntime/resources/assets/minecraft/models/block/quartz_ore.json new file mode 100644 index 0000000..b9c850b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/quartz_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/quartz_ore" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/quartz_outer_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/quartz_outer_stairs.json new file mode 100644 index 0000000..975ae92 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/quartz_outer_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/outer_stairs", + "textures": { + "bottom": "blocks/quartz_block_bottom", + "top": "blocks/quartz_block_top", + "side": "blocks/quartz_block_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/quartz_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/quartz_stairs.json new file mode 100644 index 0000000..448e4d5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/quartz_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/stairs", + "textures": { + "bottom": "blocks/quartz_block_bottom", + "top": "blocks/quartz_block_top", + "side": "blocks/quartz_block_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/quartz_top.json b/desktopRuntime/resources/assets/minecraft/models/block/quartz_top.json new file mode 100644 index 0000000..e5ddc31 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/quartz_top.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/quartz_block_top" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/rail_curved.json b/desktopRuntime/resources/assets/minecraft/models/block/rail_curved.json new file mode 100644 index 0000000..299a44b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/rail_curved.json @@ -0,0 +1,15 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#rail" + }, + "elements": [ + { "from": [ 0, 1, 0 ], + "to": [ 16, 1, 16 ], + "faces": { + "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#rail" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#rail" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/rail_flat.json b/desktopRuntime/resources/assets/minecraft/models/block/rail_flat.json new file mode 100644 index 0000000..299a44b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/rail_flat.json @@ -0,0 +1,15 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#rail" + }, + "elements": [ + { "from": [ 0, 1, 0 ], + "to": [ 16, 1, 16 ], + "faces": { + "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#rail" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#rail" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/rail_raised_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/rail_raised_ne.json new file mode 100644 index 0000000..a92e460 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/rail_raised_ne.json @@ -0,0 +1,21 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#rail" + }, + "elements": [ + { "from": [ 0, 9, 0 ], + "to": [ 16, 9, 16 ], + "rotation": { + "origin": [ 8, 9, 8 ], + "axis": "x", + "angle": 45, + "rescale": true + }, + "faces": { + "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#rail" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#rail" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/rail_raised_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/rail_raised_sw.json new file mode 100644 index 0000000..dddc356 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/rail_raised_sw.json @@ -0,0 +1,21 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#rail" + }, + "elements": [ + { "from": [ 0, 9, 0 ], + "to": [ 16, 9, 16 ], + "rotation": { + "origin": [ 8, 9, 8 ], + "axis": "x", + "angle": -45, + "rescale": true + }, + "faces": { + "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#rail" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#rail" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom.json b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom.json new file mode 100644 index 0000000..53a7ab1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/mushroom_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_c.json b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_c.json new file mode 100644 index 0000000..8d5dbc5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_c.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "blocks/mushroom_block_inside", + "down": "blocks/mushroom_block_inside", + "up": "blocks/mushroom_block_skin_red", + "north": "blocks/mushroom_block_inside", + "east": "blocks/mushroom_block_inside", + "south": "blocks/mushroom_block_inside", + "west": "blocks/mushroom_block_inside" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_cap_all.json b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_cap_all.json new file mode 100644 index 0000000..63e222b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_cap_all.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/mushroom_block_skin_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_e.json b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_e.json new file mode 100644 index 0000000..e81f611 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_e.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "blocks/mushroom_block_inside", + "down": "blocks/mushroom_block_inside", + "up": "blocks/mushroom_block_skin_red", + "north": "blocks/mushroom_block_inside", + "east": "blocks/mushroom_block_skin_red", + "south": "blocks/mushroom_block_inside", + "west": "blocks/mushroom_block_inside" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_inside_all.json b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_inside_all.json new file mode 100644 index 0000000..472dc8a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_inside_all.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/mushroom_block_inside" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_n.json b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_n.json new file mode 100644 index 0000000..57d8a3f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_n.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "blocks/mushroom_block_inside", + "down": "blocks/mushroom_block_inside", + "up": "blocks/mushroom_block_skin_red", + "north": "blocks/mushroom_block_skin_red", + "east": "blocks/mushroom_block_inside", + "south": "blocks/mushroom_block_inside", + "west": "blocks/mushroom_block_inside" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_ne.json new file mode 100644 index 0000000..ea6ad86 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_ne.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "blocks/mushroom_block_inside", + "down": "blocks/mushroom_block_inside", + "up": "blocks/mushroom_block_skin_red", + "north": "blocks/mushroom_block_skin_red", + "east": "blocks/mushroom_block_skin_red", + "south": "blocks/mushroom_block_inside", + "west": "blocks/mushroom_block_inside" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_nw.json b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_nw.json new file mode 100644 index 0000000..84ff71e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_nw.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "blocks/mushroom_block_inside", + "down": "blocks/mushroom_block_inside", + "up": "blocks/mushroom_block_skin_red", + "north": "blocks/mushroom_block_skin_red", + "east": "blocks/mushroom_block_inside", + "south": "blocks/mushroom_block_inside", + "west": "blocks/mushroom_block_skin_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_s.json b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_s.json new file mode 100644 index 0000000..c73f739 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_s.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "blocks/mushroom_block_inside", + "down": "blocks/mushroom_block_inside", + "up": "blocks/mushroom_block_skin_red", + "north": "blocks/mushroom_block_inside", + "east": "blocks/mushroom_block_inside", + "south": "blocks/mushroom_block_skin_red", + "west": "blocks/mushroom_block_inside" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_se.json b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_se.json new file mode 100644 index 0000000..2c151d7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_se.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "blocks/mushroom_block_inside", + "down": "blocks/mushroom_block_inside", + "up": "blocks/mushroom_block_skin_red", + "north": "blocks/mushroom_block_inside", + "east": "blocks/mushroom_block_skin_red", + "south": "blocks/mushroom_block_skin_red", + "west": "blocks/mushroom_block_inside" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_stem.json b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_stem.json new file mode 100644 index 0000000..b839c9a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_stem.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "side": "blocks/mushroom_block_skin_stem", + "end": "blocks/mushroom_block_inside" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_stem_all.json b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_stem_all.json new file mode 100644 index 0000000..73434e4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_stem_all.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/mushroom_block_skin_stem" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_sw.json new file mode 100644 index 0000000..9ee1f30 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_sw.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "blocks/mushroom_block_inside", + "down": "blocks/mushroom_block_inside", + "up": "blocks/mushroom_block_skin_red", + "north": "blocks/mushroom_block_inside", + "east": "blocks/mushroom_block_inside", + "south": "blocks/mushroom_block_skin_red", + "west": "blocks/mushroom_block_skin_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_w.json b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_w.json new file mode 100644 index 0000000..c4aaa2c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_mushroom_block_w.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "blocks/mushroom_block_inside", + "down": "blocks/mushroom_block_inside", + "up": "blocks/mushroom_block_skin_red", + "north": "blocks/mushroom_block_inside", + "east": "blocks/mushroom_block_inside", + "south": "blocks/mushroom_block_inside", + "west": "blocks/mushroom_block_skin_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_pane_n.json b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_n.json new file mode 100644 index 0000000..82b5059 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_n.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_n", + "textures": { + "edge": "blocks/glass_pane_top_red", + "pane": "blocks/glass_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_pane_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_ne.json new file mode 100644 index 0000000..502b7e4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_ne.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ne", + "textures": { + "edge": "blocks/glass_pane_top_red", + "pane": "blocks/glass_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_pane_new.json b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_new.json new file mode 100644 index 0000000..34ab569 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_new.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_new", + "textures": { + "edge": "blocks/glass_pane_top_red", + "pane": "blocks/glass_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_pane_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_ns.json new file mode 100644 index 0000000..0cd670a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_ns.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ns", + "textures": { + "edge": "blocks/glass_pane_top_red", + "pane": "blocks/glass_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_pane_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_nse.json new file mode 100644 index 0000000..901ea34 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_nse.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nse", + "textures": { + "edge": "blocks/glass_pane_top_red", + "pane": "blocks/glass_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_pane_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_nsew.json new file mode 100644 index 0000000..f6f31c0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_nsew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsew", + "textures": { + "edge": "blocks/glass_pane_top_red", + "pane": "blocks/glass_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_pane_nsw.json b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_nsw.json new file mode 100644 index 0000000..0200f39 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_nsw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsw", + "textures": { + "edge": "blocks/glass_pane_top_red", + "pane": "blocks/glass_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_pane_nw.json b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_nw.json new file mode 100644 index 0000000..cef0587 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_nw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nw", + "textures": { + "edge": "blocks/glass_pane_top_red", + "pane": "blocks/glass_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_pane_s.json b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_s.json new file mode 100644 index 0000000..15d3944 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_s.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_s", + "textures": { + "edge": "blocks/glass_pane_top_red", + "pane": "blocks/glass_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_pane_se.json b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_se.json new file mode 100644 index 0000000..0af592c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_se.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_se", + "textures": { + "edge": "blocks/glass_pane_top_red", + "pane": "blocks/glass_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_pane_sew.json b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_sew.json new file mode 100644 index 0000000..f3ef6c2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_sew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sew", + "textures": { + "edge": "blocks/glass_pane_top_red", + "pane": "blocks/glass_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_pane_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_sw.json new file mode 100644 index 0000000..8a55dd6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_pane_sw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sw", + "textures": { + "edge": "blocks/glass_pane_top_red", + "pane": "blocks/glass_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_sand.json b/desktopRuntime/resources/assets/minecraft/models/block/red_sand.json new file mode 100644 index 0000000..7c72d64 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_sand.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/red_sand" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_sandstone_all.json b/desktopRuntime/resources/assets/minecraft/models/block/red_sandstone_all.json new file mode 100644 index 0000000..49631ce --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_sandstone_all.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/red_sandstone_top" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_sandstone_chiseled.json b/desktopRuntime/resources/assets/minecraft/models/block/red_sandstone_chiseled.json new file mode 100644 index 0000000..cf0a1fc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_sandstone_chiseled.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "blocks/red_sandstone_top", + "side": "blocks/red_sandstone_carved" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_sandstone_inner_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/red_sandstone_inner_stairs.json new file mode 100644 index 0000000..11da043 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_sandstone_inner_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/inner_stairs", + "textures": { + "bottom": "blocks/red_sandstone_bottom", + "top": "blocks/red_sandstone_top", + "side": "blocks/red_sandstone_normal" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_sandstone_normal.json b/desktopRuntime/resources/assets/minecraft/models/block/red_sandstone_normal.json new file mode 100644 index 0000000..36e5008 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_sandstone_normal.json @@ -0,0 +1,8 @@ +{ + "parent": "block/cube_bottom_top", + "textures": { + "bottom": "blocks/red_sandstone_bottom", + "top": "blocks/red_sandstone_top", + "side": "blocks/red_sandstone_normal" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_sandstone_outer_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/red_sandstone_outer_stairs.json new file mode 100644 index 0000000..a43de10 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_sandstone_outer_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/outer_stairs", + "textures": { + "bottom": "blocks/red_sandstone_bottom", + "top": "blocks/red_sandstone_top", + "side": "blocks/red_sandstone_normal" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_sandstone_smooth.json b/desktopRuntime/resources/assets/minecraft/models/block/red_sandstone_smooth.json new file mode 100644 index 0000000..2ec015d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_sandstone_smooth.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "blocks/red_sandstone_top", + "side": "blocks/red_sandstone_smooth" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_sandstone_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/red_sandstone_stairs.json new file mode 100644 index 0000000..dcc9496 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_sandstone_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/stairs", + "textures": { + "bottom": "blocks/red_sandstone_bottom", + "top": "blocks/red_sandstone_top", + "side": "blocks/red_sandstone_normal" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_tulip.json b/desktopRuntime/resources/assets/minecraft/models/block/red_tulip.json new file mode 100644 index 0000000..56b41be --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_tulip.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/flower_tulip_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/red_wool.json b/desktopRuntime/resources/assets/minecraft/models/block/red_wool.json new file mode 100644 index 0000000..da67b18 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/red_wool.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/wool_colored_red" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_block.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_block.json new file mode 100644 index 0000000..313e6bd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/redstone_block" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_n.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_n.json new file mode 100644 index 0000000..5e4f139 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_n.json @@ -0,0 +1,26 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_ne.json new file mode 100644 index 0000000..03fe2ea --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_ne.json @@ -0,0 +1,26 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 11 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 11 ], "texture": "#cross", "tintindex": 0 } + } + }, + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 11 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 11 ], "texture": "#crossoverlay" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_none.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_none.json new file mode 100644 index 0000000..57dc7c5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_none.json @@ -0,0 +1,26 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 5, 0.25, 5 ], + "to": [ 11, 0.25, 11 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 5, 11, 11 ], "texture": "#cross", "tintindex": 0 } + } + }, + { "from": [ 5, 0.25, 5 ], + "to": [ 11, 0.25, 11 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 5, 11, 11 ], "texture": "#crossoverlay" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_nse.json new file mode 100644 index 0000000..6bc7eda --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_nse.json @@ -0,0 +1,26 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 16 ], "texture": "#cross", "tintindex": 0 } + } + }, + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 16 ], "texture": "#crossoverlay" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_nsew.json new file mode 100644 index 0000000..453e4df --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_nsew.json @@ -0,0 +1,26 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross", "tintindex": 0 } + } + }, + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#crossoverlay" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_nsue.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_nsue.json new file mode 100644 index 0000000..2dd5d01 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_nsue.json @@ -0,0 +1,40 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 16 ], "texture": "#cross", "tintindex": 0 } + } + }, + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 16 ], "texture": "#crossoverlay" } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 270, "tintindex": 0 } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 270 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_nue.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_nue.json new file mode 100644 index 0000000..fc5c15e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_nue.json @@ -0,0 +1,40 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 11 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 11 ], "texture": "#cross", "tintindex": 0 } + } + }, + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 11 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 11 ], "texture": "#crossoverlay" } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 270, "tintindex": 0 } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 270 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_nuse.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_nuse.json new file mode 100644 index 0000000..ee9f443 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_nuse.json @@ -0,0 +1,40 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 16 ], "texture": "#cross", "tintindex": 0 } + } + }, + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 16 ], "texture": "#crossoverlay" } + } + }, + { "from": [ 0, 0, 15.75 ], + "to": [ 16, 16, 15.75 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0, 15.75 ], + "to": [ 16, 16, 15.75 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_nusue.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_nusue.json new file mode 100644 index 0000000..ae01264 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_nusue.json @@ -0,0 +1,54 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 16 ], "texture": "#cross", "tintindex": 0 } + } + }, + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 16 ], "texture": "#crossoverlay" } + } + }, + { "from": [ 0, 0, 15.75 ], + "to": [ 16, 16, 15.75 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0, 15.75 ], + "to": [ 16, 16, 15.75 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_ore.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_ore.json new file mode 100644 index 0000000..8285da6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/redstone_ore" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_ueuw.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_ueuw.json new file mode 100644 index 0000000..409d4dc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_ueuw.json @@ -0,0 +1,54 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "tintindex": 0 } + } + }, + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay" } + } + }, + { "from": [ 0.25, 0, 0 ], + "to": [ 0.25, 16, 16 ], + "shade": false, + "faces": { + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0.25, 0, 0 ], + "to": [ 0.25, 16, 16 ], + "shade": false, + "faces": { + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_uew.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_uew.json new file mode 100644 index 0000000..4f142fa --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_uew.json @@ -0,0 +1,40 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "tintindex": 0 } + } + }, + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay" } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_une.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_une.json new file mode 100644 index 0000000..9822d82 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_une.json @@ -0,0 +1,40 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 11 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 11 ], "texture": "#cross", "tintindex": 0 } + } + }, + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 11 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 11 ], "texture": "#crossoverlay" } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_uns.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_uns.json new file mode 100644 index 0000000..e2a9e56 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_uns.json @@ -0,0 +1,40 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_unse.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unse.json new file mode 100644 index 0000000..188da39 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unse.json @@ -0,0 +1,40 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 16 ], "texture": "#cross", "tintindex": 0 } + } + }, + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 16 ], "texture": "#crossoverlay" } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_unsew.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unsew.json new file mode 100644 index 0000000..83d96c9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unsew.json @@ -0,0 +1,40 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross", "tintindex": 0 } + } + }, + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#crossoverlay" } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_unsue.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unsue.json new file mode 100644 index 0000000..afceb39 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unsue.json @@ -0,0 +1,54 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 16 ], "texture": "#cross", "tintindex": 0 } + } + }, + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 16 ], "texture": "#crossoverlay" } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_unsuew.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unsuew.json new file mode 100644 index 0000000..5c694c3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unsuew.json @@ -0,0 +1,54 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross", "tintindex": 0 } + } + }, + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#crossoverlay" } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_unue.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unue.json new file mode 100644 index 0000000..835303d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unue.json @@ -0,0 +1,54 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 11 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 11 ], "texture": "#cross", "tintindex": 0 } + } + }, + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 11 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 11 ], "texture": "#crossoverlay" } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_unus.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unus.json new file mode 100644 index 0000000..25c8897 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unus.json @@ -0,0 +1,54 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + }, + { "from": [ 0, 0, 15.75 ], + "to": [ 16, 16, 15.75 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0, 15.75 ], + "to": [ 16, 16, 15.75 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_unuse.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unuse.json new file mode 100644 index 0000000..5e0d29a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unuse.json @@ -0,0 +1,54 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 16 ], "texture": "#cross", "tintindex": 0 } + } + }, + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 16 ], "texture": "#crossoverlay" } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + }, + { "from": [ 0, 0, 15.75 ], + "to": [ 16, 16, 15.75 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0, 15.75 ], + "to": [ 16, 16, 15.75 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_unusew.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unusew.json new file mode 100644 index 0000000..eff9b65 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unusew.json @@ -0,0 +1,54 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross", "tintindex": 0 } + } + }, + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#crossoverlay" } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + }, + { "from": [ 0, 0, 15.75 ], + "to": [ 16, 16, 15.75 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0, 15.75 ], + "to": [ 16, 16, 15.75 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_unusue.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unusue.json new file mode 100644 index 0000000..1eca773 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unusue.json @@ -0,0 +1,68 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 16 ], "texture": "#cross", "tintindex": 0 } + } + }, + { "from": [ 5, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 5, 0, 16, 16 ], "texture": "#crossoverlay" } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + }, + { "from": [ 0, 0, 15.75 ], + "to": [ 16, 16, 15.75 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0, 15.75 ], + "to": [ 16, 16, 15.75 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_unusueuw.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unusueuw.json new file mode 100644 index 0000000..76c9767 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unusueuw.json @@ -0,0 +1,82 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross", "tintindex": 0 } + } + }, + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#crossoverlay" } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + }, + { "from": [ 0, 0, 15.75 ], + "to": [ 16, 16, 15.75 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0, 15.75 ], + "to": [ 16, 16, 15.75 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + }, + { "from": [ 0.25, 0, 0 ], + "to": [ 0.25, 16, 16 ], + "shade": false, + "faces": { + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0.25, 0, 0 ], + "to": [ 0.25, 16, 16 ], + "shade": false, + "faces": { + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/redstone_unusuew.json b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unusuew.json new file mode 100644 index 0000000..530af4b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/redstone_unusuew.json @@ -0,0 +1,68 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/redstone_dust_cross", + "cross": "blocks/redstone_dust_cross", + "crossoverlay": "blocks/redstone_dust_cross_overlay", + "line": "blocks/redstone_dust_line", + "lineoverlay": "blocks/redstone_dust_line_overlay" + }, + "elements": [ + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross", "tintindex": 0 } + } + }, + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#crossoverlay" } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0, 0.25 ], + "to": [ 16, 16, 0.25 ], + "shade": false, + "faces": { + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + }, + { "from": [ 0, 0, 15.75 ], + "to": [ 16, 16, 15.75 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 0, 0, 15.75 ], + "to": [ 16, 16, 15.75 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#line", "rotation": 90, "tintindex": 0 } + } + }, + { "from": [ 15.75, 0, 0 ], + "to": [ 15.75, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#lineoverlay", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/reeds.json b/desktopRuntime/resources/assets/minecraft/models/block/reeds.json new file mode 100644 index 0000000..ac5a38d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/reeds.json @@ -0,0 +1,6 @@ +{ + "parent": "block/tallgrass", + "textures": { + "cross": "blocks/reeds" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/repeater_1tick.json b/desktopRuntime/resources/assets/minecraft/models/block/repeater_1tick.json new file mode 100644 index 0000000..d49a67b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/repeater_1tick.json @@ -0,0 +1,44 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/repeater_off", + "slab": "blocks/stone_slab_top", + "top": "blocks/repeater_off", + "unlit": "blocks/redstone_torch_off" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#slab", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "north" }, + "south": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "south" }, + "west": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "west" }, + "east": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "east" } + } + }, + { "from": [ 7, 2, 6 ], + "to": [ 9, 7, 8 ], + "faces": { + "down": { "uv": [ 7, 13, 9, 15 ], "texture": "#unlit" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "north": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "south": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "west": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "east": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" } + } + }, + { "from": [ 7, 2, 2 ], + "to": [ 9, 7, 4 ], + "faces": { + "down": { "uv": [ 7, 13, 9, 15 ], "texture": "#unlit" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "north": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "south": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "west": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "east": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/repeater_2tick.json b/desktopRuntime/resources/assets/minecraft/models/block/repeater_2tick.json new file mode 100644 index 0000000..98c94ef --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/repeater_2tick.json @@ -0,0 +1,44 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/repeater_off", + "slab": "blocks/stone_slab_top", + "top": "blocks/repeater_off", + "unlit": "blocks/redstone_torch_off" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#slab", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "north" }, + "south": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "south" }, + "west": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "west" }, + "east": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "east" } + } + }, + { "from": [ 7, 2, 8 ], + "to": [ 9, 7, 10 ], + "faces": { + "down": { "uv": [ 7, 13, 9, 15 ], "texture": "#unlit" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "north": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "south": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "west": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "east": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" } + } + }, + { "from": [ 7, 2, 2 ], + "to": [ 9, 7, 4 ], + "faces": { + "down": { "uv": [ 7, 13, 9, 15 ], "texture": "#unlit" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "north": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "south": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "west": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "east": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/repeater_3tick.json b/desktopRuntime/resources/assets/minecraft/models/block/repeater_3tick.json new file mode 100644 index 0000000..3a3a11f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/repeater_3tick.json @@ -0,0 +1,44 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/repeater_off", + "slab": "blocks/stone_slab_top", + "top": "blocks/repeater_off", + "unlit": "blocks/redstone_torch_off" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#slab", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "north" }, + "south": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "south" }, + "west": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "west" }, + "east": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "east" } + } + }, + { "from": [ 7, 2, 10 ], + "to": [ 9, 7, 12 ], + "faces": { + "down": { "uv": [ 7, 13, 9, 15 ], "texture": "#unlit" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "north": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "south": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "west": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "east": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" } + } + }, + { "from": [ 7, 2, 2 ], + "to": [ 9, 7, 4 ], + "faces": { + "down": { "uv": [ 7, 13, 9, 15 ], "texture": "#unlit" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "north": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "south": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "west": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "east": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/repeater_4tick.json b/desktopRuntime/resources/assets/minecraft/models/block/repeater_4tick.json new file mode 100644 index 0000000..cbcf0b6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/repeater_4tick.json @@ -0,0 +1,44 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/repeater_off", + "slab": "blocks/stone_slab_top", + "top": "blocks/repeater_off", + "unlit": "blocks/redstone_torch_off" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#slab", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "north" }, + "south": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "south" }, + "west": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "west" }, + "east": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "east" } + } + }, + { "from": [ 7, 2, 12 ], + "to": [ 9, 7, 14 ], + "faces": { + "down": { "uv": [ 7, 13, 9, 15 ], "texture": "#unlit" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "north": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "south": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "west": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "east": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" } + } + }, + { "from": [ 7, 2, 2 ], + "to": [ 9, 7, 4 ], + "faces": { + "down": { "uv": [ 7, 13, 9, 15 ], "texture": "#unlit" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "north": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "south": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "west": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "east": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/repeater_locked_1tick.json b/desktopRuntime/resources/assets/minecraft/models/block/repeater_locked_1tick.json new file mode 100644 index 0000000..e62956f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/repeater_locked_1tick.json @@ -0,0 +1,45 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/repeater_off", + "slab": "blocks/stone_slab_top", + "top": "blocks/repeater_off", + "lock": "blocks/bedrock", + "unlit": "blocks/redstone_torch_off" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#slab", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "north" }, + "south": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "south" }, + "west": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "west" }, + "east": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "east" } + } + }, + { "from": [ 2, 2, 6 ], + "to": [ 14, 4, 8 ], + "faces": { + "down": { "uv": [ 7, 2, 9, 14 ], "texture": "#lock", "rotation": 90 }, + "up": { "uv": [ 7, 2, 9, 14 ], "texture": "#lock", "rotation": 90 }, + "north": { "uv": [ 2, 7, 14, 9 ], "texture": "#lock" }, + "south": { "uv": [ 2, 7, 14, 9 ], "texture": "#lock" }, + "west": { "uv": [ 6, 7, 8, 9 ], "texture": "#lock" }, + "east": { "uv": [ 6, 7, 8, 9 ], "texture": "#lock" } + } + }, + { "from": [ 7, 2, 2 ], + "to": [ 9, 7, 4 ], + "faces": { + "down": { "uv": [ 7, 13, 9, 15 ], "texture": "#unlit" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "north": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "south": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "west": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "east": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/repeater_locked_2tick.json b/desktopRuntime/resources/assets/minecraft/models/block/repeater_locked_2tick.json new file mode 100644 index 0000000..f9a1455 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/repeater_locked_2tick.json @@ -0,0 +1,45 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/repeater_off", + "slab": "blocks/stone_slab_top", + "top": "blocks/repeater_off", + "lock": "blocks/bedrock", + "unlit": "blocks/redstone_torch_off" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#slab", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "north" }, + "south": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "south" }, + "west": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "west" }, + "east": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "east" } + } + }, + { "from": [ 2, 2, 8 ], + "to": [ 14, 4, 10 ], + "faces": { + "down": { "uv": [ 7, 2, 9, 14 ], "texture": "#lock", "rotation": 90 }, + "up": { "uv": [ 7, 2, 9, 14 ], "texture": "#lock", "rotation": 90 }, + "north": { "uv": [ 2, 7, 14, 9 ], "texture": "#lock" }, + "south": { "uv": [ 2, 7, 14, 9 ], "texture": "#lock" }, + "west": { "uv": [ 6, 7, 8, 9 ], "texture": "#lock" }, + "east": { "uv": [ 6, 7, 8, 9 ], "texture": "#lock" } + } + }, + { "from": [ 7, 2, 2 ], + "to": [ 9, 7, 4 ], + "faces": { + "down": { "uv": [ 7, 13, 9, 15 ], "texture": "#unlit" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "north": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "south": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "west": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "east": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/repeater_locked_3tick.json b/desktopRuntime/resources/assets/minecraft/models/block/repeater_locked_3tick.json new file mode 100644 index 0000000..ff850a6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/repeater_locked_3tick.json @@ -0,0 +1,45 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/repeater_off", + "slab": "blocks/stone_slab_top", + "top": "blocks/repeater_off", + "lock": "blocks/bedrock", + "unlit": "blocks/redstone_torch_off" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#slab", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "north" }, + "south": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "south" }, + "west": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "west" }, + "east": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "east" } + } + }, + { "from": [ 2, 2, 10 ], + "to": [ 14, 4, 12 ], + "faces": { + "down": { "uv": [ 7, 2, 9, 14 ], "texture": "#lock", "rotation": 90 }, + "up": { "uv": [ 7, 2, 9, 14 ], "texture": "#lock", "rotation": 90 }, + "north": { "uv": [ 2, 7, 14, 9 ], "texture": "#lock" }, + "south": { "uv": [ 2, 7, 14, 9 ], "texture": "#lock" }, + "west": { "uv": [ 6, 7, 8, 9 ], "texture": "#lock" }, + "east": { "uv": [ 6, 7, 8, 9 ], "texture": "#lock" } + } + }, + { "from": [ 7, 2, 2 ], + "to": [ 9, 7, 4 ], + "faces": { + "down": { "uv": [ 7, 13, 9, 15 ], "texture": "#unlit" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "north": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "south": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "west": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "east": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/repeater_locked_4tick.json b/desktopRuntime/resources/assets/minecraft/models/block/repeater_locked_4tick.json new file mode 100644 index 0000000..d0ed026 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/repeater_locked_4tick.json @@ -0,0 +1,45 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/repeater_off", + "slab": "blocks/stone_slab_top", + "top": "blocks/repeater_off", + "lock": "blocks/bedrock", + "unlit": "blocks/redstone_torch_off" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#slab", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "north" }, + "south": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "south" }, + "west": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "west" }, + "east": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "east" } + } + }, + { "from": [ 2, 2, 12 ], + "to": [ 14, 4, 14 ], + "faces": { + "down": { "uv": [ 7, 2, 9, 14 ], "texture": "#lock", "rotation": 90 }, + "up": { "uv": [ 7, 2, 9, 14 ], "texture": "#lock", "rotation": 90 }, + "north": { "uv": [ 2, 7, 14, 9 ], "texture": "#lock" }, + "south": { "uv": [ 2, 7, 14, 9 ], "texture": "#lock" }, + "west": { "uv": [ 6, 7, 8, 9 ], "texture": "#lock" }, + "east": { "uv": [ 6, 7, 8, 9 ], "texture": "#lock" } + } + }, + { "from": [ 7, 2, 2 ], + "to": [ 9, 7, 4 ], + "faces": { + "down": { "uv": [ 7, 13, 9, 15 ], "texture": "#unlit" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#unlit" }, + "north": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "south": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "west": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" }, + "east": { "uv": [ 7, 6, 9, 11 ], "texture": "#unlit" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_1tick.json b/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_1tick.json new file mode 100644 index 0000000..8034f6d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_1tick.json @@ -0,0 +1,62 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/repeater_on", + "slab": "blocks/stone_slab_top", + "top": "blocks/repeater_on", + "lit": "blocks/redstone_torch_on" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#slab", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "north" }, + "south": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "south" }, + "west": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "west" }, + "east": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "east" } + } + }, + { "from": [ 7, 7, 6 ], + "to": [ 9, 7, 8 ], + "faces": { + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lit" } + } + }, + { "from": [ 7, 2, 5 ], + "to": [ 9, 8, 9 ], + "faces": { + "west": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "east": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 6, 2, 6 ], + "to": [ 10, 8, 8 ], + "faces": { + "north": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "south": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 7, 7, 2 ], + "to": [ 9, 7, 4 ], + "faces": { + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lit" } + } + }, + { "from": [ 7, 2, 1 ], + "to": [ 9, 8, 5 ], + "faces": { + "west": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "east": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 6, 2, 2 ], + "to": [ 10, 8, 4 ], + "faces": { + "north": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "south": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_2tick.json b/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_2tick.json new file mode 100644 index 0000000..4a077fa --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_2tick.json @@ -0,0 +1,62 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/repeater_on", + "slab": "blocks/stone_slab_top", + "top": "blocks/repeater_on", + "lit": "blocks/redstone_torch_on" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#slab", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "north" }, + "south": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "south" }, + "west": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "west" }, + "east": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "east" } + } + }, + { "from": [ 7, 7, 8 ], + "to": [ 9, 7, 10 ], + "faces": { + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lit" } + } + }, + { "from": [ 7, 2, 7 ], + "to": [ 9, 8, 11 ], + "faces": { + "west": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "east": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 6, 2, 8 ], + "to": [ 10, 8, 10 ], + "faces": { + "north": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "south": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 7, 7, 2 ], + "to": [ 9, 7, 4 ], + "faces": { + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lit" } + } + }, + { "from": [ 7, 2, 1 ], + "to": [ 9, 8, 5 ], + "faces": { + "west": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "east": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 6, 2, 2 ], + "to": [ 10, 8, 4 ], + "faces": { + "north": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "south": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_3tick.json b/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_3tick.json new file mode 100644 index 0000000..75edf5f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_3tick.json @@ -0,0 +1,62 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/repeater_on", + "slab": "blocks/stone_slab_top", + "top": "blocks/repeater_on", + "lit": "blocks/redstone_torch_on" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#slab", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "north" }, + "south": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "south" }, + "west": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "west" }, + "east": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "east" } + } + }, + { "from": [ 7, 7, 10 ], + "to": [ 9, 7, 12 ], + "faces": { + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lit" } + } + }, + { "from": [ 7, 2, 9 ], + "to": [ 9, 8, 13 ], + "faces": { + "west": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "east": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 6, 2, 10 ], + "to": [ 10, 8, 12 ], + "faces": { + "north": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "south": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 7, 7, 2 ], + "to": [ 9, 7, 4 ], + "faces": { + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lit" } + } + }, + { "from": [ 7, 2, 1 ], + "to": [ 9, 8, 5 ], + "faces": { + "west": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "east": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 6, 2, 2 ], + "to": [ 10, 8, 4 ], + "faces": { + "north": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "south": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_4tick.json b/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_4tick.json new file mode 100644 index 0000000..f67ff94 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_4tick.json @@ -0,0 +1,62 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/repeater_on", + "slab": "blocks/stone_slab_top", + "top": "blocks/repeater_on", + "lit": "blocks/redstone_torch_on" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#slab", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "north" }, + "south": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "south" }, + "west": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "west" }, + "east": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "east" } + } + }, + { "from": [ 7, 7, 12 ], + "to": [ 9, 7, 14 ], + "faces": { + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lit" } + } + }, + { "from": [ 7, 2, 11 ], + "to": [ 9, 8, 15 ], + "faces": { + "west": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "east": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 6, 2, 12 ], + "to": [ 10, 8, 14 ], + "faces": { + "north": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "south": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 7, 7, 2 ], + "to": [ 9, 7, 4 ], + "faces": { + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lit" } + } + }, + { "from": [ 7, 2, 1 ], + "to": [ 9, 8, 5 ], + "faces": { + "west": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "east": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 6, 2, 2 ], + "to": [ 10, 8, 4 ], + "faces": { + "north": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "south": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_locked_1tick.json b/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_locked_1tick.json new file mode 100644 index 0000000..8e01a79 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_locked_1tick.json @@ -0,0 +1,54 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/repeater_on", + "slab": "blocks/stone_slab_top", + "top": "blocks/repeater_on", + "lit": "blocks/redstone_torch_on", + "lock": "blocks/bedrock" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#slab", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "north" }, + "south": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "south" }, + "west": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "west" }, + "east": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "east" } + } + }, + { "from": [ 2, 2, 6 ], + "to": [ 14, 4, 8 ], + "faces": { + "down": { "uv": [ 7, 2, 9, 14 ], "texture": "#lock", "rotation": 90 }, + "up": { "uv": [ 7, 2, 9, 14 ], "texture": "#lock", "rotation": 90 }, + "north": { "uv": [ 2, 7, 14, 9 ], "texture": "#lock" }, + "south": { "uv": [ 2, 7, 14, 9 ], "texture": "#lock" }, + "west": { "uv": [ 6, 7, 8, 9 ], "texture": "#lock" }, + "east": { "uv": [ 6, 7, 8, 9 ], "texture": "#lock" } + } + }, + { "from": [ 7, 7, 2 ], + "to": [ 9, 7, 4 ], + "faces": { + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lit" } + } + }, + { "from": [ 7, 2, 1 ], + "to": [ 9, 8, 5 ], + "faces": { + "west": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "east": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 6, 2, 2 ], + "to": [ 10, 8, 4 ], + "faces": { + "north": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "south": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_locked_2tick.json b/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_locked_2tick.json new file mode 100644 index 0000000..31556f3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_locked_2tick.json @@ -0,0 +1,54 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/repeater_on", + "slab": "blocks/stone_slab_top", + "top": "blocks/repeater_on", + "lit": "blocks/redstone_torch_on", + "lock": "blocks/bedrock" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#slab", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "north" }, + "south": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "south" }, + "west": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "west" }, + "east": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "east" } + } + }, + { "from": [ 2, 2, 8 ], + "to": [ 14, 4, 10 ], + "faces": { + "down": { "uv": [ 7, 2, 9, 14 ], "texture": "#lock", "rotation": 90 }, + "up": { "uv": [ 7, 2, 9, 14 ], "texture": "#lock", "rotation": 90 }, + "north": { "uv": [ 2, 7, 14, 9 ], "texture": "#lock" }, + "south": { "uv": [ 2, 7, 14, 9 ], "texture": "#lock" }, + "west": { "uv": [ 6, 7, 8, 9 ], "texture": "#lock" }, + "east": { "uv": [ 6, 7, 8, 9 ], "texture": "#lock" } + } + }, + { "from": [ 7, 7, 2 ], + "to": [ 9, 7, 4 ], + "faces": { + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lit" } + } + }, + { "from": [ 7, 2, 1 ], + "to": [ 9, 8, 5 ], + "faces": { + "west": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "east": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 6, 2, 2 ], + "to": [ 10, 8, 4 ], + "faces": { + "north": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "south": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_locked_3tick.json b/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_locked_3tick.json new file mode 100644 index 0000000..b8352e5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_locked_3tick.json @@ -0,0 +1,54 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/repeater_on", + "slab": "blocks/stone_slab_top", + "top": "blocks/repeater_on", + "lit": "blocks/redstone_torch_on", + "lock": "blocks/bedrock" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#slab", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "north" }, + "south": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "south" }, + "west": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "west" }, + "east": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "east" } + } + }, + { "from": [ 2, 2, 10 ], + "to": [ 14, 4, 12 ], + "faces": { + "down": { "uv": [ 7, 2, 9, 14 ], "texture": "#lock", "rotation": 90 }, + "up": { "uv": [ 7, 2, 9, 14 ], "texture": "#lock", "rotation": 90 }, + "north": { "uv": [ 2, 7, 14, 9 ], "texture": "#lock" }, + "south": { "uv": [ 2, 7, 14, 9 ], "texture": "#lock" }, + "west": { "uv": [ 6, 7, 8, 9 ], "texture": "#lock" }, + "east": { "uv": [ 6, 7, 8, 9 ], "texture": "#lock" } + } + }, + { "from": [ 7, 7, 2 ], + "to": [ 9, 7, 4 ], + "faces": { + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lit" } + } + }, + { "from": [ 7, 2, 1 ], + "to": [ 9, 8, 5 ], + "faces": { + "west": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "east": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 6, 2, 2 ], + "to": [ 10, 8, 4 ], + "faces": { + "north": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "south": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_locked_4tick.json b/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_locked_4tick.json new file mode 100644 index 0000000..f7664ee --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/repeater_on_locked_4tick.json @@ -0,0 +1,54 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/repeater_on", + "slab": "blocks/stone_slab_top", + "top": "blocks/repeater_on", + "lit": "blocks/redstone_torch_on", + "lock": "blocks/bedrock" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#slab", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "north" }, + "south": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "south" }, + "west": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "west" }, + "east": { "uv": [ 0, 14, 16, 16 ], "texture": "#slab", "cullface": "east" } + } + }, + { "from": [ 2, 2, 12 ], + "to": [ 14, 4, 14 ], + "faces": { + "down": { "uv": [ 7, 2, 9, 14 ], "texture": "#lock", "rotation": 90 }, + "up": { "uv": [ 7, 2, 9, 14 ], "texture": "#lock", "rotation": 90 }, + "north": { "uv": [ 2, 7, 14, 9 ], "texture": "#lock" }, + "south": { "uv": [ 2, 7, 14, 9 ], "texture": "#lock" }, + "west": { "uv": [ 6, 7, 8, 9 ], "texture": "#lock" }, + "east": { "uv": [ 6, 7, 8, 9 ], "texture": "#lock" } + } + }, + { "from": [ 7, 7, 2 ], + "to": [ 9, 7, 4 ], + "faces": { + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lit" } + } + }, + { "from": [ 7, 2, 1 ], + "to": [ 9, 8, 5 ], + "faces": { + "west": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "east": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + }, + { "from": [ 6, 2, 2 ], + "to": [ 10, 8, 4 ], + "faces": { + "north": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" }, + "south": { "uv": [ 6, 5, 10, 11 ], "texture": "#lit" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/repeating_command_block.json b/desktopRuntime/resources/assets/minecraft/models/block/repeating_command_block.json new file mode 100644 index 0000000..5ea677e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/repeating_command_block.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube_directional", + "textures": { + "particle": "blocks/repeating_command_block_back", + "down": "blocks/repeating_command_block_side", + "up": "blocks/repeating_command_block_side", + "north": "blocks/repeating_command_block_front", + "east": "blocks/repeating_command_block_side", + "south": "blocks/repeating_command_block_back", + "west": "blocks/repeating_command_block_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/repeating_command_block_conditional.json b/desktopRuntime/resources/assets/minecraft/models/block/repeating_command_block_conditional.json new file mode 100644 index 0000000..4d1f6dd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/repeating_command_block_conditional.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube_directional", + "textures": { + "particle": "blocks/repeating_command_block_back", + "down": "blocks/repeating_command_block_conditional", + "up": "blocks/repeating_command_block_conditional", + "north": "blocks/repeating_command_block_front", + "east": "blocks/repeating_command_block_conditional", + "south": "blocks/repeating_command_block_back", + "west": "blocks/repeating_command_block_conditional" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/sand.json b/desktopRuntime/resources/assets/minecraft/models/block/sand.json new file mode 100644 index 0000000..96c7982 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/sand.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/sand" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/sandstone_all.json b/desktopRuntime/resources/assets/minecraft/models/block/sandstone_all.json new file mode 100644 index 0000000..834be32 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/sandstone_all.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/sandstone_top" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/sandstone_chiseled.json b/desktopRuntime/resources/assets/minecraft/models/block/sandstone_chiseled.json new file mode 100644 index 0000000..a89f4d2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/sandstone_chiseled.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "blocks/sandstone_top", + "side": "blocks/sandstone_carved" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/sandstone_inner_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/sandstone_inner_stairs.json new file mode 100644 index 0000000..9ef52b0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/sandstone_inner_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/inner_stairs", + "textures": { + "bottom": "blocks/sandstone_bottom", + "top": "blocks/sandstone_top", + "side": "blocks/sandstone_normal" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/sandstone_normal.json b/desktopRuntime/resources/assets/minecraft/models/block/sandstone_normal.json new file mode 100644 index 0000000..5651d6f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/sandstone_normal.json @@ -0,0 +1,8 @@ +{ + "parent": "block/cube_bottom_top", + "textures": { + "bottom": "blocks/sandstone_bottom", + "top": "blocks/sandstone_top", + "side": "blocks/sandstone_normal" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/sandstone_outer_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/sandstone_outer_stairs.json new file mode 100644 index 0000000..4a93915 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/sandstone_outer_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/outer_stairs", + "textures": { + "bottom": "blocks/sandstone_bottom", + "top": "blocks/sandstone_top", + "side": "blocks/sandstone_normal" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/sandstone_smooth.json b/desktopRuntime/resources/assets/minecraft/models/block/sandstone_smooth.json new file mode 100644 index 0000000..dace295 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/sandstone_smooth.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "blocks/sandstone_top", + "side": "blocks/sandstone_smooth" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/sandstone_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/sandstone_stairs.json new file mode 100644 index 0000000..b14026a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/sandstone_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/stairs", + "textures": { + "bottom": "blocks/sandstone_bottom", + "top": "blocks/sandstone_top", + "side": "blocks/sandstone_normal" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/sea_lantern.json b/desktopRuntime/resources/assets/minecraft/models/block/sea_lantern.json new file mode 100644 index 0000000..45f8859 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/sea_lantern.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/sea_lantern" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_n.json b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_n.json new file mode 100644 index 0000000..b3016dc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_n.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_n", + "textures": { + "edge": "blocks/glass_pane_top_silver", + "pane": "blocks/glass_silver" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_ne.json new file mode 100644 index 0000000..d5ad644 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_ne.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ne", + "textures": { + "edge": "blocks/glass_pane_top_silver", + "pane": "blocks/glass_silver" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_new.json b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_new.json new file mode 100644 index 0000000..7d62fe5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_new.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_new", + "textures": { + "edge": "blocks/glass_pane_top_silver", + "pane": "blocks/glass_silver" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_ns.json new file mode 100644 index 0000000..fe656df --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_ns.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ns", + "textures": { + "edge": "blocks/glass_pane_top_silver", + "pane": "blocks/glass_silver" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_nse.json new file mode 100644 index 0000000..fb9c6da --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_nse.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nse", + "textures": { + "edge": "blocks/glass_pane_top_silver", + "pane": "blocks/glass_silver" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_nsew.json new file mode 100644 index 0000000..af3b319 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_nsew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsew", + "textures": { + "edge": "blocks/glass_pane_top_silver", + "pane": "blocks/glass_silver" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_nsw.json b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_nsw.json new file mode 100644 index 0000000..5eb1c4b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_nsw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsw", + "textures": { + "edge": "blocks/glass_pane_top_silver", + "pane": "blocks/glass_silver" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_nw.json b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_nw.json new file mode 100644 index 0000000..b09e7ce --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_nw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nw", + "textures": { + "edge": "blocks/glass_pane_top_silver", + "pane": "blocks/glass_silver" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_s.json b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_s.json new file mode 100644 index 0000000..c4dc543 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_s.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_s", + "textures": { + "edge": "blocks/glass_pane_top_silver", + "pane": "blocks/glass_silver" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_se.json b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_se.json new file mode 100644 index 0000000..4414b7f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_se.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_se", + "textures": { + "edge": "blocks/glass_pane_top_silver", + "pane": "blocks/glass_silver" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_sew.json b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_sew.json new file mode 100644 index 0000000..c6e1907 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_sew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sew", + "textures": { + "edge": "blocks/glass_pane_top_silver", + "pane": "blocks/glass_silver" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_sw.json new file mode 100644 index 0000000..f430eff --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/silver_pane_sw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sw", + "textures": { + "edge": "blocks/glass_pane_top_silver", + "pane": "blocks/glass_silver" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/silver_wool.json b/desktopRuntime/resources/assets/minecraft/models/block/silver_wool.json new file mode 100644 index 0000000..04d6d55 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/silver_wool.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/wool_colored_silver" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/slime.json b/desktopRuntime/resources/assets/minecraft/models/block/slime.json new file mode 100644 index 0000000..665f688 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/slime.json @@ -0,0 +1,30 @@ +{ + "textures": { + "particle": "blocks/slime", + "texture": "blocks/slime" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" } + } + }, + { "from": [ 3, 3, 3 ], + "to": [ 13, 13, 13 ], + "faces": { + "down": { "uv": [ 3, 3, 13, 13 ], "texture": "#texture" }, + "up": { "uv": [ 3, 3, 13, 13 ], "texture": "#texture" }, + "north": { "uv": [ 3, 3, 13, 13 ], "texture": "#texture" }, + "south": { "uv": [ 3, 3, 13, 13 ], "texture": "#texture" }, + "west": { "uv": [ 3, 3, 13, 13 ], "texture": "#texture" }, + "east": { "uv": [ 3, 3, 13, 13 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/snow.json b/desktopRuntime/resources/assets/minecraft/models/block/snow.json new file mode 100644 index 0000000..328a45e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/snow.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/snow" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/snow_height10.json b/desktopRuntime/resources/assets/minecraft/models/block/snow_height10.json new file mode 100644 index 0000000..b3fa4ac --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/snow_height10.json @@ -0,0 +1,19 @@ +{ + "textures": { + "particle": "blocks/snow", + "texture": "blocks/snow" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 10, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "north": { "uv": [ 0, 6, 16, 16 ], "texture": "#texture", "cullface": "north" }, + "south": { "uv": [ 0, 6, 16, 16 ], "texture": "#texture", "cullface": "south" }, + "west": { "uv": [ 0, 6, 16, 16 ], "texture": "#texture", "cullface": "west" }, + "east": { "uv": [ 0, 6, 16, 16 ], "texture": "#texture", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/snow_height12.json b/desktopRuntime/resources/assets/minecraft/models/block/snow_height12.json new file mode 100644 index 0000000..3d70635 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/snow_height12.json @@ -0,0 +1,19 @@ +{ + "textures": { + "particle": "blocks/snow", + "texture": "blocks/snow" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 12, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "north": { "uv": [ 0, 4, 16, 16 ], "texture": "#texture", "cullface": "north" }, + "south": { "uv": [ 0, 4, 16, 16 ], "texture": "#texture", "cullface": "south" }, + "west": { "uv": [ 0, 4, 16, 16 ], "texture": "#texture", "cullface": "west" }, + "east": { "uv": [ 0, 4, 16, 16 ], "texture": "#texture", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/snow_height14.json b/desktopRuntime/resources/assets/minecraft/models/block/snow_height14.json new file mode 100644 index 0000000..b25587f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/snow_height14.json @@ -0,0 +1,19 @@ +{ + "textures": { + "particle": "blocks/snow", + "texture": "blocks/snow" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 14, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "north": { "uv": [ 0, 2, 16, 16 ], "texture": "#texture" }, + "south": { "uv": [ 0, 2, 16, 16 ], "texture": "#texture" }, + "west": { "uv": [ 0, 2, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 2, 16, 16 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/snow_height2.json b/desktopRuntime/resources/assets/minecraft/models/block/snow_height2.json new file mode 100644 index 0000000..eed1264 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/snow_height2.json @@ -0,0 +1,19 @@ +{ + "textures": { + "particle": "blocks/snow", + "texture": "blocks/snow" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "north": { "uv": [ 0, 14, 16, 16 ], "texture": "#texture", "cullface": "north" }, + "south": { "uv": [ 0, 14, 16, 16 ], "texture": "#texture", "cullface": "south" }, + "west": { "uv": [ 0, 14, 16, 16 ], "texture": "#texture", "cullface": "west" }, + "east": { "uv": [ 0, 14, 16, 16 ], "texture": "#texture", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/snow_height4.json b/desktopRuntime/resources/assets/minecraft/models/block/snow_height4.json new file mode 100644 index 0000000..350d561 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/snow_height4.json @@ -0,0 +1,19 @@ +{ + "textures": { + "particle": "blocks/snow", + "texture": "blocks/snow" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 4, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "north": { "uv": [ 0, 12, 16, 16 ], "texture": "#texture", "cullface": "north" }, + "south": { "uv": [ 0, 12, 16, 16 ], "texture": "#texture", "cullface": "south" }, + "west": { "uv": [ 0, 12, 16, 16 ], "texture": "#texture", "cullface": "west" }, + "east": { "uv": [ 0, 12, 16, 16 ], "texture": "#texture", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/snow_height6.json b/desktopRuntime/resources/assets/minecraft/models/block/snow_height6.json new file mode 100644 index 0000000..ef3f511 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/snow_height6.json @@ -0,0 +1,19 @@ +{ + "textures": { + "particle": "blocks/snow", + "texture": "blocks/snow" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 6, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "north": { "uv": [ 0, 10, 16, 16 ], "texture": "#texture", "cullface": "north" }, + "south": { "uv": [ 0, 10, 16, 16 ], "texture": "#texture", "cullface": "south" }, + "west": { "uv": [ 0, 10, 16, 16 ], "texture": "#texture", "cullface": "west" }, + "east": { "uv": [ 0, 10, 16, 16 ], "texture": "#texture", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/snow_height8.json b/desktopRuntime/resources/assets/minecraft/models/block/snow_height8.json new file mode 100644 index 0000000..e827362 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/snow_height8.json @@ -0,0 +1,19 @@ +{ + "textures": { + "particle": "blocks/snow", + "texture": "blocks/snow" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 8, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "north": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture", "cullface": "north" }, + "south": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture", "cullface": "south" }, + "west": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture", "cullface": "west" }, + "east": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/soul_sand.json b/desktopRuntime/resources/assets/minecraft/models/block/soul_sand.json new file mode 100644 index 0000000..157c438 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/soul_sand.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/soul_sand" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/sponge.json b/desktopRuntime/resources/assets/minecraft/models/block/sponge.json new file mode 100644 index 0000000..c26f2b5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/sponge.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/sponge" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/sponge_wet.json b/desktopRuntime/resources/assets/minecraft/models/block/sponge_wet.json new file mode 100644 index 0000000..91c4641 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/sponge_wet.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/sponge_wet" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_bark.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_bark.json new file mode 100644 index 0000000..9ce86b6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_bark.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/log_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_door_bottom.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_door_bottom.json new file mode 100644 index 0000000..1b4e50b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_door_bottom.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_bottom", + "textures": { + "bottom": "blocks/door_spruce_lower", + "top": "blocks/door_spruce_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_door_bottom_rh.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_door_bottom_rh.json new file mode 100644 index 0000000..1c1e4a3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_door_bottom_rh.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_bottom_rh", + "textures": { + "bottom": "blocks/door_spruce_lower", + "top": "blocks/door_spruce_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_door_top.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_door_top.json new file mode 100644 index 0000000..fcd396d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_door_top.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_top", + "textures": { + "bottom": "blocks/door_spruce_lower", + "top": "blocks/door_spruce_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_door_top_rh.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_door_top_rh.json new file mode 100644 index 0000000..e386f9a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_door_top_rh.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_top_rh", + "textures": { + "bottom": "blocks/door_spruce_lower", + "top": "blocks/door_spruce_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_gate_closed.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_gate_closed.json new file mode 100644 index 0000000..54eea65 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_gate_closed.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_gate_closed", + "textures": { + "texture": "blocks/planks_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_gate_open.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_gate_open.json new file mode 100644 index 0000000..8f09c6a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_gate_open.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_gate_open", + "textures": { + "texture": "blocks/planks_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_inventory.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_inventory.json new file mode 100644 index 0000000..a778f2e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_inventory", + "textures": { + "texture": "blocks/planks_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_n.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_n.json new file mode 100644 index 0000000..231e79d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_n.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_n", + "textures": { + "texture": "blocks/planks_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_ne.json new file mode 100644 index 0000000..b8bf814 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_ne.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_ne", + "textures": { + "texture": "blocks/planks_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_ns.json new file mode 100644 index 0000000..e2d45ce --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_ns.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_ns", + "textures": { + "texture": "blocks/planks_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_nse.json new file mode 100644 index 0000000..f10415f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_nse.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_nse", + "textures": { + "texture": "blocks/planks_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_nsew.json new file mode 100644 index 0000000..166e558 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_nsew.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_nsew", + "textures": { + "texture": "blocks/planks_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_post.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_post.json new file mode 100644 index 0000000..0830993 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_fence_post.json @@ -0,0 +1,6 @@ +{ + "parent": "block/fence_post", + "textures": { + "texture": "blocks/planks_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_inner_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_inner_stairs.json new file mode 100644 index 0000000..ea0c084 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_inner_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/inner_stairs", + "textures": { + "bottom": "blocks/planks_spruce", + "top": "blocks/planks_spruce", + "side": "blocks/planks_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_leaves.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_leaves.json new file mode 100644 index 0000000..15332cb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_leaves.json @@ -0,0 +1,6 @@ +{ + "parent": "block/leaves", + "textures": { + "all": "blocks/leaves_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_log.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_log.json new file mode 100644 index 0000000..e021f2b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_log.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "blocks/log_spruce_top", + "side": "blocks/log_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_log_side.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_log_side.json new file mode 100644 index 0000000..ad69e4b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_log_side.json @@ -0,0 +1,7 @@ +{ + "parent": "block/column_side", + "textures": { + "end": "blocks/log_spruce_top", + "side": "blocks/log_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_outer_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_outer_stairs.json new file mode 100644 index 0000000..a50338c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_outer_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/outer_stairs", + "textures": { + "bottom": "blocks/planks_spruce", + "top": "blocks/planks_spruce", + "side": "blocks/planks_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_planks.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_planks.json new file mode 100644 index 0000000..f5c9c84 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_planks.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/planks_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_sapling.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_sapling.json new file mode 100644 index 0000000..d2defbf --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_sapling.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/sapling_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_stairs.json new file mode 100644 index 0000000..1781208 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/stairs", + "textures": { + "bottom": "blocks/planks_spruce", + "top": "blocks/planks_spruce", + "side": "blocks/planks_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_wall_gate_closed.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_wall_gate_closed.json new file mode 100644 index 0000000..4f911e3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_wall_gate_closed.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_gate_closed", + "textures": { + "texture": "blocks/planks_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/spruce_wall_gate_open.json b/desktopRuntime/resources/assets/minecraft/models/block/spruce_wall_gate_open.json new file mode 100644 index 0000000..ea94990 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/spruce_wall_gate_open.json @@ -0,0 +1,6 @@ +{ + "parent": "block/wall_gate_open", + "textures": { + "texture": "blocks/planks_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/stairs.json new file mode 100644 index 0000000..c13f02b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stairs.json @@ -0,0 +1,29 @@ +{ + "textures": { + "particle": "#side" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 8, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, + "north": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "east" } + } + }, + { "from": [ 8, 8, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [ 8, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" }, + "up": { "uv": [ 8, 0, 16, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 0, 0, 8, 8 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 8, 0, 16, 8 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 8 ], "texture": "#side" }, + "east": { "uv": [ 0, 0, 16, 8 ], "texture": "#side", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stem_fruit.json b/desktopRuntime/resources/assets/minecraft/models/block/stem_fruit.json new file mode 100644 index 0000000..86d59c6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stem_fruit.json @@ -0,0 +1,31 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#stem" + }, + "elements": [ + { "from": [ 0, -1, 8 ], + "to": [ 16, 7, 8 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "north": { "uv": [ 0, 0, 16, 8 ], "texture": "#stem", "tintindex": 0 }, + "south": { "uv": [ 16, 0, 0, 8 ], "texture": "#stem", "tintindex": 0 } + } + }, + { "from": [ 8, -1, 0 ], + "to": [ 8, 7, 16 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "west": { "uv": [ 0, 0, 16, 8 ], "texture": "#stem", "tintindex": 0 }, + "east": { "uv": [ 16, 0, 0, 8 ], "texture": "#stem", "tintindex": 0 } + } + }, + { "from": [ 0, 0, 8 ], + "to": [ 9, 16, 8 ], + "faces": { + "north": { "uv": [ 9, 0, 0, 16 ], "texture": "#upperstem", "tintindex": 0 }, + "south": { "uv": [ 0, 0, 9, 16 ], "texture": "#upperstem", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stem_growth0.json b/desktopRuntime/resources/assets/minecraft/models/block/stem_growth0.json new file mode 100644 index 0000000..6e97731 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stem_growth0.json @@ -0,0 +1,24 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#stem" + }, + "elements": [ + { "from": [ 0, -1, 8 ], + "to": [ 16, 1, 8 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "north": { "uv": [ 0, 0, 16, 2 ], "texture": "#stem", "tintindex": 0 }, + "south": { "uv": [ 16, 0, 0, 2 ], "texture": "#stem", "tintindex": 0 } + } + }, + { "from": [ 8, -1, 0 ], + "to": [ 8, 1, 16 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "west": { "uv": [ 0, 0, 16, 2 ], "texture": "#stem", "tintindex": 0 }, + "east": { "uv": [ 16, 0, 0, 2 ], "texture": "#stem", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stem_growth1.json b/desktopRuntime/resources/assets/minecraft/models/block/stem_growth1.json new file mode 100644 index 0000000..ea97f75 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stem_growth1.json @@ -0,0 +1,24 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#stem" + }, + "elements": [ + { "from": [ 0, -1, 8 ], + "to": [ 16, 3, 8 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "north": { "uv": [ 0, 0, 16, 4 ], "texture": "#stem", "tintindex": 0 }, + "south": { "uv": [ 16, 0, 0, 4 ], "texture": "#stem", "tintindex": 0 } + } + }, + { "from": [ 8, -1, 0 ], + "to": [ 8, 3, 16 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "west": { "uv": [ 0, 0, 16, 4 ], "texture": "#stem", "tintindex": 0 }, + "east": { "uv": [ 16, 0, 0, 4 ], "texture": "#stem", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stem_growth2.json b/desktopRuntime/resources/assets/minecraft/models/block/stem_growth2.json new file mode 100644 index 0000000..4ab6f4c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stem_growth2.json @@ -0,0 +1,24 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#stem" + }, + "elements": [ + { "from": [ 0, -1, 8 ], + "to": [ 16, 5, 8 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "north": { "uv": [ 0, 0, 16, 6 ], "texture": "#stem", "tintindex": 0 }, + "south": { "uv": [ 16, 0, 0, 6 ], "texture": "#stem", "tintindex": 0 } + } + }, + { "from": [ 8, -1, 0 ], + "to": [ 8, 5, 16 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "west": { "uv": [ 0, 0, 16, 6 ], "texture": "#stem", "tintindex": 0 }, + "east": { "uv": [ 16, 0, 0, 6 ], "texture": "#stem", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stem_growth3.json b/desktopRuntime/resources/assets/minecraft/models/block/stem_growth3.json new file mode 100644 index 0000000..542a820 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stem_growth3.json @@ -0,0 +1,24 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#stem" + }, + "elements": [ + { "from": [ 0, -1, 8 ], + "to": [ 16, 7, 8 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "north": { "uv": [ 0, 0, 16, 8 ], "texture": "#stem", "tintindex": 0 }, + "south": { "uv": [ 16, 0, 0, 8 ], "texture": "#stem", "tintindex": 0 } + } + }, + { "from": [ 8, -1, 0 ], + "to": [ 8, 7, 16 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "west": { "uv": [ 0, 0, 16, 8 ], "texture": "#stem", "tintindex": 0 }, + "east": { "uv": [ 16, 0, 0, 8 ], "texture": "#stem", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stem_growth4.json b/desktopRuntime/resources/assets/minecraft/models/block/stem_growth4.json new file mode 100644 index 0000000..77befce --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stem_growth4.json @@ -0,0 +1,24 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#stem" + }, + "elements": [ + { "from": [ 0, -1, 8 ], + "to": [ 16, 9, 8 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "north": { "uv": [ 0, 0, 16, 10 ], "texture": "#stem", "tintindex": 0 }, + "south": { "uv": [ 16, 0, 0, 10 ], "texture": "#stem", "tintindex": 0 } + } + }, + { "from": [ 8, -1, 0 ], + "to": [ 8, 9, 16 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "west": { "uv": [ 0, 0, 16, 10 ], "texture": "#stem", "tintindex": 0 }, + "east": { "uv": [ 16, 0, 0, 10 ], "texture": "#stem", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stem_growth5.json b/desktopRuntime/resources/assets/minecraft/models/block/stem_growth5.json new file mode 100644 index 0000000..678450e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stem_growth5.json @@ -0,0 +1,24 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#stem" + }, + "elements": [ + { "from": [ 0, -1, 8 ], + "to": [ 16, 11, 8 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "north": { "uv": [ 0, 0, 16, 12 ], "texture": "#stem", "tintindex": 0 }, + "south": { "uv": [ 16, 0, 0, 12 ], "texture": "#stem", "tintindex": 0 } + } + }, + { "from": [ 8, -1, 0 ], + "to": [ 8, 11, 16 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "west": { "uv": [ 0, 0, 16, 12 ], "texture": "#stem", "tintindex": 0 }, + "east": { "uv": [ 16, 0, 0, 12 ], "texture": "#stem", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stem_growth6.json b/desktopRuntime/resources/assets/minecraft/models/block/stem_growth6.json new file mode 100644 index 0000000..523974e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stem_growth6.json @@ -0,0 +1,24 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#stem" + }, + "elements": [ + { "from": [ 0, -1, 8 ], + "to": [ 16, 13, 8 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "north": { "uv": [ 0, 0, 16, 14 ], "texture": "#stem", "tintindex": 0 }, + "south": { "uv": [ 16, 0, 0, 14 ], "texture": "#stem", "tintindex": 0 } + } + }, + { "from": [ 8, -1, 0 ], + "to": [ 8, 13, 16 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "west": { "uv": [ 0, 0, 16, 14 ], "texture": "#stem", "tintindex": 0 }, + "east": { "uv": [ 16, 0, 0, 14 ], "texture": "#stem", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stem_growth7.json b/desktopRuntime/resources/assets/minecraft/models/block/stem_growth7.json new file mode 100644 index 0000000..bd4f9d1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stem_growth7.json @@ -0,0 +1,24 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#stem" + }, + "elements": [ + { "from": [ 0, -1, 8 ], + "to": [ 16, 15, 8 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#stem", "tintindex": 0 }, + "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#stem", "tintindex": 0 } + } + }, + { "from": [ 8, -1, 0 ], + "to": [ 8, 15, 16 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#stem", "tintindex": 0 }, + "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#stem", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/sticky_piston.json b/desktopRuntime/resources/assets/minecraft/models/block/sticky_piston.json new file mode 100644 index 0000000..7edfddc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/sticky_piston.json @@ -0,0 +1,8 @@ +{ + "parent": "block/piston", + "textures": { + "bottom": "blocks/piston_bottom", + "side": "blocks/piston_side", + "platform": "blocks/piston_top_sticky" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stone.json b/desktopRuntime/resources/assets/minecraft/models/block/stone.json new file mode 100644 index 0000000..8e85b9a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stone.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/stone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stone_brick_inner_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/stone_brick_inner_stairs.json new file mode 100644 index 0000000..6be865a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stone_brick_inner_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/inner_stairs", + "textures": { + "bottom": "blocks/stonebrick", + "top": "blocks/stonebrick", + "side": "blocks/stonebrick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stone_brick_outer_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/stone_brick_outer_stairs.json new file mode 100644 index 0000000..cffe696 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stone_brick_outer_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/outer_stairs", + "textures": { + "bottom": "blocks/stonebrick", + "top": "blocks/stonebrick", + "side": "blocks/stonebrick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stone_brick_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/stone_brick_stairs.json new file mode 100644 index 0000000..0101de4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stone_brick_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/stairs", + "textures": { + "bottom": "blocks/stonebrick", + "top": "blocks/stonebrick", + "side": "blocks/stonebrick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stone_button.json b/desktopRuntime/resources/assets/minecraft/models/block/stone_button.json new file mode 100644 index 0000000..e72a869 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stone_button.json @@ -0,0 +1,6 @@ +{ + "parent": "block/button", + "textures": { + "texture": "blocks/stone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stone_button_inventory.json b/desktopRuntime/resources/assets/minecraft/models/block/stone_button_inventory.json new file mode 100644 index 0000000..ad62f2f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stone_button_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "block/button_inventory", + "textures": { + "texture": "blocks/stone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stone_button_pressed.json b/desktopRuntime/resources/assets/minecraft/models/block/stone_button_pressed.json new file mode 100644 index 0000000..3dfa680 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stone_button_pressed.json @@ -0,0 +1,6 @@ +{ + "parent": "block/button_pressed", + "textures": { + "texture": "blocks/stone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stone_inner_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/stone_inner_stairs.json new file mode 100644 index 0000000..22bb23b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stone_inner_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/inner_stairs", + "textures": { + "bottom": "blocks/cobblestone", + "top": "blocks/cobblestone", + "side": "blocks/cobblestone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stone_mirrored.json b/desktopRuntime/resources/assets/minecraft/models/block/stone_mirrored.json new file mode 100644 index 0000000..5d3d2ad --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stone_mirrored.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_mirrored_all", + "textures": { + "all": "blocks/stone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stone_outer_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/stone_outer_stairs.json new file mode 100644 index 0000000..effcad2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stone_outer_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/outer_stairs", + "textures": { + "bottom": "blocks/cobblestone", + "top": "blocks/cobblestone", + "side": "blocks/cobblestone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stone_pressure_plate_down.json b/desktopRuntime/resources/assets/minecraft/models/block/stone_pressure_plate_down.json new file mode 100644 index 0000000..36259c7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stone_pressure_plate_down.json @@ -0,0 +1,6 @@ +{ + "parent": "block/pressure_plate_down", + "textures": { + "texture": "blocks/stone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stone_pressure_plate_inventory.json b/desktopRuntime/resources/assets/minecraft/models/block/stone_pressure_plate_inventory.json new file mode 100644 index 0000000..34454c3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stone_pressure_plate_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "block/pressure_plate_inventory", + "textures": { + "texture": "blocks/stone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stone_pressure_plate_up.json b/desktopRuntime/resources/assets/minecraft/models/block/stone_pressure_plate_up.json new file mode 100644 index 0000000..40973b2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stone_pressure_plate_up.json @@ -0,0 +1,6 @@ +{ + "parent": "block/pressure_plate_up", + "textures": { + "texture": "blocks/stone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stone_stairs.json b/desktopRuntime/resources/assets/minecraft/models/block/stone_stairs.json new file mode 100644 index 0000000..e20cd88 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stone_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/stairs", + "textures": { + "bottom": "blocks/cobblestone", + "top": "blocks/cobblestone", + "side": "blocks/cobblestone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stonebrick_chiseled.json b/desktopRuntime/resources/assets/minecraft/models/block/stonebrick_chiseled.json new file mode 100644 index 0000000..c3e94d5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stonebrick_chiseled.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/stonebrick_carved" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stonebrick_cracked.json b/desktopRuntime/resources/assets/minecraft/models/block/stonebrick_cracked.json new file mode 100644 index 0000000..38ce12f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stonebrick_cracked.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/stonebrick_cracked" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stonebrick_mossy.json b/desktopRuntime/resources/assets/minecraft/models/block/stonebrick_mossy.json new file mode 100644 index 0000000..3c2ad21 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stonebrick_mossy.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/stonebrick_mossy" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/stonebrick_normal.json b/desktopRuntime/resources/assets/minecraft/models/block/stonebrick_normal.json new file mode 100644 index 0000000..baf191d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/stonebrick_normal.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/stonebrick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tall_grass.json b/desktopRuntime/resources/assets/minecraft/models/block/tall_grass.json new file mode 100644 index 0000000..e6bed7d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tall_grass.json @@ -0,0 +1,6 @@ +{ + "parent": "block/tallgrass", + "textures": { + "cross": "blocks/tallgrass" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tallgrass.json b/desktopRuntime/resources/assets/minecraft/models/block/tallgrass.json new file mode 100644 index 0000000..d3b5474 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tallgrass.json @@ -0,0 +1,26 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#cross" + }, + "elements": [ + { "from": [ 0.8, 0, 8 ], + "to": [ 15.2, 16, 8 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross", "tintindex": 0 }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross", "tintindex": 0 } + } + }, + { "from": [ 8, 0, 0.8 ], + "to": [ 8, 16, 15.2 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross", "tintindex": 0 }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tnt.json b/desktopRuntime/resources/assets/minecraft/models/block/tnt.json new file mode 100644 index 0000000..e4aa777 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tnt.json @@ -0,0 +1,8 @@ +{ + "parent": "block/cube_bottom_top", + "textures": { + "bottom": "blocks/tnt_bottom", + "top": "blocks/tnt_top", + "side": "blocks/tnt_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/torch.json b/desktopRuntime/resources/assets/minecraft/models/block/torch.json new file mode 100644 index 0000000..aef12fc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/torch.json @@ -0,0 +1,32 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#torch" + }, + "elements": [ + { "from": [ 7, 0, 7 ], + "to": [ 9, 10, 9 ], + "shade": false, + "faces": { + "down": { "uv": [ 7, 13, 9, 15 ], "texture": "#torch" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#torch" } + } + }, + { "from": [ 7, 0, 0 ], + "to": [ 9, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#torch" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#torch" } + } + }, + { "from": [ 0, 0, 7 ], + "to": [ 16, 16, 9 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#torch" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#torch" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/torch_wall.json b/desktopRuntime/resources/assets/minecraft/models/block/torch_wall.json new file mode 100644 index 0000000..1a6d297 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/torch_wall.json @@ -0,0 +1,35 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#torch" + }, + "elements": [ + { "from": [ -1, 3.5, 7 ], + "to": [ 1, 13.5, 9 ], + "rotation": { "origin": [ 0, 3.5, 8 ], "axis": "z", "angle": -22.5 }, + "shade": false, + "faces": { + "down": { "uv": [ 7, 13, 9, 15 ], "texture": "#torch" }, + "up": { "uv": [ 7, 6, 9, 8 ], "texture": "#torch" } + } + }, + { "from": [ -1, 3.5, 0 ], + "to": [ 1, 19.5, 16 ], + "rotation": { "origin": [ 0, 3.5, 8 ], "axis": "z", "angle": -22.5 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#torch" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#torch" } + } + }, + { "from": [ -8, 3.5, 7 ], + "to": [ 8, 19.5, 9 ], + "rotation": { "origin": [ 0, 3.5, 8 ], "axis": "z", "angle": -22.5 }, + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#torch" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#torch" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/trapdoor_bottom.json b/desktopRuntime/resources/assets/minecraft/models/block/trapdoor_bottom.json new file mode 100644 index 0000000..4d2113d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/trapdoor_bottom.json @@ -0,0 +1,18 @@ +{ + "textures": { + "particle": "#texture" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 3, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "north": { "uv": [ 0, 16, 16, 13 ], "texture": "#texture", "cullface": "north" }, + "south": { "uv": [ 0, 16, 16, 13 ], "texture": "#texture", "cullface": "south" }, + "west": { "uv": [ 0, 16, 16, 13 ], "texture": "#texture", "cullface": "west" }, + "east": { "uv": [ 0, 16, 16, 13 ], "texture": "#texture", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/trapdoor_open.json b/desktopRuntime/resources/assets/minecraft/models/block/trapdoor_open.json new file mode 100644 index 0000000..b301619 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/trapdoor_open.json @@ -0,0 +1,18 @@ +{ + "textures": { + "particle": "#texture" + }, + "elements": [ + { "from": [ 0, 0, 13 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [ 0, 13, 16, 16 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 0, 16, 16, 13 ], "texture": "#texture", "cullface": "up" }, + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "cullface": "south" }, + "west": { "uv": [ 16, 0, 13, 16 ], "texture": "#texture", "cullface": "west" }, + "east": { "uv": [ 13, 0, 16, 16 ], "texture": "#texture", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/trapdoor_top.json b/desktopRuntime/resources/assets/minecraft/models/block/trapdoor_top.json new file mode 100644 index 0000000..036aeb7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/trapdoor_top.json @@ -0,0 +1,18 @@ +{ + "textures": { + "particle": "#texture" + }, + "elements": [ + { "from": [ 0, 13, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "cullface": "up" }, + "north": { "uv": [ 0, 16, 16, 13 ], "texture": "#texture", "cullface": "north" }, + "south": { "uv": [ 0, 16, 16, 13 ], "texture": "#texture", "cullface": "south" }, + "west": { "uv": [ 0, 16, 16, 13 ], "texture": "#texture", "cullface": "west" }, + "east": { "uv": [ 0, 16, 16, 13 ], "texture": "#texture", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_n.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_n.json new file mode 100644 index 0000000..da0b811 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_n.json @@ -0,0 +1,33 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/trip_wire", + "texture": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 1.5, 0 ], + "to": [ 8.25, 1.5, 4 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 4 ], + "to": [ 8.25, 1.5, 8 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 8 ], + "to": [ 8.25, 1.5, 12 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_ne.json new file mode 100644 index 0000000..43dee4d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_ne.json @@ -0,0 +1,41 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/trip_wire", + "texture": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 1.5, 0 ], + "to": [ 8.25, 1.5, 4 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 4 ], + "to": [ 8.25, 1.5, 8 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 8, 1.5, 7.75 ], + "to": [ 12, 1.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture" }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture" } + } + }, + { "from": [ 12, 1.5, 7.75 ], + "to": [ 16, 1.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture" }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_ns.json new file mode 100644 index 0000000..aceecb7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_ns.json @@ -0,0 +1,41 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/trip_wire", + "texture": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 1.5, 0 ], + "to": [ 8.25, 1.5, 4 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 4 ], + "to": [ 8.25, 1.5, 8 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 8 ], + "to": [ 8.25, 1.5, 12 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 12 ], + "to": [ 8.25, 1.5, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_nse.json new file mode 100644 index 0000000..a79a0c4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_nse.json @@ -0,0 +1,57 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/trip_wire", + "texture": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 1.5, 0 ], + "to": [ 8.25, 1.5, 4 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 4 ], + "to": [ 8.25, 1.5, 8 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 8 ], + "to": [ 8.25, 1.5, 12 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 12 ], + "to": [ 8.25, 1.5, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 8, 1.5, 7.75 ], + "to": [ 12, 1.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture" }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture" } + } + }, + { "from": [ 12, 1.5, 7.75 ], + "to": [ 16, 1.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture" }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_nsew.json new file mode 100644 index 0000000..567b5c9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_nsew.json @@ -0,0 +1,73 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/trip_wire", + "texture": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 1.5, 0 ], + "to": [ 8.25, 1.5, 4 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 4 ], + "to": [ 8.25, 1.5, 8 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 8 ], + "to": [ 8.25, 1.5, 12 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 12 ], + "to": [ 8.25, 1.5, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 0, 1.5, 7.75 ], + "to": [ 4, 1.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture" }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture" } + } + }, + { "from": [ 4, 1.5, 7.75 ], + "to": [ 8, 1.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture" }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture" } + } + }, + { "from": [ 8, 1.5, 7.75 ], + "to": [ 12, 1.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture" }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture" } + } + }, + { "from": [ 12, 1.5, 7.75 ], + "to": [ 16, 1.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture" }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_suspended_n.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_suspended_n.json new file mode 100644 index 0000000..a75dc73 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_suspended_n.json @@ -0,0 +1,33 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/trip_wire", + "texture": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 3.5, 0 ], + "to": [ 8.25, 3.5, 4 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 4 ], + "to": [ 8.25, 3.5, 8 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 8 ], + "to": [ 8.25, 3.5, 12 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_suspended_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_suspended_ne.json new file mode 100644 index 0000000..fd3cb9a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_suspended_ne.json @@ -0,0 +1,41 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/trip_wire", + "texture": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 3.5, 0 ], + "to": [ 8.25, 3.5, 4 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 4 ], + "to": [ 8.25, 3.5, 8 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 8, 3.5, 7.75 ], + "to": [ 12, 3.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture" }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture" } + } + }, + { "from": [ 12, 3.5, 7.75 ], + "to": [ 16, 3.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture" }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_suspended_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_suspended_ns.json new file mode 100644 index 0000000..f62ce39 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_suspended_ns.json @@ -0,0 +1,41 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/trip_wire", + "texture": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 3.5, 0 ], + "to": [ 8.25, 3.5, 4 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 4 ], + "to": [ 8.25, 3.5, 8 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 8 ], + "to": [ 8.25, 3.5, 12 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 12 ], + "to": [ 8.25, 3.5, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_suspended_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_suspended_nse.json new file mode 100644 index 0000000..74d03db --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_suspended_nse.json @@ -0,0 +1,57 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/trip_wire", + "texture": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 3.5, 0 ], + "to": [ 8.25, 3.5, 4 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 4 ], + "to": [ 8.25, 3.5, 8 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 8 ], + "to": [ 8.25, 3.5, 12 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 12 ], + "to": [ 8.25, 3.5, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 8, 3.5, 7.75 ], + "to": [ 12, 3.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture" }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture" } + } + }, + { "from": [ 12, 3.5, 7.75 ], + "to": [ 16, 3.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture" }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_suspended_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_suspended_nsew.json new file mode 100644 index 0000000..4dbf018 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_attached_suspended_nsew.json @@ -0,0 +1,73 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/trip_wire", + "texture": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 3.5, 0 ], + "to": [ 8.25, 3.5, 4 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 4 ], + "to": [ 8.25, 3.5, 8 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 8 ], + "to": [ 8.25, 3.5, 12 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 12 ], + "to": [ 8.25, 3.5, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 0, 3.5, 7.75 ], + "to": [ 4, 3.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture" }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture" } + } + }, + { "from": [ 4, 3.5, 7.75 ], + "to": [ 8, 3.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture" }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture" } + } + }, + { "from": [ 8, 3.5, 7.75 ], + "to": [ 12, 3.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture" }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture" } + } + }, + { "from": [ 12, 3.5, 7.75 ], + "to": [ 16, 3.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 4, 16, 2 ], "texture": "#texture" }, + "up": { "uv": [ 0, 2, 16, 4 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_hook.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_hook.json new file mode 100644 index 0000000..6a316fa --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_hook.json @@ -0,0 +1,72 @@ +{ + "textures": { + "particle": "blocks/planks_oak", + "hook": "blocks/trip_wire_source", + "wood": "blocks/planks_oak" + }, + "elements": [ + { "from": [ 6.2, 3.8, 7.9 ], + "to": [ 9.8, 4.6, 11.5 ], + "rotation": { "origin": [ 8, 6, 5.2 ], "axis": "x", "angle": -45 }, + "faces": { + "down": { "uv": [ 5, 3, 11, 9 ], "texture": "#hook" }, + "up": { "uv": [ 5, 3, 11, 9 ], "texture": "#hook" }, + "north": { "uv": [ 5, 3, 11, 4 ], "texture": "#hook" }, + "south": { "uv": [ 5, 8, 11, 9 ], "texture": "#hook" }, + "west": { "uv": [ 5, 8, 11, 9 ], "texture": "#hook" }, + "east": { "uv": [ 5, 3, 11, 4 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 3.8, 10.3 ], + "to": [ 8.6, 4.6, 10.3 ], + "rotation": { "origin": [ 8, 6, 5.2 ], "axis": "x", "angle": -45 }, + "faces": { + "north": { "uv": [ 7, 8, 9, 9 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 3.8, 9.1 ], + "to": [ 8.6, 4.6, 9.1 ], + "rotation": { "origin": [ 8, 6, 5.2 ], "axis": "x", "angle": -45 }, + "faces": { + "south": { "uv": [ 7, 3, 9, 4 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 3.8, 9.1 ], + "to": [ 7.4, 4.6, 10.3 ], + "rotation": { "origin": [ 8, 6, 5.2 ], "axis": "x", "angle": -45 }, + "faces": { + "east": { "uv": [ 7, 8, 9, 9 ], "texture": "#hook" } + } + }, + { "from": [ 8.6, 3.8, 9.1 ], + "to": [ 8.6, 4.6, 10.3 ], + "rotation": { "origin": [ 8, 6, 5.2 ], "axis": "x", "angle": -45 }, + "faces": { + "west": { "uv": [ 7, 3, 9, 4 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 5.2, 10 ], + "to": [ 8.8, 6.8, 14 ], + "rotation": { "origin": [ 8, 6, 14 ], "axis": "x", "angle": 45 }, + "faces": { + "down": { "uv": [ 7, 9, 9, 14 ], "texture": "#wood" }, + "up": { "uv": [ 7, 2, 9, 7 ], "texture": "#wood" }, + "north": { "uv": [ 7, 9, 9, 11 ], "texture": "#wood" }, + "south": { "uv": [ 7, 9, 9, 11 ], "texture": "#wood" }, + "west": { "uv": [ 2, 9, 7, 11 ], "texture": "#wood" }, + "east": { "uv": [ 9, 9, 14, 11 ], "texture": "#wood" } + } + }, + { "from": [ 6, 1, 14 ], + "to": [ 10, 9, 16 ], + "faces": { + "down": { "uv": [ 6, 14, 10, 16 ], "texture": "#wood" }, + "up": { "uv": [ 6, 0, 10, 2 ], "texture": "#wood" }, + "north": { "uv": [ 6, 7, 10, 15 ], "texture": "#wood", "cullface": "north" }, + "south": { "uv": [ 6, 7, 10, 15 ], "texture": "#wood" }, + "west": { "uv": [ 0, 7, 2, 15 ], "texture": "#wood" }, + "east": { "uv": [ 14, 7, 16, 15 ], "texture": "#wood" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_hook_attached.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_hook_attached.json new file mode 100644 index 0000000..0e43ea9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_hook_attached.json @@ -0,0 +1,75 @@ +{ + "textures": { + "particle": "blocks/planks_oak", + "hook": "blocks/trip_wire_source", + "wood": "blocks/planks_oak", + "tripwire": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 1.5, 0 ], + "to": [ 8.25, 1.5, 6.7 ], + "rotation": { "origin": [ 8, 0, 0 ], "axis": "x", "angle": -22.5, "rescale": true }, + "faces": { + "down": { "uv": [ 0, 8, 16, 6 ], "texture": "#tripwire", "rotation": 90 }, + "up": { "uv": [ 0, 6, 16, 8 ], "texture": "#tripwire", "rotation": 90 } + } + }, + { "from": [ 6.2, 4.2, 6.7 ], + "to": [ 9.8, 5, 10.3 ], + "faces": { + "down": { "uv": [ 5, 3, 11, 9 ], "texture": "#hook" }, + "up": { "uv": [ 5, 3, 11, 9 ], "texture": "#hook" }, + "north": { "uv": [ 5, 3, 11, 4 ], "texture": "#hook" }, + "south": { "uv": [ 5, 8, 11, 9 ], "texture": "#hook" }, + "west": { "uv": [ 5, 8, 11, 9 ], "texture": "#hook" }, + "east": { "uv": [ 5, 3, 11, 4 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 4.2, 9.1 ], + "to": [ 8.6, 5, 9.1 ], + "faces": { + "north": { "uv": [ 7, 8, 9, 9 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 4.2, 7.9 ], + "to": [ 8.6, 5, 7.9 ], + "faces": { + "south": { "uv": [ 7, 3, 9, 4 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 4.2, 7.9 ], + "to": [ 7.4, 5, 9.1 ], + "faces": { + "east": { "uv": [ 7, 8, 9, 9 ], "texture": "#hook" } + } + }, + { "from": [ 8.6, 4.2, 7.9 ], + "to": [ 8.6, 5, 9.1 ], + "faces": { + "west": { "uv": [ 7, 3, 9, 4 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 5.2, 10 ], + "to": [ 8.8, 6.8, 14 ], + "faces": { + "down": { "uv": [ 7, 9, 9, 14 ], "texture": "#wood" }, + "up": { "uv": [ 7, 2, 9, 7 ], "texture": "#wood" }, + "north": { "uv": [ 7, 9, 9, 11 ], "texture": "#wood" }, + "south": { "uv": [ 7, 9, 9, 11 ], "texture": "#wood" }, + "west": { "uv": [ 2, 9, 7, 11 ], "texture": "#wood" }, + "east": { "uv": [ 9, 9, 14, 11 ], "texture": "#wood" } + } + }, + { "from": [ 6, 1, 14 ], + "to": [ 10, 9, 16 ], + "faces": { + "down": { "uv": [ 6, 14, 10, 16 ], "texture": "#wood" }, + "up": { "uv": [ 6, 0, 10, 2 ], "texture": "#wood" }, + "north": { "uv": [ 6, 7, 10, 15 ], "texture": "#wood", "cullface": "north" }, + "south": { "uv": [ 6, 7, 10, 15 ], "texture": "#wood" }, + "west": { "uv": [ 0, 7, 2, 15 ], "texture": "#wood" }, + "east": { "uv": [ 14, 7, 16, 15 ], "texture": "#wood" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_hook_attached_powered.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_hook_attached_powered.json new file mode 100644 index 0000000..51020aa --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_hook_attached_powered.json @@ -0,0 +1,76 @@ +{ + "textures": { + "particle": "blocks/planks_oak", + "hook": "blocks/trip_wire_source", + "wood": "blocks/planks_oak", + "tripwire": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 0.5, 0 ], + "to": [ 8.25, 0.5, 6.7 ], + "rotation": { "origin": [ 8, 0, 0 ], "axis": "x", "angle": -22.5, "rescale": true }, + "faces": { + "down": { "uv": [ 0, 8, 16, 6 ], "texture": "#tripwire", "rotation": 90 }, + "up": { "uv": [ 0, 6, 16, 8 ], "texture": "#tripwire", "rotation": 90 } + } + }, + { "from": [ 6.2, 4.2, 6.7 ], + "to": [ 9.8, 5, 10.3 ], + "faces": { + "down": { "uv": [ 5, 3, 11, 9 ], "texture": "#hook" }, + "up": { "uv": [ 5, 3, 11, 9 ], "texture": "#hook" }, + "north": { "uv": [ 5, 3, 11, 4 ], "texture": "#hook" }, + "south": { "uv": [ 5, 8, 11, 9 ], "texture": "#hook" }, + "west": { "uv": [ 5, 8, 11, 9 ], "texture": "#hook" }, + "east": { "uv": [ 5, 3, 11, 4 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 4.2, 9.1 ], + "to": [ 8.6, 5, 9.1 ], + "faces": { + "north": { "uv": [ 7, 8, 9, 9 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 4.2, 7.9 ], + "to": [ 8.6, 5, 7.9 ], + "faces": { + "south": { "uv": [ 7, 3, 9, 4 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 4.2, 7.9 ], + "to": [ 7.4, 5, 9.1 ], + "faces": { + "east": { "uv": [ 7, 8, 9, 9 ], "texture": "#hook" } + } + }, + { "from": [ 8.6, 4.2, 7.9 ], + "to": [ 8.6, 5, 9.1 ], + "faces": { + "west": { "uv": [ 7, 3, 9, 4 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 5.2, 10 ], + "to": [ 8.8, 6.8, 14 ], + "rotation": { "origin": [ 8, 6, 14 ], "axis": "x", "angle": -22.5 }, + "faces": { + "down": { "uv": [ 7, 9, 9, 14 ], "texture": "#wood" }, + "up": { "uv": [ 7, 2, 9, 7 ], "texture": "#wood" }, + "north": { "uv": [ 7, 9, 9, 11 ], "texture": "#wood" }, + "south": { "uv": [ 7, 9, 9, 11 ], "texture": "#wood" }, + "west": { "uv": [ 2, 9, 7, 11 ], "texture": "#wood" }, + "east": { "uv": [ 9, 9, 14, 11 ], "texture": "#wood" } + } + }, + { "from": [ 6, 1, 14 ], + "to": [ 10, 9, 16 ], + "faces": { + "down": { "uv": [ 6, 14, 10, 16 ], "texture": "#wood" }, + "up": { "uv": [ 6, 0, 10, 2 ], "texture": "#wood" }, + "north": { "uv": [ 6, 7, 10, 15 ], "texture": "#wood", "cullface": "north" }, + "south": { "uv": [ 6, 7, 10, 15 ], "texture": "#wood" }, + "west": { "uv": [ 0, 7, 2, 15 ], "texture": "#wood" }, + "east": { "uv": [ 14, 7, 16, 15 ], "texture": "#wood" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_hook_attached_suspended.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_hook_attached_suspended.json new file mode 100644 index 0000000..d9c43ee --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_hook_attached_suspended.json @@ -0,0 +1,76 @@ +{ + "textures": { + "particle": "blocks/planks_oak", + "hook": "blocks/trip_wire_source", + "wood": "blocks/planks_oak", + "tripwire": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 3.5, 0 ], + "to": [ 8.25, 3.5, 6.7 ], + "rotation": { "origin": [ 8, 0, 0 ], "axis": "x", "angle": -22.5, "rescale": true }, + "faces": { + "down": { "uv": [ 0, 8, 16, 6 ], "texture": "#tripwire", "rotation": 90 }, + "up": { "uv": [ 0, 6, 16, 8 ], "texture": "#tripwire", "rotation": 90 } + } + }, + { "from": [ 6.2, 4.2, 6.7 ], + "to": [ 9.8, 5, 10.3 ], + "faces": { + "down": { "uv": [ 5, 3, 11, 9 ], "texture": "#hook" }, + "up": { "uv": [ 5, 3, 11, 9 ], "texture": "#hook" }, + "north": { "uv": [ 5, 3, 11, 4 ], "texture": "#hook" }, + "south": { "uv": [ 5, 8, 11, 9 ], "texture": "#hook" }, + "west": { "uv": [ 5, 8, 11, 9 ], "texture": "#hook" }, + "east": { "uv": [ 5, 3, 11, 4 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 4.2, 9.1 ], + "to": [ 8.6, 5, 9.1 ], + "faces": { + "north": { "uv": [ 7, 8, 9, 9 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 4.2, 7.9 ], + "to": [ 8.6, 5, 7.9 ], + "faces": { + "south": { "uv": [ 7, 3, 9, 4 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 4.2, 7.9 ], + "to": [ 7.4, 5, 9.1 ], + "faces": { + "east": { "uv": [ 7, 8, 9, 9 ], "texture": "#hook" } + } + }, + { "from": [ 8.6, 4.2, 7.9 ], + "to": [ 8.6, 5, 9.1 ], + "faces": { + "west": { "uv": [ 7, 3, 9, 4 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 5.2, 10 ], + "to": [ 8.8, 6.8, 14 ], + "rotation": { "origin": [ 8, 6, 14 ], "axis": "x", "angle": -22.5 }, + "faces": { + "down": { "uv": [ 7, 9, 9, 14 ], "texture": "#wood" }, + "up": { "uv": [ 7, 2, 9, 7 ], "texture": "#wood" }, + "north": { "uv": [ 7, 9, 9, 11 ], "texture": "#wood" }, + "south": { "uv": [ 7, 9, 9, 11 ], "texture": "#wood" }, + "west": { "uv": [ 2, 9, 7, 11 ], "texture": "#wood" }, + "east": { "uv": [ 9, 9, 14, 11 ], "texture": "#wood" } + } + }, + { "from": [ 6, 1, 14 ], + "to": [ 10, 9, 16 ], + "faces": { + "down": { "uv": [ 6, 14, 10, 16 ], "texture": "#wood" }, + "up": { "uv": [ 6, 0, 10, 2 ], "texture": "#wood" }, + "north": { "uv": [ 6, 7, 10, 15 ], "texture": "#wood", "cullface": "north" }, + "south": { "uv": [ 6, 7, 10, 15 ], "texture": "#wood" }, + "west": { "uv": [ 0, 7, 2, 15 ], "texture": "#wood" }, + "east": { "uv": [ 14, 7, 16, 15 ], "texture": "#wood" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_hook_attached_suspended_powered.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_hook_attached_suspended_powered.json new file mode 100644 index 0000000..723c8bc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_hook_attached_suspended_powered.json @@ -0,0 +1,76 @@ +{ + "textures": { + "particle": "blocks/planks_oak", + "hook": "blocks/trip_wire_source", + "wood": "blocks/planks_oak", + "tripwire": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 2.5, 0 ], + "to": [ 8.25, 2.5, 6.7 ], + "rotation": { "origin": [ 8, 0, 0 ], "axis": "x", "angle": -22.5, "rescale": true }, + "faces": { + "down": { "uv": [ 0, 8, 16, 6 ], "texture": "#tripwire", "rotation": 90 }, + "up": { "uv": [ 0, 6, 16, 8 ], "texture": "#tripwire", "rotation": 90 } + } + }, + { "from": [ 6.2, 4.2, 6.7 ], + "to": [ 9.8, 5, 10.3 ], + "faces": { + "down": { "uv": [ 5, 3, 11, 9 ], "texture": "#hook" }, + "up": { "uv": [ 5, 3, 11, 9 ], "texture": "#hook" }, + "north": { "uv": [ 5, 3, 11, 4 ], "texture": "#hook" }, + "south": { "uv": [ 5, 8, 11, 9 ], "texture": "#hook" }, + "west": { "uv": [ 5, 8, 11, 9 ], "texture": "#hook" }, + "east": { "uv": [ 5, 3, 11, 4 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 4.2, 9.1 ], + "to": [ 8.6, 5, 9.1 ], + "faces": { + "north": { "uv": [ 7, 8, 9, 9 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 4.2, 7.9 ], + "to": [ 8.6, 5, 7.9 ], + "faces": { + "south": { "uv": [ 7, 3, 9, 4 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 4.2, 7.9 ], + "to": [ 7.4, 5, 9.1 ], + "faces": { + "east": { "uv": [ 7, 8, 9, 9 ], "texture": "#hook" } + } + }, + { "from": [ 8.6, 4.2, 7.9 ], + "to": [ 8.6, 5, 9.1 ], + "faces": { + "west": { "uv": [ 7, 3, 9, 4 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 5.2, 10 ], + "to": [ 8.8, 6.8, 14 ], + "rotation": { "origin": [ 8, 6, 14 ], "axis": "x", "angle": -22.5 }, + "faces": { + "down": { "uv": [ 7, 9, 9, 14 ], "texture": "#wood" }, + "up": { "uv": [ 7, 2, 9, 7 ], "texture": "#wood" }, + "north": { "uv": [ 7, 9, 9, 11 ], "texture": "#wood" }, + "south": { "uv": [ 7, 9, 9, 11 ], "texture": "#wood" }, + "west": { "uv": [ 2, 9, 7, 11 ], "texture": "#wood" }, + "east": { "uv": [ 9, 9, 14, 11 ], "texture": "#wood" } + } + }, + { "from": [ 6, 1, 14 ], + "to": [ 10, 9, 16 ], + "faces": { + "down": { "uv": [ 6, 14, 10, 16 ], "texture": "#wood" }, + "up": { "uv": [ 6, 0, 10, 2 ], "texture": "#wood" }, + "north": { "uv": [ 6, 7, 10, 15 ], "texture": "#wood", "cullface": "north" }, + "south": { "uv": [ 6, 7, 10, 15 ], "texture": "#wood" }, + "west": { "uv": [ 0, 7, 2, 15 ], "texture": "#wood" }, + "east": { "uv": [ 14, 7, 16, 15 ], "texture": "#wood" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_hook_powered.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_hook_powered.json new file mode 100644 index 0000000..521cb53 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_hook_powered.json @@ -0,0 +1,67 @@ +{ + "textures": { + "particle": "blocks/planks_oak", + "hook": "blocks/trip_wire_source", + "wood": "blocks/planks_oak" + }, + "elements": [ + { "from": [ 6.2, 4.2, 6.7 ], + "to": [ 9.8, 5, 10.3 ], + "faces": { + "down": { "uv": [ 5, 3, 11, 9 ], "texture": "#hook" }, + "up": { "uv": [ 5, 3, 11, 9 ], "texture": "#hook" }, + "north": { "uv": [ 5, 3, 11, 4 ], "texture": "#hook" }, + "south": { "uv": [ 5, 8, 11, 9 ], "texture": "#hook" }, + "west": { "uv": [ 5, 8, 11, 9 ], "texture": "#hook" }, + "east": { "uv": [ 5, 3, 11, 4 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 4.2, 9.1 ], + "to": [ 8.6, 5, 9.1 ], + "faces": { + "north": { "uv": [ 7, 8, 9, 9 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 4.2, 7.9 ], + "to": [ 8.6, 5, 7.9 ], + "faces": { + "south": { "uv": [ 7, 3, 9, 4 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 4.2, 7.9 ], + "to": [ 7.4, 5, 9.1 ], + "faces": { + "east": { "uv": [ 7, 8, 9, 9 ], "texture": "#hook" } + } + }, + { "from": [ 8.6, 4.2, 7.9 ], + "to": [ 8.6, 5, 9.1 ], + "faces": { + "west": { "uv": [ 7, 3, 9, 4 ], "texture": "#hook" } + } + }, + { "from": [ 7.4, 5.2, 10 ], + "to": [ 8.8, 6.8, 14 ], + "rotation": { "origin": [ 8, 6, 14 ], "axis": "x", "angle": -22.5 }, + "faces": { + "down": { "uv": [ 7, 9, 9, 14 ], "texture": "#wood" }, + "up": { "uv": [ 7, 2, 9, 7 ], "texture": "#wood" }, + "north": { "uv": [ 7, 9, 9, 11 ], "texture": "#wood" }, + "south": { "uv": [ 7, 9, 9, 11 ], "texture": "#wood" }, + "west": { "uv": [ 2, 9, 7, 11 ], "texture": "#wood" }, + "east": { "uv": [ 9, 9, 14, 11 ], "texture": "#wood" } + } + }, + { "from": [ 6, 1, 14 ], + "to": [ 10, 9, 16 ], + "faces": { + "down": { "uv": [ 6, 14, 10, 16 ], "texture": "#wood" }, + "up": { "uv": [ 6, 0, 10, 2 ], "texture": "#wood" }, + "north": { "uv": [ 6, 7, 10, 15 ], "texture": "#wood", "cullface": "north" }, + "south": { "uv": [ 6, 7, 10, 15 ], "texture": "#wood" }, + "west": { "uv": [ 0, 7, 2, 15 ], "texture": "#wood" }, + "east": { "uv": [ 14, 7, 16, 15 ], "texture": "#wood" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_n.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_n.json new file mode 100644 index 0000000..00da316 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_n.json @@ -0,0 +1,33 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/trip_wire", + "texture": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 1.5, 0 ], + "to": [ 8.25, 1.5, 4 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 4 ], + "to": [ 8.25, 1.5, 8 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 8 ], + "to": [ 8.25, 1.5, 12 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_ne.json new file mode 100644 index 0000000..bcc3f42 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_ne.json @@ -0,0 +1,41 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/trip_wire", + "texture": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 1.5, 0 ], + "to": [ 8.25, 1.5, 4 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 4 ], + "to": [ 8.25, 1.5, 8 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 8, 1.5, 7.75 ], + "to": [ 12, 1.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture" } + } + }, + { "from": [ 12, 1.5, 7.75 ], + "to": [ 16, 1.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_ns.json new file mode 100644 index 0000000..1500d10 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_ns.json @@ -0,0 +1,41 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/trip_wire", + "texture": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 1.5, 0 ], + "to": [ 8.25, 1.5, 4 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 4 ], + "to": [ 8.25, 1.5, 8 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 8 ], + "to": [ 8.25, 1.5, 12 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 12 ], + "to": [ 8.25, 1.5, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_nse.json new file mode 100644 index 0000000..10374eb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_nse.json @@ -0,0 +1,57 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/trip_wire", + "texture": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 1.5, 0 ], + "to": [ 8.25, 1.5, 4 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 4 ], + "to": [ 8.25, 1.5, 8 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 8 ], + "to": [ 8.25, 1.5, 12 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 12 ], + "to": [ 8.25, 1.5, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 8, 1.5, 7.75 ], + "to": [ 12, 1.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture" } + } + }, + { "from": [ 12, 1.5, 7.75 ], + "to": [ 16, 1.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_nsew.json new file mode 100644 index 0000000..f9f1f64 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_nsew.json @@ -0,0 +1,73 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/trip_wire", + "texture": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 1.5, 0 ], + "to": [ 8.25, 1.5, 4 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 4 ], + "to": [ 8.25, 1.5, 8 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 8 ], + "to": [ 8.25, 1.5, 12 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 1.5, 12 ], + "to": [ 8.25, 1.5, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 0, 1.5, 7.75 ], + "to": [ 4, 1.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture" } + } + }, + { "from": [ 4, 1.5, 7.75 ], + "to": [ 8, 1.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture" } + } + }, + { "from": [ 8, 1.5, 7.75 ], + "to": [ 12, 1.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture" } + } + }, + { "from": [ 12, 1.5, 7.75 ], + "to": [ 16, 1.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_suspended_n.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_suspended_n.json new file mode 100644 index 0000000..cd7ade4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_suspended_n.json @@ -0,0 +1,33 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/trip_wire", + "texture": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 3.5, 0 ], + "to": [ 8.25, 3.5, 4 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 4 ], + "to": [ 8.25, 3.5, 8 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 8 ], + "to": [ 8.25, 3.5, 12 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_suspended_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_suspended_ne.json new file mode 100644 index 0000000..ed1fbdf --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_suspended_ne.json @@ -0,0 +1,41 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/trip_wire", + "texture": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 3.5, 0 ], + "to": [ 8.25, 3.5, 4 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 4 ], + "to": [ 8.25, 3.5, 8 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 8, 3.5, 7.75 ], + "to": [ 12, 3.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture" } + } + }, + { "from": [ 12, 3.5, 7.75 ], + "to": [ 16, 3.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_suspended_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_suspended_ns.json new file mode 100644 index 0000000..baf9924 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_suspended_ns.json @@ -0,0 +1,41 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/trip_wire", + "texture": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 3.5, 0 ], + "to": [ 8.25, 3.5, 4 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 4 ], + "to": [ 8.25, 3.5, 8 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 8 ], + "to": [ 8.25, 3.5, 12 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 12 ], + "to": [ 8.25, 3.5, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_suspended_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_suspended_nse.json new file mode 100644 index 0000000..102e8ec --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_suspended_nse.json @@ -0,0 +1,57 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/trip_wire", + "texture": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 3.5, 0 ], + "to": [ 8.25, 3.5, 4 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 4 ], + "to": [ 8.25, 3.5, 8 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 8 ], + "to": [ 8.25, 3.5, 12 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 12 ], + "to": [ 8.25, 3.5, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 8, 3.5, 7.75 ], + "to": [ 12, 3.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture" } + } + }, + { "from": [ 12, 3.5, 7.75 ], + "to": [ 16, 3.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/tripwire_suspended_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_suspended_nsew.json new file mode 100644 index 0000000..9ee73c8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/tripwire_suspended_nsew.json @@ -0,0 +1,73 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/trip_wire", + "texture": "blocks/trip_wire" + }, + "elements": [ + { "from": [ 7.75, 3.5, 0 ], + "to": [ 8.25, 3.5, 4 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 4 ], + "to": [ 8.25, 3.5, 8 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 8 ], + "to": [ 8.25, 3.5, 12 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 7.75, 3.5, 12 ], + "to": [ 8.25, 3.5, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture", "rotation": 90 } + } + }, + { "from": [ 0, 3.5, 7.75 ], + "to": [ 4, 3.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture" } + } + }, + { "from": [ 4, 3.5, 7.75 ], + "to": [ 8, 3.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture" } + } + }, + { "from": [ 8, 3.5, 7.75 ], + "to": [ 12, 3.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture" } + } + }, + { "from": [ 12, 3.5, 7.75 ], + "to": [ 16, 3.5, 8.25 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 2, 16, 0 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/unlit_redstone_lamp.json b/desktopRuntime/resources/assets/minecraft/models/block/unlit_redstone_lamp.json new file mode 100644 index 0000000..363526b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/unlit_redstone_lamp.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/redstone_lamp_off" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/unlit_redstone_torch.json b/desktopRuntime/resources/assets/minecraft/models/block/unlit_redstone_torch.json new file mode 100644 index 0000000..706ef0a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/unlit_redstone_torch.json @@ -0,0 +1,6 @@ +{ + "parent": "block/torch", + "textures": { + "torch": "blocks/redstone_torch_off" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/unlit_redstone_torch_wall.json b/desktopRuntime/resources/assets/minecraft/models/block/unlit_redstone_torch_wall.json new file mode 100644 index 0000000..8b114ac --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/unlit_redstone_torch_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "block/torch_wall", + "textures": { + "torch": "blocks/redstone_torch_off" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/upper_slab.json b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab.json new file mode 100644 index 0000000..e21eb93 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab.json @@ -0,0 +1,18 @@ +{ + "textures": { + "particle": "#side" + }, + "elements": [ + { "from": [ 0, 8, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 0, 0, 16, 8 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 0, 16, 8 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 8 ], "texture": "#side", "cullface": "west" }, + "east": { "uv": [ 0, 0, 16, 8 ], "texture": "#side", "cullface": "east" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_acacia.json b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_acacia.json new file mode 100644 index 0000000..adb0ee0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_acacia.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "blocks/planks_acacia", + "top": "blocks/planks_acacia", + "side": "blocks/planks_acacia" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_birch.json b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_birch.json new file mode 100644 index 0000000..131f1c2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_birch.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "blocks/planks_birch", + "top": "blocks/planks_birch", + "side": "blocks/planks_birch" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_brick.json b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_brick.json new file mode 100644 index 0000000..0205245 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_brick.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "blocks/brick", + "top": "blocks/brick", + "side": "blocks/brick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_cobblestone.json b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_cobblestone.json new file mode 100644 index 0000000..ac72e44 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_cobblestone.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "blocks/cobblestone", + "top": "blocks/cobblestone", + "side": "blocks/cobblestone" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_dark_oak.json b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_dark_oak.json new file mode 100644 index 0000000..b4424fc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_dark_oak.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "blocks/planks_big_oak", + "top": "blocks/planks_big_oak", + "side": "blocks/planks_big_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_jungle.json b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_jungle.json new file mode 100644 index 0000000..80b5eb6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_jungle.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "blocks/planks_jungle", + "top": "blocks/planks_jungle", + "side": "blocks/planks_jungle" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_nether_brick.json b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_nether_brick.json new file mode 100644 index 0000000..dabf97b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_nether_brick.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "blocks/nether_brick", + "top": "blocks/nether_brick", + "side": "blocks/nether_brick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_oak.json b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_oak.json new file mode 100644 index 0000000..4c1f3a5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_oak.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "blocks/planks_oak", + "top": "blocks/planks_oak", + "side": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_purpur.json b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_purpur.json new file mode 100644 index 0000000..4f1b043 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_purpur.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "blocks/purpur_block", + "top": "blocks/purpur_block", + "side": "blocks/purpur_block" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_quartz.json b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_quartz.json new file mode 100644 index 0000000..fd75a45 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_quartz.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "blocks/quartz_block_bottom", + "top": "blocks/quartz_block_top", + "side": "blocks/quartz_block_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_red_sandstone.json b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_red_sandstone.json new file mode 100644 index 0000000..2539bdf --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_red_sandstone.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "blocks/red_sandstone_bottom", + "top": "blocks/red_sandstone_top", + "side": "blocks/red_sandstone_normal" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_sandstone.json b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_sandstone.json new file mode 100644 index 0000000..476b45d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_sandstone.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "blocks/sandstone_bottom", + "top": "blocks/sandstone_top", + "side": "blocks/sandstone_normal" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_spruce.json b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_spruce.json new file mode 100644 index 0000000..e2fd599 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_spruce.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "blocks/planks_spruce", + "top": "blocks/planks_spruce", + "side": "blocks/planks_spruce" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_stone.json b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_stone.json new file mode 100644 index 0000000..dff9915 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_stone.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "blocks/stone_slab_top", + "top": "blocks/stone_slab_top", + "side": "blocks/stone_slab_side" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_stone_brick.json b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_stone_brick.json new file mode 100644 index 0000000..4b952e0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/upper_slab_stone_brick.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "blocks/stonebrick", + "top": "blocks/stonebrick", + "side": "blocks/stonebrick" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/vine_1.json b/desktopRuntime/resources/assets/minecraft/models/block/vine_1.json new file mode 100644 index 0000000..f5df4da --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/vine_1.json @@ -0,0 +1,17 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/vine", + "vine": "blocks/vine" + }, + "elements": [ + { "from": [ 0, 0, 15.2 ], + "to": [ 16, 16, 15.2 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/vine_1u.json b/desktopRuntime/resources/assets/minecraft/models/block/vine_1u.json new file mode 100644 index 0000000..9542007 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/vine_1u.json @@ -0,0 +1,25 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/vine", + "vine": "blocks/vine" + }, + "elements": [ + { "from": [ 0, 15.2, 0 ], + "to": [ 16, 15.2, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + }, + { "from": [ 0, 0, 15.2 ], + "to": [ 16, 16, 15.2 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/vine_2.json b/desktopRuntime/resources/assets/minecraft/models/block/vine_2.json new file mode 100644 index 0000000..76d80df --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/vine_2.json @@ -0,0 +1,25 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/vine", + "vine": "blocks/vine" + }, + "elements": [ + { "from": [ 0, 0, 0.8 ], + "to": [ 16, 16, 0.8 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + }, + { "from": [ 15.2, 0, 0 ], + "to": [ 15.2, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/vine_2_opposite.json b/desktopRuntime/resources/assets/minecraft/models/block/vine_2_opposite.json new file mode 100644 index 0000000..826f5b7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/vine_2_opposite.json @@ -0,0 +1,25 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/vine", + "vine": "blocks/vine" + }, + "elements": [ + { "from": [ 15.2, 0, 0 ], + "to": [ 15.2, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + }, + { "from": [ 0.8, 0, 0 ], + "to": [ 0.8, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/vine_2u.json b/desktopRuntime/resources/assets/minecraft/models/block/vine_2u.json new file mode 100644 index 0000000..8d2ccd4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/vine_2u.json @@ -0,0 +1,33 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/vine", + "vine": "blocks/vine" + }, + "elements": [ + { "from": [ 0, 15.2, 0 ], + "to": [ 16, 15.2, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + }, + { "from": [ 0, 0, 0.8 ], + "to": [ 16, 16, 0.8 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + }, + { "from": [ 15.2, 0, 0 ], + "to": [ 15.2, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/vine_2u_opposite.json b/desktopRuntime/resources/assets/minecraft/models/block/vine_2u_opposite.json new file mode 100644 index 0000000..ca9221c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/vine_2u_opposite.json @@ -0,0 +1,33 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/vine", + "vine": "blocks/vine" + }, + "elements": [ + { "from": [ 0, 15.2, 0 ], + "to": [ 16, 15.2, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + }, + { "from": [ 15.2, 0, 0 ], + "to": [ 15.2, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + }, + { "from": [ 0.8, 0, 0 ], + "to": [ 0.8, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/vine_3.json b/desktopRuntime/resources/assets/minecraft/models/block/vine_3.json new file mode 100644 index 0000000..4188a5c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/vine_3.json @@ -0,0 +1,33 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/vine", + "vine": "blocks/vine" + }, + "elements": [ + { "from": [ 15.2, 0, 0 ], + "to": [ 15.2, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + }, + { "from": [ 0, 0, 15.2 ], + "to": [ 16, 16, 15.2 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + }, + { "from": [ 0, 0, 0.8 ], + "to": [ 16, 16, 0.8 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/vine_3u.json b/desktopRuntime/resources/assets/minecraft/models/block/vine_3u.json new file mode 100644 index 0000000..a5e9477 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/vine_3u.json @@ -0,0 +1,41 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/vine", + "vine": "blocks/vine" + }, + "elements": [ + { "from": [ 0, 15.2, 0 ], + "to": [ 16, 15.2, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + }, + { "from": [ 15.2, 0, 0 ], + "to": [ 15.2, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + }, + { "from": [ 0, 0, 15.2 ], + "to": [ 16, 16, 15.2 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + }, + { "from": [ 0, 0, 0.8 ], + "to": [ 16, 16, 0.8 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/vine_4.json b/desktopRuntime/resources/assets/minecraft/models/block/vine_4.json new file mode 100644 index 0000000..781fa27 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/vine_4.json @@ -0,0 +1,41 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/vine", + "vine": "blocks/vine" + }, + "elements": [ + { "from": [ 0.8, 0, 0 ], + "to": [ 0.8, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + }, + { "from": [ 15.2, 0, 0 ], + "to": [ 15.2, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + }, + { "from": [ 0, 0, 15.2 ], + "to": [ 16, 16, 15.2 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + }, + { "from": [ 0, 0, 0.8 ], + "to": [ 16, 16, 0.8 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/vine_4u.json b/desktopRuntime/resources/assets/minecraft/models/block/vine_4u.json new file mode 100644 index 0000000..6511e6d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/vine_4u.json @@ -0,0 +1,49 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/vine", + "vine": "blocks/vine" + }, + "elements": [ + { "from": [ 0, 15.2, 0 ], + "to": [ 16, 15.2, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + }, + { "from": [ 0.8, 0, 0 ], + "to": [ 0.8, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + }, + { "from": [ 15.2, 0, 0 ], + "to": [ 15.2, 16, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + }, + { "from": [ 0, 0, 15.2 ], + "to": [ 16, 16, 15.2 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + }, + { "from": [ 0, 0, 0.8 ], + "to": [ 16, 16, 0.8 ], + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/vine_u.json b/desktopRuntime/resources/assets/minecraft/models/block/vine_u.json new file mode 100644 index 0000000..6826525 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/vine_u.json @@ -0,0 +1,17 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/vine", + "vine": "blocks/vine" + }, + "elements": [ + { "from": [ 0, 15.2, 0 ], + "to": [ 16, 15.2, 16 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wall_gate_closed.json b/desktopRuntime/resources/assets/minecraft/models/block/wall_gate_closed.json new file mode 100644 index 0000000..0304ae9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wall_gate_closed.json @@ -0,0 +1,96 @@ +{ + "ambientocclusion": false, + "textures": { + "particle" : "#texture" + }, + "elements": [ + { "__comment": "Left-hand post", + "from": [ 0, 2, 7 ], + "to": [ 2, 13, 9 ], + "faces": { + "down": { "uv": [ 0, 7, 2, 9 ], "texture": "#texture" }, + "up": { "uv": [ 0, 7, 2, 9 ], "texture": "#texture" }, + "north": { "uv": [ 0, 0, 2, 11 ], "texture": "#texture" }, + "south": { "uv": [ 0, 0, 2, 11 ], "texture": "#texture" }, + "west": { "uv": [ 7, 0, 9, 11 ], "texture": "#texture", "cullface": "west" }, + "east": { "uv": [ 7, 0, 9, 11 ], "texture": "#texture" } + } + }, + { "__comment": "Right-hand post", + "from": [ 14, 2, 7 ], + "to": [ 16, 13, 9 ], + "faces": { + "down": { "uv": [ 14, 7, 16, 9 ], "texture": "#texture" }, + "up": { "uv": [ 14, 7, 16, 9 ], "texture": "#texture" }, + "north": { "uv": [ 14, 0, 16, 11 ], "texture": "#texture" }, + "south": { "uv": [ 14, 0, 16, 11 ], "texture": "#texture" }, + "west": { "uv": [ 7, 0, 9, 11 ], "texture": "#texture" }, + "east": { "uv": [ 7, 0, 9, 11 ], "texture": "#texture", "cullface": "east" } + } + }, + { "__comment": "Inner vertical post of left-hand gate door", + "from": [ 6, 3, 7 ], + "to": [ 8, 12, 9 ], + "faces": { + "down": { "uv": [ 6, 7, 8, 9 ], "texture": "#texture" }, + "up": { "uv": [ 6, 7, 8, 9 ], "texture": "#texture" }, + "north": { "uv": [ 6, 1, 8, 10 ], "texture": "#texture" }, + "south": { "uv": [ 6, 1, 8, 10 ], "texture": "#texture" }, + "west": { "uv": [ 7, 1, 9, 10 ], "texture": "#texture" }, + "east": { "uv": [ 7, 1, 9, 10 ], "texture": "#texture" } + } + }, + { "__comment": "Inner vertical post of right-hand gate door", + "from": [ 8, 3, 7 ], + "to": [ 10, 12, 9 ], + "faces": { + "down": { "uv": [ 8, 7, 10, 9 ], "texture": "#texture" }, + "up": { "uv": [ 8, 7, 10, 9 ], "texture": "#texture" }, + "north": { "uv": [ 8, 1, 10, 10 ], "texture": "#texture" }, + "south": { "uv": [ 8, 1, 10, 10 ], "texture": "#texture" }, + "west": { "uv": [ 7, 1, 9, 10 ], "texture": "#texture" }, + "east": { "uv": [ 7, 1, 9, 10 ], "texture": "#texture" } + } + }, + { "__comment": "Lower horizontal bar of left-hand gate door", + "from": [ 2, 3, 7 ], + "to": [ 6, 6, 9 ], + "faces": { + "down": { "uv": [ 2, 7, 6, 9 ], "texture": "#texture" }, + "up": { "uv": [ 2, 7, 6, 9 ], "texture": "#texture" }, + "north": { "uv": [ 2, 7, 6, 10 ], "texture": "#texture" }, + "south": { "uv": [ 2, 7, 6, 10 ], "texture": "#texture" } + } + }, + { "__comment": "Upper horizontal bar of left-hand gate door", + "from": [ 2, 9, 7 ], + "to": [ 6, 12, 9 ], + "faces": { + "down": { "uv": [ 2, 7, 6, 9 ], "texture": "#texture" }, + "up": { "uv": [ 2, 7, 6, 9 ], "texture": "#texture" }, + "north": { "uv": [ 2, 1, 6, 4 ], "texture": "#texture" }, + "south": { "uv": [ 2, 1, 6, 4 ], "texture": "#texture" } + } + }, + { "__comment": "Lower horizontal bar of right-hand gate door", + "from": [ 10, 3, 7 ], + "to": [ 14, 6, 9 ], + "faces": { + "down": { "uv": [ 10, 7, 14, 9 ], "texture": "#texture" }, + "up": { "uv": [ 10, 7, 14, 9 ], "texture": "#texture" }, + "north": { "uv": [ 10, 7, 14, 10 ], "texture": "#texture" }, + "south": { "uv": [ 10, 7, 14, 10 ], "texture": "#texture" } + } + }, + { "__comment": "Upper horizontal bar of right-hand gate door", + "from": [ 10, 9, 7 ], + "to": [ 14, 12, 9 ], + "faces": { + "down": { "uv": [ 10, 7, 14, 9 ], "texture": "#texture" }, + "up": { "uv": [ 10, 7, 14, 9 ], "texture": "#texture" }, + "north": { "uv": [ 10, 1, 14, 4 ], "texture": "#texture" }, + "south": { "uv": [ 10, 1, 14, 4 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wall_gate_open.json b/desktopRuntime/resources/assets/minecraft/models/block/wall_gate_open.json new file mode 100644 index 0000000..9929015 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wall_gate_open.json @@ -0,0 +1,96 @@ +{ + "ambientocclusion": false, + "textures": { + "particle" : "#texture" + }, + "elements": [ + { "__comment": "Left-hand post", + "from": [ 0, 2, 7 ], + "to": [ 2, 13, 9 ], + "faces": { + "down": { "uv": [ 0, 7, 2, 9 ], "texture": "#texture" }, + "up": { "uv": [ 0, 7, 2, 9 ], "texture": "#texture" }, + "north": { "uv": [ 0, 0, 2, 11 ], "texture": "#texture" }, + "south": { "uv": [ 0, 0, 2, 11 ], "texture": "#texture" }, + "west": { "uv": [ 7, 0, 9, 11 ], "texture": "#texture", "cullface": "west" }, + "east": { "uv": [ 7, 0, 9, 11 ], "texture": "#texture" } + } + }, + { "__comment": "Right-hand post", + "from": [ 14, 2, 7 ], + "to": [ 16, 13, 9 ], + "faces": { + "down": { "uv": [ 14, 7, 16, 9 ], "texture": "#texture" }, + "up": { "uv": [ 14, 7, 16, 9 ], "texture": "#texture" }, + "north": { "uv": [ 14, 0, 16, 11 ], "texture": "#texture" }, + "south": { "uv": [ 14, 0, 16, 11 ], "texture": "#texture" }, + "west": { "uv": [ 7, 0, 9, 11 ], "texture": "#texture" }, + "east": { "uv": [ 7, 0, 9, 11 ], "texture": "#texture", "cullface": "east" } + } + }, + { "__comment": "Inner vertical post of left-hand gate door", + "from": [ 0, 3, 13 ], + "to": [ 2, 12, 15 ], + "faces": { + "down": { "uv": [ 0, 13, 2, 15 ], "texture": "#texture" }, + "up": { "uv": [ 0, 13, 2, 15 ], "texture": "#texture" }, + "north": { "uv": [ 0, 1, 2, 10 ], "texture": "#texture" }, + "south": { "uv": [ 0, 1, 2, 10 ], "texture": "#texture" }, + "west": { "uv": [ 13, 1, 15, 10 ], "texture": "#texture" }, + "east": { "uv": [ 13, 1, 15, 10 ], "texture": "#texture" } + } + }, + { "__comment": "Inner vertical post of right-hand gate door", + "from": [ 14, 3, 13 ], + "to": [ 16, 12, 15 ], + "faces": { + "down": { "uv": [ 14, 13, 16, 15 ], "texture": "#texture" }, + "up": { "uv": [ 14, 13, 16, 15 ], "texture": "#texture" }, + "north": { "uv": [ 14, 1, 16, 10 ], "texture": "#texture" }, + "south": { "uv": [ 14, 1, 16, 10 ], "texture": "#texture" }, + "west": { "uv": [ 13, 1, 15, 10 ], "texture": "#texture" }, + "east": { "uv": [ 13, 1, 15, 10 ], "texture": "#texture" } + } + }, + { "__comment": "Lower horizontal bar of left-hand gate door", + "from": [ 0, 3, 9 ], + "to": [ 2, 6, 13 ], + "faces": { + "down": { "uv": [ 0, 9, 2, 13 ], "texture": "#texture" }, + "up": { "uv": [ 0, 9, 2, 13 ], "texture": "#texture" }, + "west": { "uv": [ 13, 7, 15, 10 ], "texture": "#texture" }, + "east": { "uv": [ 13, 7, 15, 10 ], "texture": "#texture" } + } + }, + { "__comment": "Upper horizontal bar of left-hand gate door", + "from": [ 0, 9, 9 ], + "to": [ 2, 12, 13 ], + "faces": { + "down": { "uv": [ 0, 9, 2, 13 ], "texture": "#texture" }, + "up": { "uv": [ 0, 9, 2, 13 ], "texture": "#texture" }, + "west": { "uv": [ 13, 1, 15, 4 ], "texture": "#texture" }, + "east": { "uv": [ 13, 1, 15, 4 ], "texture": "#texture" } + } + }, + { "__comment": "Lower horizontal bar of left-hand gate door", + "from": [ 14, 3, 9 ], + "to": [ 16, 6, 13 ], + "faces": { + "down": { "uv": [ 14, 9, 16, 13 ], "texture": "#texture" }, + "up": { "uv": [ 14, 9, 16, 13 ], "texture": "#texture" }, + "west": { "uv": [ 13, 7, 15, 10 ], "texture": "#texture" }, + "east": { "uv": [ 13, 7, 15, 10 ], "texture": "#texture" } + } + }, + { "__comment": "Upper horizontal bar of left-hand gate door", + "from": [ 14, 9, 9 ], + "to": [ 16, 12, 13 ], + "faces": { + "down": { "uv": [ 14, 9, 16, 13 ], "texture": "#texture" }, + "up": { "uv": [ 14, 9, 16, 13 ], "texture": "#texture" }, + "west": { "uv": [ 13, 1, 15, 4 ], "texture": "#texture" }, + "east": { "uv": [ 13, 1, 15, 4 ], "texture": "#texture" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wall_inventory.json b/desktopRuntime/resources/assets/minecraft/models/block/wall_inventory.json new file mode 100644 index 0000000..293edce --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wall_inventory.json @@ -0,0 +1,32 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#wall" + }, + "elements": [ + { "from": [ 4, 0, 4 ], + "to": [ 12, 16, 12 ], + "faces": { + "down": { "uv": [ 4, 4, 12, 12 ], "texture": "#wall", "cullface": "down" }, + "up": { "uv": [ 4, 4, 12, 12 ], "texture": "#wall" }, + "north": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" }, + "south": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" }, + "west": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" }, + "east": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" } + }, + "__comment": "Center post" + }, + { "from": [ 5, 0, 0 ], + "to": [ 11, 13, 16 ], + "faces": { + "down": { "uv": [ 5, 0, 11, 16 ], "texture": "#wall", "cullface": "down" }, + "up": { "uv": [ 5, 0, 11, 16 ], "texture": "#wall" }, + "north": { "uv": [ 5, 3, 11, 16 ], "texture": "#wall", "cullface": "north" }, + "south": { "uv": [ 5, 3, 11, 16 ], "texture": "#wall", "cullface": "south" }, + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#wall" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#wall" } + }, + "__comment": "Full wall" + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wall_n.json b/desktopRuntime/resources/assets/minecraft/models/block/wall_n.json new file mode 100644 index 0000000..3c47fce --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wall_n.json @@ -0,0 +1,30 @@ +{ + "textures": { + "particle": "#wall" + }, + "elements": [ + { "from": [ 4, 0, 4 ], + "to": [ 12, 16, 12 ], + "faces": { + "down": { "uv": [ 4, 4, 12, 12 ], "texture": "#wall", "cullface": "down" }, + "up": { "uv": [ 4, 4, 12, 12 ], "texture": "#wall", "cullface": "up" }, + "north": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" }, + "south": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" }, + "west": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" }, + "east": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" } + }, + "__comment": "Center post" + }, + { "from": [ 5, 0, 0 ], + "to": [ 11, 13, 4 ], + "faces": { + "down": { "uv": [ 5, 0, 11, 4 ], "texture": "#wall", "cullface": "down" }, + "up": { "uv": [ 5, 0, 11, 4 ], "texture": "#wall" }, + "north": { "uv": [ 5, 3, 11, 16 ], "texture": "#wall", "cullface": "north" }, + "west": { "uv": [ 0, 3, 4, 16 ], "texture": "#wall" }, + "east": { "uv": [ 0, 3, 4, 16 ], "texture": "#wall" } + }, + "__comment": "North wall" + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wall_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/wall_ne.json new file mode 100644 index 0000000..eacffb8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wall_ne.json @@ -0,0 +1,41 @@ +{ + "textures": { + "particle": "#wall" + }, + "elements": [ + { "from": [ 4, 0, 4 ], + "to": [ 12, 16, 12 ], + "faces": { + "down": { "uv": [ 4, 4, 12, 12 ], "texture": "#wall", "cullface": "down" }, + "up": { "uv": [ 4, 4, 12, 12 ], "texture": "#wall", "cullface": "up" }, + "north": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" }, + "south": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" }, + "west": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" }, + "east": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" } + }, + "__comment": "Center post" + }, + { "from": [ 5, 0, 0 ], + "to": [ 11, 13, 4 ], + "faces": { + "down": { "uv": [ 5, 0, 11, 4 ], "texture": "#wall", "cullface": "down" }, + "up": { "uv": [ 5, 0, 11, 4 ], "texture": "#wall" }, + "north": { "uv": [ 5, 3, 11, 16 ], "texture": "#wall", "cullface": "north" }, + "west": { "uv": [ 0, 3, 4, 16 ], "texture": "#wall" }, + "east": { "uv": [ 0, 3, 4, 16 ], "texture": "#wall" } + }, + "__comment": "North wall" + }, + { "from": [ 12, 0, 5 ], + "to": [ 16, 13, 11 ], + "faces": { + "down": { "uv": [ 5, 12, 11, 16 ], "texture": "#wall", "rotation": 90, "cullface": "down" }, + "up": { "uv": [ 5, 12, 11, 16 ], "texture": "#wall", "rotation": 90 }, + "north": { "uv": [ 12, 3, 16, 16 ], "texture": "#wall" }, + "south": { "uv": [ 12, 3, 16, 16 ], "texture": "#wall" }, + "east": { "uv": [ 5, 3, 11, 16 ], "texture": "#wall", "cullface": "east" } + }, + "__comment": "East wall" + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wall_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/wall_ns.json new file mode 100644 index 0000000..48725d3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wall_ns.json @@ -0,0 +1,18 @@ +{ + "textures": { + "particle": "#wall" + }, + "elements": [ + { "from": [ 5, 0, 0 ], + "to": [ 11, 13, 16 ], + "faces": { + "down": { "uv": [ 5, 0, 11, 16 ], "texture": "#wall", "cullface": "down" }, + "up": { "uv": [ 5, 0, 11, 16 ], "texture": "#wall" }, + "north": { "uv": [ 5, 3, 11, 16 ], "texture": "#wall", "cullface": "north" }, + "south": { "uv": [ 5, 3, 11, 16 ], "texture": "#wall", "cullface": "south" }, + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#wall" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#wall" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wall_ns_above.json b/desktopRuntime/resources/assets/minecraft/models/block/wall_ns_above.json new file mode 100644 index 0000000..77de4f8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wall_ns_above.json @@ -0,0 +1,30 @@ +{ + "textures": { + "particle": "#wall" + }, + "elements": [ + { "from": [ 4, 0, 4 ], + "to": [ 12, 16, 12 ], + "faces": { + "down": { "uv": [ 4, 4, 12, 12 ], "texture": "#wall", "cullface": "down" }, + "up": { "uv": [ 4, 4, 12, 12 ], "texture": "#wall", "cullface": "up" }, + "north": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" }, + "south": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" }, + "west": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" }, + "east": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" } + }, + "__comment": "Center post" + }, + { "from": [ 5, 0, 0 ], + "to": [ 11, 13, 16 ], + "faces": { + "down": { "uv": [ 5, 0, 11, 16 ], "texture": "#wall", "cullface": "down" }, + "up": { "uv": [ 5, 0, 11, 16 ], "texture": "#wall" }, + "north": { "uv": [ 5, 3, 11, 16 ], "texture": "#wall", "cullface": "north" }, + "south": { "uv": [ 5, 3, 11, 16 ], "texture": "#wall", "cullface": "south" }, + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#wall" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#wall" } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wall_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/wall_nse.json new file mode 100644 index 0000000..cc1998b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wall_nse.json @@ -0,0 +1,52 @@ +{ + "textures": { + "particle": "#wall" + }, + "elements": [ + { "from": [ 4, 0, 4 ], + "to": [ 12, 16, 12 ], + "faces": { + "down": { "uv": [ 4, 4, 12, 12 ], "texture": "#wall", "cullface": "down" }, + "up": { "uv": [ 4, 4, 12, 12 ], "texture": "#wall", "cullface": "up" }, + "north": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" }, + "south": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" }, + "west": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" }, + "east": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" } + }, + "__comment": "Center post" + }, + { "from": [ 5, 0, 0 ], + "to": [ 11, 13, 4 ], + "faces": { + "down": { "uv": [ 5, 0, 11, 4 ], "texture": "#wall", "cullface": "down" }, + "up": { "uv": [ 5, 0, 11, 4 ], "texture": "#wall" }, + "north": { "uv": [ 5, 3, 11, 16 ], "texture": "#wall", "cullface": "north" }, + "west": { "uv": [ 0, 3, 4, 16 ], "texture": "#wall" }, + "east": { "uv": [ 0, 3, 4, 16 ], "texture": "#wall" } + }, + "__comment": "North wall" + }, + { "from": [ 5, 0, 12 ], + "to": [ 11, 13, 16 ], + "faces": { + "down": { "uv": [ 5, 12, 11, 16 ], "texture": "#wall", "cullface": "down" }, + "up": { "uv": [ 5, 12, 11, 16 ], "texture": "#wall" }, + "south": { "uv": [ 5, 3, 11, 16 ], "texture": "#wall", "cullface": "south" }, + "west": { "uv": [ 12, 3, 16, 16 ], "texture": "#wall" }, + "east": { "uv": [ 12, 3, 16, 16 ], "texture": "#wall" } + }, + "__comment": "South wall" + }, + { "from": [ 12, 0, 5 ], + "to": [ 16, 13, 11 ], + "faces": { + "down": { "uv": [ 5, 12, 11, 16 ], "texture": "#wall", "rotation": 90, "cullface": "down" }, + "up": { "uv": [ 5, 12, 11, 16 ], "texture": "#wall", "rotation": 90 }, + "north": { "uv": [ 12, 3, 16, 16 ], "texture": "#wall" }, + "south": { "uv": [ 12, 3, 16, 16 ], "texture": "#wall" }, + "east": { "uv": [ 5, 3, 11, 16 ], "texture": "#wall", "cullface": "east" } + }, + "__comment": "East wall" + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wall_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/wall_nsew.json new file mode 100644 index 0000000..e81dee1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wall_nsew.json @@ -0,0 +1,63 @@ +{ + "textures": { + "particle": "#wall" + }, + "elements": [ + { "from": [ 4, 0, 4 ], + "to": [ 12, 16, 12 ], + "faces": { + "down": { "uv": [ 4, 4, 12, 12 ], "texture": "#wall", "cullface": "down" }, + "up": { "uv": [ 4, 4, 12, 12 ], "texture": "#wall", "cullface": "up" }, + "north": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" }, + "south": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" }, + "west": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" }, + "east": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" } + }, + "__comment": "Center post" + }, + { "from": [ 5, 0, 0 ], + "to": [ 11, 13, 4 ], + "faces": { + "down": { "uv": [ 5, 0, 11, 4 ], "texture": "#wall", "cullface": "down" }, + "up": { "uv": [ 5, 0, 11, 4 ], "texture": "#wall" }, + "north": { "uv": [ 5, 3, 11, 16 ], "texture": "#wall", "cullface": "north" }, + "west": { "uv": [ 0, 3, 4, 16 ], "texture": "#wall" }, + "east": { "uv": [ 0, 3, 4, 16 ], "texture": "#wall" } + }, + "__comment": "North wall" + }, + { "from": [ 5, 0, 12 ], + "to": [ 11, 13, 16 ], + "faces": { + "down": { "uv": [ 5, 12, 11, 16 ], "texture": "#wall", "cullface": "down" }, + "up": { "uv": [ 5, 12, 11, 16 ], "texture": "#wall" }, + "south": { "uv": [ 5, 3, 11, 16 ], "texture": "#wall", "cullface": "south" }, + "west": { "uv": [ 12, 3, 16, 16 ], "texture": "#wall" }, + "east": { "uv": [ 12, 3, 16, 16 ], "texture": "#wall" } + }, + "__comment": "South wall" + }, + { "from": [ 12, 0, 5 ], + "to": [ 16, 13, 11 ], + "faces": { + "down": { "uv": [ 5, 12, 11, 16 ], "texture": "#wall", "rotation": 90, "cullface": "down" }, + "up": { "uv": [ 5, 12, 11, 16 ], "texture": "#wall", "rotation": 90 }, + "north": { "uv": [ 12, 3, 16, 16 ], "texture": "#wall" }, + "south": { "uv": [ 12, 3, 16, 16 ], "texture": "#wall" }, + "east": { "uv": [ 5, 3, 11, 16 ], "texture": "#wall", "cullface": "east" } + }, + "__comment": "East wall" + }, + { "from": [ 0, 0, 5 ], + "to": [ 4, 13, 11 ], + "faces": { + "down": { "uv": [ 5, 0, 11, 4 ], "texture": "#wall", "rotation": 90, "cullface": "down" }, + "up": { "uv": [ 5, 0, 11, 4 ], "texture": "#wall", "rotation": 90 }, + "north": { "uv": [ 0, 3, 4, 16 ], "texture": "#wall" }, + "south": { "uv": [ 0, 3, 4, 16 ], "texture": "#wall" }, + "west": { "uv": [ 5, 3, 11, 16 ], "texture": "#wall", "cullface": "west" } + }, + "__comment": "West wall" + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wall_post.json b/desktopRuntime/resources/assets/minecraft/models/block/wall_post.json new file mode 100644 index 0000000..7011432 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wall_post.json @@ -0,0 +1,19 @@ +{ + "textures": { + "particle": "#wall" + }, + "elements": [ + { "from": [ 4, 0, 4 ], + "to": [ 12, 16, 12 ], + "faces": { + "down": { "uv": [ 4, 4, 12, 12 ], "texture": "#wall", "cullface": "down" }, + "up": { "uv": [ 4, 4, 12, 12 ], "texture": "#wall", "cullface": "up" }, + "north": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" }, + "south": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" }, + "west": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" }, + "east": { "uv": [ 4, 0, 12, 16 ], "texture": "#wall" } + }, + "__comment": "Center post" + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/waterlily.json b/desktopRuntime/resources/assets/minecraft/models/block/waterlily.json new file mode 100644 index 0000000..05ab3ec --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/waterlily.json @@ -0,0 +1,16 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "blocks/waterlily", + "texture": "blocks/waterlily" + }, + "elements": [ + { "from": [ 0, 0.25, 0 ], + "to": [ 16, 0.25, 16 ], + "faces": { + "down": { "uv": [ 16, 16, 0, 0 ], "texture": "#texture", "tintindex": 0 }, + "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "tintindex": 0 } + } + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/web.json b/desktopRuntime/resources/assets/minecraft/models/block/web.json new file mode 100644 index 0000000..f8865a4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/web.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/web" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage0.json b/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage0.json new file mode 100644 index 0000000..ce87881 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage0.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/wheat_stage_0" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage1.json b/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage1.json new file mode 100644 index 0000000..de91d6e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage1.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/wheat_stage_1" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage2.json b/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage2.json new file mode 100644 index 0000000..02fd59d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage2.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/wheat_stage_2" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage3.json b/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage3.json new file mode 100644 index 0000000..dfe64db --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage3.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/wheat_stage_3" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage4.json b/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage4.json new file mode 100644 index 0000000..5ae3af4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage4.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/wheat_stage_4" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage5.json b/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage5.json new file mode 100644 index 0000000..3ceb724 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage5.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/wheat_stage_5" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage6.json b/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage6.json new file mode 100644 index 0000000..dff51c3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage6.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/wheat_stage_6" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage7.json b/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage7.json new file mode 100644 index 0000000..71dccdc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wheat_stage7.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "blocks/wheat_stage_7" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/white_pane_n.json b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_n.json new file mode 100644 index 0000000..2957003 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_n.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_n", + "textures": { + "edge": "blocks/glass_pane_top_white", + "pane": "blocks/glass_white" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/white_pane_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_ne.json new file mode 100644 index 0000000..bf04bee --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_ne.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ne", + "textures": { + "edge": "blocks/glass_pane_top_white", + "pane": "blocks/glass_white" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/white_pane_new.json b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_new.json new file mode 100644 index 0000000..202b1fd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_new.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_new", + "textures": { + "edge": "blocks/glass_pane_top_white", + "pane": "blocks/glass_white" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/white_pane_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_ns.json new file mode 100644 index 0000000..f241ea9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_ns.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ns", + "textures": { + "edge": "blocks/glass_pane_top_white", + "pane": "blocks/glass_white" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/white_pane_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_nse.json new file mode 100644 index 0000000..a9cb2e4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_nse.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nse", + "textures": { + "edge": "blocks/glass_pane_top_white", + "pane": "blocks/glass_white" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/white_pane_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_nsew.json new file mode 100644 index 0000000..4fbdb7a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_nsew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsew", + "textures": { + "edge": "blocks/glass_pane_top_white", + "pane": "blocks/glass_white" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/white_pane_nsw.json b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_nsw.json new file mode 100644 index 0000000..60f1201 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_nsw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsw", + "textures": { + "edge": "blocks/glass_pane_top_white", + "pane": "blocks/glass_white" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/white_pane_nw.json b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_nw.json new file mode 100644 index 0000000..fedb399 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_nw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nw", + "textures": { + "edge": "blocks/glass_pane_top_white", + "pane": "blocks/glass_white" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/white_pane_s.json b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_s.json new file mode 100644 index 0000000..eafb711 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_s.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_s", + "textures": { + "edge": "blocks/glass_pane_top_white", + "pane": "blocks/glass_white" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/white_pane_se.json b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_se.json new file mode 100644 index 0000000..69fa87c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_se.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_se", + "textures": { + "edge": "blocks/glass_pane_top_white", + "pane": "blocks/glass_white" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/white_pane_sew.json b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_sew.json new file mode 100644 index 0000000..7edfba8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_sew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sew", + "textures": { + "edge": "blocks/glass_pane_top_white", + "pane": "blocks/glass_white" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/white_pane_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_sw.json new file mode 100644 index 0000000..cf0d8fd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/white_pane_sw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sw", + "textures": { + "edge": "blocks/glass_pane_top_white", + "pane": "blocks/glass_white" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/white_tulip.json b/desktopRuntime/resources/assets/minecraft/models/block/white_tulip.json new file mode 100644 index 0000000..a756684 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/white_tulip.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "blocks/flower_tulip_white" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/white_wool.json b/desktopRuntime/resources/assets/minecraft/models/block/white_wool.json new file mode 100644 index 0000000..8d65e42 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/white_wool.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/wool_colored_white" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wooden_button.json b/desktopRuntime/resources/assets/minecraft/models/block/wooden_button.json new file mode 100644 index 0000000..71de151 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wooden_button.json @@ -0,0 +1,6 @@ +{ + "parent": "block/button", + "textures": { + "texture": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wooden_button_inventory.json b/desktopRuntime/resources/assets/minecraft/models/block/wooden_button_inventory.json new file mode 100644 index 0000000..2dbeee4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wooden_button_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "block/button_inventory", + "textures": { + "texture": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wooden_button_pressed.json b/desktopRuntime/resources/assets/minecraft/models/block/wooden_button_pressed.json new file mode 100644 index 0000000..6e87f53 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wooden_button_pressed.json @@ -0,0 +1,6 @@ +{ + "parent": "block/button_pressed", + "textures": { + "texture": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wooden_door_bottom.json b/desktopRuntime/resources/assets/minecraft/models/block/wooden_door_bottom.json new file mode 100644 index 0000000..32c6740 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wooden_door_bottom.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_bottom", + "textures": { + "bottom": "blocks/door_wood_lower", + "top": "blocks/door_wood_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wooden_door_bottom_rh.json b/desktopRuntime/resources/assets/minecraft/models/block/wooden_door_bottom_rh.json new file mode 100644 index 0000000..7ec8d01 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wooden_door_bottom_rh.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_bottom_rh", + "textures": { + "bottom": "blocks/door_wood_lower", + "top": "blocks/door_wood_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wooden_door_top.json b/desktopRuntime/resources/assets/minecraft/models/block/wooden_door_top.json new file mode 100644 index 0000000..4d38b09 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wooden_door_top.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_top", + "textures": { + "bottom": "blocks/door_wood_lower", + "top": "blocks/door_wood_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wooden_door_top_rh.json b/desktopRuntime/resources/assets/minecraft/models/block/wooden_door_top_rh.json new file mode 100644 index 0000000..642d4fd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wooden_door_top_rh.json @@ -0,0 +1,7 @@ +{ + "parent": "block/door_top_rh", + "textures": { + "bottom": "blocks/door_wood_lower", + "top": "blocks/door_wood_upper" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wooden_pressure_plate_down.json b/desktopRuntime/resources/assets/minecraft/models/block/wooden_pressure_plate_down.json new file mode 100644 index 0000000..c14ba2f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wooden_pressure_plate_down.json @@ -0,0 +1,6 @@ +{ + "parent": "block/pressure_plate_down", + "textures": { + "texture": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wooden_pressure_plate_inventory.json b/desktopRuntime/resources/assets/minecraft/models/block/wooden_pressure_plate_inventory.json new file mode 100644 index 0000000..2985272 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wooden_pressure_plate_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "block/pressure_plate_inventory", + "textures": { + "texture": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wooden_pressure_plate_up.json b/desktopRuntime/resources/assets/minecraft/models/block/wooden_pressure_plate_up.json new file mode 100644 index 0000000..5438a15 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wooden_pressure_plate_up.json @@ -0,0 +1,6 @@ +{ + "parent": "block/pressure_plate_up", + "textures": { + "texture": "blocks/planks_oak" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wooden_trapdoor_bottom.json b/desktopRuntime/resources/assets/minecraft/models/block/wooden_trapdoor_bottom.json new file mode 100644 index 0000000..6491516 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wooden_trapdoor_bottom.json @@ -0,0 +1,6 @@ +{ + "parent": "block/trapdoor_bottom", + "textures": { + "texture": "blocks/trapdoor" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wooden_trapdoor_open.json b/desktopRuntime/resources/assets/minecraft/models/block/wooden_trapdoor_open.json new file mode 100644 index 0000000..bf0fb3f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wooden_trapdoor_open.json @@ -0,0 +1,6 @@ +{ + "parent": "block/trapdoor_open", + "textures": { + "texture": "blocks/trapdoor" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/wooden_trapdoor_top.json b/desktopRuntime/resources/assets/minecraft/models/block/wooden_trapdoor_top.json new file mode 100644 index 0000000..6d032e7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/wooden_trapdoor_top.json @@ -0,0 +1,6 @@ +{ + "parent": "block/trapdoor_top", + "textures": { + "texture": "blocks/trapdoor" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_n.json b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_n.json new file mode 100644 index 0000000..b80ee45 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_n.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_n", + "textures": { + "edge": "blocks/glass_pane_top_yellow", + "pane": "blocks/glass_yellow" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_ne.json b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_ne.json new file mode 100644 index 0000000..4c5d128 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_ne.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ne", + "textures": { + "edge": "blocks/glass_pane_top_yellow", + "pane": "blocks/glass_yellow" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_new.json b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_new.json new file mode 100644 index 0000000..5a4a214 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_new.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_new", + "textures": { + "edge": "blocks/glass_pane_top_yellow", + "pane": "blocks/glass_yellow" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_ns.json b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_ns.json new file mode 100644 index 0000000..40c1eac --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_ns.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_ns", + "textures": { + "edge": "blocks/glass_pane_top_yellow", + "pane": "blocks/glass_yellow" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_nse.json b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_nse.json new file mode 100644 index 0000000..6870fe1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_nse.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nse", + "textures": { + "edge": "blocks/glass_pane_top_yellow", + "pane": "blocks/glass_yellow" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_nsew.json b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_nsew.json new file mode 100644 index 0000000..4f9ebb6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_nsew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsew", + "textures": { + "edge": "blocks/glass_pane_top_yellow", + "pane": "blocks/glass_yellow" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_nsw.json b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_nsw.json new file mode 100644 index 0000000..37a9269 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_nsw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nsw", + "textures": { + "edge": "blocks/glass_pane_top_yellow", + "pane": "blocks/glass_yellow" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_nw.json b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_nw.json new file mode 100644 index 0000000..c9b495a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_nw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_nw", + "textures": { + "edge": "blocks/glass_pane_top_yellow", + "pane": "blocks/glass_yellow" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_s.json b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_s.json new file mode 100644 index 0000000..5599e6c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_s.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_s", + "textures": { + "edge": "blocks/glass_pane_top_yellow", + "pane": "blocks/glass_yellow" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_se.json b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_se.json new file mode 100644 index 0000000..cb0688a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_se.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_se", + "textures": { + "edge": "blocks/glass_pane_top_yellow", + "pane": "blocks/glass_yellow" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_sew.json b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_sew.json new file mode 100644 index 0000000..814ff01 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_sew.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sew", + "textures": { + "edge": "blocks/glass_pane_top_yellow", + "pane": "blocks/glass_yellow" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_sw.json b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_sw.json new file mode 100644 index 0000000..0d99b96 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/yellow_pane_sw.json @@ -0,0 +1,7 @@ +{ + "parent": "block/pane_sw", + "textures": { + "edge": "blocks/glass_pane_top_yellow", + "pane": "blocks/glass_yellow" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/block/yellow_wool.json b/desktopRuntime/resources/assets/minecraft/models/block/yellow_wool.json new file mode 100644 index 0000000..2f778dc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/block/yellow_wool.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/wool_colored_yellow" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/acacia_door.json b/desktopRuntime/resources/assets/minecraft/models/item/acacia_door.json new file mode 100644 index 0000000..1bb86ec --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/acacia_door.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/door_acacia" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/acacia_fence.json b/desktopRuntime/resources/assets/minecraft/models/item/acacia_fence.json new file mode 100644 index 0000000..c312891 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/acacia_fence.json @@ -0,0 +1,13 @@ +{ + "parent": "block/acacia_fence_inventory", + "display": { + "thirdperson": { + "rotation": [ 0, 0, 180 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "gui": { + "rotation": [ 0, 90, 0 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/acacia_fence_gate.json b/desktopRuntime/resources/assets/minecraft/models/item/acacia_fence_gate.json new file mode 100644 index 0000000..8001de6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/acacia_fence_gate.json @@ -0,0 +1,15 @@ +{ + "parent": "block/acacia_fence_gate_closed", + "display": { + "thirdperson": { + "rotation": [ 0, -90, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 90, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/acacia_leaves.json b/desktopRuntime/resources/assets/minecraft/models/item/acacia_leaves.json new file mode 100644 index 0000000..d79009e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/acacia_leaves.json @@ -0,0 +1,10 @@ +{ + "parent": "block/acacia_leaves", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/acacia_log.json b/desktopRuntime/resources/assets/minecraft/models/item/acacia_log.json new file mode 100644 index 0000000..9e9eeae --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/acacia_log.json @@ -0,0 +1,10 @@ +{ + "parent": "block/acacia_log", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/acacia_planks.json b/desktopRuntime/resources/assets/minecraft/models/item/acacia_planks.json new file mode 100644 index 0000000..286b8da --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/acacia_planks.json @@ -0,0 +1,10 @@ +{ + "parent": "block/acacia_planks", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/acacia_sapling.json b/desktopRuntime/resources/assets/minecraft/models/item/acacia_sapling.json new file mode 100644 index 0000000..ef96e55 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/acacia_sapling.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/sapling_acacia" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/acacia_slab.json b/desktopRuntime/resources/assets/minecraft/models/item/acacia_slab.json new file mode 100644 index 0000000..5aa544c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/acacia_slab.json @@ -0,0 +1,10 @@ +{ + "parent": "block/half_slab_acacia", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/acacia_stairs.json b/desktopRuntime/resources/assets/minecraft/models/item/acacia_stairs.json new file mode 100644 index 0000000..b1ca6ff --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/acacia_stairs.json @@ -0,0 +1,13 @@ +{ + "parent": "block/acacia_stairs", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "gui": { + "rotation": [ 0, 180, 0 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/activator_rail.json b/desktopRuntime/resources/assets/minecraft/models/item/activator_rail.json new file mode 100644 index 0000000..2339f36 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/activator_rail.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/rail_activator" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/allium.json b/desktopRuntime/resources/assets/minecraft/models/item/allium.json new file mode 100644 index 0000000..607c448 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/allium.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/flower_allium" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/andesite.json b/desktopRuntime/resources/assets/minecraft/models/item/andesite.json new file mode 100644 index 0000000..42227ca --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/andesite.json @@ -0,0 +1,10 @@ +{ + "parent": "block/andesite", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/andesite_smooth.json b/desktopRuntime/resources/assets/minecraft/models/item/andesite_smooth.json new file mode 100644 index 0000000..24b0711 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/andesite_smooth.json @@ -0,0 +1,10 @@ +{ + "parent": "block/andesite_smooth", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/anvil_intact.json b/desktopRuntime/resources/assets/minecraft/models/item/anvil_intact.json new file mode 100644 index 0000000..a879c37 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/anvil_intact.json @@ -0,0 +1,10 @@ +{ + "parent": "block/anvil_undamaged", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0.25, 1.5, -2.5 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/anvil_slightly_damaged.json b/desktopRuntime/resources/assets/minecraft/models/item/anvil_slightly_damaged.json new file mode 100644 index 0000000..c35bd95 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/anvil_slightly_damaged.json @@ -0,0 +1,10 @@ +{ + "parent": "block/anvil_slightly_damaged", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0.25, 1.5, -2.5 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/anvil_very_damaged.json b/desktopRuntime/resources/assets/minecraft/models/item/anvil_very_damaged.json new file mode 100644 index 0000000..88c34ff --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/anvil_very_damaged.json @@ -0,0 +1,10 @@ +{ + "parent": "block/anvil_very_damaged", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0.25, 1.5, -2.5 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/apple.json b/desktopRuntime/resources/assets/minecraft/models/item/apple.json new file mode 100644 index 0000000..6c39e31 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/apple.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/apple" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/armor_stand.json b/desktopRuntime/resources/assets/minecraft/models/item/armor_stand.json new file mode 100644 index 0000000..62c14b8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/armor_stand.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/wooden_armorstand" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/arrow.json b/desktopRuntime/resources/assets/minecraft/models/item/arrow.json new file mode 100644 index 0000000..c2237f3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/arrow.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/arrow" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/baked_potato.json b/desktopRuntime/resources/assets/minecraft/models/item/baked_potato.json new file mode 100644 index 0000000..e2c8ddc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/baked_potato.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/potato_baked" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/banner.json b/desktopRuntime/resources/assets/minecraft/models/item/banner.json new file mode 100644 index 0000000..ed4cbd4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/banner.json @@ -0,0 +1,22 @@ +{ + "parent": "builtin/entity", + "display": { + "thirdperson": { + "rotation": [ 0, 90, -90 ], + "translation": [ 0, 0, -4 ], + "scale": [ 0.5, 0.5, 0.5 ] + }, + "firstperson": { + "rotation": [ 0, 225, 0 ] + }, + "gui": { + "rotation": [ 0, -65, 0 ], + "translation": [ 0, -3, 0 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "head": { + "translation": [ 0, 8, 3.5 ], + "scale": [ 1.5, 1.5, 1.5 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/barrier.json b/desktopRuntime/resources/assets/minecraft/models/item/barrier.json new file mode 100644 index 0000000..f5dc51e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/barrier.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/barrier" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/beacon.json b/desktopRuntime/resources/assets/minecraft/models/item/beacon.json new file mode 100644 index 0000000..1a8ce48 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/beacon.json @@ -0,0 +1,10 @@ +{ + "parent": "block/beacon", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/bed.json b/desktopRuntime/resources/assets/minecraft/models/item/bed.json new file mode 100644 index 0000000..530b5a5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/bed.json @@ -0,0 +1,30 @@ +{ + "parent": "block/bed_inventory", + "display": { + "ground": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 2, 2, 2 ] + }, + "thirdperson": { + "rotation": [ -115, 35, -30 ], + "translation": [ 0.5, 1.5, -4 ], + "scale": [ 0.5, 0.5, 0.5 ] + }, + "firstperson": { + "rotation": [ -25, -247.5, 10 ], + "translation": [ 6, 1.8, 3 ], + "scale": [ 3.4, 3.4, 3.4 ] + }, + "gui": { + "rotation": [ 0, -65, 0 ], + "translation": [ -0.5, 4, 0 ], + "scale": [ 1.7, 1.7, 1.7 ] + }, + "fixed": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 0, -6 ], + "scale": [ 2, 2, 2 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/bedrock.json b/desktopRuntime/resources/assets/minecraft/models/item/bedrock.json new file mode 100644 index 0000000..b7821e0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/bedrock.json @@ -0,0 +1,10 @@ +{ + "parent": "block/bedrock", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/beef.json b/desktopRuntime/resources/assets/minecraft/models/item/beef.json new file mode 100644 index 0000000..3bcfde2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/beef.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/beef_raw" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/beetroot.json b/desktopRuntime/resources/assets/minecraft/models/item/beetroot.json new file mode 100644 index 0000000..69bf0e2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/beetroot.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/beetroot" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/beetroot_seeds.json b/desktopRuntime/resources/assets/minecraft/models/item/beetroot_seeds.json new file mode 100644 index 0000000..44aa5a8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/beetroot_seeds.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/beetroot_seeds" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/beetroot_soup.json b/desktopRuntime/resources/assets/minecraft/models/item/beetroot_soup.json new file mode 100644 index 0000000..ca71cd9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/beetroot_soup.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/beetroot_soup" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/birch_door.json b/desktopRuntime/resources/assets/minecraft/models/item/birch_door.json new file mode 100644 index 0000000..1673e29 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/birch_door.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/door_birch" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/birch_fence.json b/desktopRuntime/resources/assets/minecraft/models/item/birch_fence.json new file mode 100644 index 0000000..fa67609 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/birch_fence.json @@ -0,0 +1,13 @@ +{ + "parent": "block/birch_fence_inventory", + "display": { + "thirdperson": { + "rotation": [ 0, 0, 180 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "gui": { + "rotation": [ 0, 90, 0 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/birch_fence_gate.json b/desktopRuntime/resources/assets/minecraft/models/item/birch_fence_gate.json new file mode 100644 index 0000000..417d296 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/birch_fence_gate.json @@ -0,0 +1,15 @@ +{ + "parent": "block/birch_fence_gate_closed", + "display": { + "thirdperson": { + "rotation": [ 0, -90, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 90, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/birch_leaves.json b/desktopRuntime/resources/assets/minecraft/models/item/birch_leaves.json new file mode 100644 index 0000000..7e7b628 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/birch_leaves.json @@ -0,0 +1,10 @@ +{ + "parent": "block/birch_leaves", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/birch_log.json b/desktopRuntime/resources/assets/minecraft/models/item/birch_log.json new file mode 100644 index 0000000..6dacb2c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/birch_log.json @@ -0,0 +1,10 @@ +{ + "parent": "block/birch_log", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/birch_planks.json b/desktopRuntime/resources/assets/minecraft/models/item/birch_planks.json new file mode 100644 index 0000000..36932f7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/birch_planks.json @@ -0,0 +1,10 @@ +{ + "parent": "block/birch_planks", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/birch_sapling.json b/desktopRuntime/resources/assets/minecraft/models/item/birch_sapling.json new file mode 100644 index 0000000..7c9d538 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/birch_sapling.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/sapling_birch" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/birch_slab.json b/desktopRuntime/resources/assets/minecraft/models/item/birch_slab.json new file mode 100644 index 0000000..430bb02 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/birch_slab.json @@ -0,0 +1,10 @@ +{ + "parent": "block/half_slab_birch", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/birch_stairs.json b/desktopRuntime/resources/assets/minecraft/models/item/birch_stairs.json new file mode 100644 index 0000000..371d911 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/birch_stairs.json @@ -0,0 +1,13 @@ +{ + "parent": "block/birch_stairs", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "gui": { + "rotation": [ 0, 180, 0 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/black_carpet.json b/desktopRuntime/resources/assets/minecraft/models/item/black_carpet.json new file mode 100644 index 0000000..3dd6fc8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/black_carpet.json @@ -0,0 +1,15 @@ +{ + "parent": "block/carpet_black", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 0.25, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 5.25, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/black_stained_glass.json b/desktopRuntime/resources/assets/minecraft/models/item/black_stained_glass.json new file mode 100644 index 0000000..86ad1af --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/black_stained_glass.json @@ -0,0 +1,10 @@ +{ + "parent": "block/glass_black", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/black_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/models/item/black_stained_glass_pane.json new file mode 100644 index 0000000..45f6e50 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/black_stained_glass_pane.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/glass_black" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/black_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/models/item/black_stained_hardened_clay.json new file mode 100644 index 0000000..77880a4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/black_stained_hardened_clay.json @@ -0,0 +1,10 @@ +{ + "parent": "block/hardened_clay_black", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/black_wool.json b/desktopRuntime/resources/assets/minecraft/models/item/black_wool.json new file mode 100644 index 0000000..34ae186 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/black_wool.json @@ -0,0 +1,10 @@ +{ + "parent": "block/black_wool", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/blaze_powder.json b/desktopRuntime/resources/assets/minecraft/models/item/blaze_powder.json new file mode 100644 index 0000000..a392e08 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/blaze_powder.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/blaze_powder" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/blaze_rod.json b/desktopRuntime/resources/assets/minecraft/models/item/blaze_rod.json new file mode 100644 index 0000000..cedc4fb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/blaze_rod.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/blaze_rod" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 0.75, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/blue_carpet.json b/desktopRuntime/resources/assets/minecraft/models/item/blue_carpet.json new file mode 100644 index 0000000..e1298a7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/blue_carpet.json @@ -0,0 +1,15 @@ +{ + "parent": "block/carpet_blue", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 0.25, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 5.25, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/blue_orchid.json b/desktopRuntime/resources/assets/minecraft/models/item/blue_orchid.json new file mode 100644 index 0000000..0dd2e78 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/blue_orchid.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/flower_blue_orchid" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/blue_stained_glass.json b/desktopRuntime/resources/assets/minecraft/models/item/blue_stained_glass.json new file mode 100644 index 0000000..851c934 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/blue_stained_glass.json @@ -0,0 +1,10 @@ +{ + "parent": "block/glass_blue", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/blue_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/models/item/blue_stained_glass_pane.json new file mode 100644 index 0000000..4c580a5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/blue_stained_glass_pane.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/glass_blue" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/blue_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/models/item/blue_stained_hardened_clay.json new file mode 100644 index 0000000..86595e8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/blue_stained_hardened_clay.json @@ -0,0 +1,10 @@ +{ + "parent": "block/hardened_clay_blue", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/blue_wool.json b/desktopRuntime/resources/assets/minecraft/models/item/blue_wool.json new file mode 100644 index 0000000..bf87579 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/blue_wool.json @@ -0,0 +1,10 @@ +{ + "parent": "block/blue_wool", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/boat.json b/desktopRuntime/resources/assets/minecraft/models/item/boat.json new file mode 100644 index 0000000..b85e5fb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/boat.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/boat" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/bone.json b/desktopRuntime/resources/assets/minecraft/models/item/bone.json new file mode 100644 index 0000000..08a6116 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/bone.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/bone" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/book.json b/desktopRuntime/resources/assets/minecraft/models/item/book.json new file mode 100644 index 0000000..5a8bad3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/book.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/book_normal" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/bookshelf.json b/desktopRuntime/resources/assets/minecraft/models/item/bookshelf.json new file mode 100644 index 0000000..42d5aeb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/bookshelf.json @@ -0,0 +1,10 @@ +{ + "parent": "block/bookshelf", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/bottle_drinkable.json b/desktopRuntime/resources/assets/minecraft/models/item/bottle_drinkable.json new file mode 100644 index 0000000..ada5901 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/bottle_drinkable.json @@ -0,0 +1,19 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/potion_overlay", + "layer1": "items/potion_bottle_drinkable" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/bottle_splash.json b/desktopRuntime/resources/assets/minecraft/models/item/bottle_splash.json new file mode 100644 index 0000000..28efe5e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/bottle_splash.json @@ -0,0 +1,19 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/potion_overlay", + "layer1": "items/potion_bottle_splash" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/bow.json b/desktopRuntime/resources/assets/minecraft/models/item/bow.json new file mode 100644 index 0000000..706bdf3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/bow.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/bow_standby" + }, + "display": { + "thirdperson": { + "rotation": [ 5, 80, -45 ], + "translation": [ 0.75, 0, 0.25 ], + "scale": [ 1, 1, 1 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/bow_pulling_0.json b/desktopRuntime/resources/assets/minecraft/models/item/bow_pulling_0.json new file mode 100644 index 0000000..8c965fc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/bow_pulling_0.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/bow_pulling_0" + }, + "display": { + "thirdperson": { + "rotation": [ 5, 80, -45 ], + "translation": [ 0.75, 0, 0.25 ], + "scale": [ 1, 1, 1 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/bow_pulling_1.json b/desktopRuntime/resources/assets/minecraft/models/item/bow_pulling_1.json new file mode 100644 index 0000000..84548f2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/bow_pulling_1.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/bow_pulling_1" + }, + "display": { + "thirdperson": { + "rotation": [ 5, 80, -45 ], + "translation": [ 0.75, 0, 0.25 ], + "scale": [ 1, 1, 1 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/bow_pulling_2.json b/desktopRuntime/resources/assets/minecraft/models/item/bow_pulling_2.json new file mode 100644 index 0000000..c8faa90 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/bow_pulling_2.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/bow_pulling_2" + }, + "display": { + "thirdperson": { + "rotation": [ 5, 80, -45 ], + "translation": [ 0.75, 0, 0.25 ], + "scale": [ 1, 1, 1 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/bowl.json b/desktopRuntime/resources/assets/minecraft/models/item/bowl.json new file mode 100644 index 0000000..65816ef --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/bowl.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/bowl" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/bread.json b/desktopRuntime/resources/assets/minecraft/models/item/bread.json new file mode 100644 index 0000000..ef2249a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/bread.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/bread" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/brewing_stand.json b/desktopRuntime/resources/assets/minecraft/models/item/brewing_stand.json new file mode 100644 index 0000000..41b5ec4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/brewing_stand.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/brewing_stand" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/brick.json b/desktopRuntime/resources/assets/minecraft/models/item/brick.json new file mode 100644 index 0000000..4b49d59 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/brick.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/brick" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/brick_block.json b/desktopRuntime/resources/assets/minecraft/models/item/brick_block.json new file mode 100644 index 0000000..2313dbb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/brick_block.json @@ -0,0 +1,10 @@ +{ + "parent": "block/brick", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/brick_slab.json b/desktopRuntime/resources/assets/minecraft/models/item/brick_slab.json new file mode 100644 index 0000000..fd2750a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/brick_slab.json @@ -0,0 +1,10 @@ +{ + "parent": "block/half_slab_brick", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/brick_stairs.json b/desktopRuntime/resources/assets/minecraft/models/item/brick_stairs.json new file mode 100644 index 0000000..bd18689 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/brick_stairs.json @@ -0,0 +1,13 @@ +{ + "parent": "block/brick_stairs", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "gui": { + "rotation": [ 0, 180, 0 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/broken_elytra.json b/desktopRuntime/resources/assets/minecraft/models/item/broken_elytra.json new file mode 100644 index 0000000..9b2d114 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/broken_elytra.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/broken_elytra" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/brown_carpet.json b/desktopRuntime/resources/assets/minecraft/models/item/brown_carpet.json new file mode 100644 index 0000000..9a2859e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/brown_carpet.json @@ -0,0 +1,15 @@ +{ + "parent": "block/carpet_brown", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 0.25, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 5.25, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/brown_mushroom.json b/desktopRuntime/resources/assets/minecraft/models/item/brown_mushroom.json new file mode 100644 index 0000000..306bba7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/brown_mushroom.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/mushroom_brown" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/brown_mushroom_block.json b/desktopRuntime/resources/assets/minecraft/models/item/brown_mushroom_block.json new file mode 100644 index 0000000..e5cf1f1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/brown_mushroom_block.json @@ -0,0 +1,10 @@ +{ + "parent": "block/brown_mushroom_block_cap_all", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/brown_stained_glass.json b/desktopRuntime/resources/assets/minecraft/models/item/brown_stained_glass.json new file mode 100644 index 0000000..e0e1a48 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/brown_stained_glass.json @@ -0,0 +1,10 @@ +{ + "parent": "block/glass_brown", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/brown_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/models/item/brown_stained_glass_pane.json new file mode 100644 index 0000000..147a761 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/brown_stained_glass_pane.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/glass_brown" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/brown_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/models/item/brown_stained_hardened_clay.json new file mode 100644 index 0000000..9dab5c0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/brown_stained_hardened_clay.json @@ -0,0 +1,10 @@ +{ + "parent": "block/hardened_clay_brown", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/brown_wool.json b/desktopRuntime/resources/assets/minecraft/models/item/brown_wool.json new file mode 100644 index 0000000..582f20f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/brown_wool.json @@ -0,0 +1,10 @@ +{ + "parent": "block/brown_wool", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/bucket.json b/desktopRuntime/resources/assets/minecraft/models/item/bucket.json new file mode 100644 index 0000000..463698a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/bucket.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/bucket_empty" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cactus.json b/desktopRuntime/resources/assets/minecraft/models/item/cactus.json new file mode 100644 index 0000000..9931c32 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cactus.json @@ -0,0 +1,10 @@ +{ + "parent": "block/cactus", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cake.json b/desktopRuntime/resources/assets/minecraft/models/item/cake.json new file mode 100644 index 0000000..be7bcfb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cake.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/cake" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/carrot.json b/desktopRuntime/resources/assets/minecraft/models/item/carrot.json new file mode 100644 index 0000000..8f88b4d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/carrot.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/carrot" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/carrot_on_a_stick.json b/desktopRuntime/resources/assets/minecraft/models/item/carrot_on_a_stick.json new file mode 100644 index 0000000..94592f4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/carrot_on_a_stick.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/carrot_on_a_stick" + }, + "display": { + "thirdperson": { + "rotation": [ 180, 90, -35 ], + "translation": [ 0, 0, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, 45, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cauldron.json b/desktopRuntime/resources/assets/minecraft/models/item/cauldron.json new file mode 100644 index 0000000..4c46a66 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cauldron.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/cauldron" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/chain_command_block.json b/desktopRuntime/resources/assets/minecraft/models/item/chain_command_block.json new file mode 100644 index 0000000..eea6e6e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/chain_command_block.json @@ -0,0 +1,10 @@ +{ + "parent": "block/chain_command_block", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/chainmail_boots.json b/desktopRuntime/resources/assets/minecraft/models/item/chainmail_boots.json new file mode 100644 index 0000000..71e0a60 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/chainmail_boots.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/chainmail_boots" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/chainmail_chestplate.json b/desktopRuntime/resources/assets/minecraft/models/item/chainmail_chestplate.json new file mode 100644 index 0000000..78ec3fa --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/chainmail_chestplate.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/chainmail_chestplate" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/chainmail_helmet.json b/desktopRuntime/resources/assets/minecraft/models/item/chainmail_helmet.json new file mode 100644 index 0000000..56a5473 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/chainmail_helmet.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/chainmail_helmet" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.25 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/chainmail_leggings.json b/desktopRuntime/resources/assets/minecraft/models/item/chainmail_leggings.json new file mode 100644 index 0000000..1e4b2ee --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/chainmail_leggings.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/chainmail_leggings" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/charcoal.json b/desktopRuntime/resources/assets/minecraft/models/item/charcoal.json new file mode 100644 index 0000000..6c2ab45 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/charcoal.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/charcoal" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/chest.json b/desktopRuntime/resources/assets/minecraft/models/item/chest.json new file mode 100644 index 0000000..43a272a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/chest.json @@ -0,0 +1,3 @@ +{ + "parent": "builtin/entity" +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/chest_minecart.json b/desktopRuntime/resources/assets/minecraft/models/item/chest_minecart.json new file mode 100644 index 0000000..a2fbf33 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/chest_minecart.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/minecart_chest" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/chicken.json b/desktopRuntime/resources/assets/minecraft/models/item/chicken.json new file mode 100644 index 0000000..83d3c8c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/chicken.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/chicken_raw" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/chiseled_brick_monster_egg.json b/desktopRuntime/resources/assets/minecraft/models/item/chiseled_brick_monster_egg.json new file mode 100644 index 0000000..5fddd10 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/chiseled_brick_monster_egg.json @@ -0,0 +1,10 @@ +{ + "parent": "block/stonebrick_chiseled", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/chiseled_quartz_block.json b/desktopRuntime/resources/assets/minecraft/models/item/chiseled_quartz_block.json new file mode 100644 index 0000000..2c4eed6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/chiseled_quartz_block.json @@ -0,0 +1,10 @@ +{ + "parent": "block/quartz_chiseled", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/chiseled_red_sandstone.json b/desktopRuntime/resources/assets/minecraft/models/item/chiseled_red_sandstone.json new file mode 100644 index 0000000..23d270b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/chiseled_red_sandstone.json @@ -0,0 +1,10 @@ +{ + "parent": "block/red_sandstone_chiseled", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/chiseled_sandstone.json b/desktopRuntime/resources/assets/minecraft/models/item/chiseled_sandstone.json new file mode 100644 index 0000000..ec0b0b7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/chiseled_sandstone.json @@ -0,0 +1,10 @@ +{ + "parent": "block/sandstone_chiseled", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/chiseled_stonebrick.json b/desktopRuntime/resources/assets/minecraft/models/item/chiseled_stonebrick.json new file mode 100644 index 0000000..5fddd10 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/chiseled_stonebrick.json @@ -0,0 +1,10 @@ +{ + "parent": "block/stonebrick_chiseled", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/chorus_flower.json b/desktopRuntime/resources/assets/minecraft/models/item/chorus_flower.json new file mode 100644 index 0000000..5c621b0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/chorus_flower.json @@ -0,0 +1,3 @@ +{ + "parent": "block/chorus_flower" +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/chorus_fruit.json b/desktopRuntime/resources/assets/minecraft/models/item/chorus_fruit.json new file mode 100644 index 0000000..82844c5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/chorus_fruit.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/chorus_fruit" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/chorus_fruit_popped.json b/desktopRuntime/resources/assets/minecraft/models/item/chorus_fruit_popped.json new file mode 100644 index 0000000..752d8fa --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/chorus_fruit_popped.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/chorus_fruit_popped" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/chorus_plant.json b/desktopRuntime/resources/assets/minecraft/models/item/chorus_plant.json new file mode 100644 index 0000000..201329f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/chorus_plant.json @@ -0,0 +1,3 @@ +{ + "parent": "block/chorus_plant" +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/clay.json b/desktopRuntime/resources/assets/minecraft/models/item/clay.json new file mode 100644 index 0000000..5ed8b1d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/clay.json @@ -0,0 +1,10 @@ +{ + "parent": "block/clay", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/clay_ball.json b/desktopRuntime/resources/assets/minecraft/models/item/clay_ball.json new file mode 100644 index 0000000..3981075 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/clay_ball.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/clay_ball" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/clock.json b/desktopRuntime/resources/assets/minecraft/models/item/clock.json new file mode 100644 index 0000000..59cbd12 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/clock.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/clock", + "textures": { + "layer0": "items/clock" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/clownfish.json b/desktopRuntime/resources/assets/minecraft/models/item/clownfish.json new file mode 100644 index 0000000..ed7c2a3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/clownfish.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/fish_clownfish_raw" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/coal.json b/desktopRuntime/resources/assets/minecraft/models/item/coal.json new file mode 100644 index 0000000..34bcb90 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/coal.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/coal" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/coal_block.json b/desktopRuntime/resources/assets/minecraft/models/item/coal_block.json new file mode 100644 index 0000000..ffa8618 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/coal_block.json @@ -0,0 +1,10 @@ +{ + "parent": "block/coal_block", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/coal_ore.json b/desktopRuntime/resources/assets/minecraft/models/item/coal_ore.json new file mode 100644 index 0000000..6708ee5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/coal_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "block/coal_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/coarse_dirt.json b/desktopRuntime/resources/assets/minecraft/models/item/coarse_dirt.json new file mode 100644 index 0000000..111e62a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/coarse_dirt.json @@ -0,0 +1,10 @@ +{ + "parent": "block/coarse_dirt", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cobblestone.json b/desktopRuntime/resources/assets/minecraft/models/item/cobblestone.json new file mode 100644 index 0000000..bd8d900 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cobblestone.json @@ -0,0 +1,10 @@ +{ + "parent": "block/cobblestone", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cobblestone_monster_egg.json b/desktopRuntime/resources/assets/minecraft/models/item/cobblestone_monster_egg.json new file mode 100644 index 0000000..bd8d900 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cobblestone_monster_egg.json @@ -0,0 +1,10 @@ +{ + "parent": "block/cobblestone", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cobblestone_slab.json b/desktopRuntime/resources/assets/minecraft/models/item/cobblestone_slab.json new file mode 100644 index 0000000..63d0aea --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cobblestone_slab.json @@ -0,0 +1,10 @@ +{ + "parent": "block/half_slab_cobblestone", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cobblestone_wall.json b/desktopRuntime/resources/assets/minecraft/models/item/cobblestone_wall.json new file mode 100644 index 0000000..9a4f3ff --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cobblestone_wall.json @@ -0,0 +1,10 @@ +{ + "parent": "block/cobblestone_wall_inventory", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cod.json b/desktopRuntime/resources/assets/minecraft/models/item/cod.json new file mode 100644 index 0000000..ec84486 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cod.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/fish_cod_raw" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/command_block.json b/desktopRuntime/resources/assets/minecraft/models/item/command_block.json new file mode 100644 index 0000000..be88927 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/command_block.json @@ -0,0 +1,10 @@ +{ + "parent": "block/command_block", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/command_block_minecart.json b/desktopRuntime/resources/assets/minecraft/models/item/command_block_minecart.json new file mode 100644 index 0000000..9c9c91b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/command_block_minecart.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/minecart_command_block" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/comparator.json b/desktopRuntime/resources/assets/minecraft/models/item/comparator.json new file mode 100644 index 0000000..34aa78e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/comparator.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/comparator" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/compass.json b/desktopRuntime/resources/assets/minecraft/models/item/compass.json new file mode 100644 index 0000000..6b1305f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/compass.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/compass", + "textures": { + "layer0": "items/compass" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cooked_beef.json b/desktopRuntime/resources/assets/minecraft/models/item/cooked_beef.json new file mode 100644 index 0000000..2d4e94b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cooked_beef.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/beef_cooked" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cooked_chicken.json b/desktopRuntime/resources/assets/minecraft/models/item/cooked_chicken.json new file mode 100644 index 0000000..9db6cbe --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cooked_chicken.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/chicken_cooked" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cooked_cod.json b/desktopRuntime/resources/assets/minecraft/models/item/cooked_cod.json new file mode 100644 index 0000000..b795efb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cooked_cod.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/fish_cod_cooked" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cooked_mutton.json b/desktopRuntime/resources/assets/minecraft/models/item/cooked_mutton.json new file mode 100644 index 0000000..9ae2c08 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cooked_mutton.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/mutton_cooked" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cooked_porkchop.json b/desktopRuntime/resources/assets/minecraft/models/item/cooked_porkchop.json new file mode 100644 index 0000000..6bbcc0f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cooked_porkchop.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/porkchop_cooked" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cooked_rabbit.json b/desktopRuntime/resources/assets/minecraft/models/item/cooked_rabbit.json new file mode 100644 index 0000000..2526529 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cooked_rabbit.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/rabbit_cooked" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cooked_salmon.json b/desktopRuntime/resources/assets/minecraft/models/item/cooked_salmon.json new file mode 100644 index 0000000..d2f0a83 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cooked_salmon.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/fish_salmon_cooked" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cookie.json b/desktopRuntime/resources/assets/minecraft/models/item/cookie.json new file mode 100644 index 0000000..93bc633 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cookie.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/cookie" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cracked_brick_monster_egg.json b/desktopRuntime/resources/assets/minecraft/models/item/cracked_brick_monster_egg.json new file mode 100644 index 0000000..2dcc5c8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cracked_brick_monster_egg.json @@ -0,0 +1,10 @@ +{ + "parent": "block/stonebrick_cracked", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cracked_stonebrick.json b/desktopRuntime/resources/assets/minecraft/models/item/cracked_stonebrick.json new file mode 100644 index 0000000..2dcc5c8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cracked_stonebrick.json @@ -0,0 +1,10 @@ +{ + "parent": "block/stonebrick_cracked", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/crafting_table.json b/desktopRuntime/resources/assets/minecraft/models/item/crafting_table.json new file mode 100644 index 0000000..b71c85f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/crafting_table.json @@ -0,0 +1,10 @@ +{ + "parent": "block/crafting_table", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cyan_carpet.json b/desktopRuntime/resources/assets/minecraft/models/item/cyan_carpet.json new file mode 100644 index 0000000..3b45d9e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cyan_carpet.json @@ -0,0 +1,15 @@ +{ + "parent": "block/carpet_cyan", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 0.25, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 5.25, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cyan_stained_glass.json b/desktopRuntime/resources/assets/minecraft/models/item/cyan_stained_glass.json new file mode 100644 index 0000000..6f14b80 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cyan_stained_glass.json @@ -0,0 +1,10 @@ +{ + "parent": "block/glass_cyan", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cyan_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/models/item/cyan_stained_glass_pane.json new file mode 100644 index 0000000..7dd095b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cyan_stained_glass_pane.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/glass_cyan" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cyan_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/models/item/cyan_stained_hardened_clay.json new file mode 100644 index 0000000..acdaf40 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cyan_stained_hardened_clay.json @@ -0,0 +1,10 @@ +{ + "parent": "block/hardened_clay_cyan", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/cyan_wool.json b/desktopRuntime/resources/assets/minecraft/models/item/cyan_wool.json new file mode 100644 index 0000000..a51d080 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/cyan_wool.json @@ -0,0 +1,10 @@ +{ + "parent": "block/cyan_wool", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dandelion.json b/desktopRuntime/resources/assets/minecraft/models/item/dandelion.json new file mode 100644 index 0000000..a7f03a0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dandelion.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/flower_dandelion" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_door.json b/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_door.json new file mode 100644 index 0000000..8828a17 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_door.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/door_dark_oak" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_fence.json b/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_fence.json new file mode 100644 index 0000000..5d04118 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_fence.json @@ -0,0 +1,13 @@ +{ + "parent": "block/dark_oak_fence_inventory", + "display": { + "thirdperson": { + "rotation": [ 0, 0, 180 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "gui": { + "rotation": [ 0, 90, 0 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_fence_gate.json b/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_fence_gate.json new file mode 100644 index 0000000..826904c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_fence_gate.json @@ -0,0 +1,15 @@ +{ + "parent": "block/dark_oak_fence_gate_closed", + "display": { + "thirdperson": { + "rotation": [ 0, -90, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 90, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_leaves.json b/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_leaves.json new file mode 100644 index 0000000..6283db7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_leaves.json @@ -0,0 +1,10 @@ +{ + "parent": "block/dark_oak_leaves", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_log.json b/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_log.json new file mode 100644 index 0000000..0303426 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_log.json @@ -0,0 +1,10 @@ +{ + "parent": "block/dark_oak_log", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_planks.json b/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_planks.json new file mode 100644 index 0000000..b894f81 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_planks.json @@ -0,0 +1,10 @@ +{ + "parent": "block/dark_oak_planks", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_sapling.json b/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_sapling.json new file mode 100644 index 0000000..349e84c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_sapling.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/sapling_roofed_oak" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_slab.json b/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_slab.json new file mode 100644 index 0000000..ee4afbb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_slab.json @@ -0,0 +1,10 @@ +{ + "parent": "block/half_slab_dark_oak", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_stairs.json b/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_stairs.json new file mode 100644 index 0000000..105e7b9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dark_oak_stairs.json @@ -0,0 +1,13 @@ +{ + "parent": "block/dark_oak_stairs", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "gui": { + "rotation": [ 0, 180, 0 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dark_prismarine.json b/desktopRuntime/resources/assets/minecraft/models/item/dark_prismarine.json new file mode 100644 index 0000000..124831c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dark_prismarine.json @@ -0,0 +1,10 @@ +{ + "parent": "block/prismarine_dark", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/daylight_detector.json b/desktopRuntime/resources/assets/minecraft/models/item/daylight_detector.json new file mode 100644 index 0000000..b9734d3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/daylight_detector.json @@ -0,0 +1,15 @@ +{ + "parent": "block/daylight_detector", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 0.25, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 5, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dead_bush.json b/desktopRuntime/resources/assets/minecraft/models/item/dead_bush.json new file mode 100644 index 0000000..8839e0f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dead_bush.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/deadbush" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/detector_rail.json b/desktopRuntime/resources/assets/minecraft/models/item/detector_rail.json new file mode 100644 index 0000000..1eb33c5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/detector_rail.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/rail_detector" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/diamond.json b/desktopRuntime/resources/assets/minecraft/models/item/diamond.json new file mode 100644 index 0000000..ce3100d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/diamond.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/diamond" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/diamond_axe.json b/desktopRuntime/resources/assets/minecraft/models/item/diamond_axe.json new file mode 100644 index 0000000..948fd7c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/diamond_axe.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/diamond_axe" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/diamond_block.json b/desktopRuntime/resources/assets/minecraft/models/item/diamond_block.json new file mode 100644 index 0000000..7a587af --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/diamond_block.json @@ -0,0 +1,10 @@ +{ + "parent": "block/diamond_block", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/diamond_boots.json b/desktopRuntime/resources/assets/minecraft/models/item/diamond_boots.json new file mode 100644 index 0000000..35628bd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/diamond_boots.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/diamond_boots" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/diamond_chestplate.json b/desktopRuntime/resources/assets/minecraft/models/item/diamond_chestplate.json new file mode 100644 index 0000000..3288b62 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/diamond_chestplate.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/diamond_chestplate" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/diamond_helmet.json b/desktopRuntime/resources/assets/minecraft/models/item/diamond_helmet.json new file mode 100644 index 0000000..67e80ba --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/diamond_helmet.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/diamond_helmet" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.25 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/diamond_hoe.json b/desktopRuntime/resources/assets/minecraft/models/item/diamond_hoe.json new file mode 100644 index 0000000..600c713 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/diamond_hoe.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/diamond_hoe" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/diamond_horse_armor.json b/desktopRuntime/resources/assets/minecraft/models/item/diamond_horse_armor.json new file mode 100644 index 0000000..3ba00c5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/diamond_horse_armor.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/diamond_horse_armor" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/diamond_leggings.json b/desktopRuntime/resources/assets/minecraft/models/item/diamond_leggings.json new file mode 100644 index 0000000..126bf38 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/diamond_leggings.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/diamond_leggings" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/diamond_ore.json b/desktopRuntime/resources/assets/minecraft/models/item/diamond_ore.json new file mode 100644 index 0000000..ee09a1a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/diamond_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "block/diamond_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/diamond_pickaxe.json b/desktopRuntime/resources/assets/minecraft/models/item/diamond_pickaxe.json new file mode 100644 index 0000000..5a9323c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/diamond_pickaxe.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/diamond_pickaxe" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/diamond_shovel.json b/desktopRuntime/resources/assets/minecraft/models/item/diamond_shovel.json new file mode 100644 index 0000000..4038e82 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/diamond_shovel.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/diamond_shovel" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/diamond_sword.json b/desktopRuntime/resources/assets/minecraft/models/item/diamond_sword.json new file mode 100644 index 0000000..1da37e7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/diamond_sword.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/diamond_sword" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/diorite.json b/desktopRuntime/resources/assets/minecraft/models/item/diorite.json new file mode 100644 index 0000000..8435fc4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/diorite.json @@ -0,0 +1,10 @@ +{ + "parent": "block/diorite", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/diorite_smooth.json b/desktopRuntime/resources/assets/minecraft/models/item/diorite_smooth.json new file mode 100644 index 0000000..a01d373 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/diorite_smooth.json @@ -0,0 +1,10 @@ +{ + "parent": "block/diorite_smooth", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dirt.json b/desktopRuntime/resources/assets/minecraft/models/item/dirt.json new file mode 100644 index 0000000..db5f7b7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dirt.json @@ -0,0 +1,10 @@ +{ + "parent": "block/dirt", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dispenser.json b/desktopRuntime/resources/assets/minecraft/models/item/dispenser.json new file mode 100644 index 0000000..5c5ff3c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dispenser.json @@ -0,0 +1,10 @@ +{ + "parent": "block/dispenser", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/double_fern.json b/desktopRuntime/resources/assets/minecraft/models/item/double_fern.json new file mode 100644 index 0000000..9e3b55d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/double_fern.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/double_plant_fern_top" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/double_grass.json b/desktopRuntime/resources/assets/minecraft/models/item/double_grass.json new file mode 100644 index 0000000..b5afbfe --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/double_grass.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/double_plant_grass_top" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/double_rose.json b/desktopRuntime/resources/assets/minecraft/models/item/double_rose.json new file mode 100644 index 0000000..fac74a4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/double_rose.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/double_plant_rose_top" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dragon_egg.json b/desktopRuntime/resources/assets/minecraft/models/item/dragon_egg.json new file mode 100644 index 0000000..3eb2a4d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dragon_egg.json @@ -0,0 +1,10 @@ +{ + "parent": "block/dragon_egg", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dropper.json b/desktopRuntime/resources/assets/minecraft/models/item/dropper.json new file mode 100644 index 0000000..ae28465 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dropper.json @@ -0,0 +1,10 @@ +{ + "parent": "block/dropper", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dye_black.json b/desktopRuntime/resources/assets/minecraft/models/item/dye_black.json new file mode 100644 index 0000000..617fc14 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dye_black.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/dye_powder_black" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dye_blue.json b/desktopRuntime/resources/assets/minecraft/models/item/dye_blue.json new file mode 100644 index 0000000..ed95838 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dye_blue.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/dye_powder_blue" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dye_brown.json b/desktopRuntime/resources/assets/minecraft/models/item/dye_brown.json new file mode 100644 index 0000000..8a03fc7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dye_brown.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/dye_powder_brown" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dye_cyan.json b/desktopRuntime/resources/assets/minecraft/models/item/dye_cyan.json new file mode 100644 index 0000000..25bde60 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dye_cyan.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/dye_powder_cyan" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dye_gray.json b/desktopRuntime/resources/assets/minecraft/models/item/dye_gray.json new file mode 100644 index 0000000..bf1b260 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dye_gray.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/dye_powder_gray" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dye_green.json b/desktopRuntime/resources/assets/minecraft/models/item/dye_green.json new file mode 100644 index 0000000..dc4c4a6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dye_green.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/dye_powder_green" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dye_light_blue.json b/desktopRuntime/resources/assets/minecraft/models/item/dye_light_blue.json new file mode 100644 index 0000000..7d02b5c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dye_light_blue.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/dye_powder_light_blue" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dye_lime.json b/desktopRuntime/resources/assets/minecraft/models/item/dye_lime.json new file mode 100644 index 0000000..b1f0c90 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dye_lime.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/dye_powder_lime" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dye_magenta.json b/desktopRuntime/resources/assets/minecraft/models/item/dye_magenta.json new file mode 100644 index 0000000..90209a7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dye_magenta.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/dye_powder_magenta" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dye_orange.json b/desktopRuntime/resources/assets/minecraft/models/item/dye_orange.json new file mode 100644 index 0000000..1d0b42a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dye_orange.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/dye_powder_orange" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dye_pink.json b/desktopRuntime/resources/assets/minecraft/models/item/dye_pink.json new file mode 100644 index 0000000..2bcc284 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dye_pink.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/dye_powder_pink" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dye_purple.json b/desktopRuntime/resources/assets/minecraft/models/item/dye_purple.json new file mode 100644 index 0000000..0add051 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dye_purple.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/dye_powder_purple" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dye_red.json b/desktopRuntime/resources/assets/minecraft/models/item/dye_red.json new file mode 100644 index 0000000..0ffe276 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dye_red.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/dye_powder_red" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dye_silver.json b/desktopRuntime/resources/assets/minecraft/models/item/dye_silver.json new file mode 100644 index 0000000..3da0bb2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dye_silver.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/dye_powder_silver" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dye_white.json b/desktopRuntime/resources/assets/minecraft/models/item/dye_white.json new file mode 100644 index 0000000..9be5c51 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dye_white.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/dye_powder_white" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/dye_yellow.json b/desktopRuntime/resources/assets/minecraft/models/item/dye_yellow.json new file mode 100644 index 0000000..270e248 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/dye_yellow.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/dye_powder_yellow" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/egg.json b/desktopRuntime/resources/assets/minecraft/models/item/egg.json new file mode 100644 index 0000000..dc91a70 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/egg.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/egg" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/elytra.json b/desktopRuntime/resources/assets/minecraft/models/item/elytra.json new file mode 100644 index 0000000..3a78598 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/elytra.json @@ -0,0 +1,26 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/elytra" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + }, + "overrides": [ + { + "predicate": { + "broken": 1 + }, + "model": "item/broken_elytra" + } + ] +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/emerald.json b/desktopRuntime/resources/assets/minecraft/models/item/emerald.json new file mode 100644 index 0000000..3638648 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/emerald.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/emerald" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/emerald_block.json b/desktopRuntime/resources/assets/minecraft/models/item/emerald_block.json new file mode 100644 index 0000000..f20662b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/emerald_block.json @@ -0,0 +1,10 @@ +{ + "parent": "block/emerald_block", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/emerald_ore.json b/desktopRuntime/resources/assets/minecraft/models/item/emerald_ore.json new file mode 100644 index 0000000..a150ce8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/emerald_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "block/emerald_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/enchanted_book.json b/desktopRuntime/resources/assets/minecraft/models/item/enchanted_book.json new file mode 100644 index 0000000..01ff149 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/enchanted_book.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/book_enchanted" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/enchanting_table.json b/desktopRuntime/resources/assets/minecraft/models/item/enchanting_table.json new file mode 100644 index 0000000..04d62bd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/enchanting_table.json @@ -0,0 +1,10 @@ +{ + "parent": "block/enchanting_table_base", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/end_bricks.json b/desktopRuntime/resources/assets/minecraft/models/item/end_bricks.json new file mode 100644 index 0000000..e0c96cc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/end_bricks.json @@ -0,0 +1,10 @@ +{ + "parent": "block/end_bricks", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/end_crystal.json b/desktopRuntime/resources/assets/minecraft/models/item/end_crystal.json new file mode 100644 index 0000000..64f9dbd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/end_crystal.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/end_crystal" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/end_portal_frame.json b/desktopRuntime/resources/assets/minecraft/models/item/end_portal_frame.json new file mode 100644 index 0000000..2f3eb79 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/end_portal_frame.json @@ -0,0 +1,10 @@ +{ + "parent": "block/end_portal_frame_empty", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/end_rod.json b/desktopRuntime/resources/assets/minecraft/models/item/end_rod.json new file mode 100644 index 0000000..a1d06c5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/end_rod.json @@ -0,0 +1,13 @@ +{ + "parent": "block/end_rod", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + }, + "textures": { + "layer0": "blocks/end_rod" + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/end_stone.json b/desktopRuntime/resources/assets/minecraft/models/item/end_stone.json new file mode 100644 index 0000000..f46b36b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/end_stone.json @@ -0,0 +1,10 @@ +{ + "parent": "block/end_stone", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/ender_chest.json b/desktopRuntime/resources/assets/minecraft/models/item/ender_chest.json new file mode 100644 index 0000000..43a272a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/ender_chest.json @@ -0,0 +1,3 @@ +{ + "parent": "builtin/entity" +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/ender_eye.json b/desktopRuntime/resources/assets/minecraft/models/item/ender_eye.json new file mode 100644 index 0000000..79b34ff --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/ender_eye.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/ender_eye" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/ender_pearl.json b/desktopRuntime/resources/assets/minecraft/models/item/ender_pearl.json new file mode 100644 index 0000000..5c5e020 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/ender_pearl.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/ender_pearl" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/experience_bottle.json b/desktopRuntime/resources/assets/minecraft/models/item/experience_bottle.json new file mode 100644 index 0000000..4769bac --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/experience_bottle.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/experience_bottle" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/farmland.json b/desktopRuntime/resources/assets/minecraft/models/item/farmland.json new file mode 100644 index 0000000..44fe3b1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/farmland.json @@ -0,0 +1,10 @@ +{ + "parent": "block/farmland_dry", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/feather.json b/desktopRuntime/resources/assets/minecraft/models/item/feather.json new file mode 100644 index 0000000..1d9d524 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/feather.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/feather" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/fermented_spider_eye.json b/desktopRuntime/resources/assets/minecraft/models/item/fermented_spider_eye.json new file mode 100644 index 0000000..c50e6b0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/fermented_spider_eye.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/spider_eye_fermented" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/fern.json b/desktopRuntime/resources/assets/minecraft/models/item/fern.json new file mode 100644 index 0000000..9dc8f28 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/fern.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/fern" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/filled_map.json b/desktopRuntime/resources/assets/minecraft/models/item/filled_map.json new file mode 100644 index 0000000..174e390 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/filled_map.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/map_filled" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/fire_charge.json b/desktopRuntime/resources/assets/minecraft/models/item/fire_charge.json new file mode 100644 index 0000000..4dce2b8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/fire_charge.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/fireball" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/firework_charge.json b/desktopRuntime/resources/assets/minecraft/models/item/firework_charge.json new file mode 100644 index 0000000..d6cf166 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/firework_charge.json @@ -0,0 +1,19 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/fireworks_charge", + "layer1": "items/fireworks_charge_overlay" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/fireworks.json b/desktopRuntime/resources/assets/minecraft/models/item/fireworks.json new file mode 100644 index 0000000..1c3fb51 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/fireworks.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/fireworks" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/fishing_rod.json b/desktopRuntime/resources/assets/minecraft/models/item/fishing_rod.json new file mode 100644 index 0000000..254ce9a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/fishing_rod.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/fishing_rod_uncast" + }, + "display": { + "thirdperson": { + "rotation": [ 180, 90, -35 ], + "translation": [ 0, 0, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, 45, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/fishing_rod_cast.json b/desktopRuntime/resources/assets/minecraft/models/item/fishing_rod_cast.json new file mode 100644 index 0000000..7a4db03 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/fishing_rod_cast.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/fishing_rod_cast" + }, + "display": { + "thirdperson": { + "rotation": [ 180, 90, -35 ], + "translation": [ 0, 0, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, 45, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/flint.json b/desktopRuntime/resources/assets/minecraft/models/item/flint.json new file mode 100644 index 0000000..064a4a0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/flint.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/flint" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/flint_and_steel.json b/desktopRuntime/resources/assets/minecraft/models/item/flint_and_steel.json new file mode 100644 index 0000000..c77f9e8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/flint_and_steel.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/flint_and_steel" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/flower_pot.json b/desktopRuntime/resources/assets/minecraft/models/item/flower_pot.json new file mode 100644 index 0000000..61f7453 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/flower_pot.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/flower_pot" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/furnace.json b/desktopRuntime/resources/assets/minecraft/models/item/furnace.json new file mode 100644 index 0000000..1564183 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/furnace.json @@ -0,0 +1,10 @@ +{ + "parent": "block/furnace", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/furnace_minecart.json b/desktopRuntime/resources/assets/minecraft/models/item/furnace_minecart.json new file mode 100644 index 0000000..a9c1c74 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/furnace_minecart.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/minecart_furnace" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/ghast_tear.json b/desktopRuntime/resources/assets/minecraft/models/item/ghast_tear.json new file mode 100644 index 0000000..5a8135b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/ghast_tear.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/ghast_tear" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.25 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/glass.json b/desktopRuntime/resources/assets/minecraft/models/item/glass.json new file mode 100644 index 0000000..a656a8b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/glass.json @@ -0,0 +1,10 @@ +{ + "parent": "block/glass", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/glass_bottle.json b/desktopRuntime/resources/assets/minecraft/models/item/glass_bottle.json new file mode 100644 index 0000000..bfff9f5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/glass_bottle.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/potion_bottle_empty" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/glass_pane.json b/desktopRuntime/resources/assets/minecraft/models/item/glass_pane.json new file mode 100644 index 0000000..aaa414d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/glass_pane.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/glass" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/glowstone.json b/desktopRuntime/resources/assets/minecraft/models/item/glowstone.json new file mode 100644 index 0000000..cd2e06b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/glowstone.json @@ -0,0 +1,10 @@ +{ + "parent": "block/glowstone", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/glowstone_dust.json b/desktopRuntime/resources/assets/minecraft/models/item/glowstone_dust.json new file mode 100644 index 0000000..5e9ddc6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/glowstone_dust.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/glowstone_dust" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/gold_block.json b/desktopRuntime/resources/assets/minecraft/models/item/gold_block.json new file mode 100644 index 0000000..913efb9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/gold_block.json @@ -0,0 +1,10 @@ +{ + "parent": "block/gold_block", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/gold_ingot.json b/desktopRuntime/resources/assets/minecraft/models/item/gold_ingot.json new file mode 100644 index 0000000..b7cf012 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/gold_ingot.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/gold_ingot" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/gold_nugget.json b/desktopRuntime/resources/assets/minecraft/models/item/gold_nugget.json new file mode 100644 index 0000000..0d0d1f5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/gold_nugget.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/gold_nugget" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/gold_ore.json b/desktopRuntime/resources/assets/minecraft/models/item/gold_ore.json new file mode 100644 index 0000000..8d64fbc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/gold_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "block/gold_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/golden_apple.json b/desktopRuntime/resources/assets/minecraft/models/item/golden_apple.json new file mode 100644 index 0000000..09c431f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/golden_apple.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/apple_golden" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/golden_axe.json b/desktopRuntime/resources/assets/minecraft/models/item/golden_axe.json new file mode 100644 index 0000000..7572301 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/golden_axe.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/gold_axe" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/golden_boots.json b/desktopRuntime/resources/assets/minecraft/models/item/golden_boots.json new file mode 100644 index 0000000..9189da3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/golden_boots.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/gold_boots" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/golden_carrot.json b/desktopRuntime/resources/assets/minecraft/models/item/golden_carrot.json new file mode 100644 index 0000000..a8a85ed --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/golden_carrot.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/carrot_golden" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/golden_chestplate.json b/desktopRuntime/resources/assets/minecraft/models/item/golden_chestplate.json new file mode 100644 index 0000000..b2c322f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/golden_chestplate.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/gold_chestplate" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/golden_helmet.json b/desktopRuntime/resources/assets/minecraft/models/item/golden_helmet.json new file mode 100644 index 0000000..6197988 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/golden_helmet.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/gold_helmet" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.25 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/golden_hoe.json b/desktopRuntime/resources/assets/minecraft/models/item/golden_hoe.json new file mode 100644 index 0000000..96a10d7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/golden_hoe.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/gold_hoe" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/golden_horse_armor.json b/desktopRuntime/resources/assets/minecraft/models/item/golden_horse_armor.json new file mode 100644 index 0000000..d2a8cc0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/golden_horse_armor.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/gold_horse_armor" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/golden_leggings.json b/desktopRuntime/resources/assets/minecraft/models/item/golden_leggings.json new file mode 100644 index 0000000..d54edb7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/golden_leggings.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/gold_leggings" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/golden_pickaxe.json b/desktopRuntime/resources/assets/minecraft/models/item/golden_pickaxe.json new file mode 100644 index 0000000..28d0705 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/golden_pickaxe.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/gold_pickaxe" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/golden_rail.json b/desktopRuntime/resources/assets/minecraft/models/item/golden_rail.json new file mode 100644 index 0000000..d4ff719 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/golden_rail.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/rail_golden" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/golden_shovel.json b/desktopRuntime/resources/assets/minecraft/models/item/golden_shovel.json new file mode 100644 index 0000000..a08d5cd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/golden_shovel.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/gold_shovel" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/golden_sword.json b/desktopRuntime/resources/assets/minecraft/models/item/golden_sword.json new file mode 100644 index 0000000..c9719b2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/golden_sword.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/gold_sword" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/granite.json b/desktopRuntime/resources/assets/minecraft/models/item/granite.json new file mode 100644 index 0000000..e242d32 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/granite.json @@ -0,0 +1,10 @@ +{ + "parent": "block/granite", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/granite_smooth.json b/desktopRuntime/resources/assets/minecraft/models/item/granite_smooth.json new file mode 100644 index 0000000..36c14f7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/granite_smooth.json @@ -0,0 +1,10 @@ +{ + "parent": "block/granite_smooth", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/grass.json b/desktopRuntime/resources/assets/minecraft/models/item/grass.json new file mode 100644 index 0000000..3edded3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/grass.json @@ -0,0 +1,10 @@ +{ + "parent": "block/grass_normal", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/grass_path.json b/desktopRuntime/resources/assets/minecraft/models/item/grass_path.json new file mode 100644 index 0000000..39b4586 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/grass_path.json @@ -0,0 +1,10 @@ +{ + "parent": "block/grass_path", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/gravel.json b/desktopRuntime/resources/assets/minecraft/models/item/gravel.json new file mode 100644 index 0000000..a1dc5c5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/gravel.json @@ -0,0 +1,10 @@ +{ + "parent": "block/gravel", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/gray_carpet.json b/desktopRuntime/resources/assets/minecraft/models/item/gray_carpet.json new file mode 100644 index 0000000..8dbdcd4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/gray_carpet.json @@ -0,0 +1,15 @@ +{ + "parent": "block/carpet_gray", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 0.25, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 5.25, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/gray_stained_glass.json b/desktopRuntime/resources/assets/minecraft/models/item/gray_stained_glass.json new file mode 100644 index 0000000..2ea9308 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/gray_stained_glass.json @@ -0,0 +1,10 @@ +{ + "parent": "block/glass_gray", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/gray_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/models/item/gray_stained_glass_pane.json new file mode 100644 index 0000000..f18ad1f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/gray_stained_glass_pane.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/glass_gray" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/gray_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/models/item/gray_stained_hardened_clay.json new file mode 100644 index 0000000..51a8aff --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/gray_stained_hardened_clay.json @@ -0,0 +1,10 @@ +{ + "parent": "block/hardened_clay_gray", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/gray_wool.json b/desktopRuntime/resources/assets/minecraft/models/item/gray_wool.json new file mode 100644 index 0000000..1540fc6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/gray_wool.json @@ -0,0 +1,10 @@ +{ + "parent": "block/gray_wool", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/green_carpet.json b/desktopRuntime/resources/assets/minecraft/models/item/green_carpet.json new file mode 100644 index 0000000..4e7bc19 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/green_carpet.json @@ -0,0 +1,15 @@ +{ + "parent": "block/carpet_green", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 0.25, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 5.25, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/green_stained_glass.json b/desktopRuntime/resources/assets/minecraft/models/item/green_stained_glass.json new file mode 100644 index 0000000..637b97c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/green_stained_glass.json @@ -0,0 +1,10 @@ +{ + "parent": "block/glass_green", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/green_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/models/item/green_stained_glass_pane.json new file mode 100644 index 0000000..e692acd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/green_stained_glass_pane.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/glass_green" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/green_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/models/item/green_stained_hardened_clay.json new file mode 100644 index 0000000..2bcefe1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/green_stained_hardened_clay.json @@ -0,0 +1,10 @@ +{ + "parent": "block/hardened_clay_green", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/green_wool.json b/desktopRuntime/resources/assets/minecraft/models/item/green_wool.json new file mode 100644 index 0000000..64d5ddb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/green_wool.json @@ -0,0 +1,10 @@ +{ + "parent": "block/green_wool", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/gunpowder.json b/desktopRuntime/resources/assets/minecraft/models/item/gunpowder.json new file mode 100644 index 0000000..d77a460 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/gunpowder.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/gunpowder" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/hardened_clay.json b/desktopRuntime/resources/assets/minecraft/models/item/hardened_clay.json new file mode 100644 index 0000000..49330e7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/hardened_clay.json @@ -0,0 +1,10 @@ +{ + "parent": "block/hardened_clay", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/hay_block.json b/desktopRuntime/resources/assets/minecraft/models/item/hay_block.json new file mode 100644 index 0000000..42cf4ad --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/hay_block.json @@ -0,0 +1,10 @@ +{ + "parent": "block/hay", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/heavy_weighted_pressure_plate.json b/desktopRuntime/resources/assets/minecraft/models/item/heavy_weighted_pressure_plate.json new file mode 100644 index 0000000..c8c66db --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/heavy_weighted_pressure_plate.json @@ -0,0 +1,10 @@ +{ + "parent": "block/heavy_pressure_plate_inventory", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/hopper.json b/desktopRuntime/resources/assets/minecraft/models/item/hopper.json new file mode 100644 index 0000000..f6a268d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/hopper.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/hopper" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/hopper_minecart.json b/desktopRuntime/resources/assets/minecraft/models/item/hopper_minecart.json new file mode 100644 index 0000000..d3eba36 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/hopper_minecart.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/minecart_hopper" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/houstonia.json b/desktopRuntime/resources/assets/minecraft/models/item/houstonia.json new file mode 100644 index 0000000..c252a61 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/houstonia.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/flower_houstonia" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/ice.json b/desktopRuntime/resources/assets/minecraft/models/item/ice.json new file mode 100644 index 0000000..44b1f4d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/ice.json @@ -0,0 +1,10 @@ +{ + "parent": "block/ice", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/iron_axe.json b/desktopRuntime/resources/assets/minecraft/models/item/iron_axe.json new file mode 100644 index 0000000..4ec082f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/iron_axe.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/iron_axe" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/iron_bars.json b/desktopRuntime/resources/assets/minecraft/models/item/iron_bars.json new file mode 100644 index 0000000..e706bee --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/iron_bars.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/iron_bars" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/iron_block.json b/desktopRuntime/resources/assets/minecraft/models/item/iron_block.json new file mode 100644 index 0000000..62a281f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/iron_block.json @@ -0,0 +1,10 @@ +{ + "parent": "block/iron_block", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/iron_boots.json b/desktopRuntime/resources/assets/minecraft/models/item/iron_boots.json new file mode 100644 index 0000000..def28c0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/iron_boots.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/iron_boots" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/iron_chestplate.json b/desktopRuntime/resources/assets/minecraft/models/item/iron_chestplate.json new file mode 100644 index 0000000..f60f5cc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/iron_chestplate.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/iron_chestplate" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/iron_door.json b/desktopRuntime/resources/assets/minecraft/models/item/iron_door.json new file mode 100644 index 0000000..f956a54 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/iron_door.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/door_iron" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/iron_helmet.json b/desktopRuntime/resources/assets/minecraft/models/item/iron_helmet.json new file mode 100644 index 0000000..46b1585 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/iron_helmet.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/iron_helmet" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.25 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/iron_hoe.json b/desktopRuntime/resources/assets/minecraft/models/item/iron_hoe.json new file mode 100644 index 0000000..6decc4a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/iron_hoe.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/iron_hoe" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/iron_horse_armor.json b/desktopRuntime/resources/assets/minecraft/models/item/iron_horse_armor.json new file mode 100644 index 0000000..41dc713 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/iron_horse_armor.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/iron_horse_armor" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/iron_ingot.json b/desktopRuntime/resources/assets/minecraft/models/item/iron_ingot.json new file mode 100644 index 0000000..2e836cd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/iron_ingot.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/iron_ingot" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/iron_leggings.json b/desktopRuntime/resources/assets/minecraft/models/item/iron_leggings.json new file mode 100644 index 0000000..14d0f27 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/iron_leggings.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/iron_leggings" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/iron_ore.json b/desktopRuntime/resources/assets/minecraft/models/item/iron_ore.json new file mode 100644 index 0000000..f06f40a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/iron_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "block/iron_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/iron_pickaxe.json b/desktopRuntime/resources/assets/minecraft/models/item/iron_pickaxe.json new file mode 100644 index 0000000..37372d2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/iron_pickaxe.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/iron_pickaxe" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/iron_shovel.json b/desktopRuntime/resources/assets/minecraft/models/item/iron_shovel.json new file mode 100644 index 0000000..509a761 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/iron_shovel.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/iron_shovel" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/iron_sword.json b/desktopRuntime/resources/assets/minecraft/models/item/iron_sword.json new file mode 100644 index 0000000..cf47c46 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/iron_sword.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/iron_sword" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/iron_trapdoor.json b/desktopRuntime/resources/assets/minecraft/models/item/iron_trapdoor.json new file mode 100644 index 0000000..178823a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/iron_trapdoor.json @@ -0,0 +1,15 @@ +{ + "parent": "block/iron_trapdoor_bottom", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 0.25, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 5, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/item_frame.json b/desktopRuntime/resources/assets/minecraft/models/item/item_frame.json new file mode 100644 index 0000000..e6ff197 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/item_frame.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/item_frame" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/jukebox.json b/desktopRuntime/resources/assets/minecraft/models/item/jukebox.json new file mode 100644 index 0000000..04012d3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/jukebox.json @@ -0,0 +1,10 @@ +{ + "parent": "block/jukebox", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/jungle_door.json b/desktopRuntime/resources/assets/minecraft/models/item/jungle_door.json new file mode 100644 index 0000000..3f85dba --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/jungle_door.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/door_jungle" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/jungle_fence.json b/desktopRuntime/resources/assets/minecraft/models/item/jungle_fence.json new file mode 100644 index 0000000..2d11611 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/jungle_fence.json @@ -0,0 +1,13 @@ +{ + "parent": "block/jungle_fence_inventory", + "display": { + "thirdperson": { + "rotation": [ 0, 0, 180 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "gui": { + "rotation": [ 0, 90, 0 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/jungle_fence_gate.json b/desktopRuntime/resources/assets/minecraft/models/item/jungle_fence_gate.json new file mode 100644 index 0000000..54d4078 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/jungle_fence_gate.json @@ -0,0 +1,15 @@ +{ + "parent": "block/jungle_fence_gate_closed", + "display": { + "thirdperson": { + "rotation": [ 0, -90, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 90, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/jungle_leaves.json b/desktopRuntime/resources/assets/minecraft/models/item/jungle_leaves.json new file mode 100644 index 0000000..e481dac --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/jungle_leaves.json @@ -0,0 +1,10 @@ +{ + "parent": "block/jungle_leaves", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/jungle_log.json b/desktopRuntime/resources/assets/minecraft/models/item/jungle_log.json new file mode 100644 index 0000000..6866eeb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/jungle_log.json @@ -0,0 +1,10 @@ +{ + "parent": "block/jungle_log", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/jungle_planks.json b/desktopRuntime/resources/assets/minecraft/models/item/jungle_planks.json new file mode 100644 index 0000000..eec7c62 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/jungle_planks.json @@ -0,0 +1,10 @@ +{ + "parent": "block/jungle_planks", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/jungle_sapling.json b/desktopRuntime/resources/assets/minecraft/models/item/jungle_sapling.json new file mode 100644 index 0000000..f7eb37b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/jungle_sapling.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/sapling_jungle" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/jungle_slab.json b/desktopRuntime/resources/assets/minecraft/models/item/jungle_slab.json new file mode 100644 index 0000000..7627563 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/jungle_slab.json @@ -0,0 +1,10 @@ +{ + "parent": "block/half_slab_jungle", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/jungle_stairs.json b/desktopRuntime/resources/assets/minecraft/models/item/jungle_stairs.json new file mode 100644 index 0000000..3ec3985 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/jungle_stairs.json @@ -0,0 +1,13 @@ +{ + "parent": "block/jungle_stairs", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "gui": { + "rotation": [ 0, 180, 0 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/ladder.json b/desktopRuntime/resources/assets/minecraft/models/item/ladder.json new file mode 100644 index 0000000..5a8caf0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/ladder.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/ladder" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/lapis_block.json b/desktopRuntime/resources/assets/minecraft/models/item/lapis_block.json new file mode 100644 index 0000000..df99c82 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/lapis_block.json @@ -0,0 +1,10 @@ +{ + "parent": "block/lapis_block", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/lapis_ore.json b/desktopRuntime/resources/assets/minecraft/models/item/lapis_ore.json new file mode 100644 index 0000000..196b0c1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/lapis_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "block/lapis_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/lava_bucket.json b/desktopRuntime/resources/assets/minecraft/models/item/lava_bucket.json new file mode 100644 index 0000000..25669aa --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/lava_bucket.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/bucket_lava" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/lead.json b/desktopRuntime/resources/assets/minecraft/models/item/lead.json new file mode 100644 index 0000000..a2f8d14 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/lead.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/lead" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/leather.json b/desktopRuntime/resources/assets/minecraft/models/item/leather.json new file mode 100644 index 0000000..4aaf7bc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/leather.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/leather" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/leather_boots.json b/desktopRuntime/resources/assets/minecraft/models/item/leather_boots.json new file mode 100644 index 0000000..6c28346 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/leather_boots.json @@ -0,0 +1,19 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/leather_boots", + "layer1": "items/leather_boots_overlay" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/leather_chestplate.json b/desktopRuntime/resources/assets/minecraft/models/item/leather_chestplate.json new file mode 100644 index 0000000..7248c1e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/leather_chestplate.json @@ -0,0 +1,19 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/leather_chestplate", + "layer1": "items/leather_chestplate_overlay" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/leather_helmet.json b/desktopRuntime/resources/assets/minecraft/models/item/leather_helmet.json new file mode 100644 index 0000000..654dfe1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/leather_helmet.json @@ -0,0 +1,19 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/leather_helmet", + "layer1": "items/leather_helmet_overlay" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.25 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/leather_leggings.json b/desktopRuntime/resources/assets/minecraft/models/item/leather_leggings.json new file mode 100644 index 0000000..25c58fc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/leather_leggings.json @@ -0,0 +1,19 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/leather_leggings", + "layer1": "items/leather_leggings_overlay" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/lever.json b/desktopRuntime/resources/assets/minecraft/models/item/lever.json new file mode 100644 index 0000000..2824174 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/lever.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/lever" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/light_blue_carpet.json b/desktopRuntime/resources/assets/minecraft/models/item/light_blue_carpet.json new file mode 100644 index 0000000..83d9231 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/light_blue_carpet.json @@ -0,0 +1,15 @@ +{ + "parent": "block/carpet_light_blue", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 0.25, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 5.25, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/light_blue_stained_glass.json b/desktopRuntime/resources/assets/minecraft/models/item/light_blue_stained_glass.json new file mode 100644 index 0000000..6479edc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/light_blue_stained_glass.json @@ -0,0 +1,10 @@ +{ + "parent": "block/glass_light_blue", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/light_blue_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/models/item/light_blue_stained_glass_pane.json new file mode 100644 index 0000000..6a68e0a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/light_blue_stained_glass_pane.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/glass_light_blue" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/light_blue_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/models/item/light_blue_stained_hardened_clay.json new file mode 100644 index 0000000..802face --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/light_blue_stained_hardened_clay.json @@ -0,0 +1,10 @@ +{ + "parent": "block/hardened_clay_light_blue", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/light_blue_wool.json b/desktopRuntime/resources/assets/minecraft/models/item/light_blue_wool.json new file mode 100644 index 0000000..f0d1c1a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/light_blue_wool.json @@ -0,0 +1,10 @@ +{ + "parent": "block/light_blue_wool", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/light_weighted_pressure_plate.json b/desktopRuntime/resources/assets/minecraft/models/item/light_weighted_pressure_plate.json new file mode 100644 index 0000000..4b9a7f4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/light_weighted_pressure_plate.json @@ -0,0 +1,10 @@ +{ + "parent": "block/light_pressure_plate_inventory", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/lime_carpet.json b/desktopRuntime/resources/assets/minecraft/models/item/lime_carpet.json new file mode 100644 index 0000000..39393e4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/lime_carpet.json @@ -0,0 +1,15 @@ +{ + "parent": "block/carpet_lime", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 0.25, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 5.25, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/lime_stained_glass.json b/desktopRuntime/resources/assets/minecraft/models/item/lime_stained_glass.json new file mode 100644 index 0000000..acaf202 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/lime_stained_glass.json @@ -0,0 +1,10 @@ +{ + "parent": "block/glass_lime", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/lime_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/models/item/lime_stained_glass_pane.json new file mode 100644 index 0000000..2afe3ea --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/lime_stained_glass_pane.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/glass_lime" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/lime_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/models/item/lime_stained_hardened_clay.json new file mode 100644 index 0000000..8079e15 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/lime_stained_hardened_clay.json @@ -0,0 +1,10 @@ +{ + "parent": "block/hardened_clay_lime", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/lime_wool.json b/desktopRuntime/resources/assets/minecraft/models/item/lime_wool.json new file mode 100644 index 0000000..ed54005 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/lime_wool.json @@ -0,0 +1,10 @@ +{ + "parent": "block/lime_wool", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/lit_furnace.json b/desktopRuntime/resources/assets/minecraft/models/item/lit_furnace.json new file mode 100644 index 0000000..528e067 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/lit_furnace.json @@ -0,0 +1,10 @@ +{ + "parent": "block/lit_furnace", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/lit_pumpkin.json b/desktopRuntime/resources/assets/minecraft/models/item/lit_pumpkin.json new file mode 100644 index 0000000..3f91665 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/lit_pumpkin.json @@ -0,0 +1,10 @@ +{ + "parent": "block/lit_pumpkin", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/magenta_carpet.json b/desktopRuntime/resources/assets/minecraft/models/item/magenta_carpet.json new file mode 100644 index 0000000..0aaccb5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/magenta_carpet.json @@ -0,0 +1,15 @@ +{ + "parent": "block/carpet_magenta", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 0.25, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 5.25, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/magenta_stained_glass.json b/desktopRuntime/resources/assets/minecraft/models/item/magenta_stained_glass.json new file mode 100644 index 0000000..984fcab --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/magenta_stained_glass.json @@ -0,0 +1,10 @@ +{ + "parent": "block/glass_magenta", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/magenta_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/models/item/magenta_stained_glass_pane.json new file mode 100644 index 0000000..80193d8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/magenta_stained_glass_pane.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/glass_magenta" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/magenta_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/models/item/magenta_stained_hardened_clay.json new file mode 100644 index 0000000..69bd94a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/magenta_stained_hardened_clay.json @@ -0,0 +1,10 @@ +{ + "parent": "block/hardened_clay_magenta", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/magenta_wool.json b/desktopRuntime/resources/assets/minecraft/models/item/magenta_wool.json new file mode 100644 index 0000000..3c815f8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/magenta_wool.json @@ -0,0 +1,10 @@ +{ + "parent": "block/magenta_wool", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/magma_cream.json b/desktopRuntime/resources/assets/minecraft/models/item/magma_cream.json new file mode 100644 index 0000000..17e54cd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/magma_cream.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/magma_cream" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/map.json b/desktopRuntime/resources/assets/minecraft/models/item/map.json new file mode 100644 index 0000000..3052429 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/map.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/map_empty" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/melon.json b/desktopRuntime/resources/assets/minecraft/models/item/melon.json new file mode 100644 index 0000000..5f26f0c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/melon.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/melon" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/melon_block.json b/desktopRuntime/resources/assets/minecraft/models/item/melon_block.json new file mode 100644 index 0000000..f5ddd8a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/melon_block.json @@ -0,0 +1,10 @@ +{ + "parent": "block/melon", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/melon_seeds.json b/desktopRuntime/resources/assets/minecraft/models/item/melon_seeds.json new file mode 100644 index 0000000..86c0441 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/melon_seeds.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/seeds_melon" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/milk_bucket.json b/desktopRuntime/resources/assets/minecraft/models/item/milk_bucket.json new file mode 100644 index 0000000..3032818 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/milk_bucket.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/bucket_milk" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/minecart.json b/desktopRuntime/resources/assets/minecraft/models/item/minecart.json new file mode 100644 index 0000000..e490d14 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/minecart.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/minecart_normal" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/mob_spawner.json b/desktopRuntime/resources/assets/minecraft/models/item/mob_spawner.json new file mode 100644 index 0000000..73a4880 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/mob_spawner.json @@ -0,0 +1,10 @@ +{ + "parent": "block/mob_spawner_cage", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/mossy_brick_monster_egg.json b/desktopRuntime/resources/assets/minecraft/models/item/mossy_brick_monster_egg.json new file mode 100644 index 0000000..7daf6a4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/mossy_brick_monster_egg.json @@ -0,0 +1,10 @@ +{ + "parent": "block/stonebrick_mossy", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/mossy_cobblestone.json b/desktopRuntime/resources/assets/minecraft/models/item/mossy_cobblestone.json new file mode 100644 index 0000000..9526aa6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/mossy_cobblestone.json @@ -0,0 +1,10 @@ +{ + "parent": "block/mossy_cobblestone", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/mossy_cobblestone_wall.json b/desktopRuntime/resources/assets/minecraft/models/item/mossy_cobblestone_wall.json new file mode 100644 index 0000000..a368f4a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/mossy_cobblestone_wall.json @@ -0,0 +1,10 @@ +{ + "parent": "block/cobblestone_wall_mossy_inventory", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/mossy_stonebrick.json b/desktopRuntime/resources/assets/minecraft/models/item/mossy_stonebrick.json new file mode 100644 index 0000000..7daf6a4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/mossy_stonebrick.json @@ -0,0 +1,10 @@ +{ + "parent": "block/stonebrick_mossy", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/mushroom_stew.json b/desktopRuntime/resources/assets/minecraft/models/item/mushroom_stew.json new file mode 100644 index 0000000..d557e05 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/mushroom_stew.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/mushroom_stew" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/mutton.json b/desktopRuntime/resources/assets/minecraft/models/item/mutton.json new file mode 100644 index 0000000..d8814f5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/mutton.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/mutton_raw" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/mycelium.json b/desktopRuntime/resources/assets/minecraft/models/item/mycelium.json new file mode 100644 index 0000000..c94894d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/mycelium.json @@ -0,0 +1,10 @@ +{ + "parent": "block/mycelium", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/name_tag.json b/desktopRuntime/resources/assets/minecraft/models/item/name_tag.json new file mode 100644 index 0000000..f299fac --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/name_tag.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/name_tag" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/nether_brick.json b/desktopRuntime/resources/assets/minecraft/models/item/nether_brick.json new file mode 100644 index 0000000..11dc45c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/nether_brick.json @@ -0,0 +1,10 @@ +{ + "parent": "block/nether_brick", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/nether_brick_fence.json b/desktopRuntime/resources/assets/minecraft/models/item/nether_brick_fence.json new file mode 100644 index 0000000..bc33fac --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/nether_brick_fence.json @@ -0,0 +1,13 @@ +{ + "parent": "block/nether_brick_fence_inventory", + "display": { + "thirdperson": { + "rotation": [ 0, 0, 180 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "gui": { + "rotation": [ 0, 90, 0 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/nether_brick_slab.json b/desktopRuntime/resources/assets/minecraft/models/item/nether_brick_slab.json new file mode 100644 index 0000000..9580320 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/nether_brick_slab.json @@ -0,0 +1,10 @@ +{ + "parent": "block/half_slab_nether_brick", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/nether_brick_stairs.json b/desktopRuntime/resources/assets/minecraft/models/item/nether_brick_stairs.json new file mode 100644 index 0000000..9bdf009 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/nether_brick_stairs.json @@ -0,0 +1,13 @@ +{ + "parent": "block/nether_brick_stairs", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "gui": { + "rotation": [ 0, 180, 0 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/nether_star.json b/desktopRuntime/resources/assets/minecraft/models/item/nether_star.json new file mode 100644 index 0000000..fb4747d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/nether_star.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/nether_star" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/nether_wart.json b/desktopRuntime/resources/assets/minecraft/models/item/nether_wart.json new file mode 100644 index 0000000..0c80622 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/nether_wart.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/nether_wart" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/netherbrick.json b/desktopRuntime/resources/assets/minecraft/models/item/netherbrick.json new file mode 100644 index 0000000..5678329 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/netherbrick.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/netherbrick" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/netherrack.json b/desktopRuntime/resources/assets/minecraft/models/item/netherrack.json new file mode 100644 index 0000000..3263ec0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/netherrack.json @@ -0,0 +1,10 @@ +{ + "parent": "block/netherrack", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/noteblock.json b/desktopRuntime/resources/assets/minecraft/models/item/noteblock.json new file mode 100644 index 0000000..0834aef --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/noteblock.json @@ -0,0 +1,10 @@ +{ + "parent": "block/noteblock", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/oak_door.json b/desktopRuntime/resources/assets/minecraft/models/item/oak_door.json new file mode 100644 index 0000000..af9c667 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/oak_door.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/door_wood" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/oak_fence.json b/desktopRuntime/resources/assets/minecraft/models/item/oak_fence.json new file mode 100644 index 0000000..9900a74 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/oak_fence.json @@ -0,0 +1,13 @@ +{ + "parent": "block/oak_fence_inventory", + "display": { + "thirdperson": { + "rotation": [ 0, 0, 180 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "gui": { + "rotation": [ 0, 90, 0 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/oak_fence_gate.json b/desktopRuntime/resources/assets/minecraft/models/item/oak_fence_gate.json new file mode 100644 index 0000000..673b537 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/oak_fence_gate.json @@ -0,0 +1,15 @@ +{ + "parent": "block/oak_fence_gate_closed", + "display": { + "thirdperson": { + "rotation": [ 0, -90, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 90, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/oak_leaves.json b/desktopRuntime/resources/assets/minecraft/models/item/oak_leaves.json new file mode 100644 index 0000000..16ec9e4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/oak_leaves.json @@ -0,0 +1,10 @@ +{ + "parent": "block/oak_leaves", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/oak_log.json b/desktopRuntime/resources/assets/minecraft/models/item/oak_log.json new file mode 100644 index 0000000..1de5a96 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/oak_log.json @@ -0,0 +1,10 @@ +{ + "parent": "block/oak_log", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/oak_planks.json b/desktopRuntime/resources/assets/minecraft/models/item/oak_planks.json new file mode 100644 index 0000000..b07f66e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/oak_planks.json @@ -0,0 +1,10 @@ +{ + "parent": "block/oak_planks", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/oak_sapling.json b/desktopRuntime/resources/assets/minecraft/models/item/oak_sapling.json new file mode 100644 index 0000000..da94de1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/oak_sapling.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/sapling_oak" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/oak_slab.json b/desktopRuntime/resources/assets/minecraft/models/item/oak_slab.json new file mode 100644 index 0000000..6ce7924 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/oak_slab.json @@ -0,0 +1,10 @@ +{ + "parent": "block/half_slab_oak", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/oak_stairs.json b/desktopRuntime/resources/assets/minecraft/models/item/oak_stairs.json new file mode 100644 index 0000000..258d9ea --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/oak_stairs.json @@ -0,0 +1,13 @@ +{ + "parent": "block/oak_stairs", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "gui": { + "rotation": [ 0, 180, 0 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/obsidian.json b/desktopRuntime/resources/assets/minecraft/models/item/obsidian.json new file mode 100644 index 0000000..2fefd75 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/obsidian.json @@ -0,0 +1,10 @@ +{ + "parent": "block/obsidian", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/old_wood_slab.json b/desktopRuntime/resources/assets/minecraft/models/item/old_wood_slab.json new file mode 100644 index 0000000..6ce7924 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/old_wood_slab.json @@ -0,0 +1,10 @@ +{ + "parent": "block/half_slab_oak", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/orange_carpet.json b/desktopRuntime/resources/assets/minecraft/models/item/orange_carpet.json new file mode 100644 index 0000000..1a63048 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/orange_carpet.json @@ -0,0 +1,15 @@ +{ + "parent": "block/carpet_orange", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 0.25, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 5.25, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/orange_stained_glass.json b/desktopRuntime/resources/assets/minecraft/models/item/orange_stained_glass.json new file mode 100644 index 0000000..98781bc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/orange_stained_glass.json @@ -0,0 +1,10 @@ +{ + "parent": "block/glass_orange", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/orange_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/models/item/orange_stained_glass_pane.json new file mode 100644 index 0000000..7be46bc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/orange_stained_glass_pane.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/glass_orange" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/orange_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/models/item/orange_stained_hardened_clay.json new file mode 100644 index 0000000..73204d0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/orange_stained_hardened_clay.json @@ -0,0 +1,10 @@ +{ + "parent": "block/hardened_clay_orange", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/orange_tulip.json b/desktopRuntime/resources/assets/minecraft/models/item/orange_tulip.json new file mode 100644 index 0000000..a0352d2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/orange_tulip.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/flower_tulip_orange" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/orange_wool.json b/desktopRuntime/resources/assets/minecraft/models/item/orange_wool.json new file mode 100644 index 0000000..81f08bd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/orange_wool.json @@ -0,0 +1,10 @@ +{ + "parent": "block/orange_wool", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/oxeye_daisy.json b/desktopRuntime/resources/assets/minecraft/models/item/oxeye_daisy.json new file mode 100644 index 0000000..305f5e3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/oxeye_daisy.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/flower_oxeye_daisy" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/packed_ice.json b/desktopRuntime/resources/assets/minecraft/models/item/packed_ice.json new file mode 100644 index 0000000..c6a44c9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/packed_ice.json @@ -0,0 +1,10 @@ +{ + "parent": "block/packed_ice", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/paeonia.json b/desktopRuntime/resources/assets/minecraft/models/item/paeonia.json new file mode 100644 index 0000000..e0bdca3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/paeonia.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/double_plant_paeonia_top" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/painting.json b/desktopRuntime/resources/assets/minecraft/models/item/painting.json new file mode 100644 index 0000000..c32e8e6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/painting.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/painting" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/paper.json b/desktopRuntime/resources/assets/minecraft/models/item/paper.json new file mode 100644 index 0000000..89bed78 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/paper.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/paper" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/pink_carpet.json b/desktopRuntime/resources/assets/minecraft/models/item/pink_carpet.json new file mode 100644 index 0000000..2bce717 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/pink_carpet.json @@ -0,0 +1,15 @@ +{ + "parent": "block/carpet_pink", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 0.25, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 5.25, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/pink_stained_glass.json b/desktopRuntime/resources/assets/minecraft/models/item/pink_stained_glass.json new file mode 100644 index 0000000..fb295f6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/pink_stained_glass.json @@ -0,0 +1,10 @@ +{ + "parent": "block/glass_pink", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/pink_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/models/item/pink_stained_glass_pane.json new file mode 100644 index 0000000..167bda2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/pink_stained_glass_pane.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/glass_pink" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/pink_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/models/item/pink_stained_hardened_clay.json new file mode 100644 index 0000000..2fb45ad --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/pink_stained_hardened_clay.json @@ -0,0 +1,10 @@ +{ + "parent": "block/hardened_clay_pink", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/pink_tulip.json b/desktopRuntime/resources/assets/minecraft/models/item/pink_tulip.json new file mode 100644 index 0000000..4090435 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/pink_tulip.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/flower_tulip_pink" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/pink_wool.json b/desktopRuntime/resources/assets/minecraft/models/item/pink_wool.json new file mode 100644 index 0000000..ec77f59 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/pink_wool.json @@ -0,0 +1,10 @@ +{ + "parent": "block/pink_wool", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/piston.json b/desktopRuntime/resources/assets/minecraft/models/item/piston.json new file mode 100644 index 0000000..52ff989 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/piston.json @@ -0,0 +1,10 @@ +{ + "parent": "block/piston_inventory_normal", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/podzol.json b/desktopRuntime/resources/assets/minecraft/models/item/podzol.json new file mode 100644 index 0000000..50abda1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/podzol.json @@ -0,0 +1,10 @@ +{ + "parent": "block/podzol", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/poisonous_potato.json b/desktopRuntime/resources/assets/minecraft/models/item/poisonous_potato.json new file mode 100644 index 0000000..03cd066 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/poisonous_potato.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/potato_poisonous" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/poppy.json b/desktopRuntime/resources/assets/minecraft/models/item/poppy.json new file mode 100644 index 0000000..4385fcb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/poppy.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/flower_rose" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/porkchop.json b/desktopRuntime/resources/assets/minecraft/models/item/porkchop.json new file mode 100644 index 0000000..4c3d9b0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/porkchop.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/porkchop_raw" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/potato.json b/desktopRuntime/resources/assets/minecraft/models/item/potato.json new file mode 100644 index 0000000..8ff0ab5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/potato.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/potato" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/prismarine.json b/desktopRuntime/resources/assets/minecraft/models/item/prismarine.json new file mode 100644 index 0000000..44e3563 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/prismarine.json @@ -0,0 +1,10 @@ +{ + "parent": "block/prismarine_rough", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/prismarine_bricks.json b/desktopRuntime/resources/assets/minecraft/models/item/prismarine_bricks.json new file mode 100644 index 0000000..6315f58 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/prismarine_bricks.json @@ -0,0 +1,10 @@ +{ + "parent": "block/prismarine_bricks", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/prismarine_crystals.json b/desktopRuntime/resources/assets/minecraft/models/item/prismarine_crystals.json new file mode 100644 index 0000000..34cf915 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/prismarine_crystals.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/prismarine_crystals" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/prismarine_shard.json b/desktopRuntime/resources/assets/minecraft/models/item/prismarine_shard.json new file mode 100644 index 0000000..7bf0cea --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/prismarine_shard.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/prismarine_shard" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/pufferfish.json b/desktopRuntime/resources/assets/minecraft/models/item/pufferfish.json new file mode 100644 index 0000000..9de87f8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/pufferfish.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/fish_pufferfish_raw" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/pumpkin.json b/desktopRuntime/resources/assets/minecraft/models/item/pumpkin.json new file mode 100644 index 0000000..7730517 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/pumpkin.json @@ -0,0 +1,10 @@ +{ + "parent": "block/pumpkin", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/pumpkin_pie.json b/desktopRuntime/resources/assets/minecraft/models/item/pumpkin_pie.json new file mode 100644 index 0000000..1cfa47d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/pumpkin_pie.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/pumpkin_pie" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/pumpkin_seeds.json b/desktopRuntime/resources/assets/minecraft/models/item/pumpkin_seeds.json new file mode 100644 index 0000000..289bce1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/pumpkin_seeds.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/seeds_pumpkin" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/purple_carpet.json b/desktopRuntime/resources/assets/minecraft/models/item/purple_carpet.json new file mode 100644 index 0000000..814c2fb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/purple_carpet.json @@ -0,0 +1,15 @@ +{ + "parent": "block/carpet_purple", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 0.25, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 5.25, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/purple_stained_glass.json b/desktopRuntime/resources/assets/minecraft/models/item/purple_stained_glass.json new file mode 100644 index 0000000..9fb9f44 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/purple_stained_glass.json @@ -0,0 +1,10 @@ +{ + "parent": "block/glass_purple", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/purple_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/models/item/purple_stained_glass_pane.json new file mode 100644 index 0000000..e89272f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/purple_stained_glass_pane.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/glass_purple" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/purple_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/models/item/purple_stained_hardened_clay.json new file mode 100644 index 0000000..b12e8a1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/purple_stained_hardened_clay.json @@ -0,0 +1,10 @@ +{ + "parent": "block/hardened_clay_purple", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/purple_wool.json b/desktopRuntime/resources/assets/minecraft/models/item/purple_wool.json new file mode 100644 index 0000000..a0b95dc --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/purple_wool.json @@ -0,0 +1,10 @@ +{ + "parent": "block/purple_wool", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/purpur_block.json b/desktopRuntime/resources/assets/minecraft/models/item/purpur_block.json new file mode 100644 index 0000000..b2e3964 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/purpur_block.json @@ -0,0 +1,10 @@ +{ + "parent": "block/purpur_block", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/purpur_pillar.json b/desktopRuntime/resources/assets/minecraft/models/item/purpur_pillar.json new file mode 100644 index 0000000..fa194aa --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/purpur_pillar.json @@ -0,0 +1,10 @@ +{ + "parent": "block/purpur_pillar_top", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/purpur_slab.json b/desktopRuntime/resources/assets/minecraft/models/item/purpur_slab.json new file mode 100644 index 0000000..904e2aa --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/purpur_slab.json @@ -0,0 +1,10 @@ +{ + "parent": "block/half_slab_purpur", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/purpur_stairs.json b/desktopRuntime/resources/assets/minecraft/models/item/purpur_stairs.json new file mode 100644 index 0000000..75e797c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/purpur_stairs.json @@ -0,0 +1,13 @@ +{ + "parent": "block/purpur_stairs", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "gui": { + "rotation": [ 0, 180, 0 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/quartz.json b/desktopRuntime/resources/assets/minecraft/models/item/quartz.json new file mode 100644 index 0000000..3f98c00 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/quartz.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/quartz" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/quartz_block.json b/desktopRuntime/resources/assets/minecraft/models/item/quartz_block.json new file mode 100644 index 0000000..007b0d6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/quartz_block.json @@ -0,0 +1,10 @@ +{ + "parent": "block/quartz_normal", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/quartz_column.json b/desktopRuntime/resources/assets/minecraft/models/item/quartz_column.json new file mode 100644 index 0000000..6ce7f5e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/quartz_column.json @@ -0,0 +1,10 @@ +{ + "parent": "block/quartz_lines", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/quartz_ore.json b/desktopRuntime/resources/assets/minecraft/models/item/quartz_ore.json new file mode 100644 index 0000000..a081294 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/quartz_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "block/quartz_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/quartz_slab.json b/desktopRuntime/resources/assets/minecraft/models/item/quartz_slab.json new file mode 100644 index 0000000..df320da --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/quartz_slab.json @@ -0,0 +1,10 @@ +{ + "parent": "block/half_slab_quartz", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/quartz_stairs.json b/desktopRuntime/resources/assets/minecraft/models/item/quartz_stairs.json new file mode 100644 index 0000000..cd3c370 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/quartz_stairs.json @@ -0,0 +1,13 @@ +{ + "parent": "block/quartz_stairs", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "gui": { + "rotation": [ 0, 180, 0 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/rabbit.json b/desktopRuntime/resources/assets/minecraft/models/item/rabbit.json new file mode 100644 index 0000000..f0eb737 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/rabbit.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/rabbit_raw" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/rabbit_foot.json b/desktopRuntime/resources/assets/minecraft/models/item/rabbit_foot.json new file mode 100644 index 0000000..800968f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/rabbit_foot.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/rabbit_foot" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.25 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/rabbit_hide.json b/desktopRuntime/resources/assets/minecraft/models/item/rabbit_hide.json new file mode 100644 index 0000000..1c0f04e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/rabbit_hide.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/rabbit_hide" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/rabbit_stew.json b/desktopRuntime/resources/assets/minecraft/models/item/rabbit_stew.json new file mode 100644 index 0000000..003506b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/rabbit_stew.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/rabbit_stew" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/rail.json b/desktopRuntime/resources/assets/minecraft/models/item/rail.json new file mode 100644 index 0000000..c11f2a9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/rail.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/rail_normal" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/record_11.json b/desktopRuntime/resources/assets/minecraft/models/item/record_11.json new file mode 100644 index 0000000..a27dfb5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/record_11.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/record_11" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/record_13.json b/desktopRuntime/resources/assets/minecraft/models/item/record_13.json new file mode 100644 index 0000000..d0b5a61 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/record_13.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/record_13" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/record_blocks.json b/desktopRuntime/resources/assets/minecraft/models/item/record_blocks.json new file mode 100644 index 0000000..d3ffd49 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/record_blocks.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/record_blocks" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/record_cat.json b/desktopRuntime/resources/assets/minecraft/models/item/record_cat.json new file mode 100644 index 0000000..c9f7bd7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/record_cat.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/record_cat" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/record_chirp.json b/desktopRuntime/resources/assets/minecraft/models/item/record_chirp.json new file mode 100644 index 0000000..53169c2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/record_chirp.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/record_chirp" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/record_far.json b/desktopRuntime/resources/assets/minecraft/models/item/record_far.json new file mode 100644 index 0000000..9a6f35a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/record_far.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/record_far" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/record_mall.json b/desktopRuntime/resources/assets/minecraft/models/item/record_mall.json new file mode 100644 index 0000000..41cc466 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/record_mall.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/record_mall" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/record_mellohi.json b/desktopRuntime/resources/assets/minecraft/models/item/record_mellohi.json new file mode 100644 index 0000000..34ce6f2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/record_mellohi.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/record_mellohi" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/record_stal.json b/desktopRuntime/resources/assets/minecraft/models/item/record_stal.json new file mode 100644 index 0000000..c403209 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/record_stal.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/record_stal" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/record_strad.json b/desktopRuntime/resources/assets/minecraft/models/item/record_strad.json new file mode 100644 index 0000000..8518d32 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/record_strad.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/record_strad" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/record_wait.json b/desktopRuntime/resources/assets/minecraft/models/item/record_wait.json new file mode 100644 index 0000000..1607500 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/record_wait.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/record_wait" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/record_ward.json b/desktopRuntime/resources/assets/minecraft/models/item/record_ward.json new file mode 100644 index 0000000..2812f44 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/record_ward.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/record_ward" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/red_carpet.json b/desktopRuntime/resources/assets/minecraft/models/item/red_carpet.json new file mode 100644 index 0000000..daa4bd0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/red_carpet.json @@ -0,0 +1,15 @@ +{ + "parent": "block/carpet_red", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 0.25, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 5.25, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/red_mushroom.json b/desktopRuntime/resources/assets/minecraft/models/item/red_mushroom.json new file mode 100644 index 0000000..e3dbd34 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/red_mushroom.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/mushroom_red" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/red_mushroom_block.json b/desktopRuntime/resources/assets/minecraft/models/item/red_mushroom_block.json new file mode 100644 index 0000000..f946a33 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/red_mushroom_block.json @@ -0,0 +1,10 @@ +{ + "parent": "block/red_mushroom_block_cap_all", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/red_sand.json b/desktopRuntime/resources/assets/minecraft/models/item/red_sand.json new file mode 100644 index 0000000..af83cb9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/red_sand.json @@ -0,0 +1,10 @@ +{ + "parent": "block/red_sand", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/red_sandstone.json b/desktopRuntime/resources/assets/minecraft/models/item/red_sandstone.json new file mode 100644 index 0000000..d47e925 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/red_sandstone.json @@ -0,0 +1,10 @@ +{ + "parent": "block/red_sandstone_normal", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/red_sandstone_slab.json b/desktopRuntime/resources/assets/minecraft/models/item/red_sandstone_slab.json new file mode 100644 index 0000000..a25b976 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/red_sandstone_slab.json @@ -0,0 +1,10 @@ +{ + "parent": "block/half_slab_red_sandstone", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/red_sandstone_stairs.json b/desktopRuntime/resources/assets/minecraft/models/item/red_sandstone_stairs.json new file mode 100644 index 0000000..68aa72d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/red_sandstone_stairs.json @@ -0,0 +1,13 @@ +{ + "parent": "block/red_sandstone_stairs", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "gui": { + "rotation": [ 0, 180, 0 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/red_stained_glass.json b/desktopRuntime/resources/assets/minecraft/models/item/red_stained_glass.json new file mode 100644 index 0000000..f952d29 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/red_stained_glass.json @@ -0,0 +1,10 @@ +{ + "parent": "block/glass_red", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/red_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/models/item/red_stained_glass_pane.json new file mode 100644 index 0000000..e094a71 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/red_stained_glass_pane.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/glass_red" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/red_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/models/item/red_stained_hardened_clay.json new file mode 100644 index 0000000..7b3afca --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/red_stained_hardened_clay.json @@ -0,0 +1,10 @@ +{ + "parent": "block/hardened_clay_red", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/red_tulip.json b/desktopRuntime/resources/assets/minecraft/models/item/red_tulip.json new file mode 100644 index 0000000..4edb91b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/red_tulip.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/flower_tulip_red" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/red_wool.json b/desktopRuntime/resources/assets/minecraft/models/item/red_wool.json new file mode 100644 index 0000000..387f171 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/red_wool.json @@ -0,0 +1,10 @@ +{ + "parent": "block/red_wool", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/redstone.json b/desktopRuntime/resources/assets/minecraft/models/item/redstone.json new file mode 100644 index 0000000..5144e1a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/redstone.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/redstone_dust" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/redstone_block.json b/desktopRuntime/resources/assets/minecraft/models/item/redstone_block.json new file mode 100644 index 0000000..82516bf --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/redstone_block.json @@ -0,0 +1,10 @@ +{ + "parent": "block/redstone_block", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/redstone_lamp.json b/desktopRuntime/resources/assets/minecraft/models/item/redstone_lamp.json new file mode 100644 index 0000000..2a8df04 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/redstone_lamp.json @@ -0,0 +1,10 @@ +{ + "parent": "block/unlit_redstone_lamp", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/redstone_ore.json b/desktopRuntime/resources/assets/minecraft/models/item/redstone_ore.json new file mode 100644 index 0000000..198fde2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/redstone_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "block/redstone_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/redstone_torch.json b/desktopRuntime/resources/assets/minecraft/models/item/redstone_torch.json new file mode 100644 index 0000000..191b5d6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/redstone_torch.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/redstone_torch_on" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/reeds.json b/desktopRuntime/resources/assets/minecraft/models/item/reeds.json new file mode 100644 index 0000000..23f2903 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/reeds.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/reeds" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/repeater.json b/desktopRuntime/resources/assets/minecraft/models/item/repeater.json new file mode 100644 index 0000000..4e820e7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/repeater.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/repeater" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/repeating_command_block.json b/desktopRuntime/resources/assets/minecraft/models/item/repeating_command_block.json new file mode 100644 index 0000000..8e1f6b5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/repeating_command_block.json @@ -0,0 +1,10 @@ +{ + "parent": "block/repeating_command_block", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/rotten_flesh.json b/desktopRuntime/resources/assets/minecraft/models/item/rotten_flesh.json new file mode 100644 index 0000000..8882261 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/rotten_flesh.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/rotten_flesh" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/saddle.json b/desktopRuntime/resources/assets/minecraft/models/item/saddle.json new file mode 100644 index 0000000..f84d543 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/saddle.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/saddle" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/salmon.json b/desktopRuntime/resources/assets/minecraft/models/item/salmon.json new file mode 100644 index 0000000..8e5c30b --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/salmon.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/fish_salmon_raw" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/sand.json b/desktopRuntime/resources/assets/minecraft/models/item/sand.json new file mode 100644 index 0000000..03cb8b2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/sand.json @@ -0,0 +1,10 @@ +{ + "parent": "block/sand", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/sandstone.json b/desktopRuntime/resources/assets/minecraft/models/item/sandstone.json new file mode 100644 index 0000000..469d21e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/sandstone.json @@ -0,0 +1,10 @@ +{ + "parent": "block/sandstone_normal", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/sandstone_slab.json b/desktopRuntime/resources/assets/minecraft/models/item/sandstone_slab.json new file mode 100644 index 0000000..2dd524f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/sandstone_slab.json @@ -0,0 +1,10 @@ +{ + "parent": "block/half_slab_sandstone", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/sandstone_stairs.json b/desktopRuntime/resources/assets/minecraft/models/item/sandstone_stairs.json new file mode 100644 index 0000000..28e697a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/sandstone_stairs.json @@ -0,0 +1,13 @@ +{ + "parent": "block/sandstone_stairs", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "gui": { + "rotation": [ 0, 180, 0 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/sea_lantern.json b/desktopRuntime/resources/assets/minecraft/models/item/sea_lantern.json new file mode 100644 index 0000000..8873b6c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/sea_lantern.json @@ -0,0 +1,10 @@ +{ + "parent": "block/sea_lantern", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/shears.json b/desktopRuntime/resources/assets/minecraft/models/item/shears.json new file mode 100644 index 0000000..86602a2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/shears.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/shears" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/sign.json b/desktopRuntime/resources/assets/minecraft/models/item/sign.json new file mode 100644 index 0000000..a3172aa --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/sign.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/sign" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/silver_carpet.json b/desktopRuntime/resources/assets/minecraft/models/item/silver_carpet.json new file mode 100644 index 0000000..3a2053a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/silver_carpet.json @@ -0,0 +1,15 @@ +{ + "parent": "block/carpet_silver", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 0.25, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 5.25, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/silver_stained_glass.json b/desktopRuntime/resources/assets/minecraft/models/item/silver_stained_glass.json new file mode 100644 index 0000000..d3c583e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/silver_stained_glass.json @@ -0,0 +1,10 @@ +{ + "parent": "block/glass_silver", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/silver_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/models/item/silver_stained_glass_pane.json new file mode 100644 index 0000000..7f9cd68 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/silver_stained_glass_pane.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/glass_silver" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/silver_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/models/item/silver_stained_hardened_clay.json new file mode 100644 index 0000000..05c662a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/silver_stained_hardened_clay.json @@ -0,0 +1,10 @@ +{ + "parent": "block/hardened_clay_silver", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/silver_wool.json b/desktopRuntime/resources/assets/minecraft/models/item/silver_wool.json new file mode 100644 index 0000000..31615f2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/silver_wool.json @@ -0,0 +1,10 @@ +{ + "parent": "block/silver_wool", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/skull_char.json b/desktopRuntime/resources/assets/minecraft/models/item/skull_char.json new file mode 100644 index 0000000..26d1cde --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/skull_char.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/entity", + "display": { + "thirdperson": { + "rotation": [ 180, -45, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.25, 0.25, 0.25 ] + }, + "firstperson": { + "rotation": [ 0, -180, 0 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "gui": { + "rotation": [ 0, 180, 0 ], + "scale": [ 0.7, 0.7, 0.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/skull_creeper.json b/desktopRuntime/resources/assets/minecraft/models/item/skull_creeper.json new file mode 100644 index 0000000..26d1cde --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/skull_creeper.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/entity", + "display": { + "thirdperson": { + "rotation": [ 180, -45, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.25, 0.25, 0.25 ] + }, + "firstperson": { + "rotation": [ 0, -180, 0 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "gui": { + "rotation": [ 0, 180, 0 ], + "scale": [ 0.7, 0.7, 0.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/skull_dragon.json b/desktopRuntime/resources/assets/minecraft/models/item/skull_dragon.json new file mode 100644 index 0000000..344ea12 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/skull_dragon.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/entity", + "display": { + "thirdperson": { + "rotation": [ 180, -45, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.25, 0.25, 0.25 ] + }, + "firstperson": { + "rotation": [ 0, -180, 0 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "gui": { + "rotation": [ 0, 180, 0 ], + "scale": [ 0.4, 0.4, 0.4 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/skull_skeleton.json b/desktopRuntime/resources/assets/minecraft/models/item/skull_skeleton.json new file mode 100644 index 0000000..26d1cde --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/skull_skeleton.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/entity", + "display": { + "thirdperson": { + "rotation": [ 180, -45, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.25, 0.25, 0.25 ] + }, + "firstperson": { + "rotation": [ 0, -180, 0 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "gui": { + "rotation": [ 0, 180, 0 ], + "scale": [ 0.7, 0.7, 0.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/skull_wither.json b/desktopRuntime/resources/assets/minecraft/models/item/skull_wither.json new file mode 100644 index 0000000..26d1cde --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/skull_wither.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/entity", + "display": { + "thirdperson": { + "rotation": [ 180, -45, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.25, 0.25, 0.25 ] + }, + "firstperson": { + "rotation": [ 0, -180, 0 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "gui": { + "rotation": [ 0, 180, 0 ], + "scale": [ 0.7, 0.7, 0.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/skull_zombie.json b/desktopRuntime/resources/assets/minecraft/models/item/skull_zombie.json new file mode 100644 index 0000000..26d1cde --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/skull_zombie.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/entity", + "display": { + "thirdperson": { + "rotation": [ 180, -45, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.25, 0.25, 0.25 ] + }, + "firstperson": { + "rotation": [ 0, -180, 0 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "gui": { + "rotation": [ 0, 180, 0 ], + "scale": [ 0.7, 0.7, 0.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/slime.json b/desktopRuntime/resources/assets/minecraft/models/item/slime.json new file mode 100644 index 0000000..bb965f6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/slime.json @@ -0,0 +1,10 @@ +{ + "parent": "block/slime", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/slime_ball.json b/desktopRuntime/resources/assets/minecraft/models/item/slime_ball.json new file mode 100644 index 0000000..c7c6f32 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/slime_ball.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/slimeball" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/smooth_red_sandstone.json b/desktopRuntime/resources/assets/minecraft/models/item/smooth_red_sandstone.json new file mode 100644 index 0000000..7b4dc94 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/smooth_red_sandstone.json @@ -0,0 +1,10 @@ +{ + "parent": "block/red_sandstone_smooth", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/smooth_sandstone.json b/desktopRuntime/resources/assets/minecraft/models/item/smooth_sandstone.json new file mode 100644 index 0000000..2525f30 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/smooth_sandstone.json @@ -0,0 +1,10 @@ +{ + "parent": "block/sandstone_smooth", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/snow.json b/desktopRuntime/resources/assets/minecraft/models/item/snow.json new file mode 100644 index 0000000..7f34ed4 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/snow.json @@ -0,0 +1,10 @@ +{ + "parent": "block/snow", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/snow_layer.json b/desktopRuntime/resources/assets/minecraft/models/item/snow_layer.json new file mode 100644 index 0000000..fd0c34a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/snow_layer.json @@ -0,0 +1,15 @@ +{ + "parent": "block/snow_height2", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 0.25, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 5.25, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/snowball.json b/desktopRuntime/resources/assets/minecraft/models/item/snowball.json new file mode 100644 index 0000000..cb4a57f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/snowball.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/snowball" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/soul_sand.json b/desktopRuntime/resources/assets/minecraft/models/item/soul_sand.json new file mode 100644 index 0000000..4985cb9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/soul_sand.json @@ -0,0 +1,10 @@ +{ + "parent": "block/soul_sand", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/spawn_egg.json b/desktopRuntime/resources/assets/minecraft/models/item/spawn_egg.json new file mode 100644 index 0000000..1ddad18 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/spawn_egg.json @@ -0,0 +1,19 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/spawn_egg", + "layer1": "items/spawn_egg_overlay" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/speckled_melon.json b/desktopRuntime/resources/assets/minecraft/models/item/speckled_melon.json new file mode 100644 index 0000000..23a0e18 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/speckled_melon.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/melon_speckled" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/spider_eye.json b/desktopRuntime/resources/assets/minecraft/models/item/spider_eye.json new file mode 100644 index 0000000..86a990c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/spider_eye.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/spider_eye" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/sponge.json b/desktopRuntime/resources/assets/minecraft/models/item/sponge.json new file mode 100644 index 0000000..423a515 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/sponge.json @@ -0,0 +1,10 @@ +{ + "parent": "block/sponge", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/sponge_wet.json b/desktopRuntime/resources/assets/minecraft/models/item/sponge_wet.json new file mode 100644 index 0000000..5bd58af --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/sponge_wet.json @@ -0,0 +1,10 @@ +{ + "parent": "block/sponge_wet", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/spruce_door.json b/desktopRuntime/resources/assets/minecraft/models/item/spruce_door.json new file mode 100644 index 0000000..c4cc070 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/spruce_door.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/door_spruce" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/spruce_fence.json b/desktopRuntime/resources/assets/minecraft/models/item/spruce_fence.json new file mode 100644 index 0000000..f14facd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/spruce_fence.json @@ -0,0 +1,13 @@ +{ + "parent": "block/spruce_fence_inventory", + "display": { + "thirdperson": { + "rotation": [ 0, 0, 180 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "gui": { + "rotation": [ 0, 90, 0 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/spruce_fence_gate.json b/desktopRuntime/resources/assets/minecraft/models/item/spruce_fence_gate.json new file mode 100644 index 0000000..8a4d6b9 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/spruce_fence_gate.json @@ -0,0 +1,15 @@ +{ + "parent": "block/spruce_fence_gate_closed", + "display": { + "thirdperson": { + "rotation": [ 0, -90, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 90, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/spruce_leaves.json b/desktopRuntime/resources/assets/minecraft/models/item/spruce_leaves.json new file mode 100644 index 0000000..d8c7ab7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/spruce_leaves.json @@ -0,0 +1,10 @@ +{ + "parent": "block/spruce_leaves", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/spruce_log.json b/desktopRuntime/resources/assets/minecraft/models/item/spruce_log.json new file mode 100644 index 0000000..e13df2a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/spruce_log.json @@ -0,0 +1,10 @@ +{ + "parent": "block/spruce_log", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/spruce_planks.json b/desktopRuntime/resources/assets/minecraft/models/item/spruce_planks.json new file mode 100644 index 0000000..0bfbb1a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/spruce_planks.json @@ -0,0 +1,10 @@ +{ + "parent": "block/spruce_planks", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/spruce_sapling.json b/desktopRuntime/resources/assets/minecraft/models/item/spruce_sapling.json new file mode 100644 index 0000000..77a8b9d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/spruce_sapling.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/sapling_spruce" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/spruce_slab.json b/desktopRuntime/resources/assets/minecraft/models/item/spruce_slab.json new file mode 100644 index 0000000..51cf2e8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/spruce_slab.json @@ -0,0 +1,10 @@ +{ + "parent": "block/half_slab_spruce", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/spruce_stairs.json b/desktopRuntime/resources/assets/minecraft/models/item/spruce_stairs.json new file mode 100644 index 0000000..9e263b0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/spruce_stairs.json @@ -0,0 +1,13 @@ +{ + "parent": "block/spruce_stairs", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "gui": { + "rotation": [ 0, 180, 0 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/stick.json b/desktopRuntime/resources/assets/minecraft/models/item/stick.json new file mode 100644 index 0000000..daa1fbb --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/stick.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/stick" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/sticky_piston.json b/desktopRuntime/resources/assets/minecraft/models/item/sticky_piston.json new file mode 100644 index 0000000..385ca51 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/sticky_piston.json @@ -0,0 +1,10 @@ +{ + "parent": "block/piston_inventory_sticky", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/stone.json b/desktopRuntime/resources/assets/minecraft/models/item/stone.json new file mode 100644 index 0000000..028deea --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/stone.json @@ -0,0 +1,10 @@ +{ + "parent": "block/stone", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/stone_axe.json b/desktopRuntime/resources/assets/minecraft/models/item/stone_axe.json new file mode 100644 index 0000000..75d8d4c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/stone_axe.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/stone_axe" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/stone_brick_monster_egg.json b/desktopRuntime/resources/assets/minecraft/models/item/stone_brick_monster_egg.json new file mode 100644 index 0000000..4047904 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/stone_brick_monster_egg.json @@ -0,0 +1,10 @@ +{ + "parent": "block/stonebrick_normal", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/stone_brick_slab.json b/desktopRuntime/resources/assets/minecraft/models/item/stone_brick_slab.json new file mode 100644 index 0000000..203d76a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/stone_brick_slab.json @@ -0,0 +1,10 @@ +{ + "parent": "block/half_slab_stone_brick", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/stone_brick_stairs.json b/desktopRuntime/resources/assets/minecraft/models/item/stone_brick_stairs.json new file mode 100644 index 0000000..4fa2bc2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/stone_brick_stairs.json @@ -0,0 +1,13 @@ +{ + "parent": "block/stone_brick_stairs", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "gui": { + "rotation": [ 0, 180, 0 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/stone_button.json b/desktopRuntime/resources/assets/minecraft/models/item/stone_button.json new file mode 100644 index 0000000..a1f2154 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/stone_button.json @@ -0,0 +1,10 @@ +{ + "parent": "block/stone_button_inventory", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1, -1.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/stone_hoe.json b/desktopRuntime/resources/assets/minecraft/models/item/stone_hoe.json new file mode 100644 index 0000000..8321d21 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/stone_hoe.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/stone_hoe" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/stone_monster_egg.json b/desktopRuntime/resources/assets/minecraft/models/item/stone_monster_egg.json new file mode 100644 index 0000000..028deea --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/stone_monster_egg.json @@ -0,0 +1,10 @@ +{ + "parent": "block/stone", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/stone_pickaxe.json b/desktopRuntime/resources/assets/minecraft/models/item/stone_pickaxe.json new file mode 100644 index 0000000..dba4719 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/stone_pickaxe.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/stone_pickaxe" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/stone_pressure_plate.json b/desktopRuntime/resources/assets/minecraft/models/item/stone_pressure_plate.json new file mode 100644 index 0000000..b384ea0 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/stone_pressure_plate.json @@ -0,0 +1,10 @@ +{ + "parent": "block/stone_pressure_plate_inventory", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/stone_shovel.json b/desktopRuntime/resources/assets/minecraft/models/item/stone_shovel.json new file mode 100644 index 0000000..3df4798 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/stone_shovel.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/stone_shovel" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/stone_slab.json b/desktopRuntime/resources/assets/minecraft/models/item/stone_slab.json new file mode 100644 index 0000000..a8d04d1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/stone_slab.json @@ -0,0 +1,10 @@ +{ + "parent": "block/half_slab_stone", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/stone_stairs.json b/desktopRuntime/resources/assets/minecraft/models/item/stone_stairs.json new file mode 100644 index 0000000..11d26ff --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/stone_stairs.json @@ -0,0 +1,13 @@ +{ + "parent": "block/stone_stairs", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "gui": { + "rotation": [ 0, 180, 0 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/stone_sword.json b/desktopRuntime/resources/assets/minecraft/models/item/stone_sword.json new file mode 100644 index 0000000..0382f48 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/stone_sword.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/stone_sword" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/stonebrick.json b/desktopRuntime/resources/assets/minecraft/models/item/stonebrick.json new file mode 100644 index 0000000..4047904 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/stonebrick.json @@ -0,0 +1,10 @@ +{ + "parent": "block/stonebrick_normal", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/string.json b/desktopRuntime/resources/assets/minecraft/models/item/string.json new file mode 100644 index 0000000..08ae929 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/string.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/string" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/sugar.json b/desktopRuntime/resources/assets/minecraft/models/item/sugar.json new file mode 100644 index 0000000..55bba0c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/sugar.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/sugar" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/sunflower.json b/desktopRuntime/resources/assets/minecraft/models/item/sunflower.json new file mode 100644 index 0000000..429226e --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/sunflower.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/double_plant_sunflower_front" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/syringa.json b/desktopRuntime/resources/assets/minecraft/models/item/syringa.json new file mode 100644 index 0000000..2dd55ec --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/syringa.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/double_plant_syringa_top" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/tall_grass.json b/desktopRuntime/resources/assets/minecraft/models/item/tall_grass.json new file mode 100644 index 0000000..c95e146 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/tall_grass.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/tallgrass" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/tnt.json b/desktopRuntime/resources/assets/minecraft/models/item/tnt.json new file mode 100644 index 0000000..3712318 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/tnt.json @@ -0,0 +1,10 @@ +{ + "parent": "block/tnt", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/tnt_minecart.json b/desktopRuntime/resources/assets/minecraft/models/item/tnt_minecart.json new file mode 100644 index 0000000..9e854ef --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/tnt_minecart.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/minecart_tnt" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/torch.json b/desktopRuntime/resources/assets/minecraft/models/item/torch.json new file mode 100644 index 0000000..92f72f3 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/torch.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/torch_on" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/trapdoor.json b/desktopRuntime/resources/assets/minecraft/models/item/trapdoor.json new file mode 100644 index 0000000..9ea194d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/trapdoor.json @@ -0,0 +1,15 @@ +{ + "parent": "block/wooden_trapdoor_bottom", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 0.25, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 5, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/trapped_chest.json b/desktopRuntime/resources/assets/minecraft/models/item/trapped_chest.json new file mode 100644 index 0000000..43a272a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/trapped_chest.json @@ -0,0 +1,3 @@ +{ + "parent": "builtin/entity" +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/tripwire_hook.json b/desktopRuntime/resources/assets/minecraft/models/item/tripwire_hook.json new file mode 100644 index 0000000..e14fa42 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/tripwire_hook.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/trip_wire_source" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/vine.json b/desktopRuntime/resources/assets/minecraft/models/item/vine.json new file mode 100644 index 0000000..60c30cd --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/vine.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/vine" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/water_bucket.json b/desktopRuntime/resources/assets/minecraft/models/item/water_bucket.json new file mode 100644 index 0000000..0a20cf7 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/water_bucket.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/bucket_water" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/waterlily.json b/desktopRuntime/resources/assets/minecraft/models/item/waterlily.json new file mode 100644 index 0000000..66fb79d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/waterlily.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/waterlily" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/web.json b/desktopRuntime/resources/assets/minecraft/models/item/web.json new file mode 100644 index 0000000..b345a5d --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/web.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/web" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/wheat.json b/desktopRuntime/resources/assets/minecraft/models/item/wheat.json new file mode 100644 index 0000000..dd50fa5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/wheat.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/wheat" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/wheat_seeds.json b/desktopRuntime/resources/assets/minecraft/models/item/wheat_seeds.json new file mode 100644 index 0000000..107bf47 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/wheat_seeds.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/seeds_wheat" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -2.5 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/white_carpet.json b/desktopRuntime/resources/assets/minecraft/models/item/white_carpet.json new file mode 100644 index 0000000..eac5ac1 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/white_carpet.json @@ -0,0 +1,15 @@ +{ + "parent": "block/carpet_white", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 0.25, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 5.25, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/white_stained_glass.json b/desktopRuntime/resources/assets/minecraft/models/item/white_stained_glass.json new file mode 100644 index 0000000..af34ba8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/white_stained_glass.json @@ -0,0 +1,10 @@ +{ + "parent": "block/glass_white", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/white_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/models/item/white_stained_glass_pane.json new file mode 100644 index 0000000..b7b1372 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/white_stained_glass_pane.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/glass_white" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/white_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/models/item/white_stained_hardened_clay.json new file mode 100644 index 0000000..6028733 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/white_stained_hardened_clay.json @@ -0,0 +1,10 @@ +{ + "parent": "block/hardened_clay_white", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/white_tulip.json b/desktopRuntime/resources/assets/minecraft/models/item/white_tulip.json new file mode 100644 index 0000000..af91c3a --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/white_tulip.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/flower_tulip_white" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/white_wool.json b/desktopRuntime/resources/assets/minecraft/models/item/white_wool.json new file mode 100644 index 0000000..867cd01 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/white_wool.json @@ -0,0 +1,10 @@ +{ + "parent": "block/white_wool", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/wood_old_slab.json b/desktopRuntime/resources/assets/minecraft/models/item/wood_old_slab.json new file mode 100644 index 0000000..6ce7924 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/wood_old_slab.json @@ -0,0 +1,10 @@ +{ + "parent": "block/half_slab_oak", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/wooden_axe.json b/desktopRuntime/resources/assets/minecraft/models/item/wooden_axe.json new file mode 100644 index 0000000..07d818c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/wooden_axe.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/wood_axe" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/wooden_button.json b/desktopRuntime/resources/assets/minecraft/models/item/wooden_button.json new file mode 100644 index 0000000..ca81892 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/wooden_button.json @@ -0,0 +1,10 @@ +{ + "parent": "block/wooden_button_inventory", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1, -1.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/wooden_hoe.json b/desktopRuntime/resources/assets/minecraft/models/item/wooden_hoe.json new file mode 100644 index 0000000..3411d0f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/wooden_hoe.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/wood_hoe" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/wooden_pickaxe.json b/desktopRuntime/resources/assets/minecraft/models/item/wooden_pickaxe.json new file mode 100644 index 0000000..d66d901 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/wooden_pickaxe.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/wood_pickaxe" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/wooden_pressure_plate.json b/desktopRuntime/resources/assets/minecraft/models/item/wooden_pressure_plate.json new file mode 100644 index 0000000..f36987f --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/wooden_pressure_plate.json @@ -0,0 +1,10 @@ +{ + "parent": "block/wooden_pressure_plate_inventory", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/wooden_shovel.json b/desktopRuntime/resources/assets/minecraft/models/item/wooden_shovel.json new file mode 100644 index 0000000..6d621ec --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/wooden_shovel.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/wood_shovel" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/wooden_sword.json b/desktopRuntime/resources/assets/minecraft/models/item/wooden_sword.json new file mode 100644 index 0000000..4e760a8 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/wooden_sword.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/wood_sword" + }, + "display": { + "thirdperson": { + "rotation": [ 0, 90, -35 ], + "translation": [ 0, 1.25, -3.5 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/writable_book.json b/desktopRuntime/resources/assets/minecraft/models/item/writable_book.json new file mode 100644 index 0000000..1b31f3c --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/writable_book.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/book_writable" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/written_book.json b/desktopRuntime/resources/assets/minecraft/models/item/written_book.json new file mode 100644 index 0000000..444edef --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/written_book.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "items/book_written" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/yellow_carpet.json b/desktopRuntime/resources/assets/minecraft/models/item/yellow_carpet.json new file mode 100644 index 0000000..08593c2 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/yellow_carpet.json @@ -0,0 +1,15 @@ +{ + "parent": "block/carpet_yellow", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 0.25, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 5.25, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/yellow_stained_glass.json b/desktopRuntime/resources/assets/minecraft/models/item/yellow_stained_glass.json new file mode 100644 index 0000000..7c68f57 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/yellow_stained_glass.json @@ -0,0 +1,10 @@ +{ + "parent": "block/glass_yellow", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/yellow_stained_glass_pane.json b/desktopRuntime/resources/assets/minecraft/models/item/yellow_stained_glass_pane.json new file mode 100644 index 0000000..1b50852 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/yellow_stained_glass_pane.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "blocks/glass_yellow" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/yellow_stained_hardened_clay.json b/desktopRuntime/resources/assets/minecraft/models/item/yellow_stained_hardened_clay.json new file mode 100644 index 0000000..2eaa2b5 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/yellow_stained_hardened_clay.json @@ -0,0 +1,10 @@ +{ + "parent": "block/hardened_clay_yellow", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/models/item/yellow_wool.json b/desktopRuntime/resources/assets/minecraft/models/item/yellow_wool.json new file mode 100644 index 0000000..d9d76fe --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/models/item/yellow_wool.json @@ -0,0 +1,10 @@ +{ + "parent": "block/yellow_wool", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/desktopRuntime/resources/assets/minecraft/sounds.json b/desktopRuntime/resources/assets/minecraft/sounds.json new file mode 100644 index 0000000..9a26e83 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/sounds.json @@ -0,0 +1,2080 @@ +{ + "ambient.cave.cave": { + "category": "ambient", + "sounds": [ + "ambient/cave/cave1", + "ambient/cave/cave10", + "ambient/cave/cave11", + "ambient/cave/cave12", + "ambient/cave/cave13", + "ambient/cave/cave2", + "ambient/cave/cave3", + "ambient/cave/cave4", + "ambient/cave/cave5", + "ambient/cave/cave6", + "ambient/cave/cave7", + "ambient/cave/cave8", + "ambient/cave/cave9" + ] + }, + "ambient.weather.rain": { + "category": "weather", + "sounds": [ + "ambient/weather/rain1", + "ambient/weather/rain2", + "ambient/weather/rain3", + "ambient/weather/rain4" + ] + }, + "ambient.weather.thunder": { + "category": "weather", + "sounds": [ + "ambient/weather/thunder1", + "ambient/weather/thunder2", + "ambient/weather/thunder3" + ] + }, + "game.player.hurt.fall.big": { + "category": "player", + "sounds": [ + "damage/fallbig" + ] + }, + "game.player.hurt.fall.small": { + "category": "player", + "sounds": [ + "damage/fallsmall" + ] + }, + "game.neutral.hurt.fall.big": { + "category": "neutral", + "sounds": [ + "damage/fallbig" + ] + }, + "game.neutral.hurt.fall.small": { + "category": "neutral", + "sounds": [ + "damage/fallsmall" + ] + }, + "game.hostile.hurt.fall.big": { + "category": "hostile", + "sounds": [ + "damage/fallbig" + ] + }, + "game.hostile.hurt.fall.small": { + "category": "hostile", + "sounds": [ + "damage/fallsmall" + ] + }, + "game.player.hurt": { + "category": "player", + "sounds": [ + "damage/hit1", + "damage/hit2", + "damage/hit3" + ] + }, + "game.neutral.hurt": { + "category": "neutral", + "sounds": [ + "damage/hit1", + "damage/hit2", + "damage/hit3" + ] + }, + "game.hostile.hurt": { + "category": "hostile", + "sounds": [ + "damage/hit1", + "damage/hit2", + "damage/hit3" + ] + }, + "game.player.die": { + "category": "player", + "sounds": [ + "damage/hit1", + "damage/hit2", + "damage/hit3" + ] + }, + "game.neutral.die": { + "category": "neutral", + "sounds": [ + "damage/hit1", + "damage/hit2", + "damage/hit3" + ] + }, + "game.hostile.die": { + "category": "hostile", + "sounds": [ + "damage/hit1", + "damage/hit2", + "damage/hit3" + ] + }, + "dig.cloth": { + "category": "block", + "sounds": [ + "dig/cloth1", + "dig/cloth2", + "dig/cloth3", + "dig/cloth4" + ] + }, + "dig.grass": { + "category": "block", + "sounds": [ + "dig/grass1", + "dig/grass2", + "dig/grass3", + "dig/grass4" + ] + }, + "dig.gravel": { + "category": "block", + "sounds": [ + "dig/gravel1", + "dig/gravel2", + "dig/gravel3", + "dig/gravel4" + ] + }, + "dig.sand": { + "category": "block", + "sounds": [ + "dig/sand1", + "dig/sand2", + "dig/sand3", + "dig/sand4" + ] + }, + "dig.snow": { + "category": "block", + "sounds": [ + "dig/snow1", + "dig/snow2", + "dig/snow3", + "dig/snow4" + ] + }, + "dig.stone": { + "category": "block", + "sounds": [ + "dig/stone1", + "dig/stone2", + "dig/stone3", + "dig/stone4" + ] + }, + "dig.wood": { + "category": "block", + "sounds": [ + "dig/wood1", + "dig/wood2", + "dig/wood3", + "dig/wood4" + ] + }, + "fire.fire": { + "category": "block", + "sounds": [ + "fire/fire" + ] + }, + "fire.ignite": { + "category": "block", + "sounds": [ + "fire/ignite" + ] + }, + "item.fireCharge.use": { + "category": "block", + "sounds": [ + "mob/ghast/fireball4" + ] + }, + "fireworks.blast": { + "category": "ambient", + "sounds": [ + "fireworks/blast1" + ] + }, + "fireworks.blast_far": { + "category": "ambient", + "sounds": [ + "fireworks/blast_far1" + ] + }, + "fireworks.largeBlast": { + "category": "ambient", + "sounds": [ + "fireworks/largeBlast1" + ] + }, + "fireworks.largeBlast_far": { + "category": "ambient", + "sounds": [ + "fireworks/largeBlast_far1" + ] + }, + "fireworks.launch": { + "category": "ambient", + "sounds": [ + "fireworks/launch1" + ] + }, + "fireworks.twinkle": { + "category": "ambient", + "sounds": [ + "fireworks/twinkle1" + ] + }, + "fireworks.twinkle_far": { + "category": "ambient", + "sounds": [ + "fireworks/twinkle_far1" + ] + }, + "liquid.lava": { + "category": "block", + "sounds": [ + "liquid/lava" + ] + }, + "liquid.lavapop": { + "category": "block", + "sounds": [ + "liquid/lavapop" + ] + }, + "game.neutral.swim.splash": { + "category": "neutral", + "sounds": [ + "liquid/splash", + "liquid/splash2" + ] + }, + "game.player.swim.splash": { + "category": "block", + "sounds": [ + "liquid/splash", + "liquid/splash2" + ] + }, + "game.hostile.swim.splash": { + "category": "hostile", + "sounds": [ + "liquid/splash", + "liquid/splash2" + ] + }, + "game.player.swim": { + "category": "player", + "sounds": [ + "liquid/swim1", + "liquid/swim2", + "liquid/swim3", + "liquid/swim4" + ] + }, + "game.neutral.swim": { + "category": "neutral", + "sounds": [ + "liquid/swim1", + "liquid/swim2", + "liquid/swim3", + "liquid/swim4" + ] + }, + "game.hostile.swim": { + "category": "hostile", + "sounds": [ + "liquid/swim1", + "liquid/swim2", + "liquid/swim3", + "liquid/swim4" + ] + }, + "liquid.water": { + "category": "block", + "sounds": [ + "liquid/water" + ] + }, + "minecart.base": { + "category": "neutral", + "sounds": [ + "minecart/base" + ] + }, + "minecart.inside": { + "category": "player", + "sounds": [ + "minecart/inside" + ] + }, + "mob.bat.death": { + "category": "neutral", + "sounds": [ + "mob/bat/death" + ] + }, + "mob.bat.hurt": { + "category": "neutral", + "sounds": [ + "mob/bat/hurt1", + "mob/bat/hurt2", + "mob/bat/hurt3", + "mob/bat/hurt4" + ] + }, + "mob.bat.idle": { + "category": "neutral", + "sounds": [ + "mob/bat/idle1", + "mob/bat/idle2", + "mob/bat/idle3", + "mob/bat/idle4" + ] + }, + "mob.bat.loop": { + "category": "neutral", + "sounds": [ + "mob/bat/loop" + ] + }, + "mob.bat.takeoff": { + "category": "neutral", + "sounds": [ + "mob/bat/takeoff" + ] + }, + "mob.blaze.breathe": { + "category": "hostile", + "sounds": [ + "mob/blaze/breathe1", + "mob/blaze/breathe2", + "mob/blaze/breathe3", + "mob/blaze/breathe4" + ] + }, + "mob.blaze.death": { + "category": "hostile", + "sounds": [ + "mob/blaze/death" + ] + }, + "mob.blaze.hit": { + "category": "hostile", + "sounds": [ + "mob/blaze/hit1", + "mob/blaze/hit2", + "mob/blaze/hit3", + "mob/blaze/hit4" + ] + }, + "mob.guardian.hit": { + "category": "hostile", + "sounds": [ + "mob/guardian/guardian_hit1", + "mob/guardian/guardian_hit2", + "mob/guardian/guardian_hit3", + "mob/guardian/guardian_hit4" + ] + }, + "mob.guardian.idle": { + "category": "hostile", + "sounds": [ + { + "name": "mob/guardian/guardian_idle1", + "volume": 0.1 + }, + { + "name": "mob/guardian/guardian_idle2", + "volume": 0.1 + }, + { + "name": "mob/guardian/guardian_idle3", + "volume": 0.1 + }, + { + "name": "mob/guardian/guardian_idle4", + "volume": 0.1 + } + ] + }, + "mob.guardian.death": { + "category": "hostile", + "sounds": [ + "mob/guardian/guardian_death" + ] + }, + "mob.guardian.elder.hit": { + "category": "hostile", + "sounds": [ + "mob/guardian/elder_hit1", + "mob/guardian/elder_hit2", + "mob/guardian/elder_hit3", + "mob/guardian/elder_hit4" + ] + }, + "mob.guardian.elder.idle": { + "category": "hostile", + "sounds": [ + "mob/guardian/elder_idle1", + "mob/guardian/elder_idle2", + "mob/guardian/elder_idle3", + "mob/guardian/elder_idle4" + ] + }, + "mob.guardian.elder.death": { + "category": "hostile", + "sounds": [ + "mob/guardian/elder_death" + ] + }, + "mob.guardian.land.hit": { + "category": "hostile", + "sounds": [ + "mob/guardian/land_hit1", + "mob/guardian/land_hit2", + "mob/guardian/land_hit3", + "mob/guardian/land_hit4" + ] + }, + "mob.guardian.land.idle": { + "category": "hostile", + "sounds": [ + "mob/guardian/land_idle1", + "mob/guardian/land_idle2", + "mob/guardian/land_idle3", + "mob/guardian/land_idle4" + ] + }, + "mob.guardian.land.death": { + "category": "hostile", + "sounds": [ + "mob/guardian/land_death" + ] + }, + "mob.guardian.curse": { + "category": "hostile", + "sounds": [ + "mob/guardian/curse" + ] + }, + "mob.guardian.attack": { + "category": "hostile", + "sounds": [ + "mob/guardian/attack_loop" + ] + }, + "mob.guardian.flop": { + "category": "hostile", + "sounds": [ + "mob/guardian/flop1", + "mob/guardian/flop2", + "mob/guardian/flop3", + "mob/guardian/flop4" + ] + }, + "mob.cat.hiss": { + "category": "neutral", + "sounds": [ + "mob/cat/hiss1", + "mob/cat/hiss2", + "mob/cat/hiss3" + ] + }, + "mob.cat.hitt": { + "category": "neutral", + "sounds": [ + "mob/cat/hitt1", + "mob/cat/hitt2", + "mob/cat/hitt3" + ] + }, + "mob.cat.meow": { + "category": "neutral", + "sounds": [ + "mob/cat/meow1", + "mob/cat/meow2", + "mob/cat/meow3", + "mob/cat/meow4" + ] + }, + "mob.cat.purr": { + "category": "neutral", + "sounds": [ + "mob/cat/purr1", + "mob/cat/purr2", + "mob/cat/purr3" + ] + }, + "mob.cat.purreow": { + "category": "neutral", + "sounds": [ + "mob/cat/purreow1", + "mob/cat/purreow2" + ] + }, + "mob.chicken.hurt": { + "category": "neutral", + "sounds": [ + "mob/chicken/hurt1", + "mob/chicken/hurt2" + ] + }, + "mob.chicken.plop": { + "category": "neutral", + "sounds": [ + "mob/chicken/plop" + ] + }, + "mob.chicken.say": { + "category": "neutral", + "sounds": [ + "mob/chicken/say1", + "mob/chicken/say2", + "mob/chicken/say3" + ] + }, + "mob.chicken.step": { + "category": "neutral", + "sounds": [ + "mob/chicken/step1", + "mob/chicken/step2" + ] + }, + "mob.cow.hurt": { + "category": "neutral", + "sounds": [ + "mob/cow/hurt1", + "mob/cow/hurt2", + "mob/cow/hurt3" + ] + }, + "mob.cow.say": { + "category": "neutral", + "sounds": [ + "mob/cow/say1", + "mob/cow/say2", + "mob/cow/say3", + "mob/cow/say4" + ] + }, + "mob.cow.step": { + "category": "neutral", + "sounds": [ + "mob/cow/step1", + "mob/cow/step2", + "mob/cow/step3", + "mob/cow/step4" + ] + }, + "mob.creeper.death": { + "category": "hostile", + "sounds": [ + "mob/creeper/death" + ] + }, + "mob.creeper.say": { + "category": "hostile", + "sounds": [ + "mob/creeper/say1", + "mob/creeper/say2", + "mob/creeper/say3", + "mob/creeper/say4" + ] + }, + "mob.enderdragon.end": { + "category": "hostile", + "sounds": [ + "mob/enderdragon/end" + ] + }, + "mob.enderdragon.growl": { + "category": "hostile", + "sounds": [ + "mob/enderdragon/growl1", + "mob/enderdragon/growl2", + "mob/enderdragon/growl3", + "mob/enderdragon/growl4" + ] + }, + "mob.enderdragon.hit": { + "category": "hostile", + "sounds": [ + "mob/enderdragon/hit1", + "mob/enderdragon/hit2", + "mob/enderdragon/hit3", + "mob/enderdragon/hit4" + ] + }, + "mob.enderdragon.wings": { + "category": "hostile", + "sounds": [ + "mob/enderdragon/wings1", + "mob/enderdragon/wings2", + "mob/enderdragon/wings3", + "mob/enderdragon/wings4", + "mob/enderdragon/wings5", + "mob/enderdragon/wings6" + ] + }, + "mob.endermen.death": { + "category": "hostile", + "sounds": [ + "mob/endermen/death" + ] + }, + "mob.endermen.hit": { + "category": "hostile", + "sounds": [ + "mob/endermen/hit1", + "mob/endermen/hit2", + "mob/endermen/hit3", + "mob/endermen/hit4" + ] + }, + "mob.endermen.idle": { + "category": "hostile", + "sounds": [ + "mob/endermen/idle1", + "mob/endermen/idle2", + "mob/endermen/idle3", + "mob/endermen/idle4", + "mob/endermen/idle5" + ] + }, + "mob.endermen.portal": { + "category": "hostile", + "sounds": [ + "mob/endermen/portal", + "mob/endermen/portal2" + ] + }, + "mob.endermen.scream": { + "category": "hostile", + "sounds": [ + "mob/endermen/scream1", + "mob/endermen/scream2", + "mob/endermen/scream3", + "mob/endermen/scream4" + ] + }, + "mob.endermen.stare": { + "category": "hostile", + "sounds": [ + "mob/endermen/stare" + ] + }, + "mob.ghast.affectionate_scream": { + "category": "hostile", + "sounds": [ + "mob/ghast/affectionate_scream" + ] + }, + "mob.ghast.charge": { + "category": "hostile", + "sounds": [ + "mob/ghast/charge" + ] + }, + "mob.ghast.death": { + "category": "hostile", + "sounds": [ + "mob/ghast/death" + ] + }, + "mob.ghast.fireball": { + "category": "hostile", + "sounds": [ + "mob/ghast/fireball4" + ] + }, + "mob.ghast.moan": { + "category": "hostile", + "sounds": [ + "mob/ghast/moan1", + "mob/ghast/moan2", + "mob/ghast/moan3", + "mob/ghast/moan4", + "mob/ghast/moan5", + "mob/ghast/moan6", + "mob/ghast/moan7" + ] + }, + "mob.ghast.scream": { + "category": "hostile", + "sounds": [ + "mob/ghast/scream1", + "mob/ghast/scream2", + "mob/ghast/scream3", + "mob/ghast/scream4", + "mob/ghast/scream5" + ] + }, + "mob.horse.angry": { + "category": "neutral", + "sounds": [ + "mob/horse/angry1" + ] + }, + "mob.horse.armor": { + "category": "neutral", + "sounds": [ + "mob/horse/armor" + ] + }, + "mob.horse.breathe": { + "category": "neutral", + "sounds": [ + "mob/horse/breathe1", + "mob/horse/breathe2", + "mob/horse/breathe3" + ] + }, + "mob.horse.death": { + "category": "neutral", + "sounds": [ + "mob/horse/death" + ] + }, + "mob.horse.donkey.angry": { + "category": "neutral", + "sounds": [ + "mob/horse/donkey/angry1", + "mob/horse/donkey/angry2" + ] + }, + "mob.horse.donkey.death": { + "category": "neutral", + "sounds": [ + "mob/horse/donkey/death" + ] + }, + "mob.horse.donkey.hit": { + "category": "neutral", + "sounds": [ + "mob/horse/donkey/hit1", + "mob/horse/donkey/hit2", + "mob/horse/donkey/hit3" + ] + }, + "mob.horse.donkey.idle": { + "category": "neutral", + "sounds": [ + "mob/horse/donkey/idle1", + "mob/horse/donkey/idle2", + "mob/horse/donkey/idle3" + ] + }, + "mob.horse.gallop": { + "category": "neutral", + "sounds": [ + "mob/horse/gallop1", + "mob/horse/gallop2", + "mob/horse/gallop3", + "mob/horse/gallop4" + ] + }, + "mob.horse.hit": { + "category": "neutral", + "sounds": [ + "mob/horse/hit1", + "mob/horse/hit2", + "mob/horse/hit3", + "mob/horse/hit4" + ] + }, + "mob.horse.idle": { + "category": "neutral", + "sounds": [ + "mob/horse/idle1", + "mob/horse/idle2", + "mob/horse/idle3" + ] + }, + "mob.horse.jump": { + "category": "neutral", + "sounds": [ + "mob/horse/jump" + ] + }, + "mob.horse.land": { + "category": "neutral", + "sounds": [ + "mob/horse/land" + ] + }, + "mob.horse.leather": { + "category": "neutral", + "sounds": [ + "mob/horse/leather" + ] + }, + "mob.horse.skeleton.death": { + "category": "neutral", + "sounds": [ + "mob/horse/skeleton/death" + ] + }, + "mob.horse.skeleton.hit": { + "category": "neutral", + "sounds": [ + "mob/horse/skeleton/hit1", + "mob/horse/skeleton/hit2", + "mob/horse/skeleton/hit3", + "mob/horse/skeleton/hit4" + ] + }, + "mob.horse.skeleton.idle": { + "category": "neutral", + "sounds": [ + "mob/horse/skeleton/idle1", + "mob/horse/skeleton/idle2", + "mob/horse/skeleton/idle3" + ] + }, + "mob.horse.soft": { + "category": "neutral", + "sounds": [ + "mob/horse/soft1", + "mob/horse/soft2", + "mob/horse/soft3", + "mob/horse/soft4", + "mob/horse/soft5", + "mob/horse/soft6" + ] + }, + "mob.horse.wood": { + "category": "neutral", + "sounds": [ + "mob/horse/wood1", + "mob/horse/wood2", + "mob/horse/wood3", + "mob/horse/wood4", + "mob/horse/wood5", + "mob/horse/wood6" + ] + }, + "mob.horse.zombie.death": { + "category": "neutral", + "sounds": [ + "mob/horse/zombie/death" + ] + }, + "mob.horse.zombie.hit": { + "category": "neutral", + "sounds": [ + "mob/horse/zombie/hit1", + "mob/horse/zombie/hit2", + "mob/horse/zombie/hit3", + "mob/horse/zombie/hit4" + ] + }, + "mob.horse.zombie.idle": { + "category": "neutral", + "sounds": [ + "mob/horse/zombie/idle1", + "mob/horse/zombie/idle2", + "mob/horse/zombie/idle3" + ] + }, + "mob.irongolem.death": { + "category": "neutral", + "sounds": [ + "mob/irongolem/death" + ] + }, + "mob.irongolem.hit": { + "category": "neutral", + "sounds": [ + "mob/irongolem/hit1", + "mob/irongolem/hit2", + "mob/irongolem/hit3", + "mob/irongolem/hit4" + ] + }, + "mob.irongolem.throw": { + "category": "neutral", + "sounds": [ + "mob/irongolem/throw" + ] + }, + "mob.irongolem.walk": { + "category": "neutral", + "sounds": [ + "mob/irongolem/walk1", + "mob/irongolem/walk2", + "mob/irongolem/walk3", + "mob/irongolem/walk4" + ] + }, + "mob.magmacube.big": { + "category": "hostile", + "sounds": [ + "mob/magmacube/big1", + "mob/magmacube/big2", + "mob/magmacube/big3", + "mob/magmacube/big4" + ] + }, + "mob.magmacube.jump": { + "category": "hostile", + "sounds": [ + "mob/magmacube/jump1", + "mob/magmacube/jump2", + "mob/magmacube/jump3", + "mob/magmacube/jump4" + ] + }, + "mob.magmacube.small": { + "category": "hostile", + "sounds": [ + "mob/magmacube/small1", + "mob/magmacube/small2", + "mob/magmacube/small3", + "mob/magmacube/small4", + "mob/magmacube/small5" + ] + }, + "mob.pig.death": { + "category": "neutral", + "sounds": [ + "mob/pig/death" + ] + }, + "mob.pig.say": { + "category": "neutral", + "sounds": [ + "mob/pig/say1", + "mob/pig/say2", + "mob/pig/say3" + ] + }, + "mob.pig.step": { + "category": "neutral", + "sounds": [ + "mob/pig/step1", + "mob/pig/step2", + "mob/pig/step3", + "mob/pig/step4", + "mob/pig/step5" + ] + }, + "mob.rabbit.hurt": { + "category": "neutral", + "sounds": [ + { + "name": "mob/rabbit/hurt1", + "volume": 0.5 + }, + { + "name": "mob/rabbit/hurt2", + "volume": 0.5 + }, + { + "name": "mob/rabbit/hurt3", + "volume": 0.5 + }, + { + "name": "mob/rabbit/hurt4", + "volume": 0.5 + } + ] + }, + "mob.rabbit.idle": { + "category": "neutral", + "sounds": [ + { + "name": "mob/rabbit/idle1", + "volume": 0.25 + }, + { + "name": "mob/rabbit/idle2", + "volume": 0.25 + }, + { + "name": "mob/rabbit/idle3", + "volume": 0.25 + }, + { + "name": "mob/rabbit/idle4", + "volume": 0.25 + } + ] + }, + "mob.rabbit.hop": { + "category": "neutral", + "sounds": [ + { + "name": "mob/rabbit/hop1", + "volume": 0.1 + }, + { + "name": "mob/rabbit/hop2", + "volume": 0.1 + }, + { + "name": "mob/rabbit/hop3", + "volume": 0.1 + }, + { + "name": "mob/rabbit/hop4", + "volume": 0.1 + } + ] + }, + "mob.rabbit.death": { + "category": "neutral", + "sounds": [ + { + "name": "mob/rabbit/bunnymurder", + "volume": 0.5 + } + ] + }, + "mob.sheep.say": { + "category": "neutral", + "sounds": [ + "mob/sheep/say1", + "mob/sheep/say2", + "mob/sheep/say3" + ] + }, + "mob.sheep.shear": { + "category": "neutral", + "sounds": [ + "mob/sheep/shear" + ] + }, + "mob.sheep.step": { + "category": "neutral", + "sounds": [ + "mob/sheep/step1", + "mob/sheep/step2", + "mob/sheep/step3", + "mob/sheep/step4", + "mob/sheep/step5" + ] + }, + "mob.silverfish.hit": { + "category": "hostile", + "sounds": [ + "mob/silverfish/hit1", + "mob/silverfish/hit2", + "mob/silverfish/hit3" + ] + }, + "mob.silverfish.kill": { + "category": "hostile", + "sounds": [ + "mob/silverfish/kill" + ] + }, + "mob.silverfish.say": { + "category": "hostile", + "sounds": [ + "mob/silverfish/say1", + "mob/silverfish/say2", + "mob/silverfish/say3", + "mob/silverfish/say4" + ] + }, + "mob.silverfish.step": { + "category": "hostile", + "sounds": [ + "mob/silverfish/step1", + "mob/silverfish/step2", + "mob/silverfish/step3", + "mob/silverfish/step4" + ] + }, + "mob.skeleton.death": { + "category": "hostile", + "sounds": [ + "mob/skeleton/death" + ] + }, + "mob.skeleton.hurt": { + "category": "hostile", + "sounds": [ + "mob/skeleton/hurt1", + "mob/skeleton/hurt2", + "mob/skeleton/hurt3", + "mob/skeleton/hurt4" + ] + }, + "mob.skeleton.say": { + "category": "hostile", + "sounds": [ + "mob/skeleton/say1", + "mob/skeleton/say2", + "mob/skeleton/say3" + ] + }, + "mob.skeleton.step": { + "category": "hostile", + "sounds": [ + "mob/skeleton/step1", + "mob/skeleton/step2", + "mob/skeleton/step3", + "mob/skeleton/step4" + ] + }, + "mob.slime.attack": { + "category": "hostile", + "sounds": [ + "mob/slime/attack1", + "mob/slime/attack2" + ] + }, + "mob.slime.big": { + "category": "hostile", + "sounds": [ + "mob/slime/big1", + "mob/slime/big2", + "mob/slime/big3", + "mob/slime/big4" + ] + }, + "mob.slime.small": { + "category": "hostile", + "sounds": [ + "mob/slime/small1", + "mob/slime/small2", + "mob/slime/small3", + "mob/slime/small4", + "mob/slime/small5" + ] + }, + "mob.spider.death": { + "category": "hostile", + "sounds": [ + "mob/spider/death" + ] + }, + "mob.spider.say": { + "category": "hostile", + "sounds": [ + "mob/spider/say1", + "mob/spider/say2", + "mob/spider/say3", + "mob/spider/say4" + ] + }, + "mob.spider.step": { + "category": "hostile", + "sounds": [ + "mob/spider/step1", + "mob/spider/step2", + "mob/spider/step3", + "mob/spider/step4" + ] + }, + "mob.villager.death": { + "category": "neutral", + "sounds": [ + "mob/villager/death" + ] + }, + "mob.villager.haggle": { + "category": "neutral", + "sounds": [ + "mob/villager/haggle1", + "mob/villager/haggle2", + "mob/villager/haggle3" + ] + }, + "mob.villager.hit": { + "category": "neutral", + "sounds": [ + "mob/villager/hit1", + "mob/villager/hit2", + "mob/villager/hit3", + "mob/villager/hit4" + ] + }, + "mob.villager.idle": { + "category": "neutral", + "sounds": [ + "mob/villager/idle1", + "mob/villager/idle2", + "mob/villager/idle3" + ] + }, + "mob.villager.no": { + "category": "neutral", + "sounds": [ + "mob/villager/no1", + "mob/villager/no2", + "mob/villager/no3" + ] + }, + "mob.villager.yes": { + "category": "neutral", + "sounds": [ + "mob/villager/yes1", + "mob/villager/yes2", + "mob/villager/yes3" + ] + }, + "mob.wither.death": { + "category": "hostile", + "sounds": [ + "mob/wither/death" + ] + }, + "mob.wither.hurt": { + "category": "hostile", + "sounds": [ + "mob/wither/hurt1", + "mob/wither/hurt2", + "mob/wither/hurt3", + "mob/wither/hurt4" + ] + }, + "mob.wither.idle": { + "category": "hostile", + "sounds": [ + "mob/wither/idle1", + "mob/wither/idle2", + "mob/wither/idle3", + "mob/wither/idle4" + ] + }, + "mob.wither.shoot": { + "category": "hostile", + "sounds": [ + "mob/wither/shoot" + ] + }, + "mob.wither.spawn": { + "category": "hostile", + "sounds": [ + "mob/wither/spawn" + ] + }, + "mob.wolf.bark": { + "category": "neutral", + "sounds": [ + "mob/wolf/bark1", + "mob/wolf/bark2", + "mob/wolf/bark3" + ] + }, + "mob.wolf.death": { + "category": "neutral", + "sounds": [ + "mob/wolf/death" + ] + }, + "mob.wolf.growl": { + "category": "neutral", + "sounds": [ + "mob/wolf/growl1", + "mob/wolf/growl2", + "mob/wolf/growl3" + ] + }, + "mob.wolf.howl": { + "category": "neutral", + "sounds": [ + "mob/wolf/howl1", + "mob/wolf/howl2" + ] + }, + "mob.wolf.hurt": { + "category": "neutral", + "sounds": [ + "mob/wolf/hurt1", + "mob/wolf/hurt2", + "mob/wolf/hurt3" + ] + }, + "mob.wolf.panting": { + "category": "neutral", + "sounds": [ + "mob/wolf/panting" + ] + }, + "mob.wolf.shake": { + "category": "neutral", + "sounds": [ + "mob/wolf/shake" + ] + }, + "mob.wolf.step": { + "category": "neutral", + "sounds": [ + "mob/wolf/step1", + "mob/wolf/step2", + "mob/wolf/step3", + "mob/wolf/step4", + "mob/wolf/step5" + ] + }, + "mob.wolf.whine": { + "category": "neutral", + "sounds": [ + "mob/wolf/whine" + ] + }, + "mob.zombie.death": { + "category": "hostile", + "sounds": [ + "mob/zombie/death" + ] + }, + "mob.zombie.hurt": { + "category": "hostile", + "sounds": [ + "mob/zombie/hurt1", + "mob/zombie/hurt2" + ] + }, + "mob.zombie.infect": { + "category": "hostile", + "sounds": [ + "mob/zombie/infect" + ] + }, + "mob.zombie.metal": { + "category": "hostile", + "sounds": [ + "mob/zombie/metal1", + "mob/zombie/metal2", + "mob/zombie/metal3" + ] + }, + "mob.zombie.remedy": { + "category": "hostile", + "sounds": [ + "mob/zombie/remedy" + ] + }, + "mob.zombie.say": { + "category": "hostile", + "sounds": [ + "mob/zombie/say1", + "mob/zombie/say2", + "mob/zombie/say3" + ] + }, + "mob.zombie.step": { + "category": "hostile", + "sounds": [ + "mob/zombie/step1", + "mob/zombie/step2", + "mob/zombie/step3", + "mob/zombie/step4", + "mob/zombie/step5" + ] + }, + "mob.zombie.unfect": { + "category": "hostile", + "sounds": [ + "mob/zombie/unfect" + ] + }, + "mob.zombie.wood": { + "category": "hostile", + "sounds": [ + "mob/zombie/wood1", + "mob/zombie/wood2", + "mob/zombie/wood3", + "mob/zombie/wood4" + ] + }, + "mob.zombie.woodbreak": { + "category": "hostile", + "sounds": [ + "mob/zombie/woodbreak" + ] + }, + "mob.zombiepig.zpig": { + "category": "hostile", + "sounds": [ + "mob/zombiepig/zpig1", + "mob/zombiepig/zpig2", + "mob/zombiepig/zpig3", + "mob/zombiepig/zpig4" + ] + }, + "mob.zombiepig.zpigangry": { + "category": "hostile", + "sounds": [ + "mob/zombiepig/zpigangry1", + "mob/zombiepig/zpigangry2", + "mob/zombiepig/zpigangry3", + "mob/zombiepig/zpigangry4" + ] + }, + "mob.zombiepig.zpigdeath": { + "category": "hostile", + "sounds": [ + "mob/zombiepig/zpigdeath" + ] + }, + "mob.zombiepig.zpighurt": { + "category": "hostile", + "sounds": [ + "mob/zombiepig/zpighurt1", + "mob/zombiepig/zpighurt2" + ] + }, + "entity.player.attack.crit": { + "category": "player", + "sounds": [ + "entity/player/attack/crit1", + "entity/player/attack/crit2", + "entity/player/attack/crit3" + ] + }, + "entity.player.attack.knockback": { + "category": "player", + "sounds": [ + "entity/player/attack/knockback1", + "entity/player/attack/knockback2", + "entity/player/attack/knockback3", + "entity/player/attack/knockback4" + ] + }, + "entity.player.attack.strong": { + "category": "player", + "sounds": [ + "entity/player/attack/strong1", + "entity/player/attack/strong2", + "entity/player/attack/strong3", + "entity/player/attack/strong4", + "entity/player/attack/strong5", + "entity/player/attack/strong6" + ] + }, + "entity.player.attack.sweep": { + "category": "player", + "sounds": [ + "entity/player/attack/sweep1", + "entity/player/attack/sweep2", + "entity/player/attack/sweep3", + "entity/player/attack/sweep4", + "entity/player/attack/sweep5", + "entity/player/attack/sweep6", + "entity/player/attack/sweep7" + ] + }, + "entity.player.attack.weak": { + "category": "player", + "sounds": [ + "entity/player/attack/weak1", + "entity/player/attack/weak2", + "entity/player/attack/weak3", + "entity/player/attack/weak4" + ] + }, + "note.bass": { + "category": "record", + "sounds": [ + "note/bass" + ] + }, + "note.bassattack": { + "category": "record", + "sounds": [ + "note/bassattack" + ] + }, + "note.bd": { + "category": "record", + "sounds": [ + "note/bd" + ] + }, + "note.harp": { + "category": "record", + "sounds": [ + "note/harp" + ] + }, + "note.hat": { + "category": "record", + "sounds": [ + "note/hat" + ] + }, + "note.pling": { + "category": "record", + "sounds": [ + "note/pling" + ] + }, + "note.snare": { + "category": "record", + "sounds": [ + "note/snare" + ] + }, + "portal.portal": { + "category": "block", + "sounds": [ + "portal/portal" + ] + }, + "portal.travel": { + "category": "player", + "sounds": [ + "portal/travel" + ] + }, + "portal.trigger": { + "category": "block", + "sounds": [ + "portal/trigger" + ] + }, + "random.anvil_break": { + "category": "block", + "sounds": [ + "random/anvil_break" + ] + }, + "random.anvil_land": { + "category": "block", + "sounds": [ + "random/anvil_land" + ] + }, + "random.anvil_use": { + "category": "block", + "sounds": [ + "random/anvil_use" + ] + }, + "random.bow": { + "category": "neutral", + "sounds": [ + "random/bow" + ] + }, + "random.bowhit": { + "category": "neutral", + "sounds": [ + "random/bowhit1", + "random/bowhit2", + "random/bowhit3", + "random/bowhit4" + ] + }, + "random.break": { + "category": "player", + "sounds": [ + "random/break" + ] + }, + "random.burp": { + "category": "player", + "sounds": [ + "random/burp" + ] + }, + "random.chestclosed": { + "category": "block", + "sounds": [ + "random/chestclosed" + ] + }, + "random.chestopen": { + "category": "block", + "sounds": [ + "random/chestopen" + ] + }, + "gui.button.press": { + "category": "master", + "sounds": [ + "random/click" + ] + }, + "random.click": { + "category": "block", + "sounds": [ + "random/click" + ] + }, + "random.door_close": { + "category": "block", + "sounds": [ + "random/door_close", + "random/door_open" + ] + }, + "random.door_open": { + "category": "block", + "sounds": [ + "random/door_close", + "random/door_open" + ] + }, + "random.drink": { + "category": "player", + "sounds": [ + "random/drink" + ] + }, + "item.elytra.flying": { + "category": "player", + "sounds": [ + "item/elytra/elytra_loop" + ] + }, + "random.eat": { + "category": "player", + "sounds": [ + "random/eat1", + "random/eat2", + "random/eat3" + ] + }, + "random.explode": { + "category": "block", + "sounds": [ + "random/explode1", + "random/explode2", + "random/explode3", + "random/explode4" + ] + }, + "random.fizz": { + "category": "block", + "sounds": [ + "random/fizz" + ] + }, + "game.tnt.primed": { + "category": "block", + "sounds": [ + "random/fuse" + ] + }, + "creeper.primed": { + "category": "hostile", + "sounds": [ + "random/fuse" + ] + }, + "dig.glass": { + "category": "block", + "sounds": [ + "random/glass1", + "random/glass2", + "random/glass3" + ] + }, + "game.potion.smash": { + "category": "neutral", + "sounds": [ + "random/glass1", + "random/glass2", + "random/glass3" + ] + }, + "random.levelup": { + "category": "player", + "sounds": [ + "random/levelup" + ] + }, + "random.orb": { + "category": "player", + "sounds": [ + "random/orb" + ] + }, + "random.pop": { + "category": "player", + "sounds": [ + "random/pop" + ] + }, + "random.splash": { + "category": "player", + "sounds": [ + "random/splash" + ] + }, + "random.successful_hit": { + "category": "player", + "sounds": [ + "random/successful_hit" + ] + }, + "random.wood_click": { + "category": "block", + "sounds": [ + "random/wood_click" + ] + }, + "records.11": { + "category": "record", + "sounds": [ + { + "name": "records/11", + "stream": true + } + ] + }, + "records.13": { + "category": "record", + "sounds": [ + { + "name": "records/13", + "stream": true + } + ] + }, + "records.blocks": { + "category": "record", + "sounds": [ + { + "name": "records/blocks", + "stream": true + } + ] + }, + "records.cat": { + "category": "record", + "sounds": [ + { + "name": "records/cat", + "stream": true + } + ] + }, + "records.chirp": { + "category": "record", + "sounds": [ + { + "name": "records/chirp", + "stream": true + } + ] + }, + "records.far": { + "category": "record", + "sounds": [ + { + "name": "records/far", + "stream": true + } + ] + }, + "records.mall": { + "category": "record", + "sounds": [ + { + "name": "records/mall", + "stream": true + } + ] + }, + "records.mellohi": { + "category": "record", + "sounds": [ + { + "name": "records/mellohi", + "stream": true + } + ] + }, + "records.stal": { + "category": "record", + "sounds": [ + { + "name": "records/stal", + "stream": true + } + ] + }, + "records.strad": { + "category": "record", + "sounds": [ + { + "name": "records/strad", + "stream": true + } + ] + }, + "records.wait": { + "category": "record", + "sounds": [ + { + "name": "records/wait", + "stream": true + } + ] + }, + "records.ward": { + "category": "record", + "sounds": [ + { + "name": "records/ward", + "stream": true + } + ] + }, + "step.cloth": { + "category": "neutral", + "sounds": [ + "step/cloth1", + "step/cloth2", + "step/cloth3", + "step/cloth4" + ] + }, + "step.grass": { + "category": "neutral", + "sounds": [ + "step/grass1", + "step/grass2", + "step/grass3", + "step/grass4", + "step/grass5", + "step/grass6" + ] + }, + "step.gravel": { + "category": "neutral", + "sounds": [ + "step/gravel1", + "step/gravel2", + "step/gravel3", + "step/gravel4" + ] + }, + "step.ladder": { + "category": "neutral", + "sounds": [ + "step/ladder1", + "step/ladder2", + "step/ladder3", + "step/ladder4", + "step/ladder5" + ] + }, + "step.sand": { + "category": "neutral", + "sounds": [ + "step/sand1", + "step/sand2", + "step/sand3", + "step/sand4", + "step/sand5" + ] + }, + "step.snow": { + "category": "neutral", + "sounds": [ + "step/snow1", + "step/snow2", + "step/snow3", + "step/snow4" + ] + }, + "step.stone": { + "category": "neutral", + "sounds": [ + "step/stone1", + "step/stone2", + "step/stone3", + "step/stone4", + "step/stone5", + "step/stone6" + ] + }, + "step.wood": { + "category": "neutral", + "sounds": [ + "step/wood1", + "step/wood2", + "step/wood3", + "step/wood4", + "step/wood5", + "step/wood6" + ] + }, + "tile.piston.in": { + "category": "block", + "sounds": [ + "tile/piston/in" + ] + }, + "tile.piston.out": { + "category": "block", + "sounds": [ + "tile/piston/out" + ] + }, + "music.menu": { + "category": "music", + "sounds": [ + { + "name": "music/menu/menu1", + "stream": true + }, + { + "name": "music/menu/menu2", + "stream": true + }, + { + "name": "music/menu/menu3", + "stream": true + }, + { + "name": "music/menu/menu4", + "stream": true + } + ] + }, + "music.game": { + "category": "music", + "sounds": [ + { + "name": "music/game/calm1", + "stream": true + }, + { + "name": "music/game/calm2", + "stream": true + }, + { + "name": "music/game/calm3", + "stream": true + }, + { + "name": "music/game/hal1", + "stream": true + }, + { + "name": "music/game/hal2", + "stream": true + }, + { + "name": "music/game/hal3", + "stream": true + }, + { + "name": "music/game/hal4", + "stream": true + }, + { + "name": "music/game/nuance1", + "stream": true + }, + { + "name": "music/game/nuance2", + "stream": true + }, + { + "name": "music/game/piano1", + "stream": true + }, + { + "name": "music/game/piano2", + "stream": true + }, + { + "name": "music/game/piano3", + "stream": true + } + ] + }, + "music.game.creative": { + "category": "music", + "sounds": [ + { + "type": "event", + "name": "music.game" + }, + { + "name": "music/game/creative/creative1", + "stream": true + }, + { + "name": "music/game/creative/creative2", + "stream": true + }, + { + "name": "music/game/creative/creative3", + "stream": true + }, + { + "name": "music/game/creative/creative4", + "stream": true + }, + { + "name": "music/game/creative/creative5", + "stream": true + }, + { + "name": "music/game/creative/creative6", + "stream": true + } + ] + }, + "music.game.end": { + "category": "music", + "sounds": [ + { + "name": "music/game/end/end", + "stream": true + } + ] + }, + "music.game.end.dragon": { + "category": "music", + "sounds": [ + { + "name": "music/game/end/boss", + "stream": true + } + ] + }, + "music.game.end.credits": { + "category": "music", + "sounds": [ + { + "name": "music/game/end/credits", + "stream": true + } + ] + }, + "music.game.nether": { + "category": "music", + "sounds": [ + { + "name": "music/game/nether/nether1", + "stream": true + }, + { + "name": "music/game/nether/nether2", + "stream": true + }, + { + "name": "music/game/nether/nether3", + "stream": true + }, + { + "name": "music/game/nether/nether4", + "stream": true + } + ] + } +} \ No newline at end of file diff --git a/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave1.ogg new file mode 100644 index 0000000..a968f30 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave10.ogg b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave10.ogg new file mode 100644 index 0000000..38fcec5 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave10.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave11.ogg b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave11.ogg new file mode 100644 index 0000000..03f7d3f Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave11.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave12.ogg b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave12.ogg new file mode 100644 index 0000000..b43b392 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave12.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave13.ogg b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave13.ogg new file mode 100644 index 0000000..3541968 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave13.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave2.ogg new file mode 100644 index 0000000..2dd95e9 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave3.ogg new file mode 100644 index 0000000..608ff22 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave4.ogg new file mode 100644 index 0000000..9babe67 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave5.ogg b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave5.ogg new file mode 100644 index 0000000..11e2440 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave5.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave6.ogg b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave6.ogg new file mode 100644 index 0000000..bc30ea5 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave6.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave7.ogg b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave7.ogg new file mode 100644 index 0000000..4c6a489 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave7.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave8.ogg b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave8.ogg new file mode 100644 index 0000000..389bb45 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave8.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave9.ogg b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave9.ogg new file mode 100644 index 0000000..ea98251 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/ambient/cave/cave9.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/ambient/weather/rain1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/ambient/weather/rain1.ogg new file mode 100644 index 0000000..1550d52 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/ambient/weather/rain1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/ambient/weather/rain2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/ambient/weather/rain2.ogg new file mode 100644 index 0000000..19bc863 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/ambient/weather/rain2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/ambient/weather/rain3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/ambient/weather/rain3.ogg new file mode 100644 index 0000000..61d11e1 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/ambient/weather/rain3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/ambient/weather/rain4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/ambient/weather/rain4.ogg new file mode 100644 index 0000000..e1814a0 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/ambient/weather/rain4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/ambient/weather/thunder1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/ambient/weather/thunder1.ogg new file mode 100644 index 0000000..ee94074 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/ambient/weather/thunder1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/ambient/weather/thunder2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/ambient/weather/thunder2.ogg new file mode 100644 index 0000000..d1018d7 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/ambient/weather/thunder2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/ambient/weather/thunder3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/ambient/weather/thunder3.ogg new file mode 100644 index 0000000..623362e Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/ambient/weather/thunder3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/damage/fallbig.ogg b/desktopRuntime/resources/assets/minecraft/sounds/damage/fallbig.ogg new file mode 100644 index 0000000..5a5b76f Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/damage/fallbig.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/damage/fallsmall.ogg b/desktopRuntime/resources/assets/minecraft/sounds/damage/fallsmall.ogg new file mode 100644 index 0000000..57cb0ea Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/damage/fallsmall.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/damage/hit1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/damage/hit1.ogg new file mode 100644 index 0000000..3adbe27 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/damage/hit1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/damage/hit2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/damage/hit2.ogg new file mode 100644 index 0000000..97c0c22 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/damage/hit2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/damage/hit3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/damage/hit3.ogg new file mode 100644 index 0000000..f447bd0 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/damage/hit3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/cloth1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/cloth1.ogg new file mode 100644 index 0000000..9834250 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/cloth1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/cloth2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/cloth2.ogg new file mode 100644 index 0000000..8924529 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/cloth2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/cloth3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/cloth3.ogg new file mode 100644 index 0000000..e992d6b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/cloth3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/cloth4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/cloth4.ogg new file mode 100644 index 0000000..8fe80c9 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/cloth4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/grass1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/grass1.ogg new file mode 100644 index 0000000..4e059a8 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/grass1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/grass2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/grass2.ogg new file mode 100644 index 0000000..d28e199 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/grass2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/grass3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/grass3.ogg new file mode 100644 index 0000000..9fdae63 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/grass3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/grass4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/grass4.ogg new file mode 100644 index 0000000..3e59375 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/grass4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/gravel1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/gravel1.ogg new file mode 100644 index 0000000..2e62c11 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/gravel1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/gravel2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/gravel2.ogg new file mode 100644 index 0000000..b66b22d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/gravel2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/gravel3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/gravel3.ogg new file mode 100644 index 0000000..4a5a8d6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/gravel3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/gravel4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/gravel4.ogg new file mode 100644 index 0000000..29a2d4c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/gravel4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/sand1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/sand1.ogg new file mode 100644 index 0000000..cd0bd63 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/sand1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/sand2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/sand2.ogg new file mode 100644 index 0000000..6993617 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/sand2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/sand3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/sand3.ogg new file mode 100644 index 0000000..e998a4e Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/sand3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/sand4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/sand4.ogg new file mode 100644 index 0000000..882cde0 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/sand4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/snow1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/snow1.ogg new file mode 100644 index 0000000..267cfd0 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/snow1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/snow2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/snow2.ogg new file mode 100644 index 0000000..7bbb430 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/snow2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/snow3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/snow3.ogg new file mode 100644 index 0000000..7124c62 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/snow3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/snow4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/snow4.ogg new file mode 100644 index 0000000..8cd57f7 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/snow4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/stone1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/stone1.ogg new file mode 100644 index 0000000..c4f2612 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/stone1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/stone2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/stone2.ogg new file mode 100644 index 0000000..4ca123a Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/stone2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/stone3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/stone3.ogg new file mode 100644 index 0000000..700f187 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/stone3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/stone4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/stone4.ogg new file mode 100644 index 0000000..8a09329 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/stone4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/wood1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/wood1.ogg new file mode 100644 index 0000000..4813bc5 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/wood1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/wood2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/wood2.ogg new file mode 100644 index 0000000..94df9cd Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/wood2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/wood3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/wood3.ogg new file mode 100644 index 0000000..e53490c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/wood3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/dig/wood4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/dig/wood4.ogg new file mode 100644 index 0000000..352650e Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/dig/wood4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/crit1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/crit1.ogg new file mode 100644 index 0000000..98f0c85 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/crit1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/crit2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/crit2.ogg new file mode 100644 index 0000000..80c1da5 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/crit2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/crit3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/crit3.ogg new file mode 100644 index 0000000..cf3ac68 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/crit3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/knockback1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/knockback1.ogg new file mode 100644 index 0000000..50b3119 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/knockback1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/knockback2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/knockback2.ogg new file mode 100644 index 0000000..edc6a7b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/knockback2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/knockback3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/knockback3.ogg new file mode 100644 index 0000000..6ad0803 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/knockback3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/knockback4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/knockback4.ogg new file mode 100644 index 0000000..5ddb674 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/knockback4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/strong1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/strong1.ogg new file mode 100644 index 0000000..d91af7f Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/strong1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/strong2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/strong2.ogg new file mode 100644 index 0000000..a11ec60 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/strong2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/strong3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/strong3.ogg new file mode 100644 index 0000000..2d6bb7b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/strong3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/strong4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/strong4.ogg new file mode 100644 index 0000000..ce6a115 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/strong4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/strong5.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/strong5.ogg new file mode 100644 index 0000000..7643da5 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/strong5.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/strong6.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/strong6.ogg new file mode 100644 index 0000000..bbc4cd5 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/strong6.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/sweep1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/sweep1.ogg new file mode 100644 index 0000000..6ce121f Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/sweep1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/sweep2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/sweep2.ogg new file mode 100644 index 0000000..b3fa272 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/sweep2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/sweep3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/sweep3.ogg new file mode 100644 index 0000000..001bde5 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/sweep3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/sweep4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/sweep4.ogg new file mode 100644 index 0000000..72078d9 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/sweep4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/sweep5.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/sweep5.ogg new file mode 100644 index 0000000..f8ade09 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/sweep5.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/sweep6.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/sweep6.ogg new file mode 100644 index 0000000..82a38b5 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/sweep6.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/sweep7.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/sweep7.ogg new file mode 100644 index 0000000..73c8cf6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/sweep7.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/weak1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/weak1.ogg new file mode 100644 index 0000000..abc3a58 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/weak1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/weak2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/weak2.ogg new file mode 100644 index 0000000..ec35150 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/weak2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/weak3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/weak3.ogg new file mode 100644 index 0000000..178ddde Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/weak3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/weak4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/weak4.ogg new file mode 100644 index 0000000..0744d24 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/entity/player/attack/weak4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/fire/fire.ogg b/desktopRuntime/resources/assets/minecraft/sounds/fire/fire.ogg new file mode 100644 index 0000000..268c3ee Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/fire/fire.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/fire/ignite.ogg b/desktopRuntime/resources/assets/minecraft/sounds/fire/ignite.ogg new file mode 100644 index 0000000..5a3abd0 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/fire/ignite.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/fireworks/blast1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/fireworks/blast1.ogg new file mode 100644 index 0000000..b9a4136 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/fireworks/blast1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/fireworks/blast_far1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/fireworks/blast_far1.ogg new file mode 100644 index 0000000..54aa857 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/fireworks/blast_far1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/fireworks/largeBlast1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/fireworks/largeBlast1.ogg new file mode 100644 index 0000000..8ccf9da Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/fireworks/largeBlast1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/fireworks/largeBlast_far1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/fireworks/largeBlast_far1.ogg new file mode 100644 index 0000000..0f944ea Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/fireworks/largeBlast_far1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/fireworks/launch1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/fireworks/launch1.ogg new file mode 100644 index 0000000..a883fc6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/fireworks/launch1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/fireworks/twinkle1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/fireworks/twinkle1.ogg new file mode 100644 index 0000000..0ae5eff Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/fireworks/twinkle1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/fireworks/twinkle_far1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/fireworks/twinkle_far1.ogg new file mode 100644 index 0000000..e43eea6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/fireworks/twinkle_far1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/item/elytra/elytra_loop.ogg b/desktopRuntime/resources/assets/minecraft/sounds/item/elytra/elytra_loop.ogg new file mode 100644 index 0000000..c426aa7 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/item/elytra/elytra_loop.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/liquid/lava.ogg b/desktopRuntime/resources/assets/minecraft/sounds/liquid/lava.ogg new file mode 100644 index 0000000..9061e04 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/liquid/lava.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/liquid/lavapop.ogg b/desktopRuntime/resources/assets/minecraft/sounds/liquid/lavapop.ogg new file mode 100644 index 0000000..c6aa8c1 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/liquid/lavapop.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/liquid/splash.ogg b/desktopRuntime/resources/assets/minecraft/sounds/liquid/splash.ogg new file mode 100644 index 0000000..daa93c8 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/liquid/splash.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/liquid/splash2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/liquid/splash2.ogg new file mode 100644 index 0000000..4fe0b36 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/liquid/splash2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/liquid/swim1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/liquid/swim1.ogg new file mode 100644 index 0000000..90f8f9b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/liquid/swim1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/liquid/swim2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/liquid/swim2.ogg new file mode 100644 index 0000000..5581d29 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/liquid/swim2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/liquid/swim3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/liquid/swim3.ogg new file mode 100644 index 0000000..f0a5bd6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/liquid/swim3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/liquid/swim4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/liquid/swim4.ogg new file mode 100644 index 0000000..a1c29fd Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/liquid/swim4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/liquid/water.ogg b/desktopRuntime/resources/assets/minecraft/sounds/liquid/water.ogg new file mode 100644 index 0000000..1734ee9 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/liquid/water.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/minecart/base.ogg b/desktopRuntime/resources/assets/minecraft/sounds/minecart/base.ogg new file mode 100644 index 0000000..4b23847 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/minecart/base.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/minecart/inside.ogg b/desktopRuntime/resources/assets/minecraft/sounds/minecart/inside.ogg new file mode 100644 index 0000000..7dcbb95 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/minecart/inside.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/death.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/death.ogg new file mode 100644 index 0000000..446d489 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/death.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/hurt1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/hurt1.ogg new file mode 100644 index 0000000..2cbbeeb Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/hurt1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/hurt2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/hurt2.ogg new file mode 100644 index 0000000..d4004aa Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/hurt2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/hurt3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/hurt3.ogg new file mode 100644 index 0000000..0d0213b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/hurt3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/hurt4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/hurt4.ogg new file mode 100644 index 0000000..bbf480c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/hurt4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/idle1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/idle1.ogg new file mode 100644 index 0000000..cc24824 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/idle1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/idle2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/idle2.ogg new file mode 100644 index 0000000..39589bd Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/idle2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/idle3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/idle3.ogg new file mode 100644 index 0000000..7ad14d7 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/idle3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/idle4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/idle4.ogg new file mode 100644 index 0000000..3a5f0a0 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/idle4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/loop.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/loop.ogg new file mode 100644 index 0000000..a3167c3 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/loop.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/takeoff.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/takeoff.ogg new file mode 100644 index 0000000..c12b936 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/bat/takeoff.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/breathe1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/breathe1.ogg new file mode 100644 index 0000000..5bd9040 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/breathe1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/breathe2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/breathe2.ogg new file mode 100644 index 0000000..abc4e89 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/breathe2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/breathe3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/breathe3.ogg new file mode 100644 index 0000000..3ceff2e Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/breathe3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/breathe4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/breathe4.ogg new file mode 100644 index 0000000..22f448c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/breathe4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/death.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/death.ogg new file mode 100644 index 0000000..c3de9d3 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/death.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/hit1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/hit1.ogg new file mode 100644 index 0000000..b634091 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/hit1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/hit2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/hit2.ogg new file mode 100644 index 0000000..ae4139a Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/hit2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/hit3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/hit3.ogg new file mode 100644 index 0000000..cc70e53 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/hit3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/hit4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/hit4.ogg new file mode 100644 index 0000000..cee6c7b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/blaze/hit4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/hiss1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/hiss1.ogg new file mode 100644 index 0000000..4c32127 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/hiss1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/hiss2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/hiss2.ogg new file mode 100644 index 0000000..61ab868 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/hiss2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/hiss3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/hiss3.ogg new file mode 100644 index 0000000..702e758 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/hiss3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/hitt1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/hitt1.ogg new file mode 100644 index 0000000..e6ed332 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/hitt1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/hitt2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/hitt2.ogg new file mode 100644 index 0000000..96ba2a1 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/hitt2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/hitt3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/hitt3.ogg new file mode 100644 index 0000000..b4dde21 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/hitt3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/meow1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/meow1.ogg new file mode 100644 index 0000000..2a01b53 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/meow1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/meow2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/meow2.ogg new file mode 100644 index 0000000..262d0ce Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/meow2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/meow3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/meow3.ogg new file mode 100644 index 0000000..1152f5d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/meow3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/meow4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/meow4.ogg new file mode 100644 index 0000000..98866a8 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/meow4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/purr1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/purr1.ogg new file mode 100644 index 0000000..8e9cd54 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/purr1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/purr2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/purr2.ogg new file mode 100644 index 0000000..3012f90 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/purr2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/purr3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/purr3.ogg new file mode 100644 index 0000000..22835d9 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/purr3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/purreow1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/purreow1.ogg new file mode 100644 index 0000000..f92982d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/purreow1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/purreow2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/purreow2.ogg new file mode 100644 index 0000000..72b8c13 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cat/purreow2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/hurt1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/hurt1.ogg new file mode 100644 index 0000000..a9fa476 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/hurt1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/hurt2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/hurt2.ogg new file mode 100644 index 0000000..be71b5c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/hurt2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/plop.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/plop.ogg new file mode 100644 index 0000000..cde52af Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/plop.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/say1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/say1.ogg new file mode 100644 index 0000000..aa0c62b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/say1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/say2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/say2.ogg new file mode 100644 index 0000000..84026be Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/say2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/say3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/say3.ogg new file mode 100644 index 0000000..32b6d4c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/say3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/step1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/step1.ogg new file mode 100644 index 0000000..d06f9d0 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/step1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/step2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/step2.ogg new file mode 100644 index 0000000..bd9d751 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/chicken/step2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/hurt1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/hurt1.ogg new file mode 100644 index 0000000..c986933 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/hurt1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/hurt2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/hurt2.ogg new file mode 100644 index 0000000..da2a923 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/hurt2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/hurt3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/hurt3.ogg new file mode 100644 index 0000000..f641ce6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/hurt3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/say1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/say1.ogg new file mode 100644 index 0000000..1fea880 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/say1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/say2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/say2.ogg new file mode 100644 index 0000000..06a53ce Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/say2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/say3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/say3.ogg new file mode 100644 index 0000000..25add0a Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/say3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/say4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/say4.ogg new file mode 100644 index 0000000..220b78b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/say4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/step1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/step1.ogg new file mode 100644 index 0000000..a64dacf Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/step1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/step2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/step2.ogg new file mode 100644 index 0000000..2cc1b9c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/step2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/step3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/step3.ogg new file mode 100644 index 0000000..0a44735 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/step3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/step4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/step4.ogg new file mode 100644 index 0000000..01bc5b5 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/cow/step4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/creeper/death.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/creeper/death.ogg new file mode 100644 index 0000000..1e8a463 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/creeper/death.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/creeper/say1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/creeper/say1.ogg new file mode 100644 index 0000000..7557b49 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/creeper/say1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/creeper/say2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/creeper/say2.ogg new file mode 100644 index 0000000..f381954 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/creeper/say2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/creeper/say3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/creeper/say3.ogg new file mode 100644 index 0000000..141e2c9 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/creeper/say3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/creeper/say4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/creeper/say4.ogg new file mode 100644 index 0000000..b34c82e Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/creeper/say4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/end.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/end.ogg new file mode 100644 index 0000000..399293e Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/end.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/growl1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/growl1.ogg new file mode 100644 index 0000000..de5c0bf Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/growl1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/growl2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/growl2.ogg new file mode 100644 index 0000000..514c722 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/growl2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/growl3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/growl3.ogg new file mode 100644 index 0000000..5362738 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/growl3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/growl4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/growl4.ogg new file mode 100644 index 0000000..59a378f Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/growl4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/hit1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/hit1.ogg new file mode 100644 index 0000000..222fa4a Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/hit1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/hit2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/hit2.ogg new file mode 100644 index 0000000..870b2ec Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/hit2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/hit3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/hit3.ogg new file mode 100644 index 0000000..739f9e9 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/hit3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/hit4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/hit4.ogg new file mode 100644 index 0000000..4a77bc5 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/hit4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/wings1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/wings1.ogg new file mode 100644 index 0000000..3371154 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/wings1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/wings2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/wings2.ogg new file mode 100644 index 0000000..b01b4fc Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/wings2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/wings3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/wings3.ogg new file mode 100644 index 0000000..0cead3a Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/wings3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/wings4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/wings4.ogg new file mode 100644 index 0000000..fc42cce Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/wings4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/wings5.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/wings5.ogg new file mode 100644 index 0000000..7e8f8cf Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/wings5.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/wings6.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/wings6.ogg new file mode 100644 index 0000000..14fa112 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/enderdragon/wings6.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/death.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/death.ogg new file mode 100644 index 0000000..2c55fa8 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/death.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/hit1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/hit1.ogg new file mode 100644 index 0000000..00df3ab Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/hit1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/hit2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/hit2.ogg new file mode 100644 index 0000000..651b997 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/hit2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/hit3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/hit3.ogg new file mode 100644 index 0000000..cc095d6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/hit3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/hit4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/hit4.ogg new file mode 100644 index 0000000..8d159cc Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/hit4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/idle1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/idle1.ogg new file mode 100644 index 0000000..6ef4ea8 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/idle1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/idle2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/idle2.ogg new file mode 100644 index 0000000..7dee69d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/idle2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/idle3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/idle3.ogg new file mode 100644 index 0000000..d6db964 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/idle3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/idle4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/idle4.ogg new file mode 100644 index 0000000..66e7f30 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/idle4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/idle5.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/idle5.ogg new file mode 100644 index 0000000..e1d2565 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/idle5.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/portal.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/portal.ogg new file mode 100644 index 0000000..60b1c20 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/portal.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/portal2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/portal2.ogg new file mode 100644 index 0000000..61142c8 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/portal2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/scream1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/scream1.ogg new file mode 100644 index 0000000..bf6cb63 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/scream1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/scream2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/scream2.ogg new file mode 100644 index 0000000..bd8352c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/scream2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/scream3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/scream3.ogg new file mode 100644 index 0000000..78deb8a Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/scream3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/scream4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/scream4.ogg new file mode 100644 index 0000000..7b7775d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/scream4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/stare.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/stare.ogg new file mode 100644 index 0000000..a641ea9 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/endermen/stare.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/affectionate_scream.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/affectionate_scream.ogg new file mode 100644 index 0000000..1f21df7 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/affectionate_scream.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/charge.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/charge.ogg new file mode 100644 index 0000000..dfb53ea Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/charge.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/death.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/death.ogg new file mode 100644 index 0000000..4828ab1 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/death.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/fireball4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/fireball4.ogg new file mode 100644 index 0000000..2bb1211 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/fireball4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/moan1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/moan1.ogg new file mode 100644 index 0000000..1fd8939 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/moan1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/moan2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/moan2.ogg new file mode 100644 index 0000000..bb06c4a Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/moan2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/moan3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/moan3.ogg new file mode 100644 index 0000000..8feb482 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/moan3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/moan4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/moan4.ogg new file mode 100644 index 0000000..bd8bca3 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/moan4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/moan5.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/moan5.ogg new file mode 100644 index 0000000..5640cfd Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/moan5.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/moan6.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/moan6.ogg new file mode 100644 index 0000000..88d7152 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/moan6.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/moan7.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/moan7.ogg new file mode 100644 index 0000000..f5113d8 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/moan7.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/scream1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/scream1.ogg new file mode 100644 index 0000000..51cea67 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/scream1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/scream2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/scream2.ogg new file mode 100644 index 0000000..0ddbded Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/scream2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/scream3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/scream3.ogg new file mode 100644 index 0000000..5877a3d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/scream3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/scream4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/scream4.ogg new file mode 100644 index 0000000..340771e Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/scream4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/scream5.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/scream5.ogg new file mode 100644 index 0000000..6a05141 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/ghast/scream5.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/attack_loop.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/attack_loop.ogg new file mode 100644 index 0000000..8e3a358 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/attack_loop.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/curse.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/curse.ogg new file mode 100644 index 0000000..0f2433f Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/curse.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_death.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_death.ogg new file mode 100644 index 0000000..8a52f17 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_death.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_hit1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_hit1.ogg new file mode 100644 index 0000000..93b4c3b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_hit1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_hit2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_hit2.ogg new file mode 100644 index 0000000..3ef3fe5 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_hit2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_hit3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_hit3.ogg new file mode 100644 index 0000000..38c5331 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_hit3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_hit4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_hit4.ogg new file mode 100644 index 0000000..f145205 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_hit4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_idle1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_idle1.ogg new file mode 100644 index 0000000..86a6f8c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_idle1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_idle2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_idle2.ogg new file mode 100644 index 0000000..61957c0 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_idle2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_idle3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_idle3.ogg new file mode 100644 index 0000000..d252981 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_idle3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_idle4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_idle4.ogg new file mode 100644 index 0000000..85a2eaf Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/elder_idle4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/flop1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/flop1.ogg new file mode 100644 index 0000000..6b7dc50 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/flop1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/flop2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/flop2.ogg new file mode 100644 index 0000000..d26892e Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/flop2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/flop3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/flop3.ogg new file mode 100644 index 0000000..f6dad81 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/flop3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/flop4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/flop4.ogg new file mode 100644 index 0000000..b269404 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/flop4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_death.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_death.ogg new file mode 100644 index 0000000..00d5638 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_death.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_hit1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_hit1.ogg new file mode 100644 index 0000000..5e35015 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_hit1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_hit2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_hit2.ogg new file mode 100644 index 0000000..9144f6d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_hit2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_hit3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_hit3.ogg new file mode 100644 index 0000000..2d8f785 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_hit3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_hit4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_hit4.ogg new file mode 100644 index 0000000..ea31d82 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_hit4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_idle1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_idle1.ogg new file mode 100644 index 0000000..86a1352 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_idle1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_idle2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_idle2.ogg new file mode 100644 index 0000000..d7db1a4 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_idle2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_idle3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_idle3.ogg new file mode 100644 index 0000000..1ee5b76 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_idle3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_idle4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_idle4.ogg new file mode 100644 index 0000000..b06fb0d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/guardian_idle4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_death.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_death.ogg new file mode 100644 index 0000000..05e9a47 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_death.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_hit1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_hit1.ogg new file mode 100644 index 0000000..430d80e Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_hit1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_hit2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_hit2.ogg new file mode 100644 index 0000000..f026b98 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_hit2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_hit3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_hit3.ogg new file mode 100644 index 0000000..603942e Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_hit3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_hit4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_hit4.ogg new file mode 100644 index 0000000..d5df37b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_hit4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_idle1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_idle1.ogg new file mode 100644 index 0000000..76aee28 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_idle1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_idle2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_idle2.ogg new file mode 100644 index 0000000..9bdcefb Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_idle2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_idle3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_idle3.ogg new file mode 100644 index 0000000..957d182 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_idle3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_idle4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_idle4.ogg new file mode 100644 index 0000000..ba1d498 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/guardian/land_idle4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/angry1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/angry1.ogg new file mode 100644 index 0000000..3695c92 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/angry1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/armor.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/armor.ogg new file mode 100644 index 0000000..536c853 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/armor.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/breathe1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/breathe1.ogg new file mode 100644 index 0000000..4eb0b91 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/breathe1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/breathe2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/breathe2.ogg new file mode 100644 index 0000000..d43882d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/breathe2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/breathe3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/breathe3.ogg new file mode 100644 index 0000000..e9e7338 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/breathe3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/death.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/death.ogg new file mode 100644 index 0000000..107b228 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/death.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/angry1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/angry1.ogg new file mode 100644 index 0000000..d0cc42c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/angry1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/angry2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/angry2.ogg new file mode 100644 index 0000000..ec03ac8 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/angry2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/death.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/death.ogg new file mode 100644 index 0000000..d432d0a Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/death.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/hit1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/hit1.ogg new file mode 100644 index 0000000..892702d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/hit1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/hit2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/hit2.ogg new file mode 100644 index 0000000..44ad87b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/hit2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/hit3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/hit3.ogg new file mode 100644 index 0000000..57a5308 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/hit3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/idle1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/idle1.ogg new file mode 100644 index 0000000..fc6f1ef Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/idle1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/idle2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/idle2.ogg new file mode 100644 index 0000000..9ec9aaa Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/idle2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/idle3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/idle3.ogg new file mode 100644 index 0000000..e3a4486 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/donkey/idle3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/gallop1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/gallop1.ogg new file mode 100644 index 0000000..fb2fe57 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/gallop1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/gallop2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/gallop2.ogg new file mode 100644 index 0000000..d968c67 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/gallop2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/gallop3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/gallop3.ogg new file mode 100644 index 0000000..d8b599f Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/gallop3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/gallop4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/gallop4.ogg new file mode 100644 index 0000000..b6b2f58 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/gallop4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/hit1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/hit1.ogg new file mode 100644 index 0000000..ac51238 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/hit1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/hit2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/hit2.ogg new file mode 100644 index 0000000..646b43b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/hit2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/hit3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/hit3.ogg new file mode 100644 index 0000000..8fe9597 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/hit3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/hit4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/hit4.ogg new file mode 100644 index 0000000..53d926c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/hit4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/idle1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/idle1.ogg new file mode 100644 index 0000000..12b8079 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/idle1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/idle2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/idle2.ogg new file mode 100644 index 0000000..31d5840 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/idle2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/idle3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/idle3.ogg new file mode 100644 index 0000000..7755e24 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/idle3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/jump.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/jump.ogg new file mode 100644 index 0000000..2f42d69 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/jump.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/land.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/land.ogg new file mode 100644 index 0000000..3e30df0 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/land.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/leather.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/leather.ogg new file mode 100644 index 0000000..b88d241 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/leather.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/death.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/death.ogg new file mode 100644 index 0000000..d5aeb8c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/death.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/hit1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/hit1.ogg new file mode 100644 index 0000000..3cadacd Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/hit1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/hit2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/hit2.ogg new file mode 100644 index 0000000..a53bc57 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/hit2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/hit3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/hit3.ogg new file mode 100644 index 0000000..0cd61e7 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/hit3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/hit4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/hit4.ogg new file mode 100644 index 0000000..332f3f7 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/hit4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/idle1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/idle1.ogg new file mode 100644 index 0000000..06e7bbf Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/idle1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/idle2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/idle2.ogg new file mode 100644 index 0000000..e97c151 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/idle2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/idle3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/idle3.ogg new file mode 100644 index 0000000..7feba15 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/skeleton/idle3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/soft1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/soft1.ogg new file mode 100644 index 0000000..0406f73 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/soft1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/soft2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/soft2.ogg new file mode 100644 index 0000000..e083ac9 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/soft2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/soft3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/soft3.ogg new file mode 100644 index 0000000..661ede9 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/soft3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/soft4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/soft4.ogg new file mode 100644 index 0000000..5085c48 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/soft4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/soft5.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/soft5.ogg new file mode 100644 index 0000000..73c2662 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/soft5.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/soft6.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/soft6.ogg new file mode 100644 index 0000000..4b9496a Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/soft6.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/wood1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/wood1.ogg new file mode 100644 index 0000000..a2fd59b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/wood1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/wood2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/wood2.ogg new file mode 100644 index 0000000..13e4af0 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/wood2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/wood3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/wood3.ogg new file mode 100644 index 0000000..1e2aea9 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/wood3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/wood4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/wood4.ogg new file mode 100644 index 0000000..35897f6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/wood4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/wood5.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/wood5.ogg new file mode 100644 index 0000000..486d457 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/wood5.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/wood6.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/wood6.ogg new file mode 100644 index 0000000..80c213d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/wood6.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/death.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/death.ogg new file mode 100644 index 0000000..5d8db33 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/death.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/hit1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/hit1.ogg new file mode 100644 index 0000000..9c7e32b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/hit1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/hit2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/hit2.ogg new file mode 100644 index 0000000..9fbffef Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/hit2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/hit3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/hit3.ogg new file mode 100644 index 0000000..541b907 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/hit3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/hit4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/hit4.ogg new file mode 100644 index 0000000..758d253 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/hit4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/idle1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/idle1.ogg new file mode 100644 index 0000000..8099938 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/idle1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/idle2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/idle2.ogg new file mode 100644 index 0000000..2a0249a Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/idle2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/idle3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/idle3.ogg new file mode 100644 index 0000000..81ab398 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/horse/zombie/idle3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/death.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/death.ogg new file mode 100644 index 0000000..3ea673b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/death.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/hit1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/hit1.ogg new file mode 100644 index 0000000..db00527 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/hit1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/hit2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/hit2.ogg new file mode 100644 index 0000000..3bd3f24 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/hit2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/hit3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/hit3.ogg new file mode 100644 index 0000000..c5b5955 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/hit3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/hit4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/hit4.ogg new file mode 100644 index 0000000..de00aa1 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/hit4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/throw.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/throw.ogg new file mode 100644 index 0000000..d02a69e Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/throw.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/walk1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/walk1.ogg new file mode 100644 index 0000000..995c8ed Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/walk1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/walk2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/walk2.ogg new file mode 100644 index 0000000..6e46814 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/walk2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/walk3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/walk3.ogg new file mode 100644 index 0000000..5e129bc Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/walk3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/walk4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/walk4.ogg new file mode 100644 index 0000000..5fb5048 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/irongolem/walk4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/big1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/big1.ogg new file mode 100644 index 0000000..8f1bfbb Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/big1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/big2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/big2.ogg new file mode 100644 index 0000000..02ae734 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/big2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/big3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/big3.ogg new file mode 100644 index 0000000..1e82415 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/big3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/big4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/big4.ogg new file mode 100644 index 0000000..6b8947b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/big4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/jump1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/jump1.ogg new file mode 100644 index 0000000..54772ed Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/jump1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/jump2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/jump2.ogg new file mode 100644 index 0000000..ecf64e2 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/jump2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/jump3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/jump3.ogg new file mode 100644 index 0000000..0538174 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/jump3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/jump4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/jump4.ogg new file mode 100644 index 0000000..ee19845 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/jump4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/small1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/small1.ogg new file mode 100644 index 0000000..db1d9d0 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/small1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/small2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/small2.ogg new file mode 100644 index 0000000..e46ae0a Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/small2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/small3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/small3.ogg new file mode 100644 index 0000000..a87aee0 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/small3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/small4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/small4.ogg new file mode 100644 index 0000000..e320a0d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/small4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/small5.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/small5.ogg new file mode 100644 index 0000000..f26e9f7 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/magmacube/small5.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/death.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/death.ogg new file mode 100644 index 0000000..fc87d49 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/death.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/say1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/say1.ogg new file mode 100644 index 0000000..9f67dfa Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/say1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/say2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/say2.ogg new file mode 100644 index 0000000..d7f6e07 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/say2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/say3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/say3.ogg new file mode 100644 index 0000000..3900a1c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/say3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/step1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/step1.ogg new file mode 100644 index 0000000..7048ffa Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/step1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/step2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/step2.ogg new file mode 100644 index 0000000..b4db3cd Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/step2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/step3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/step3.ogg new file mode 100644 index 0000000..d41d6f6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/step3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/step4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/step4.ogg new file mode 100644 index 0000000..9886a0a Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/step4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/step5.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/step5.ogg new file mode 100644 index 0000000..ee9b33a Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/pig/step5.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/bunnymurder.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/bunnymurder.ogg new file mode 100644 index 0000000..7a86bcd Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/bunnymurder.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hop1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hop1.ogg new file mode 100644 index 0000000..df551a8 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hop1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hop2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hop2.ogg new file mode 100644 index 0000000..4a9282a Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hop2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hop3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hop3.ogg new file mode 100644 index 0000000..9343445 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hop3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hop4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hop4.ogg new file mode 100644 index 0000000..a9591ac Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hop4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hurt1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hurt1.ogg new file mode 100644 index 0000000..41e2621 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hurt1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hurt2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hurt2.ogg new file mode 100644 index 0000000..afd22d2 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hurt2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hurt3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hurt3.ogg new file mode 100644 index 0000000..704e1b8 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hurt3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hurt4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hurt4.ogg new file mode 100644 index 0000000..1099d7f Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/hurt4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/idle1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/idle1.ogg new file mode 100644 index 0000000..aaab2a1 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/idle1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/idle2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/idle2.ogg new file mode 100644 index 0000000..3da5aff Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/idle2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/idle3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/idle3.ogg new file mode 100644 index 0000000..54985af Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/idle3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/idle4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/idle4.ogg new file mode 100644 index 0000000..c58068f Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/rabbit/idle4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/say1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/say1.ogg new file mode 100644 index 0000000..c1e18f7 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/say1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/say2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/say2.ogg new file mode 100644 index 0000000..5259543 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/say2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/say3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/say3.ogg new file mode 100644 index 0000000..08d744a Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/say3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/shear.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/shear.ogg new file mode 100644 index 0000000..8511ce4 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/shear.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/step1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/step1.ogg new file mode 100644 index 0000000..3a376d7 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/step1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/step2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/step2.ogg new file mode 100644 index 0000000..0392094 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/step2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/step3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/step3.ogg new file mode 100644 index 0000000..f24bd5c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/step3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/step4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/step4.ogg new file mode 100644 index 0000000..617d8f5 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/step4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/step5.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/step5.ogg new file mode 100644 index 0000000..13cfb24 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/sheep/step5.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/hit1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/hit1.ogg new file mode 100644 index 0000000..6e9e80a Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/hit1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/hit2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/hit2.ogg new file mode 100644 index 0000000..2d1dff5 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/hit2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/hit3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/hit3.ogg new file mode 100644 index 0000000..e0a7a4e Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/hit3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/kill.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/kill.ogg new file mode 100644 index 0000000..ca715de Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/kill.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/say1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/say1.ogg new file mode 100644 index 0000000..cdea69f Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/say1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/say2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/say2.ogg new file mode 100644 index 0000000..2019ef1 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/say2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/say3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/say3.ogg new file mode 100644 index 0000000..8c57675 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/say3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/say4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/say4.ogg new file mode 100644 index 0000000..6466b71 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/say4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/step1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/step1.ogg new file mode 100644 index 0000000..d528ac3 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/step1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/step2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/step2.ogg new file mode 100644 index 0000000..ea95973 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/step2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/step3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/step3.ogg new file mode 100644 index 0000000..917a7f9 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/step3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/step4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/step4.ogg new file mode 100644 index 0000000..1a337a2 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/silverfish/step4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/death.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/death.ogg new file mode 100644 index 0000000..cb1238c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/death.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/hurt1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/hurt1.ogg new file mode 100644 index 0000000..c693927 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/hurt1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/hurt2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/hurt2.ogg new file mode 100644 index 0000000..d1bc9c6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/hurt2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/hurt3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/hurt3.ogg new file mode 100644 index 0000000..4a09a5b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/hurt3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/hurt4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/hurt4.ogg new file mode 100644 index 0000000..16e6004 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/hurt4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/say1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/say1.ogg new file mode 100644 index 0000000..ec8c4b6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/say1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/say2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/say2.ogg new file mode 100644 index 0000000..9c6a1d1 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/say2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/say3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/say3.ogg new file mode 100644 index 0000000..ab8dc67 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/say3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/step1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/step1.ogg new file mode 100644 index 0000000..c2baec3 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/step1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/step2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/step2.ogg new file mode 100644 index 0000000..d7a5a5b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/step2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/step3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/step3.ogg new file mode 100644 index 0000000..1ea9855 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/step3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/step4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/step4.ogg new file mode 100644 index 0000000..83aafad Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/skeleton/step4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/attack1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/attack1.ogg new file mode 100644 index 0000000..e4c221b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/attack1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/attack2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/attack2.ogg new file mode 100644 index 0000000..54d73e3 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/attack2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/big1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/big1.ogg new file mode 100644 index 0000000..3650435 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/big1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/big2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/big2.ogg new file mode 100644 index 0000000..d04c1b9 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/big2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/big3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/big3.ogg new file mode 100644 index 0000000..e534899 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/big3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/big4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/big4.ogg new file mode 100644 index 0000000..1b9f387 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/big4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/small1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/small1.ogg new file mode 100644 index 0000000..f586a44 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/small1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/small2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/small2.ogg new file mode 100644 index 0000000..fb51937 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/small2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/small3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/small3.ogg new file mode 100644 index 0000000..cf980a3 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/small3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/small4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/small4.ogg new file mode 100644 index 0000000..0e7dcc5 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/small4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/small5.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/small5.ogg new file mode 100644 index 0000000..85b601a Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/slime/small5.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/death.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/death.ogg new file mode 100644 index 0000000..cd2f6ed Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/death.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/say1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/say1.ogg new file mode 100644 index 0000000..4ebe5d7 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/say1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/say2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/say2.ogg new file mode 100644 index 0000000..a4d9d66 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/say2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/say3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/say3.ogg new file mode 100644 index 0000000..99e78a6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/say3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/say4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/say4.ogg new file mode 100644 index 0000000..6cd8824 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/say4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/step1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/step1.ogg new file mode 100644 index 0000000..26aa865 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/step1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/step2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/step2.ogg new file mode 100644 index 0000000..fb4f344 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/step2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/step3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/step3.ogg new file mode 100644 index 0000000..4e33d68 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/step3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/step4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/step4.ogg new file mode 100644 index 0000000..0b6532d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/spider/step4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/death.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/death.ogg new file mode 100644 index 0000000..17f99da Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/death.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/haggle1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/haggle1.ogg new file mode 100644 index 0000000..9fb875d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/haggle1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/haggle2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/haggle2.ogg new file mode 100644 index 0000000..3c7e09c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/haggle2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/haggle3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/haggle3.ogg new file mode 100644 index 0000000..42ddbf3 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/haggle3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/hit1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/hit1.ogg new file mode 100644 index 0000000..df489b6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/hit1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/hit2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/hit2.ogg new file mode 100644 index 0000000..ddba0cb Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/hit2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/hit3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/hit3.ogg new file mode 100644 index 0000000..171ff1f Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/hit3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/hit4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/hit4.ogg new file mode 100644 index 0000000..07ec4d1 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/hit4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/idle1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/idle1.ogg new file mode 100644 index 0000000..790c879 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/idle1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/idle2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/idle2.ogg new file mode 100644 index 0000000..9a545c3 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/idle2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/idle3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/idle3.ogg new file mode 100644 index 0000000..e21d43e Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/idle3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/no1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/no1.ogg new file mode 100644 index 0000000..3c2c4e7 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/no1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/no2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/no2.ogg new file mode 100644 index 0000000..08ffb5d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/no2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/no3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/no3.ogg new file mode 100644 index 0000000..2052a65 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/no3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/yes1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/yes1.ogg new file mode 100644 index 0000000..516a171 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/yes1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/yes2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/yes2.ogg new file mode 100644 index 0000000..c2ae99e Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/yes2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/yes3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/yes3.ogg new file mode 100644 index 0000000..a5d3dbf Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/villager/yes3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/death.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/death.ogg new file mode 100644 index 0000000..a2f6bf9 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/death.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/hurt1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/hurt1.ogg new file mode 100644 index 0000000..3eea2a1 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/hurt1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/hurt2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/hurt2.ogg new file mode 100644 index 0000000..6b05473 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/hurt2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/hurt3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/hurt3.ogg new file mode 100644 index 0000000..86918e7 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/hurt3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/hurt4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/hurt4.ogg new file mode 100644 index 0000000..137f22b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/hurt4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/idle1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/idle1.ogg new file mode 100644 index 0000000..5dcc02c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/idle1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/idle2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/idle2.ogg new file mode 100644 index 0000000..d3439f6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/idle2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/idle3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/idle3.ogg new file mode 100644 index 0000000..6aa7c6e Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/idle3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/idle4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/idle4.ogg new file mode 100644 index 0000000..b7e7235 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/idle4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/shoot.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/shoot.ogg new file mode 100644 index 0000000..d6ce8a2 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/shoot.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/spawn.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/spawn.ogg new file mode 100644 index 0000000..360d874 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wither/spawn.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/bark1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/bark1.ogg new file mode 100644 index 0000000..beac494 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/bark1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/bark2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/bark2.ogg new file mode 100644 index 0000000..39e04d0 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/bark2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/bark3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/bark3.ogg new file mode 100644 index 0000000..59ce5f0 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/bark3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/death.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/death.ogg new file mode 100644 index 0000000..3ac6e95 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/death.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/growl1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/growl1.ogg new file mode 100644 index 0000000..635dea3 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/growl1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/growl2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/growl2.ogg new file mode 100644 index 0000000..f9dd5c7 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/growl2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/growl3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/growl3.ogg new file mode 100644 index 0000000..87d1ec5 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/growl3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/howl1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/howl1.ogg new file mode 100644 index 0000000..a0906c6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/howl1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/howl2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/howl2.ogg new file mode 100644 index 0000000..07c9b58 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/howl2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/hurt1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/hurt1.ogg new file mode 100644 index 0000000..f0671f9 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/hurt1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/hurt2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/hurt2.ogg new file mode 100644 index 0000000..e4ff948 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/hurt2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/hurt3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/hurt3.ogg new file mode 100644 index 0000000..761a195 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/hurt3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/panting.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/panting.ogg new file mode 100644 index 0000000..7b523a1 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/panting.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/shake.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/shake.ogg new file mode 100644 index 0000000..63bdae6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/shake.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/step1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/step1.ogg new file mode 100644 index 0000000..0b4d45f Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/step1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/step2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/step2.ogg new file mode 100644 index 0000000..e0bbea3 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/step2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/step3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/step3.ogg new file mode 100644 index 0000000..1c40438 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/step3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/step4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/step4.ogg new file mode 100644 index 0000000..a0a0e21 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/step4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/step5.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/step5.ogg new file mode 100644 index 0000000..fdb4b6b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/step5.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/whine.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/whine.ogg new file mode 100644 index 0000000..5282799 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/wolf/whine.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/death.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/death.ogg new file mode 100644 index 0000000..ec59c7d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/death.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/hurt1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/hurt1.ogg new file mode 100644 index 0000000..031d212 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/hurt1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/hurt2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/hurt2.ogg new file mode 100644 index 0000000..cde0cd6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/hurt2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/infect.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/infect.ogg new file mode 100644 index 0000000..7294aa1 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/infect.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/metal1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/metal1.ogg new file mode 100644 index 0000000..a70cb2f Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/metal1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/metal2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/metal2.ogg new file mode 100644 index 0000000..606c27e Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/metal2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/metal3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/metal3.ogg new file mode 100644 index 0000000..166002d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/metal3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/remedy.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/remedy.ogg new file mode 100644 index 0000000..00f938b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/remedy.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/say1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/say1.ogg new file mode 100644 index 0000000..f3a01f2 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/say1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/say2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/say2.ogg new file mode 100644 index 0000000..f85d2ad Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/say2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/say3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/say3.ogg new file mode 100644 index 0000000..794a907 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/say3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/step1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/step1.ogg new file mode 100644 index 0000000..1009e44 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/step1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/step2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/step2.ogg new file mode 100644 index 0000000..fa48088 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/step2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/step3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/step3.ogg new file mode 100644 index 0000000..2dd4d78 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/step3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/step4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/step4.ogg new file mode 100644 index 0000000..daf85c4 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/step4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/step5.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/step5.ogg new file mode 100644 index 0000000..76acc12 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/step5.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/unfect.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/unfect.ogg new file mode 100644 index 0000000..71cf3bd Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/unfect.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/wood1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/wood1.ogg new file mode 100644 index 0000000..be2fe08 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/wood1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/wood2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/wood2.ogg new file mode 100644 index 0000000..3a5c31f Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/wood2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/wood3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/wood3.ogg new file mode 100644 index 0000000..19ee931 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/wood3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/wood4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/wood4.ogg new file mode 100644 index 0000000..d509b49 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/wood4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/woodbreak.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/woodbreak.ogg new file mode 100644 index 0000000..4a43d9c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombie/woodbreak.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpig1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpig1.ogg new file mode 100644 index 0000000..a890abb Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpig1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpig2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpig2.ogg new file mode 100644 index 0000000..3827e9d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpig2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpig3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpig3.ogg new file mode 100644 index 0000000..90978c1 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpig3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpig4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpig4.ogg new file mode 100644 index 0000000..f4b0b24 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpig4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpigangry1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpigangry1.ogg new file mode 100644 index 0000000..0117ee9 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpigangry1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpigangry2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpigangry2.ogg new file mode 100644 index 0000000..c1c1025 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpigangry2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpigangry3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpigangry3.ogg new file mode 100644 index 0000000..cf0a45c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpigangry3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpigangry4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpigangry4.ogg new file mode 100644 index 0000000..b314cde Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpigangry4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpigdeath.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpigdeath.ogg new file mode 100644 index 0000000..214df9f Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpigdeath.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpighurt1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpighurt1.ogg new file mode 100644 index 0000000..c29437b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpighurt1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpighurt2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpighurt2.ogg new file mode 100644 index 0000000..a439ce2 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/mob/zombiepig/zpighurt2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/note/bass.ogg b/desktopRuntime/resources/assets/minecraft/sounds/note/bass.ogg new file mode 100644 index 0000000..a55fde9 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/note/bass.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/note/bassattack.ogg b/desktopRuntime/resources/assets/minecraft/sounds/note/bassattack.ogg new file mode 100644 index 0000000..ebd127d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/note/bassattack.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/note/bd.ogg b/desktopRuntime/resources/assets/minecraft/sounds/note/bd.ogg new file mode 100644 index 0000000..2acaa7a Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/note/bd.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/note/harp.ogg b/desktopRuntime/resources/assets/minecraft/sounds/note/harp.ogg new file mode 100644 index 0000000..a11ca31 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/note/harp.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/note/hat.ogg b/desktopRuntime/resources/assets/minecraft/sounds/note/hat.ogg new file mode 100644 index 0000000..e291bb0 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/note/hat.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/note/pling.ogg b/desktopRuntime/resources/assets/minecraft/sounds/note/pling.ogg new file mode 100644 index 0000000..9f894b0 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/note/pling.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/note/snare.ogg b/desktopRuntime/resources/assets/minecraft/sounds/note/snare.ogg new file mode 100644 index 0000000..250e46c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/note/snare.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/portal/portal.ogg b/desktopRuntime/resources/assets/minecraft/sounds/portal/portal.ogg new file mode 100644 index 0000000..8b528aa Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/portal/portal.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/portal/travel.ogg b/desktopRuntime/resources/assets/minecraft/sounds/portal/travel.ogg new file mode 100644 index 0000000..c653697 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/portal/travel.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/portal/trigger.ogg b/desktopRuntime/resources/assets/minecraft/sounds/portal/trigger.ogg new file mode 100644 index 0000000..4324f6c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/portal/trigger.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/anvil_break.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/anvil_break.ogg new file mode 100644 index 0000000..0d2db37 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/anvil_break.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/anvil_land.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/anvil_land.ogg new file mode 100644 index 0000000..994c007 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/anvil_land.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/anvil_use.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/anvil_use.ogg new file mode 100644 index 0000000..a92c855 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/anvil_use.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/bow.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/bow.ogg new file mode 100644 index 0000000..81aba22 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/bow.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/bowhit1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/bowhit1.ogg new file mode 100644 index 0000000..48c4a15 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/bowhit1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/bowhit2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/bowhit2.ogg new file mode 100644 index 0000000..44d7058 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/bowhit2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/bowhit3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/bowhit3.ogg new file mode 100644 index 0000000..0f78389 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/bowhit3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/bowhit4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/bowhit4.ogg new file mode 100644 index 0000000..7b4c409 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/bowhit4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/break.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/break.ogg new file mode 100644 index 0000000..4f2a367 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/break.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/breath.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/breath.ogg new file mode 100644 index 0000000..f23d610 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/breath.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/burp.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/burp.ogg new file mode 100644 index 0000000..89ea591 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/burp.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/chestclosed.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/chestclosed.ogg new file mode 100644 index 0000000..d1c1c34 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/chestclosed.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/chestopen.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/chestopen.ogg new file mode 100644 index 0000000..077140d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/chestopen.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/classic_hurt.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/classic_hurt.ogg new file mode 100644 index 0000000..d260bf6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/classic_hurt.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/click.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/click.ogg new file mode 100644 index 0000000..863237f Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/click.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/door_close.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/door_close.ogg new file mode 100644 index 0000000..5fb4ce4 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/door_close.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/door_open.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/door_open.ogg new file mode 100644 index 0000000..7984f0b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/door_open.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/drink.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/drink.ogg new file mode 100644 index 0000000..fd348ec Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/drink.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/eat1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/eat1.ogg new file mode 100644 index 0000000..a428ce4 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/eat1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/eat2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/eat2.ogg new file mode 100644 index 0000000..e4ae4db Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/eat2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/eat3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/eat3.ogg new file mode 100644 index 0000000..575c74e Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/eat3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/explode1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/explode1.ogg new file mode 100644 index 0000000..a010361 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/explode1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/explode2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/explode2.ogg new file mode 100644 index 0000000..ef94682 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/explode2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/explode3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/explode3.ogg new file mode 100644 index 0000000..b92bd7b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/explode3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/explode4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/explode4.ogg new file mode 100644 index 0000000..6c43512 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/explode4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/fizz.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/fizz.ogg new file mode 100644 index 0000000..67eb753 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/fizz.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/fuse.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/fuse.ogg new file mode 100644 index 0000000..36b2201 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/fuse.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/glass1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/glass1.ogg new file mode 100644 index 0000000..e29c82b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/glass1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/glass2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/glass2.ogg new file mode 100644 index 0000000..0e48700 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/glass2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/glass3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/glass3.ogg new file mode 100644 index 0000000..1933b7f Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/glass3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/levelup.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/levelup.ogg new file mode 100644 index 0000000..937564a Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/levelup.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/orb.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/orb.ogg new file mode 100644 index 0000000..32bb1a1 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/orb.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/pop.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/pop.ogg new file mode 100644 index 0000000..7354ed5 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/pop.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/splash.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/splash.ogg new file mode 100644 index 0000000..172a179 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/splash.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/successful_hit.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/successful_hit.ogg new file mode 100644 index 0000000..e937b6c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/successful_hit.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/random/wood_click.ogg b/desktopRuntime/resources/assets/minecraft/sounds/random/wood_click.ogg new file mode 100644 index 0000000..cbb42d6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/random/wood_click.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/cloth1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/cloth1.ogg new file mode 100644 index 0000000..5138dfc Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/cloth1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/cloth2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/cloth2.ogg new file mode 100644 index 0000000..71ad43d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/cloth2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/cloth3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/cloth3.ogg new file mode 100644 index 0000000..01ede64 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/cloth3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/cloth4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/cloth4.ogg new file mode 100644 index 0000000..50da01c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/cloth4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/grass1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/grass1.ogg new file mode 100644 index 0000000..dc32da5 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/grass1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/grass2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/grass2.ogg new file mode 100644 index 0000000..148b2fc Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/grass2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/grass3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/grass3.ogg new file mode 100644 index 0000000..5fb3b98 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/grass3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/grass4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/grass4.ogg new file mode 100644 index 0000000..3b020fe Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/grass4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/grass5.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/grass5.ogg new file mode 100644 index 0000000..1e83142 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/grass5.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/grass6.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/grass6.ogg new file mode 100644 index 0000000..501218d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/grass6.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/gravel1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/gravel1.ogg new file mode 100644 index 0000000..db87939 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/gravel1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/gravel2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/gravel2.ogg new file mode 100644 index 0000000..7374699 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/gravel2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/gravel3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/gravel3.ogg new file mode 100644 index 0000000..6870ef9 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/gravel3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/gravel4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/gravel4.ogg new file mode 100644 index 0000000..4d2fd7f Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/gravel4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/ladder1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/ladder1.ogg new file mode 100644 index 0000000..d1c664c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/ladder1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/ladder2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/ladder2.ogg new file mode 100644 index 0000000..91fd3bb Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/ladder2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/ladder3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/ladder3.ogg new file mode 100644 index 0000000..c8a3c9b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/ladder3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/ladder4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/ladder4.ogg new file mode 100644 index 0000000..cb431a1 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/ladder4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/ladder5.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/ladder5.ogg new file mode 100644 index 0000000..0eb70de Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/ladder5.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/sand1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/sand1.ogg new file mode 100644 index 0000000..0d7f3cd Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/sand1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/sand2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/sand2.ogg new file mode 100644 index 0000000..b619cf6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/sand2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/sand3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/sand3.ogg new file mode 100644 index 0000000..dd32e52 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/sand3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/sand4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/sand4.ogg new file mode 100644 index 0000000..dc573dc Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/sand4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/sand5.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/sand5.ogg new file mode 100644 index 0000000..2b4fcc9 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/sand5.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/snow1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/snow1.ogg new file mode 100644 index 0000000..44e8ed2 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/snow1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/snow2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/snow2.ogg new file mode 100644 index 0000000..c44cbf2 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/snow2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/snow3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/snow3.ogg new file mode 100644 index 0000000..2894047 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/snow3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/snow4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/snow4.ogg new file mode 100644 index 0000000..515d35b Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/snow4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/stone1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/stone1.ogg new file mode 100644 index 0000000..5ae3403 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/stone1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/stone2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/stone2.ogg new file mode 100644 index 0000000..b4a2d0c Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/stone2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/stone3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/stone3.ogg new file mode 100644 index 0000000..cd8229a Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/stone3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/stone4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/stone4.ogg new file mode 100644 index 0000000..fbce19d Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/stone4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/stone5.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/stone5.ogg new file mode 100644 index 0000000..203b87a Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/stone5.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/stone6.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/stone6.ogg new file mode 100644 index 0000000..a0137f9 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/stone6.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/wood1.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/wood1.ogg new file mode 100644 index 0000000..b10bb7e Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/wood1.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/wood2.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/wood2.ogg new file mode 100644 index 0000000..f1ed390 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/wood2.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/wood3.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/wood3.ogg new file mode 100644 index 0000000..0580d84 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/wood3.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/wood4.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/wood4.ogg new file mode 100644 index 0000000..fd69937 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/wood4.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/wood5.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/wood5.ogg new file mode 100644 index 0000000..9ebf4a9 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/wood5.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/step/wood6.ogg b/desktopRuntime/resources/assets/minecraft/sounds/step/wood6.ogg new file mode 100644 index 0000000..aef5d11 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/step/wood6.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/tile/piston/in.ogg b/desktopRuntime/resources/assets/minecraft/sounds/tile/piston/in.ogg new file mode 100644 index 0000000..e64ca74 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/tile/piston/in.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/sounds/tile/piston/out.ogg b/desktopRuntime/resources/assets/minecraft/sounds/tile/piston/out.ogg new file mode 100644 index 0000000..13d21e6 Binary files /dev/null and b/desktopRuntime/resources/assets/minecraft/sounds/tile/piston/out.ogg differ diff --git a/desktopRuntime/resources/assets/minecraft/texts/credits.txt b/desktopRuntime/resources/assets/minecraft/texts/credits.txt new file mode 100644 index 0000000..528bdb6 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/texts/credits.txt @@ -0,0 +1,428 @@ +[C]§f============ +[C]§eMinecraft Team +[C]§f============ + +§7Original Creator +§f Markus Persson + +§7Chief Creative Officer +§f Jens Bergensten + +§7Producers +§f Adrian ÖstergÃ¥rd +§f Dejan Dimic +§f Fredrik Telenius +§f Isabella Arningsmark + +§7Lead Engineer +§f Nathan Adams + +§7Game Developers +§f Agnes Larsson +§f Bartosz Bok +§f Cory Scheviak +§f Erik Broes +§f Georgii Gavrichev +§f Josh Letellier +§f Maria Lemón +§f Michael Stoyke +§f Thomas Guimbretière + +§7Launcher Tech Lead +§f Mikael Hedberg + +§7Launcher Developers +§f Petr Mrázek + +§7Realms Tech Lead +§f Alexander Torstling + +§7Realms Developers +§f Alexandre Pretto Nunes +§f Alexander Östman +§f Billy Sjöberg +§f Brian Threvathan +§f Christoffer Hammarström +§f Erik Bylund +§f Henning Erlandsen +§f Magnus Jäderberg +§f Márcio Oliveira +§f Niclas Unnervik +§f Sina Tamanna +§f Tomas Alaeus + +§7Minecraft Content Lead +§f Marc Watson + +§7Minecraft Content Coordinator +§f Adam Martinsson +§f Matthew Dryden +§f Oskar Thysell +§f Sara Lempiäinen + +§7Art Directors +§f Johan Aronsson +§f Markus Toivonen +§f Martin Johansson +§f Ninni Landin + +§7Graphics Artists +§f Jasper Boerstra +§f Mattis Grahm + +§7User Experience Design +§f Lily Ekman +§f Oscar Nilsson + +§7Lead User Experience Developers +§f Sebastian Hindefelt +§f Paulo Ragonha + +§7User Experience Developers +§f Albin Odervall +§f Anna Päärni +§f Dario Vodopivec +§f Emelie Sidesiö +§f Michael Novén +§f Oleg Kozitsyn + +§7Lead Sound Designer +§f Samuel Ã…berg + +§7Sound Design +§f Daniel Rosenfeld +§f Kevin Martinez +§f Peter Hont + +§7Music composed by +§f Daniel Rosenfeld + +§7Writing +§f Julian Gough + +§7Developers of Mo’ Creatures +§f Dan Roque +§f John Olarte (DrZhark) +§f Kent Christian Jensen + +[C]§f======== +[C]§eMojang +[C]§f======== + +§7Chief Executive Officer +§f Jonas MÃ¥rtensson + +§7Chief Operations Officer +§f Ulrika HöjgÃ¥rd + +§7Chief Technology Officer +§f Mike Carlson + +§7Chief Brand Officer +§f Lydia Winters + +§7Chief Content Officer +§f Vu Bui + +§7Human Resources +§f Maja Samuelsson +§f Viktoria Petersson + +§7Director of Finance +§f Marina Kostesic + +§7Director of New Games +§f Patrick Liu + +§7Game Director +§f MÃ¥ns Olson + +§7Game Designers +§f Christian Berg +§f Max Herngren + +§7Lead Game Developers +§f Kristoffer Jelbring +§f Niklas Börestam + +§7Game Developers +§f Adrian Toncean +§f Anton Arbring +§f Aron Nieminen +§f Christan Berg +§f Daniel Wustenhoff +§f Jakob Rydén +§f Jon Maiga +§f MÃ¥rten Helander + +§7Art Leads +§f Daniel Björkefors +§f Telemachus Stavropoulos + +§7Graphic Designers +§f Wiktor Persson +§f Markus Karlsson + +§73D/VFX +§f Christian Nordgren +§f Jakob Gavelli + +§7Lead System Engineers +§f Jifeng Zhang +§f Robert Sjödahl +§f Torbjörn Allard + +§7System Developers +§f Anders Martini +§f Maksim Ivanov +§f Maria Katsourani +§f Mikael Malmqvist +§f Joakim Ejenstam +§f Jonas Bergström +§f Petter Gisslen +§f Pär Axelsson +§f Stefan Torstensson +§f Wenlan Yang + +§7Experience Design +§f Daniel Feldt + +§7Director of Business Development +§f Patrick Geuder + +§7Production Director +§f Olof Carlson Sandvik + +§7Head of Creative Production +§f Sheila Ho + +§7Production Manager +§f Klas Hammarström + +§7Producers +§f Adele Major +§f David Nisshagen +§f Hampus Nilsson +§f Johannes Fridd +§f Kaya Hatcher +§f Lisa Kempe +§f Moira Ingeltun +§f Nicolette Suraga +§f Sarah Carton +§f Sebastian Falk +§f Ã…sa Skogström + +§7Project Managers +§f Isabella Balk + +§7Director of Creative Communications +§f Owen Jones + +§7Head of Marketing Communications +§f Thomas Wiborgh + +§7Creative Communications Assistant +§f Per Landin +§f Tom Stone + +§7Head of Community Relations +§f Karim Walldén + +§7Community Relations Coordinator +§f Josefin Olsson + +§7Head of Social Media +§f Alice Löfgren + +§7Customer Support Team Lead +§f Mattias Victorin + +§7Customer Support +§f Anna Lundgren +§f Andreas Thomasson +§f Antonia Kousathana +§f Cecilia Flumé +§f Cim Borg +§f David Stuart Dahlgren +§f Ellie Ashrafi +§f Fredrik Sandström +§f Freja Fors +§f Jonny Hair +§f Nasim Derakhshan +§f Nima Tolouifar +§f Patrik Södergren +§f Rui Ribeiro +§f Sarah MÃ¥rtensson + +§7Office Manager +§f Siri Hoel Andersson + +§7Office Coordinators +§f Aleksandra Zajac +§f Joël Älveroth + +§7Reception Manager +§f Chaimae Truving + +§7Financial Accountant +§f Josefina Axelsson + +§7IT Wizards +§f Cesar Sima Falck +§f Shoghi Cervantes + +§7Product Designer Team Lead +§f Amanda Ström + +§7Product Designers +§f Filip Thoms +§f Jennifer Hammervald +§f Sherin Kwan + +§7Motion Graphics Designer +§f Kim Petersen + +§7Intellectual Property Enforcement Team Lead +§f Olle Personne + +§7Intellectual Property Enforcement Agents +§f Mathias Andersson +§f Matilda Ã…kerman +§f Marcus Forss +§f Sylvia Chen +§f Johan Hedlund + +[C]§f=========== +[C]§eMojang Alumni +[C]§f=========== + +§7Chief Executive Officers +§f Carl Manneh + +§7Chief Finance Officer +§f Karin Severinson + +§7Chief Technology Officer +§f Rikard Herlitz + +§7Project Directors +§f Jakob Porsér + +§7Production Director +§f Daniel Kaplan + +§7Game Director +§f Henrik Pettersson + +§7Producers +§7 Marie StÃ¥lkrantz + +§7Assistant Producers +§f Warren Loo + +§7Game Developers +§f Christian Westman +§f Daniel Frisk +§f Isaac de la Vega +§f Jakob Pogulis +§f Johan Bernhardsson +§f Magnus Bentling +§f Markus Arvidsson +§f Nathan Gilbert +§f Ryan Holtz +§f Tobias Möllstam + +§73D/VFX +§f Elin Ölund Forsling + +§7User Experience Design Director +§f Tobias Ahlin + +§7Additional Programming +§f Elliot 'Hippoplatimus' Segal +§f Paul Spooner +§f Ryan 'Scaevolus' Hitchman + +§7Lead System Engineers +§f Tom Miles +§f Tomas Sommar + +§7System Developers +§f Leonard Gram +§f Martin Odhelius + +§7Realms Developers +§f Amir Moulavi +§f David Marby +§f Johnny Sjöö +§f Mats Henricson +§f Philip Vieira + +§7Graphics Artists +§f Kristoffer Zetterstrand +§f Poi Poi Chen + +§7Head of Social Media +§f Amelia Dale + +§7Merchandise Art Director +§f Alexis Holmqvist + +§7Additional Graphics +§f Jonatan Pöljö +§f Mariana Graham Ramirez + +§7Creative Communications Manager +§f Martin Davies + +§7Creative Communications Assistant +§f Emily Richardson + +§7Business Intelligence +§f Brynjólfur Erlingsson + +§7Customer Support +§f Amelia Lindroth Henriksson +§f Ana Barata Martins +§f Andreas Andersson +§f Andreas Jörgensen +§f Angehlica Walling +§f Annika Tripke-Lund +§f Anton Albiin +§f Carl Johnsson +§f Dante Stjernberg +§f David Carlsson +§f Elin Frykholm +§f Eliza Hearsum +§f Erik Nordberg +§f Fredrik Henriksson +§f Henrik Davallius +§f Henry Shi +§f Joe Liu +§f Kevin Vesterlund +§f Mike Till +§f Nicole Jansson +§f Rabi Hadad +§f Robert Miskiewicz +§f Robin Cocks +§f Robin Thunström +§f Theodor Colbing + +§7Office Managers +§f Alex Andersson +§f Charlotte Wredesjö +§f Jill Curran +§f Linn Hultman +§f Mikaela Prim + +[C]§f============ +[C]§eSpecial Thanks +[C]§f============ +§f Daniel Brynolf +§f Pontus Hammarberg + + + + + +§f"Twenty years from now you will be more disappointed by the things that you didn't do than by the ones you did do. So throw off the bowlines. Sail away from the safe harbor. Catch the trade winds in your sails. Explore. Dream. Discover." §7- Unknown \ No newline at end of file diff --git a/desktopRuntime/resources/assets/minecraft/texts/end.txt b/desktopRuntime/resources/assets/minecraft/texts/end.txt new file mode 100644 index 0000000..7277524 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/texts/end.txt @@ -0,0 +1,151 @@ +§3I see the player you mean. + +§2PLAYERNAME? + +§3Yes. Take care. It has reached a higher level now. It can read our thoughts. + +§2That doesn't matter. It thinks we are part of the game. + +§3I like this player. It played well. It did not give up. + +§2It is reading our thoughts as though they were words on a screen. + +§3That is how it chooses to imagine many things, when it is deep in the dream of a game. + +§2Words make a wonderful interface. Very flexible. And less terrifying than staring at the reality behind the screen. + +§3They used to hear voices. Before players could read. Back in the days when those who did not play called the players witches, and warlocks. And players dreamed they flew through the air, on sticks powered by demons. + +§2What did this player dream? + +§3This player dreamed of sunlight and trees. Of fire and water. It dreamed it created. And it dreamed it destroyed. It dreamed it hunted, and was hunted. It dreamed of shelter. + +§2Hah, the original interface. A million years old, and it still works. But what true structure did this player create, in the reality behind the screen? + +§3It worked, with a million others, to sculpt a true world in a fold of the §f§k§a§b§3, and created a §f§k§a§b§3 for §f§k§a§b§3, in the §f§k§a§b§3. + +§2It cannot read that thought. + +§3No. It has not yet achieved the highest level. That, it must achieve in the long dream of life, not the short dream of a game. + +§2Does it know that we love it? That the universe is kind? + +§3Sometimes, through the noise of its thoughts, it hears the universe, yes. + +§2But there are times it is sad, in the long dream. It creates worlds that have no summer, and it shivers under a black sun, and it takes its sad creation for reality. + +§3To cure it of sorrow would destroy it. The sorrow is part of its own private task. We cannot interfere. + +§2Sometimes when they are deep in dreams, I want to tell them, they are building true worlds in reality. Sometimes I want to tell them of their importance to the universe. Sometimes, when they have not made a true connection in a while, I want to help them to speak the word they fear. + +§3It reads our thoughts. + +§2Sometimes I do not care. Sometimes I wish to tell them, this world you take for truth is merely §f§k§a§b§2 and §f§k§a§b§2, I wish to tell them that they are §f§k§a§b§2 in the §f§k§a§b§2. They see so little of reality, in their long dream. + +§3And yet they play the game. + +§2But it would be so easy to tell them... + +§3Too strong for this dream. To tell them how to live is to prevent them living. + +§2I will not tell the player how to live. + +§3The player is growing restless. + +§2I will tell the player a story. + +§3But not the truth. + +§2No. A story that contains the truth safely, in a cage of words. Not the naked truth that can burn over any distance. + +§3Give it a body, again. + +§2Yes. Player... + +§3Use its name. + +§2PLAYERNAME. Player of games. + +§3Good. + +§2Take a breath, now. Take another. Feel air in your lungs. Let your limbs return. Yes, move your fingers. Have a body again, under gravity, in air. Respawn in the long dream. There you are. Your body touching the universe again at every point, as though you were separate things. As though we were separate things. + +§3Who are we? Once we were called the spirit of the mountain. Father sun, mother moon. Ancestral spirits, animal spirits. Jinn. Ghosts. The green man. Then gods, demons. Angels. Poltergeists. Aliens, extraterrestrials. Leptons, quarks. The words change. We do not change. + +§2We are the universe. We are everything you think isn't you. You are looking at us now, through your skin and your eyes. And why does the universe touch your skin, and throw light on you? To see you, player. To know you. And to be known. I shall tell you a story. + +§2Once upon a time, there was a player. + +§3The player was you, PLAYERNAME. + +§2Sometimes it thought itself human, on the thin crust of a spinning globe of molten rock. The ball of molten rock circled a ball of blazing gas that was three hundred and thirty thousand times more massive than it. They were so far apart that light took eight minutes to cross the gap. The light was information from a star, and it could burn your skin from a hundred and fifty million kilometres away. + +§2Sometimes the player dreamed it was a miner, on the surface of a world that was flat, and infinite. The sun was a square of white. The days were short; there was much to do; and death was a temporary inconvenience. + +§3Sometimes the player dreamed it was lost in a story. + +§2Sometimes the player dreamed it was other things, in other places. Sometimes these dreams were disturbing. Sometimes very beautiful indeed. Sometimes the player woke from one dream into another, then woke from that into a third. + +§3Sometimes the player dreamed it watched words on a screen. + +§2Let's go back. + +§2The atoms of the player were scattered in the grass, in the rivers, in the air, in the ground. A woman gathered the atoms; she drank and ate and inhaled; and the woman assembled the player, in her body. + +§2And the player awoke, from the warm, dark world of its mother's body, into the long dream. + +§2And the player was a new story, never told before, written in letters of DNA. And the player was a new program, never run before, generated by a sourcecode a billion years old. And the player was a new human, never alive before, made from nothing but milk and love. + +§3You are the player. The story. The program. The human. Made from nothing but milk and love. + +§2Let's go further back. + +§2The seven billion billion billion atoms of the player's body were created, long before this game, in the heart of a star. So the player, too, is information from a star. And the player moves through a story, which is a forest of information planted by a man called Julian, on a flat, infinite world created by a man called Markus, that exists inside a small, private world created by the player, who inhabits a universe created by... + +§3Shush. Sometimes the player created a small, private world that was soft and warm and simple. Sometimes hard, and cold, and complicated. Sometimes it built a model of the universe in its head; flecks of energy, moving through vast empty spaces. Sometimes it called those flecks "electrons" and "protons". + +§2Sometimes it called them "planets" and "stars". + +§2Sometimes it believed it was in a universe that was made of energy that was made of offs and ons; zeros and ones; lines of code. Sometimes it believed it was playing a game. Sometimes it believed it was reading words on a screen. + +§3You are the player, reading words... + +§2Shush... Sometimes the player read lines of code on a screen. Decoded them into words; decoded words into meaning; decoded meaning into feelings, emotions, theories, ideas, and the player started to breathe faster and deeper and realised it was alive, it was alive, those thousand deaths had not been real, the player was alive + +§3You. You. You are alive. + +§2and sometimes the player believed the universe had spoken to it through the sunlight that came through the shuffling leaves of the summer trees + +§3and sometimes the player believed the universe had spoken to it through the light that fell from the crisp night sky of winter, where a fleck of light in the corner of the player's eye might be a star a million times as massive as the sun, boiling its planets to plasma in order to be visible for a moment to the player, walking home at the far side of the universe, suddenly smelling food, almost at the familiar door, about to dream again + +§2and sometimes the player believed the universe had spoken to it through the zeros and ones, through the electricity of the world, through the scrolling words on a screen at the end of a dream + +§3and the universe said I love you + +§2and the universe said you have played the game well + +§3and the universe said everything you need is within you + +§2and the universe said you are stronger than you know + +§3and the universe said you are the daylight + +§2and the universe said you are the night + +§3and the universe said the darkness you fight is within you + +§2and the universe said the light you seek is within you + +§3and the universe said you are not alone + +§2and the universe said you are not separate from every other thing + +§3and the universe said you are the universe tasting itself, talking to itself, reading its own code + +§2and the universe said I love you because you are love. + +§3And the game was over and the player woke up from the dream. And the player began a new dream. And the player dreamed again, dreamed better. And the player was the universe. And the player was love. + +§3You are the player. + +§2Wake up. diff --git a/desktopRuntime/resources/assets/minecraft/texts/splashes.txt b/desktopRuntime/resources/assets/minecraft/texts/splashes.txt new file mode 100644 index 0000000..a65eb62 --- /dev/null +++ b/desktopRuntime/resources/assets/minecraft/texts/splashes.txt @@ -0,0 +1,427 @@ +As seen on TV! +Awesome! +100% pure! +May contain nuts! +More polygons! +Moderately attractive! +Limited edition! +Flashing letters! +It's here! +Best in class! +It's finished! +Kind of dragon free! +Excitement! +More than 500 sold! +One of a kind! +Heaps of hits on YouTube! +Indev! +Spiders everywhere! +Check it out! +Holy cow, man! +It's a game! +Made in Sweden! +Uses LWJGL! +Reticulating splines! +Minecraft! +Yaaay! +Singleplayer! +Keyboard compatible! +Ingots! +Exploding creepers! +That's no moon! +l33t! +Create! +Survive! +Dungeon! +Exclusive! +The bee's knees! +Closed source! +Classy! +Wow! +Not on steam! +Oh man! +Awesome community! +Pixels! +Teetsuuuuoooo! +Kaaneeeedaaaa! +Now with difficulty! +Enhanced! +90% bug free! +Pretty! +12 herbs and spices! +Fat free! +Absolutely no memes! +Free dental! +Ask your doctor! +Minors welcome! +Cloud computing! +Legal in Finland! +Hard to label! +Technically good! +Bringing home the bacon! +Indie! +GOTY! +Ceci n'est pas une title screen! +Euclidian! +Now in 3D! +Inspirational! +Herregud! +Complex cellular automata! +Yes, sir! +Played by cowboys! +Now on OpenGL 3.2 core profile! +Thousands of colors! +Try it! +Age of Wonders is better! +Try the mushroom stew! +Sensational! +Hot tamale, hot hot tamale! +Play him off, keyboard cat! +Guaranteed! +Macroscopic! +Bring it on! +Random splash! +Call your mother! +Monster infighting! +Loved by millions! +Ultimate edition! +Freaky! +You've got a brand new key! +Water proof! +Uninflammable! +Whoa, dude! +All inclusive! +Tell your friends! +NP is not in P! +Music by C418! +Livestreamed! +Haunted! +Polynomial! +Terrestrial! +All is full of love! +Full of stars! +Scientific! +Not as cool as Spock! +Collaborate and listen! +Never dig down! +Take frequent breaks! +Not linear! +Han shot first! +Nice to meet you! +Buckets of lava! +Ride the pig! +Larger than Earth! +sqrt(-1) love you! +Phobos anomaly! +Punching wood! +Falling off cliffs! +1% sugar! +150% hyperbole! +Synecdoche! +Let's danec! +Seecret Friday update! +Reference implementation! +Kiss the sky! +20 GOTO 10! +Verlet intregration! +Peter Griffin! +Do not distribute! +Cogito ergo sum! +4815162342 lines of code! +A skeleton popped out! +The sum of its parts! +BTAF used to be good! +I miss ADOM! +umop-apisdn! +OICU812! +Bring me Ray Cokes! +Finger-licking! +Thematic! +Pneumatic! +Sublime! +Octagonal! +Une baguette! +Gargamel plays it! +Rita is the new top dog! +SWM forever! +Representing Edsbyn! +Matt Damon! +Supercalifragilisticexpialidocious! +Consummate V's! +Cow Tools! +Double buffered! +Fan fiction! +Flaxkikare! +Jason! Jason! Jason! +Hotter than the sun! +Internet enabled! +Autonomous! +Engage! +Fantasy! +DRR! DRR! DRR! +Kick it root down! +Regional resources! +Woo, facepunch! +Woo, somethingawful! +Woo, tigsource! +Woo, worldofminecraft! +Woo, reddit! +Woo, 2pp! +Google anlyticsed! +Now supports åäö! +Give us Gordon! +Tip your waiter! +Very fun! +12345 is a bad password! +Vote for net neutrality! +Lives in a pineapple under the sea! +MAP11 has two names! +Omnipotent! +Gasp! +...! +Bees, bees, bees, bees! +Jag känner en bot! +This text is hard to read if you play the game at the default resolution, but at 1080p it's fine! +Haha, LOL! +Hampsterdance! +Menger sponge! +idspispopd! +Eple (original edit)! +So fresh, so clean! +Slow acting portals! +Try the Nether! +Don't look directly at the bugs! +Oh, ok, Pigmen! +Finally with ladders! +Scary! +Play Minecraft, Watch Topgear, Get Pig! +Twittered about! +Jump up, jump up, and get down! +Joel is neat! +A riddle, wrapped in a mystery! +This parrot is no more! It has ceased to be! +Welcome to your Doom! +Stay a while, stay forever! +Stay a while and listen! +Treatment for your rash! +"Autological" is! +Information wants to be free! +"Almost never" is an interesting concept! +Lots of truthiness! +The creeper is a spy! +Turing complete! +It's groundbreaking! +Let our battle's begin! +The sky is the limit! +Jeb has amazing hair! +Ryan also has amazing hair! +Casual gaming! +Undefeated! +Kinda like Lemmings! +Follow the train, CJ! +Leveraging synergy! +This message will never appear on the splash screen, isn't that weird? +DungeonQuest is unfair! +90210! +Check out the far lands! +Tyrion would love it! +Also try VVVVVV! +Also try Super Meat Boy! +Also try Terraria! +Also try Mount And Blade! +Also try Project Zomboid! +Also try World of Goo! +Also try Limbo! +Also try Pixeljunk Shooter! +Also try Braid! +That's super! +Bread is pain! +Read more books! +Khaaaaaaaaan! +Less addictive than TV Tropes! +More addictive than lemonade! +Bigger than a bread box! +Millions of peaches! +Fnord! +This is my true form! +Don't bother with the clones! +Pumpkinhead! +Made by Jeb! +Has an ending! +Finally complete! +Feature packed! +Boots with the fur! +Stop, hammertime! +Testificates! +Conventional! +Homeomorphic to a 3-sphere! +Doesn't avoid double negatives! +Place ALL the blocks! +Does barrel rolls! +Meeting expectations! +PC gaming since 1873! +Ghoughpteighbteau tchoghs! +Déjà vu! +Déjà vu! +Got your nose! +Haley loves Elan! +Afraid of the big, black bat! +Doesn't use the U-word! +Child's play! +See you next Friday or so! +From the streets of Södermalm! +150 bpm for 400000 minutes! +Technologic! +Funk soul brother! +Pumpa kungen! +日本ãƒãƒ­ãƒ¼ï¼ +한국 안녕하세요! +Helo Cymru! +Cześć Polsko! +ä½ å¥½ä¸­å›½ï¼ +Привет РоÑÑиÑ! +Γεια σου Ελλάδα! +My life for Aiur! +Lennart lennart = new Lennart(); +I see your vocabulary has improved! +Who put it there? +You can't explain that! +if not ok then return end +§1C§2o§3l§4o§5r§6m§7a§8t§9i§ac +§kFUNKY LOL +Big Pointy Teeth! +Bekarton guards the gate! +Mmmph, mmph! +Don't feed avocados to parrots! +Swords for everyone! +Plz reply to my tweet! +.party()! +Take her pillow! +Put that cookie down! +Pretty scary! +I have a suggestion. +Now with extra hugs! +Java 16 + 1 = 17! +Woah. +HURNERJSGER? +What's up, Doc? +Now contains 32 random daily cats! +That's Numberwang! +pls rt +Do you want to join my server? +Put a little fence around it! +Throw a blanket over it! +One day, somewhere in the future, my work will be quoted! +Now with additional stuff! +Extra things! +Yay, puppies for everyone! +So sweet, like a nice bon bon! +Very influential in its circle! +Now With Multiplayer! +Rise from your grave! +Warning! A huge battleship "STEVE" is approaching fast! +Blue warrior shot the food! +Run, coward! I hunger! +Flavor with no seasoning! +Strange, but not a stranger! +Tougher than diamonds, rich like cream! +It swings, it jives! +Cruising streets for gold! +Take an eggbeater and beat it against a skillet! +Make me a table, a funky table! +Take the elevator to the mezzanine! +Stop being reasonable, this is the Internet! +/give @a hugs 64 +This is good for Realms. +Any computer is a laptop if you're brave enough! +Do it all, everything! +Where there is not light, there can spider! +GNU Terry Pratchett +More Digital! +doot doot +Falling with style! +There's no stopping the Trollmaso +Throw yourself at the ground and miss +Rule #1: it's never my fault +Replaced molten cheese with blood? +Absolutely fixed relatively broken coordinates +Boats FTW +Javalicious edition +Should not be played while driving +You're going too fast! +Don't feed chocolate to parrots! +The true meaning of covfefe +An illusion! What are you hiding? +Something's not quite right... +Thank you for the fish! +All rumors are true! +Truly gone fishing! +Rainbow turtle? +Something funny! +I need more context. +Ahhhhhh! +Don't worry, be happy! +Water bottle! +What's the question? +Plant a tree! +Go to the dentist! +What do you expect? +Look mum, I'm in a splash! +It came from space. +Awesome game design right there! +Ph1lza had a good run! +10 years of Mining and Crafting! +Ping the human! +In case it isn't obvious, foxes aren't players. +Buzzy Bees! +Minecraft Java Edition presents: Disgusting Bugs +Wash your hands! +Soap and water! +Support local businesses! +Stay home and play games! +Stay safe! +Stay strong! +Cough or sneeze into your elbow! +Don’t touch your face! +Support elderly relatives and friends! +Prepare, but don’t hoard! +Gamers unite – separately in your own homes! +Save the world – stay inside! +Shop for your elders! +Hang out with your friends online! +Honey, I grew the bees! +Find your claw! +Everybody do the Leif! +<3 Max & 99 & Ducky! +Bushy eyebrows! +Edit is a name! +From free range developers! +Music by Lena Raine! +Aww man! +#minecraftfarms +And my pickaxe! +Envision! Create! Share! +Fabulous graphics! +Also try Minecraft Dungeons! +Vanilla! +May contain traces of citrus! +Zoglin!? +Black lives matter! +Be anti-racist! +Learn about allyship! +Speak OUT against injustice and UP for equality! +Amplify and listen to BIPOC voices! +Educate your friends on anti-racism! +Support the BIPOC community and creators! +Stand up for equality in your community! +[this splash text is now available] +Contains simulated goats! +Home-made! +There's <> 16) | ((j & 0x000000FF) << 16); } return new ImageData(w, h, pixels, a); - } catch (IOException ex) { + }catch(IOException ex) { return null; } } - + public static final ImageData loadImageFile(byte[] data) { return loadImageFile(new EaglerInputStream(data)); } - + } diff --git a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformAudio.java b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformAudio.java index 2d4bb8e..ff18802 100644 --- a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformAudio.java +++ b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformAudio.java @@ -5,7 +5,7 @@ import java.net.URL; import net.lax1dude.eaglercraft.v1_8.internal.paulscode.lwjgl3.LibraryLWJGLOpenAL; import net.lax1dude.eaglercraft.v1_8.log4j.LogManager; import net.lax1dude.eaglercraft.v1_8.log4j.Logger; -import net.minecraft.util.MathHelper; +import net.minecraft.util.math.MathHelper; import paulscode.sound.SoundSystem; import paulscode.sound.SoundSystemConfig; import paulscode.sound.SoundSystemLogger; @@ -13,45 +13,37 @@ import paulscode.sound.codecs.CodecJOrbis; import paulscode.sound.codecs.CodecWav; /** - * Copyright (c) 2022-2023 lax1dude, hoosiertransfer, ayunami2000. All Rights - * Reserved. + * Copyright (c) 2022-2023 lax1dude, ayunami2000. All Rights Reserved. * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * */ public class PlatformAudio { - + protected static class PaulscodeAudioResource implements IAudioResource { - + protected final URL resourceLoc; - + protected PaulscodeAudioResource(URL resourceLoc) { this.resourceLoc = resourceLoc; } - + } - + protected static class PaulscodeAudioHandle implements IAudioHandle { - + protected final String sourceName; protected long stall; - + protected PaulscodeAudioHandle(String sourceName) { this.sourceName = sourceName; this.stall = System.currentTimeMillis(); @@ -59,12 +51,12 @@ public class PlatformAudio { @Override public void pause(boolean setPaused) { - if (setPaused) { - if (sndSystem.playing(sourceName)) { + if(setPaused) { + if(sndSystem.playing(sourceName)) { sndSystem.pause(sourceName); } - } else { - if (!sndSystem.playing(sourceName)) { + }else { + if(!sndSystem.playing(sourceName)) { sndSystem.play(sourceName); } } @@ -99,27 +91,26 @@ public class PlatformAudio { @Override public boolean shouldFree() { - return !sndSystem.playing(sourceName) && System.currentTimeMillis() - this.stall > 250l; // TODO: I hate - // this hack + return !sndSystem.playing(sourceName) && System.currentTimeMillis() - this.stall > 250l; //TODO: I hate this hack } - + } - + public static IAudioResource loadAudioData(String filename, boolean holdInCache) { URL ret = PlatformAssets.getDesktopResourceURL(filename); - if (ret != null) { + if(ret != null) { return new PaulscodeAudioResource(ret); - } else { + }else { return null; } } - + public static void clearAudioCache() { // browser only } public static void flushAudioCache() { - + } public static interface IAudioCacheLoader { @@ -129,10 +120,10 @@ public class PlatformAudio { public static IAudioResource loadAudioDataNew(String filename, boolean holdInCache, IAudioCacheLoader loader) { throw new UnsupportedOperationException("Browser only!"); } - + private static final Logger logger = LogManager.getLogger("EaglercraftPlatformAudio"); private static SoundSystem sndSystem = null; - + static void platformInitialize() { logger.info("Eaglercraft still uses Paul Lamb's SoundSystem but with LWJGL3"); logger.info(" \"Author: Paul Lamb, www.paulscode.com\""); @@ -146,13 +137,11 @@ public class PlatformAudio { logger.info(parString1); } } - public void importantMessage(String parString1, int parInt1) { if (!parString1.isEmpty()) { logger.warn(parString1); } } - public void errorMessage(String parString1, String parString2, int parInt1) { if (!parString2.isEmpty()) { logger.error("Error in class \"{}\"!", parString1); @@ -161,66 +150,66 @@ public class PlatformAudio { } }); sndSystem = new SoundSystem(); - } catch (Throwable t) { + }catch(Throwable t) { logger.error("Could not initialize Paulscode SoundSystem! Is this system's OpenAL installed correctly?"); logger.error(t); sndSystem = null; } } - + static void platformShutdown() { - if (sndSystem != null) { + if(sndSystem != null) { sndSystem.cleanup(); sndSystem = null; } } - + public static boolean available() { return sndSystem != null; } - + private static int sourceCounter = 0; - + public static IAudioHandle beginPlayback(IAudioResource track, float x, float y, float z, float volume, float pitch) { - if (sndSystem == null) { + if(sndSystem == null) { return null; } - + float f1 = 16.0F; if (volume > 1.0F) { f1 *= volume; } - + String srcName = "src" + ++sourceCounter; - sndSystem.newSource(false, srcName, ((PaulscodeAudioResource) track).resourceLoc, - ((PaulscodeAudioResource) track).resourceLoc.getPath(), false, x, y, z, 2, f1); + sndSystem.newSource(false, srcName, ((PaulscodeAudioResource)track).resourceLoc, + ((PaulscodeAudioResource)track).resourceLoc.getPath(), false, x, y, z, 2, f1); sndSystem.setTemporary(srcName, true); sndSystem.setPitch(srcName, pitch); sndSystem.setVolume(srcName, volume); sndSystem.play(srcName); - + return new PaulscodeAudioHandle(srcName); } - + public static IAudioHandle beginPlaybackStatic(IAudioResource track, float volume, float pitch) { - if (sndSystem == null) { + if(sndSystem == null) { return null; } - + String srcName = "src" + ++sourceCounter; - sndSystem.newSource(false, srcName, ((PaulscodeAudioResource) track).resourceLoc, - ((PaulscodeAudioResource) track).resourceLoc.getPath(), false, 0.0f, 0.0f, 0.0f, 0, 0.0f); + sndSystem.newSource(false, srcName, ((PaulscodeAudioResource)track).resourceLoc, + ((PaulscodeAudioResource)track).resourceLoc.getPath(), false, 0.0f, 0.0f, 0.0f, 0, 0.0f); sndSystem.setTemporary(srcName, true); sndSystem.setPitch(srcName, pitch); sndSystem.setVolume(srcName, volume); sndSystem.play(srcName); - + return new PaulscodeAudioHandle(srcName); } - + public static void setListener(float x, float y, float z, float pitchDegrees, float yawDegrees) { - if (sndSystem == null) { + if(sndSystem == null) { return; } float f2 = MathHelper.cos((yawDegrees + 90.0F) * 0.017453292F); diff --git a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformBufferFunctions.java b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformBufferFunctions.java index 2db9c9e..6cab7cc 100644 --- a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformBufferFunctions.java +++ b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformBufferFunctions.java @@ -4,24 +4,16 @@ import net.lax1dude.eaglercraft.v1_8.internal.buffer.ByteBuffer; import net.lax1dude.eaglercraft.v1_8.internal.buffer.IntBuffer; /** - * Copyright (c) 2022-2023 lax1dude, hoosiertransfer, ayunami2000. All Rights - * Reserved. + * Copyright (c) 2022-2023 lax1dude, ayunami2000. All Rights Reserved. * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * @@ -38,5 +30,5 @@ public class PlatformBufferFunctions { intBuffer.put(data); intBuffer.position(p); } - + } diff --git a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformInput.java b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformInput.java index 462f52c..d864871 100644 --- a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformInput.java +++ b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformInput.java @@ -10,39 +10,31 @@ import org.lwjgl.glfw.GLFWVidMode; import org.lwjgl.system.MemoryStack; /** - * Copyright (c) 2022-2023 lax1dude, hoosiertransfer, ayunami2000. All Rights - * Reserved. + * Copyright (c) 2022-2023 lax1dude, ayunami2000. All Rights Reserved. * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * */ public class PlatformInput { - + private static long win = 0l; private static long cursorDefault = 0l; private static long cursorHand = 0l; private static long cursorText = 0l; - + private static boolean windowFocused = true; private static boolean windowResized = true; - + private static boolean windowCursorEntered = true; private static boolean windowMouseGrabbed = false; private static int cursorX = 0; @@ -50,15 +42,15 @@ public class PlatformInput { private static int cursorDX = 0; private static int cursorDY = 0; private static int DWheel = 0; - + private static int windowWidth = 640; private static int windowHeight = 480; - + private static final List keyboardEventList = new LinkedList(); private static KeyboardEvent currentKeyboardEvent = null; - + private static final char[] keyboardReleaseEventChars = new char[256]; - + private static boolean enableRepeatEvents = false; private static int functionKeyModifier = GLFW_KEY_F; @@ -70,31 +62,31 @@ public class PlatformInput { private static boolean glfwVSyncState = false; private static class KeyboardEvent { - + protected final int key; protected final boolean pressed; protected final boolean repeating; protected char resolvedCharacter = '\0'; - + protected KeyboardEvent(int key, boolean pressed, boolean repeating) { this.key = key; this.pressed = pressed; this.repeating = repeating; } - + } - + private static final List mouseEventList = new LinkedList(); private static MouseEvent currentMouseEvent = null; - + private static class MouseEvent { - + protected final int button; protected final boolean pressed; protected final int posX; protected final int posY; protected final float wheel; - + protected MouseEvent(int button, boolean pressed, int posX, int posY, float wheel) { this.button = button; this.pressed = pressed; @@ -102,16 +94,16 @@ public class PlatformInput { this.posY = posY; this.wheel = wheel; } - + } static void initHooks(long glfwWindow) { win = glfwWindow; - + glfwSetErrorCallback((arg0, arg1) -> { String errorString = ""; - if (arg1 != 0l) { - try (MemoryStack stack = MemoryStack.stackPush()) { + if(arg1 != 0l) { + try(MemoryStack stack = MemoryStack.stackPush()) { PointerBuffer pbuffer = stack.mallocPointer(1); pbuffer.put(0, arg1); errorString = pbuffer.getStringUTF8(0); @@ -119,82 +111,82 @@ public class PlatformInput { } PlatformRuntime.logger.error("GLFW Error #{}: {}", arg0, errorString); }); - - if (!glfwRawMouseMotionSupported()) { + + if(!glfwRawMouseMotionSupported()) { throw new UnsupportedOperationException("Raw mouse movement (cursor lock) is not supported!"); } - + int[] v1 = new int[1], v2 = new int[1]; glfwGetFramebufferSize(glfwWindow, v1, v2); - + windowWidth = v1[0]; windowHeight = v2[0]; - + glfwSetFramebufferSizeCallback(glfwWindow, (window, width, height) -> { windowWidth = width; windowHeight = height; windowResized = true; }); - + glfwSetWindowFocusCallback(glfwWindow, (window, focused) -> { windowFocused = focused; }); - + glfwSetKeyCallback(glfwWindow, (window, key, scancode, action, mods) -> { if (key == GLFW_KEY_F11 && action == GLFW_PRESS) { toggleFullscreen(); } - if (glfwGetKey(glfwWindow, functionKeyModifier) == GLFW_PRESS) { - if (key >= GLFW_KEY_1 && key <= GLFW_KEY_9) { + if(glfwGetKey(glfwWindow, functionKeyModifier) == GLFW_PRESS) { + if(key >= GLFW_KEY_1 && key <= GLFW_KEY_9) { key = key - GLFW_KEY_1 + GLFW_KEY_F1; } } key = KeyboardConstants.getEaglerKeyFromGLFW(key); keyboardEventList.add(new KeyboardEvent(key, action != GLFW_RELEASE, action == GLFW_REPEAT)); - if (keyboardEventList.size() > 64) { + if(keyboardEventList.size() > 64) { keyboardEventList.remove(0); } }); - + glfwSetCharCallback(glfwWindow, (window, character) -> { - keyboardCharList.add(Character.valueOf((char) character)); - if (keyboardCharList.size() > 64) { + keyboardCharList.add(Character.valueOf((char)character)); + if(keyboardCharList.size() > 64) { keyboardCharList.remove(0); } }); - + glfwSetCursorPosCallback(glfwWindow, (window, posX, posY) -> { posY = windowHeight - posY; - if (windowMouseGrabbed) { - cursorDX -= (cursorX - (int) posX); - cursorDY -= (cursorY - (int) posY); - cursorX = (int) posX; - cursorY = (int) posY; - } else { - cursorX = (int) posX; - cursorY = (int) posY; + if(windowMouseGrabbed) { + cursorDX -= (cursorX - (int)posX); + cursorDY -= (cursorY - (int)posY); + cursorX = (int)posX; + cursorY = (int)posY; + }else { + cursorX = (int)posX; + cursorY = (int)posY; mouseEventList.add(new MouseEvent(-1, false, cursorX, cursorY, 0.0f)); - if (mouseEventList.size() > 64) { + if(mouseEventList.size() > 64) { mouseEventList.remove(0); } } }); - + glfwSetMouseButtonCallback(glfwWindow, (window, button, action, mods) -> { mouseEventList.add(new MouseEvent(button, action != GLFW_RELEASE, cursorX, cursorY, 0.0f)); - if (mouseEventList.size() > 64) { + if(mouseEventList.size() > 64) { mouseEventList.remove(0); } }); - + glfwSetCursorEnterCallback(glfwWindow, (window, enter) -> { windowCursorEntered = enter; }); - + glfwSetScrollCallback(glfwWindow, (window, scrollX, scrollY) -> { - DWheel += (int) scrollY; - mouseEventList.add(new MouseEvent(-1, false, cursorX, cursorY, (float) scrollY)); - if (mouseEventList.size() > 64) { + DWheel += (int)scrollY; + mouseEventList.add(new MouseEvent(-1, false, cursorX, cursorY, (float)scrollY)); + if(mouseEventList.size() > 64) { mouseEventList.remove(0); } }); @@ -204,15 +196,15 @@ public class PlatformInput { cursorText = glfwCreateStandardCursor(GLFW_IBEAM_CURSOR); glfwSetCursor(glfwWindow, cursorDefault); - if (!fullscreen && startupFullscreen) { + if(!fullscreen && startupFullscreen) { toggleFullscreen(); } } - + public static int getWindowWidth() { return windowWidth; } - + public static int getWindowHeight() { return windowHeight; } @@ -231,7 +223,7 @@ public class PlatformInput { public static void update() { glfwPollEvents(); - if (vsync != glfwVSyncState) { + if(vsync != glfwVSyncState) { glfwSwapInterval(vsync ? 1 : 0); glfwVSyncState = vsync; } @@ -249,32 +241,34 @@ public class PlatformInput { } public static boolean keyboardNext() { - if (keyboardEventList.size() > 0) { + if(keyboardEventList.size() > 0) { currentKeyboardEvent = keyboardEventList.remove(0); - if (currentKeyboardEvent.resolvedCharacter == '\0' && KeyboardConstants + if(currentKeyboardEvent.resolvedCharacter == '\0' && KeyboardConstants .getKeyCharFromEagler(currentKeyboardEvent.key) != '\0') { - if (currentKeyboardEvent.pressed && keyboardCharList.size() > 0) { + if(currentKeyboardEvent.pressed && keyboardCharList.size() > 0) { currentKeyboardEvent.resolvedCharacter = keyboardCharList.remove(0); - keyboardReleaseEventChars[currentKeyboardEvent.key] = currentKeyboardEvent.resolvedCharacter; - } else if (!currentKeyboardEvent.pressed) { - currentKeyboardEvent.resolvedCharacter = keyboardReleaseEventChars[currentKeyboardEvent.key]; + keyboardReleaseEventChars[currentKeyboardEvent.key] = + currentKeyboardEvent.resolvedCharacter; + }else if(!currentKeyboardEvent.pressed) { + currentKeyboardEvent.resolvedCharacter = + keyboardReleaseEventChars[currentKeyboardEvent.key]; keyboardReleaseEventChars[currentKeyboardEvent.key] = '\0'; } } - if (currentKeyboardEvent.repeating && !enableRepeatEvents) { + if(currentKeyboardEvent.repeating && !enableRepeatEvents) { return keyboardNext(); - } else { + }else { return true; } - } else { - if (keyboardCharList.size() > 0) { + }else { + if(keyboardCharList.size() > 0) { currentKeyboardEvent = new KeyboardEvent(KeyboardConstants.KEY_SPACE, true, false); currentKeyboardEvent.resolvedCharacter = keyboardCharList.remove(0); KeyboardEvent releaseEvent = new KeyboardEvent(KeyboardConstants.KEY_SPACE, false, false); releaseEvent.resolvedCharacter = currentKeyboardEvent.resolvedCharacter; keyboardEventList.add(releaseEvent); return true; - } else { + }else { return false; } } @@ -293,11 +287,11 @@ public class PlatformInput { } public static boolean keyboardIsKeyDown(int key) { - if (glfwGetKey(win, functionKeyModifier) == GLFW_PRESS) { - if (key >= GLFW_KEY_1 && key <= GLFW_KEY_9) { + if(glfwGetKey(win, functionKeyModifier) == GLFW_PRESS) { + if(key >= GLFW_KEY_1 && key <= GLFW_KEY_9) { return false; } - if (key >= GLFW_KEY_F1 && key <= GLFW_KEY_F9) { + if(key >= GLFW_KEY_F1 && key <= GLFW_KEY_F9) { key = key - GLFW_KEY_F1 + GLFW_KEY_1; } } @@ -313,10 +307,10 @@ public class PlatformInput { } public static boolean mouseNext() { - if (mouseEventList.size() > 0) { + if(mouseEventList.size() > 0) { currentMouseEvent = mouseEventList.remove(0); return true; - } else { + }else { return false; } } @@ -338,7 +332,7 @@ public class PlatformInput { } public static int mouseGetEventDWheel() { - return (int) currentMouseEvent.wheel; + return (int)currentMouseEvent.wheel; } public static int mouseGetX() { @@ -360,7 +354,7 @@ public class PlatformInput { } public static void mouseSetGrabbed(boolean grab) { - if (grab != windowMouseGrabbed) { + if(grab != windowMouseGrabbed) { cursorX = windowWidth / 2; cursorY = windowHeight / 2; glfwSetCursorPos(win, cursorX, cursorY); @@ -401,7 +395,7 @@ public class PlatformInput { public static boolean mouseIsInsideWindow() { return windowCursorEntered; } - + public static boolean contextLost() { return glfwGetWindowAttrib(win, GLFW_ICONIFIED) == GLFW_TRUE; } @@ -458,8 +452,9 @@ public class PlatformInput { mw[0] = mode.width(); mh[0] = mode.height(); - overlap = Math.max(0, Math.min(wx[0] + ww[0], mx[0] + mw[0]) - Math.max(wx[0], mx[0])) * - Math.max(0, Math.min(wy[0] + wh[0], my[0] + mh[0]) - Math.max(wy[0], my[0])); + overlap = + Math.max(0, Math.min(wx[0] + ww[0], mx[0] + mw[0]) - Math.max(wx[0], mx[0])) * + Math.max(0, Math.min(wy[0] + wh[0], my[0] + mh[0]) - Math.max(wy[0], my[0])); if (bestoverlap < overlap) { bestoverlap = overlap; @@ -475,17 +470,17 @@ public class PlatformInput { } public static void showCursor(EnumCursorType cursor) { - switch (cursor) { - case DEFAULT: - default: - glfwSetCursor(win, cursorDefault); - break; - case HAND: - glfwSetCursor(win, cursorHand); - break; - case TEXT: - glfwSetCursor(win, cursorText); - break; + switch(cursor) { + case DEFAULT: + default: + glfwSetCursor(win, cursorDefault); + break; + case HAND: + glfwSetCursor(win, cursorHand); + break; + case TEXT: + glfwSetCursor(win, cursorText); + break; } } } diff --git a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformNetworking.java b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformNetworking.java index 6bd9e9b..2989e56 100644 --- a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformNetworking.java +++ b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformNetworking.java @@ -12,81 +12,67 @@ import net.lax1dude.eaglercraft.v1_8.log4j.LogManager; import net.lax1dude.eaglercraft.v1_8.log4j.Logger; /** - * Copyright (c) 2022-2023 lax1dude, hoosiertransfer, ayunami2000. All Rights - * Reserved. + * Copyright (c) 2022-2023 lax1dude, ayunami2000. All Rights Reserved. * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * */ public class PlatformNetworking { - + static final Logger networkLogger = LogManager.getLogger("PlatformNetworking"); - + private static WebSocketPlayClient wsPlayClient = null; static EnumEaglerConnectionState playConnectState = EnumEaglerConnectionState.CLOSED; static EnumServerRateLimit serverRateLimit = null; - + static String currentURI = null; - + public static EnumEaglerConnectionState playConnectionState() { - return ((wsPlayClient == null || wsPlayClient.isClosed()) - && playConnectState == EnumEaglerConnectionState.CONNECTING) - ? EnumEaglerConnectionState.FAILED - : ((wsPlayClient != null && wsPlayClient.getReadyState() == ReadyState.NOT_YET_CONNECTED) - ? EnumEaglerConnectionState.CONNECTING - : (((wsPlayClient == null || wsPlayClient.isClosed()) - && playConnectState != EnumEaglerConnectionState.FAILED) - ? EnumEaglerConnectionState.CLOSED - : playConnectState)); + return ((wsPlayClient == null || wsPlayClient.isClosed()) && playConnectState == EnumEaglerConnectionState.CONNECTING) ? EnumEaglerConnectionState.FAILED : + ((wsPlayClient != null && wsPlayClient.getReadyState() == ReadyState.NOT_YET_CONNECTED) ? EnumEaglerConnectionState.CONNECTING : + (((wsPlayClient == null || wsPlayClient.isClosed()) && playConnectState != EnumEaglerConnectionState.FAILED) ? EnumEaglerConnectionState.CLOSED : playConnectState)); } - + public static void startPlayConnection(String destination) { - if (!playConnectionState().isClosed()) { + if(!playConnectionState().isClosed()) { networkLogger.warn("Tried connecting to a server while already connected to a different server!"); playDisconnect(); } - + currentURI = destination; - - synchronized (playPackets) { + + synchronized(playPackets) { playPackets.clear(); } - + playConnectState = EnumEaglerConnectionState.CONNECTING; networkLogger.info("Connecting to server: {}", destination); - + URI u; - + try { u = new URI(destination); - } catch (URISyntaxException ex) { + }catch(URISyntaxException ex) { networkLogger.error("Invalid server URI: {}", destination); playConnectState = EnumEaglerConnectionState.FAILED; return; } - + wsPlayClient = new WebSocketPlayClient(u); wsPlayClient.connect(); } - + public static void playDisconnect() { - if (!playConnectionState().isClosed() && wsPlayClient != null) { + if(!playConnectionState().isClosed() && wsPlayClient != null) { try { wsPlayClient.closeBlocking(); } catch (InterruptedException e) { @@ -95,71 +81,71 @@ public class PlatformNetworking { playConnectState = EnumEaglerConnectionState.CLOSED; } } - + private static final List playPackets = new LinkedList(); - + public static byte[] readPlayPacket() { - synchronized (playPackets) { + synchronized(playPackets) { return playPackets.size() > 0 ? playPackets.remove(0) : null; } } - + public static List readAllPacket() { - synchronized (playPackets) { - if (!playPackets.isEmpty()) { + synchronized(playPackets) { + if(!playPackets.isEmpty()) { List ret = new ArrayList<>(playPackets); playPackets.clear(); return ret; - } else { + }else { return null; } } } - + public static int countAvailableReadData() { int total = 0; - synchronized (playPackets) { - for (int i = 0, l = playPackets.size(); i < l; ++i) { + synchronized(playPackets) { + for(int i = 0, l = playPackets.size(); i < l; ++i) { total += playPackets.get(i).length; } } return total; } - + static void recievedPlayPacket(byte[] arg0) { - synchronized (playPackets) { + synchronized(playPackets) { playPackets.add(arg0); } } - + public static void writePlayPacket(byte[] pkt) { - if (wsPlayClient == null || wsPlayClient.isClosed()) { + if(wsPlayClient == null || wsPlayClient.isClosed()) { networkLogger.error("Tried to send {} byte play packet while the socket was closed!", pkt.length); - } else { + }else { wsPlayClient.send(pkt); } } - + public static IServerQuery sendServerQuery(String uri, String accept) { URI u; - + try { u = new URI(uri); - } catch (URISyntaxException ex) { + }catch(URISyntaxException ex) { networkLogger.error("Invalid server URI: {}", uri); playConnectState = EnumEaglerConnectionState.FAILED; return null; } - + return new WebSocketServerQuery(accept, u); } - + public static EnumServerRateLimit getRateLimit() { return serverRateLimit == null ? EnumServerRateLimit.OK : serverRateLimit; } - + public static String getCurrentURI() { return currentURI; } - + } diff --git a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformOpenGL.java b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformOpenGL.java index f2a61dc..7fffdcf 100644 --- a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformOpenGL.java +++ b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformOpenGL.java @@ -10,24 +10,16 @@ import static org.lwjgl.opengles.GLES30.*; import org.lwjgl.opengles.GLESCapabilities; /** - * Copyright (c) 2022-2023 lax1dude, hoosiertransfer, ayunami2000. All Rights - * Reserved. + * Copyright (c) 2022-2023 lax1dude, ayunami2000. All Rights Reserved. * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * @@ -309,8 +301,7 @@ public class PlatformOpenGL { data == null ? 0l : EaglerLWJGLAllocator.getAddress(data)); } - public static final void _wglTexSubImage2Du16(int target, int level, int xoffset, int yoffset, int width, - int height, + public static final void _wglTexSubImage2Du16(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, ByteBuffer data) { nglTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, data == null ? 0l : EaglerLWJGLAllocator.getAddress(data)); @@ -491,9 +482,9 @@ public class PlatformOpenGL { } public static final void _wglBindFramebuffer(int target, IFramebufferGL framebuffer) { - if (framebuffer == null) { + if(framebuffer == null) { glBindFramebuffer(target, 0); - } else { + }else { glBindFramebuffer(target, ((OpenGLObjects.FramebufferGL) framebuffer).ptr); } } @@ -507,8 +498,7 @@ public class PlatformOpenGL { glFramebufferTexture2D(target, attachment, texTarget, ((OpenGLObjects.TextureGL) texture).ptr, level); } - public static final void _wglFramebufferTextureLayer(int target, int attachment, ITextureGL texture, int level, - int layer) { + public static final void _wglFramebufferTextureLayer(int target, int attachment, ITextureGL texture, int level, int layer) { glFramebufferTextureLayer(target, attachment, ((OpenGLObjects.TextureGL) texture).ptr, level, layer); } diff --git a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformRuntime.java b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformRuntime.java index 59b00bb..5d108c5 100644 --- a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformRuntime.java +++ b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/PlatformRuntime.java @@ -47,52 +47,44 @@ import net.lax1dude.eaglercraft.v1_8.log4j.Logger; import net.lax1dude.eaglercraft.v1_8.minecraft.EaglerFolderResourcePack; /** - * Copyright (c) 2022-2023 lax1dude, hoosiertransfer, ayunami2000. All Rights - * Reserved. + * Copyright (c) 2022-2023 lax1dude, ayunami2000. All Rights Reserved. * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * */ public class PlatformRuntime { - + static final Logger logger = LogManager.getLogger("RuntimeLWJGL3"); - + private static String glVersion = "unknown"; private static String glRenderer = "unknown"; private static EnumPlatformANGLE rendererANGLEPlatform = null; - + private static long windowHandle = 0l; public static void create() { logger.info("Starting Desktop Runtime..."); PlatformFilesystem.initialize(); EaglerFolderResourcePack.setSupported(true); - - if (requestedANGLEPlatform != EnumPlatformANGLE.DEFAULT) { + + if(requestedANGLEPlatform != EnumPlatformANGLE.DEFAULT) { logger.info("Setting ANGLE Platform: {}", requestedANGLEPlatform.name); glfwInitHint(GLFW_ANGLE_PLATFORM_TYPE, requestedANGLEPlatform.eglEnum); } - + glfwInit(); logger.info("GLFW Version: {}", glfwGetVersionString()); - + glfwDefaultWindowHints(); glfwWindowHint(GLFW_VISIBLE, GLFW_TRUE); glfwWindowHint(GLFW_RESIZABLE, GLFW_TRUE); @@ -104,6 +96,7 @@ public class PlatformRuntime { glfwWindowHint(GLFW_CENTER_CURSOR, GLFW_TRUE); glfwWindowHint(GLFW_OPENGL_DEBUG_CONTEXT, GLFW_TRUE); + PointerBuffer buf = glfwGetMonitors(); GLFWVidMode mon = glfwGetVideoMode(buf.get(0)); @@ -113,159 +106,127 @@ public class PlatformRuntime { int winX = (mon.width() - windowWidth) / 2; int winY = (mon.height() - windowHeight - 20) / 2; - + windowHandle = glfwCreateWindow(windowWidth, windowHeight, "Eaglercraft Desktop Runtime", 0l, 0l); - + glfwSetWindowPos(windowHandle, winX, winY); - + int[] x2 = new int[1]; int[] y2 = new int[1]; int[] w2 = new int[1]; int[] h2 = new int[1]; glfwGetWindowFrameSize(windowHandle, x2, y2, w2, h2); glfwSetWindowSize(windowHandle, windowWidth - x2[0] - w2[0], windowHeight - y2[0] - h2[0]); - + ImageIO.setUseCache(false); BufferedImage[] windowIcons = null; - + try { windowIcons = new BufferedImage[] { ImageIO.read(new File("icon16.png")), ImageIO.read(new File("icon32.png")) }; - } catch (IOException t) { + }catch(IOException t) { logger.error("Could not load default window icons!"); logger.error(t); } - - if (windowIcons != null) { - try (MemoryStack st = MemoryStack.stackPush()) { + + if(windowIcons != null) { + try(MemoryStack st = MemoryStack.stackPush()) { GLFWImage.Buffer windowIconsBuffer = GLFWImage.malloc(windowIcons.length, st); - - for (int i = 0; i < windowIcons.length; ++i) { + + for(int i = 0; i < windowIcons.length; ++i) { int w = windowIcons[i].getWidth(); int h = windowIcons[i].getHeight(); - + int[] px = new int[w * h]; windowIcons[i].getRGB(0, 0, w, h, px, 0, w); - - for (int j = 0; j < px.length; ++j) { + + for(int j = 0; j < px.length; ++j) { px[j] = (px[j] & 0xFF00FF00) | ((px[j] >> 16) & 0xFF) | ((px[j] & 0xFF) << 16); // swap R/B } - + java.nio.ByteBuffer iconBuffer = st.malloc(w * h * 4); iconBuffer.asIntBuffer().put(px); iconBuffer.flip(); - + windowIconsBuffer.position(i); windowIconsBuffer.width(w); windowIconsBuffer.height(h); windowIconsBuffer.pixels(iconBuffer); } - + glfwSetWindowIcon(windowHandle, windowIconsBuffer); } } - + long glfw_eglHandle = glfwGetEGLDisplay(); logger.info("EGL Version: {}", eglQueryString(glfw_eglHandle, EGL_VERSION)); - + int[] major = new int[] { 1 }; int[] minor = new int[] { 4 }; - if (!eglInitialize(glfw_eglHandle, major, minor)) { + if(!eglInitialize(glfw_eglHandle, major, minor)) { throw new RuntimeException("Could not initialize EGL"); } - + EGL.createDisplayCapabilities(glfw_eglHandle, major[0], minor[0]); glfwMakeContextCurrent(windowHandle); PlatformOpenGL.setCurrentContext(GLES.createCapabilities()); - + logger.info("OpenGL Version: {}", (glVersion = GLES30.glGetString(GLES30.GL_VERSION))); logger.info("OpenGL Renderer: {}", (glRenderer = GLES30.glGetString(GLES30.GL_RENDERER))); - + rendererANGLEPlatform = EnumPlatformANGLE.fromGLRendererString(glRenderer); - - if (requestedANGLEPlatform != EnumPlatformANGLE.DEFAULT + + if(requestedANGLEPlatform != EnumPlatformANGLE.DEFAULT && rendererANGLEPlatform != requestedANGLEPlatform) { logger.warn("Incorrect ANGLE Platform: {}", rendererANGLEPlatform.name); } - - if (requestedANGLEPlatform == EnumPlatformANGLE.DEFAULT) { + + if(requestedANGLEPlatform == EnumPlatformANGLE.DEFAULT) { logger.info("ANGLE Platform: {}", rendererANGLEPlatform.name); } - + glfwSwapInterval(0); - + KHRDebug.glDebugMessageCallbackKHR(new GLDebugMessageKHRCallbackI() { @Override public void invoke(int source, int type, int id, int severity, int length, long message, long userParam) { StringBuilder b = new StringBuilder(); - b.append("[KHR DEBUG #"); - b.append(id); - b.append("] "); + b.append("[KHR DEBUG #"); b.append(id); b.append("] "); - switch (source) { - case KHRDebug.GL_DEBUG_SOURCE_API_KHR: - b.append("[API - "); - break; - case KHRDebug.GL_DEBUG_SOURCE_APPLICATION_KHR: - b.append("[APPLICATION - "); - break; - case KHRDebug.GL_DEBUG_SOURCE_SHADER_COMPILER_KHR: - b.append("[SHADER COMPILER - "); - break; - case KHRDebug.GL_DEBUG_SOURCE_THIRD_PARTY_KHR: - b.append("[THIRD PARTY - "); - break; - case KHRDebug.GL_DEBUG_SOURCE_OTHER_KHR: - default: - b.append("[OTHER - "); - break; + switch(source) { + case KHRDebug.GL_DEBUG_SOURCE_API_KHR: b.append("[API - "); break; + case KHRDebug.GL_DEBUG_SOURCE_APPLICATION_KHR: b.append("[APPLICATION - "); break; + case KHRDebug.GL_DEBUG_SOURCE_SHADER_COMPILER_KHR: b.append("[SHADER COMPILER - "); break; + case KHRDebug.GL_DEBUG_SOURCE_THIRD_PARTY_KHR: b.append("[THIRD PARTY - "); break; + case KHRDebug.GL_DEBUG_SOURCE_OTHER_KHR: default: b.append("[OTHER - "); break; } - switch (type) { - case KHRDebug.GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR: - b.append("DEPRECATED BEHAVIOR] "); - break; - case KHRDebug.GL_DEBUG_TYPE_ERROR_KHR: - b.append("ERROR] "); - break; - default: - case KHRDebug.GL_DEBUG_TYPE_OTHER_KHR: - b.append("OTHER] "); - break; - case KHRDebug.GL_DEBUG_TYPE_PERFORMANCE_KHR: - b.append("PERFORMANCE] "); - break; - case KHRDebug.GL_DEBUG_TYPE_PORTABILITY_KHR: - b.append("PORTABILITY] "); - break; - case KHRDebug.GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR: - b.append("UNDEFINED BEHAVIOR] "); - break; + switch(type) { + case KHRDebug.GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR: b.append("DEPRECATED BEHAVIOR] "); break; + case KHRDebug.GL_DEBUG_TYPE_ERROR_KHR: b.append("ERROR] "); break; + default: + case KHRDebug.GL_DEBUG_TYPE_OTHER_KHR: b.append("OTHER] "); break; + case KHRDebug.GL_DEBUG_TYPE_PERFORMANCE_KHR: b.append("PERFORMANCE] "); break; + case KHRDebug.GL_DEBUG_TYPE_PORTABILITY_KHR: b.append("PORTABILITY] "); break; + case KHRDebug.GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR: b.append("UNDEFINED BEHAVIOR] "); break; } - switch (severity) { - default: - case KHRDebug.GL_DEBUG_SEVERITY_LOW_KHR: - b.append("[LOW Severity] "); - break; - case KHRDebug.GL_DEBUG_SEVERITY_MEDIUM_KHR: - b.append("[MEDIUM Severity] "); - break; - case KHRDebug.GL_DEBUG_SEVERITY_HIGH_KHR: - b.append("[SEVERE] "); - break; + switch(severity) { + default: + case KHRDebug.GL_DEBUG_SEVERITY_LOW_KHR: b.append("[LOW Severity] "); break; + case KHRDebug.GL_DEBUG_SEVERITY_MEDIUM_KHR: b.append("[MEDIUM Severity] "); break; + case KHRDebug.GL_DEBUG_SEVERITY_HIGH_KHR: b.append("[SEVERE] "); break; } - + String message2 = GLDebugMessageKHRCallback.getMessage(length, message); - if (message2.contains("GPU stall due to ReadPixels")) - return; + if(message2.contains("GPU stall due to ReadPixels")) return; b.append(message2); logger.error(b.toString()); StackTraceElement[] ex = new RuntimeException().getStackTrace(); - for (int i = 0; i < ex.length; ++i) { + for(int i = 0; i < ex.length; ++i) { logger.error(" at {}", ex[i]); } } @@ -273,7 +234,7 @@ public class PlatformRuntime { GLES30.glEnable(KHRDebug.GL_DEBUG_OUTPUT_KHR); GLES30.glEnable(KHRDebug.GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR); - + logger.info("Initializing Audio..."); PlatformAudio.platformInitialize(); @@ -281,7 +242,7 @@ public class PlatformRuntime { PlatformInput.initHooks(windowHandle); PlatformApplication.initHooks(windowHandle); } - + public static void destroy() { PlatformAudio.platformShutdown(); PlatformFilesystem.platformShutdown(); @@ -298,22 +259,22 @@ public class PlatformRuntime { public static EnumPlatformAgent getPlatformAgent() { return EnumPlatformAgent.DESKTOP; } - + public static String getUserAgentString() { return "Desktop/" + System.getProperty("os.name"); } private static EnumPlatformOS currentPlatformOS = null; - + public static EnumPlatformOS getPlatformOS() { - if (currentPlatformOS == null) { + if(currentPlatformOS == null) { currentPlatformOS = EnumPlatformOS.getFromJVM(System.getProperty("os.name")); } return currentPlatformOS; } - + private static EnumPlatformANGLE requestedANGLEPlatform = EnumPlatformANGLE.DEFAULT; - + public static void requestANGLE(EnumPlatformANGLE plaf) { requestedANGLEPlatform = plaf; } @@ -321,23 +282,22 @@ public class PlatformRuntime { public static EnumPlatformANGLE getPlatformANGLE() { return rendererANGLEPlatform; } - + public static String getGLVersion() { return glVersion; } - + public static String getGLRenderer() { return glRenderer; } - public static ByteBuffer allocateByteBuffer(int length) { return EaglerLWJGLAllocator.allocByteBuffer(length); } - + public static IntBuffer allocateIntBuffer(int length) { return EaglerLWJGLAllocator.allocIntBuffer(length); } - + public static FloatBuffer allocateFloatBuffer(int length) { return EaglerLWJGLAllocator.allocFloatBuffer(length); } @@ -377,102 +337,102 @@ public class PlatformRuntime { public static void freeFloatBuffer(FloatBuffer floatBuffer) { EaglerLWJGLAllocator.freeFloatBuffer(floatBuffer); } - + public static class NativeNIO { - + public static java.nio.ByteBuffer allocateByteBuffer(int length) { long ret = JEmalloc.nje_malloc(length); - if (ret == 0l) { + if(ret == 0l) { throw new OutOfMemoryError("Native je_malloc call returned null pointer!"); } return MemoryUtil.memByteBuffer(ret, length); } - + public static java.nio.IntBuffer allocateIntBuffer(int length) { long ret = JEmalloc.nje_malloc(length << 2); - if (ret == 0l) { + if(ret == 0l) { throw new OutOfMemoryError("Native je_malloc call returned null pointer!"); } return MemoryUtil.memIntBuffer(ret, length); } - + public static java.nio.FloatBuffer allocateFloatBuffer(int length) { long ret = JEmalloc.nje_malloc(length << 2); - if (ret == 0l) { + if(ret == 0l) { throw new OutOfMemoryError("Native je_malloc call returned null pointer!"); } return MemoryUtil.memFloatBuffer(ret, length); } - + public static java.nio.IntBuffer getIntBuffer(java.nio.ByteBuffer byteBuffer) { return MemoryUtil.memIntBuffer(MemoryUtil.memAddress(byteBuffer), byteBuffer.capacity() >> 2); } - + public static java.nio.FloatBuffer getFloatBuffer(java.nio.ByteBuffer byteBuffer) { return MemoryUtil.memFloatBuffer(MemoryUtil.memAddress(byteBuffer), byteBuffer.capacity() >> 2); } - + public static java.nio.ByteBuffer getAsByteBuffer(java.nio.IntBuffer intBuffer) { return MemoryUtil.memByteBuffer(MemoryUtil.memAddress(intBuffer), intBuffer.capacity() << 2); } - + public static java.nio.ByteBuffer getAsByteBuffer(java.nio.FloatBuffer floatBuffer) { return MemoryUtil.memByteBuffer(MemoryUtil.memAddress(floatBuffer), floatBuffer.capacity() << 2); } - + public static void freeByteBuffer(java.nio.ByteBuffer byteBuffer) { JEmalloc.nje_free(MemoryUtil.memAddress(byteBuffer)); } - + public static void freeIntBuffer(java.nio.IntBuffer intBuffer) { JEmalloc.nje_free(MemoryUtil.memAddress(intBuffer)); } - + public static void freeFloatBuffer(java.nio.FloatBuffer floatBuffer) { JEmalloc.nje_free(MemoryUtil.memAddress(floatBuffer)); } - + } - + public static boolean isDebugRuntime() { return true; } - + public static void writeCrashReport(String crashDump) { File file1 = new File("./crash-reports"); - if (!file1.exists()) { - if (!file1.mkdirs()) { + if(!file1.exists()) { + if(!file1.mkdirs()) { PlatformRuntime.logger.fatal("Could not create crash report directory: {}", file1.getAbsolutePath()); return; } } File file2 = new File(file1, "crash-" + (new SimpleDateFormat("yyyy-MM-dd_HH.mm.ss")).format(new Date()) + "-client.txt"); - try (FileOutputStream os = new FileOutputStream(file2)) { + try(FileOutputStream os = new FileOutputStream(file2)) { os.write(crashDump.getBytes(StandardCharsets.UTF_8)); - } catch (IOException ex) { + }catch(IOException ex) { PlatformRuntime.logger.fatal("Could not write crash report: {}", file2.getAbsolutePath()); PlatformRuntime.logger.fatal(ex); return; } PlatformRuntime.logger.fatal("Crash report was written to: {}", file2.getAbsolutePath()); } - + public static void getStackTrace(Throwable t, Consumer ret) { StackTraceElement[] stackTrace = t.getStackTrace(); - for (int i = 0; i < stackTrace.length; ++i) { + for(int i = 0; i < stackTrace.length; ++i) { ret.accept(stackTrace[i].toString()); } } - + public static boolean printJSExceptionIfBrowser(Throwable t) { return false; } - + public static void exit() { System.exit(0); } - + public static void setThreadName(String string) { Thread.currentThread().setName(string); } @@ -488,53 +448,53 @@ public class PlatformRuntime { public static long freeMemory() { return Runtime.getRuntime().freeMemory(); } - + public static String getCallingClass(int backTrace) { StackTraceElement[] astacktraceelement = Thread.currentThread().getStackTrace(); StackTraceElement stacktraceelement = astacktraceelement[Math.min(backTrace + 1, astacktraceelement.length)]; return "" + stacktraceelement.getFileName() + ":" + stacktraceelement.getLineNumber(); } - + public static OutputStream newDeflaterOutputStream(OutputStream os) throws IOException { return new DeflaterOutputStream(os); } - + public static OutputStream newGZIPOutputStream(OutputStream os) throws IOException { return new GZIPOutputStream(os); } - + public static InputStream newInflaterInputStream(InputStream is) throws IOException { return new InflaterInputStream(is); } - + public static InputStream newGZIPInputStream(InputStream is) throws IOException { return new GZIPInputStream(is); } - + public static void downloadRemoteURIByteArray(String assetPackageURI, final Consumer cb) { logger.info("Downloading: {}"); - try (InputStream is = (new URL(assetPackageURI)).openStream()) { + try(InputStream is = (new URL(assetPackageURI)).openStream()) { EaglerOutputStream bao = new EaglerOutputStream(); byte[] copyBuffer = new byte[16384]; int i; - while ((i = is.read(copyBuffer, 0, copyBuffer.length)) != -1) { + while((i = is.read(copyBuffer, 0, copyBuffer.length)) != -1) { bao.write(copyBuffer, 0, i); } cb.accept(bao.toByteArray()); - } catch (IOException ex) { + }catch(IOException ex) { logger.error("Failed to download file!"); logger.error(ex); } } - + public static boolean requireSSL() { return false; } - + public static boolean isOfflineDownloadURL() { return false; } - + public static IClientConfigAdapter getClientConfigAdapter() { return DesktopClientConfigAdapter.instance; } @@ -554,7 +514,7 @@ public class PlatformRuntime { private static final Random seedProvider = new Random(); public static long randomSeed() { - synchronized (seedProvider) { + synchronized(seedProvider) { return seedProvider.nextLong(); } } diff --git a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/WebSocketPlayClient.java b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/WebSocketPlayClient.java index dc81127..0e20182 100644 --- a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/WebSocketPlayClient.java +++ b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/WebSocketPlayClient.java @@ -13,24 +13,16 @@ import net.lax1dude.eaglercraft.v1_8.log4j.LogManager; import net.lax1dude.eaglercraft.v1_8.log4j.Logger; /** - * Copyright (c) 2022-2023 lax1dude, hoosiertransfer, ayunami2000. All Rights - * Reserved. + * Copyright (c) 2022-2023 lax1dude, ayunami2000. All Rights Reserved. * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * @@ -38,7 +30,7 @@ import net.lax1dude.eaglercraft.v1_8.log4j.Logger; class WebSocketPlayClient extends WebSocketClient { private static final Draft perMessageDeflateDraft = new Draft_6455(new PerMessageDeflateExtension()); - + public static final Logger logger = LogManager.getLogger("WebSocket"); WebSocketPlayClient(URI serverUri) { @@ -68,10 +60,10 @@ class WebSocketPlayClient extends WebSocketClient { @Override public void onMessage(String arg0) { - if (arg0.equalsIgnoreCase("BLOCKED")) { + if(arg0.equalsIgnoreCase("BLOCKED")) { logger.error("Reached full IP ratelimit!"); PlatformNetworking.serverRateLimit = EnumServerRateLimit.BLOCKED; - } else if (arg0.equalsIgnoreCase("LOCKED")) { + }else if(arg0.equalsIgnoreCase("LOCKED")) { logger.error("Reached full IP ratelimit lockout!"); PlatformNetworking.serverRateLimit = EnumServerRateLimit.LOCKED_OUT; } @@ -81,5 +73,5 @@ class WebSocketPlayClient extends WebSocketClient { public void onMessage(ByteBuffer arg0) { PlatformNetworking.recievedPlayPacket(arg0.array()); } - + } diff --git a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/WebSocketServerQuery.java b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/WebSocketServerQuery.java index 50ca000..42feb10 100644 --- a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/WebSocketServerQuery.java +++ b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/WebSocketServerQuery.java @@ -16,24 +16,16 @@ import net.lax1dude.eaglercraft.v1_8.log4j.LogManager; import net.lax1dude.eaglercraft.v1_8.log4j.Logger; /** - * Copyright (c) 2022-2023 lax1dude, hoosiertransfer, ayunami2000. All Rights - * Reserved. + * Copyright (c) 2022-2023 lax1dude, ayunami2000. All Rights Reserved. * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * @@ -63,17 +55,17 @@ class WebSocketServerQuery extends WebSocketClient implements IServerQuery { @Override public int responsesAvailable() { - synchronized (queryResponses) { + synchronized(queryResponses) { return queryResponses.size(); } } @Override public QueryResponse getResponse() { - synchronized (queryResponses) { - if (queryResponses.size() > 0) { + synchronized(queryResponses) { + if(queryResponses.size() > 0) { return queryResponses.remove(0); - } else { + }else { return null; } } @@ -81,17 +73,17 @@ class WebSocketServerQuery extends WebSocketClient implements IServerQuery { @Override public int binaryResponsesAvailable() { - synchronized (queryResponsesBytes) { + synchronized(queryResponsesBytes) { return queryResponsesBytes.size(); } } @Override public byte[] getBinaryResponse() { - synchronized (queryResponsesBytes) { - if (queryResponsesBytes.size() > 0) { + synchronized(queryResponsesBytes) { + if(queryResponsesBytes.size() > 0) { return queryResponsesBytes.remove(0); - } else { + }else { return null; } } @@ -122,39 +114,38 @@ class WebSocketServerQuery extends WebSocketClient implements IServerQuery { @Override public void onMessage(String arg0) { alive = true; - if (pingTimer == -1) { + if(pingTimer == -1) { pingTimer = System.currentTimeMillis() - pingStart; - if (pingTimer < 1) { + if(pingTimer < 1) { pingTimer = 1; } } - if (arg0.equalsIgnoreCase("BLOCKED")) { + if(arg0.equalsIgnoreCase("BLOCKED")) { logger.error("Reached full IP ratelimit for {}!", this.uri.toString()); rateLimit = EnumServerRateLimit.BLOCKED; return; } - if (arg0.equalsIgnoreCase("LOCKED")) { + if(arg0.equalsIgnoreCase("LOCKED")) { logger.error("Reached full IP ratelimit lockout for {}!", this.uri.toString()); rateLimit = EnumServerRateLimit.LOCKED_OUT; return; } try { JSONObject obj = new JSONObject(arg0); - if ("blocked".equalsIgnoreCase(obj.optString("type", null))) { + if("blocked".equalsIgnoreCase(obj.optString("type", null))) { logger.error("Reached query ratelimit for {}!", this.uri.toString()); rateLimit = EnumServerRateLimit.BLOCKED; - } else if ("locked".equalsIgnoreCase(obj.optString("type", null))) { + }else if("locked".equalsIgnoreCase(obj.optString("type", null))) { logger.error("Reached query ratelimit lockout for {}!", this.uri.toString()); rateLimit = EnumServerRateLimit.LOCKED_OUT; - } else { + }else { QueryResponse response = new QueryResponse(obj, pingTimer); - synchronized (queryResponses) { + synchronized(queryResponses) { queryResponses.add(response); } } - } catch (Throwable t) { - logger.error( - "Exception thrown parsing websocket query response from \"" + this.getURI().toString() + "\"!"); + }catch(Throwable t) { + logger.error("Exception thrown parsing websocket query response from \"" + this.getURI().toString() + "\"!"); logger.error(t); } } @@ -162,13 +153,13 @@ class WebSocketServerQuery extends WebSocketClient implements IServerQuery { @Override public void onMessage(ByteBuffer arg0) { alive = true; - if (pingTimer == -1) { + if(pingTimer == -1) { pingTimer = System.currentTimeMillis() - pingStart; - if (pingTimer < 1) { + if(pingTimer < 1) { pingTimer = 1; } } - synchronized (queryResponsesBytes) { + synchronized(queryResponsesBytes) { queryResponsesBytes.add(arg0.array()); } } diff --git a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/buffer/EaglerLWJGLByteBuffer.java b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/buffer/EaglerLWJGLByteBuffer.java index a163fe7..5cb1142 100644 --- a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/buffer/EaglerLWJGLByteBuffer.java +++ b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/buffer/EaglerLWJGLByteBuffer.java @@ -20,7 +20,7 @@ import net.lax1dude.unsafememcpy.UnsafeUtils; * POSSIBILITY OF SUCH DAMAGE. * */ -public class EaglerLWJGLFloatBuffer implements FloatBuffer { +public class EaglerLWJGLByteBuffer implements ByteBuffer { final long address; final boolean original; @@ -30,13 +30,11 @@ public class EaglerLWJGLFloatBuffer implements FloatBuffer { private int limit; private int mark; - private static final int SHIFT = 2; - - EaglerLWJGLFloatBuffer(long address, int capacity, boolean original) { + EaglerLWJGLByteBuffer(long address, int capacity, boolean original) { this(address, capacity, 0, capacity, -1, original); } - EaglerLWJGLFloatBuffer(long address, int capacity, int position, int limit, int mark, boolean original) { + EaglerLWJGLByteBuffer(long address, int capacity, int position, int limit, int mark, boolean original) { this.address = address; this.capacity = capacity; this.position = position; @@ -44,7 +42,7 @@ public class EaglerLWJGLFloatBuffer implements FloatBuffer { this.mark = mark; this.original = original; } - + @Override public int capacity() { return capacity; @@ -86,93 +84,81 @@ public class EaglerLWJGLFloatBuffer implements FloatBuffer { } @Override - public int arrayOffset() { - return position; + public boolean isDirect() { + return true; } @Override - public FloatBuffer slice() { - return new EaglerLWJGLFloatBuffer(address + (position << SHIFT), limit - position, false); + public ByteBuffer slice() { + return new EaglerLWJGLByteBuffer(address + position, limit - position, false); } @Override - public FloatBuffer duplicate() { - return new EaglerLWJGLFloatBuffer(address, capacity, position, limit, mark, false); + public ByteBuffer duplicate() { + return new EaglerLWJGLByteBuffer(address, capacity, position, limit, mark, false); } @Override - public FloatBuffer asReadOnlyBuffer() { - return new EaglerLWJGLFloatBuffer(address, capacity, position, limit, mark, false); + public ByteBuffer asReadOnlyBuffer() { + return new EaglerLWJGLByteBuffer(address, capacity, position, limit, mark, false); } @Override - public float get() { + public byte get() { if(position >= limit) throw new ArrayIndexOutOfBoundsException(position); - return UnsafeUtils.getMemFloat(address + ((position++) << SHIFT)); + return UnsafeUtils.getMemByte(address + position++); } @Override - public FloatBuffer put(float b) { + public ByteBuffer put(byte b) { if(position >= limit) throw new ArrayIndexOutOfBoundsException(position); - UnsafeUtils.setMemFloat(address + ((position++) << SHIFT), b); + UnsafeUtils.setMemByte(address + position++, b); return this; } @Override - public float get(int index) { + public byte get(int index) { if(index >= limit) throw new ArrayIndexOutOfBoundsException(index); - return UnsafeUtils.getMemFloat(address + (index << SHIFT)); + return UnsafeUtils.getMemByte(address + index); } @Override - public FloatBuffer put(int index, float b) { + public ByteBuffer put(int index, byte b) { if(index >= limit) throw new ArrayIndexOutOfBoundsException(index); - UnsafeUtils.setMemFloat(address + (index << SHIFT), b); + UnsafeUtils.setMemByte(address + index, b); return this; } @Override - public float getElement(int index) { - if(index >= limit) throw new ArrayIndexOutOfBoundsException(index); - return UnsafeUtils.getMemFloat(address + (index << SHIFT)); - } - - @Override - public void putElement(int index, float value) { - if(position >= limit) throw new ArrayIndexOutOfBoundsException(position); - UnsafeUtils.setMemFloat(address + ((position++) << SHIFT), value); - } - - @Override - public FloatBuffer get(float[] dst, int offset, int length) { + public ByteBuffer get(byte[] dst, int offset, int length) { if(position + length > limit) throw new ArrayIndexOutOfBoundsException(position + length - 1); - UnsafeMemcpy.memcpyAlignDst(dst, offset << SHIFT, address + (position << SHIFT), length); + UnsafeMemcpy.memcpy(dst, offset, address + position, length); position += length; return this; } @Override - public FloatBuffer get(float[] dst) { + public ByteBuffer get(byte[] dst) { if(position + dst.length > limit) throw new ArrayIndexOutOfBoundsException(position + dst.length - 1); - UnsafeMemcpy.memcpyAlignDst(dst, 0, address + (position << SHIFT), dst.length); + UnsafeMemcpy.memcpy(dst, 0, address + position, dst.length); position += dst.length; return this; } @Override - public FloatBuffer put(FloatBuffer src) { - if(src instanceof EaglerLWJGLFloatBuffer) { - EaglerLWJGLFloatBuffer c = (EaglerLWJGLFloatBuffer)src; + public ByteBuffer put(ByteBuffer src) { + if(src instanceof EaglerLWJGLByteBuffer) { + EaglerLWJGLByteBuffer c = (EaglerLWJGLByteBuffer)src; int l = c.limit - c.position; if(position + l > limit) throw new ArrayIndexOutOfBoundsException(position + l - 1); - UnsafeMemcpy.memcpy(address + (position << SHIFT), c.address + (c.position << SHIFT), l << SHIFT); + UnsafeMemcpy.memcpy(address + position, c.address + c.position, l); position += l; c.position += l; }else { int l = src.remaining(); if(position + l > limit) throw new ArrayIndexOutOfBoundsException(position + l - 1); for(int i = 0; i < l; ++i) { - UnsafeUtils.setMemFloat(address + ((position + l) << SHIFT), src.get()); + UnsafeUtils.setMemByte(address + position + l, src.get()); } position += l; } @@ -180,33 +166,33 @@ public class EaglerLWJGLFloatBuffer implements FloatBuffer { } @Override - public FloatBuffer put(float[] src, int offset, int length) { + public ByteBuffer put(byte[] src, int offset, int length) { if(position + length > limit) throw new ArrayIndexOutOfBoundsException(position + length - 1); - UnsafeMemcpy.memcpyAlignSrc(address + (position << SHIFT), src, offset << SHIFT, length); + UnsafeMemcpy.memcpy(address + position, src, offset, length); position += length; return this; } @Override - public FloatBuffer put(float[] src) { + public ByteBuffer put(byte[] src) { if(position + src.length > limit) throw new ArrayIndexOutOfBoundsException(position + src.length - 1); - UnsafeMemcpy.memcpyAlignSrc(address + (position << SHIFT), src, 0, src.length); + UnsafeMemcpy.memcpy(address + position, src, 0, src.length); position += src.length; return this; } @Override - public int getArrayOffset() { + public int arrayOffset() { return position; } @Override - public FloatBuffer compact() { + public ByteBuffer compact() { if(limit > capacity) throw new ArrayIndexOutOfBoundsException(limit); if(position > limit) throw new ArrayIndexOutOfBoundsException(position); if(position == limit) { - return new EaglerLWJGLFloatBuffer(0l, 0, false); + return new EaglerLWJGLByteBuffer(0l, 0, false); } int newLen = limit - position; @@ -214,24 +200,179 @@ public class EaglerLWJGLFloatBuffer implements FloatBuffer { if(newAlloc == 0l) { throw new OutOfMemoryError("Native je_malloc call returned null pointer!"); } - UnsafeMemcpy.memcpy(newAlloc, address + (position << SHIFT), newLen << SHIFT); + UnsafeMemcpy.memcpy(newAlloc, address + position, newLen); - return new EaglerLWJGLFloatBuffer(newAlloc, newLen, true); + return new EaglerLWJGLByteBuffer(newAlloc, newLen, true); } @Override - public boolean isDirect() { - return true; + public char getChar() { + if(position + 2 > limit) throw new ArrayIndexOutOfBoundsException(position); + char c = UnsafeUtils.getMemChar(address + position); + position += 2; + return c; } @Override - public FloatBuffer mark() { + public ByteBuffer putChar(char value) { + if(position + 2 > limit) throw new ArrayIndexOutOfBoundsException(position); + UnsafeUtils.setMemChar(address + position, value); + position += 2; + return this; + } + + @Override + public char getChar(int index) { + if(index + 2 > limit) throw new ArrayIndexOutOfBoundsException(index); + return UnsafeUtils.getMemChar(address + index); + } + + @Override + public ByteBuffer putChar(int index, char value) { + if(index + 2 > limit) throw new ArrayIndexOutOfBoundsException(index); + UnsafeUtils.setMemChar(address + index, value); + return this; + } + + @Override + public short getShort() { + if(position + 2 > limit) throw new ArrayIndexOutOfBoundsException(position); + short s = UnsafeUtils.getMemShort(address + position); + position += 2; + return s; + } + + @Override + public ByteBuffer putShort(short value) { + if(position + 2 > limit) throw new ArrayIndexOutOfBoundsException(position); + UnsafeUtils.setMemShort(address + position, value); + position += 2; + return this; + } + + @Override + public short getShort(int index) { + if(index + 2 > limit) throw new ArrayIndexOutOfBoundsException(index); + return UnsafeUtils.getMemShort(address + index); + } + + @Override + public ByteBuffer putShort(int index, short value) { + if(index + 2 > limit) throw new ArrayIndexOutOfBoundsException(index); + UnsafeUtils.setMemShort(address + index, value); + return this; + } + + @Override + public ShortBuffer asShortBuffer() { + return new EaglerLWJGLShortBuffer(address, capacity >> 1, false); + } + + @Override + public int getInt() { + if(position + 4 > limit) throw new ArrayIndexOutOfBoundsException(position); + int i = UnsafeUtils.getMemInt(address + position); + position += 4; + return i; + } + + @Override + public ByteBuffer putInt(int value) { + if(position + 4 > limit) throw new ArrayIndexOutOfBoundsException(position); + UnsafeUtils.setMemInt(address + position, value); + position += 4; + return this; + } + + @Override + public int getInt(int index) { + if(index + 4 > limit) throw new ArrayIndexOutOfBoundsException(index); + return UnsafeUtils.getMemInt(address + index); + } + + @Override + public ByteBuffer putInt(int index, int value) { + if(index + 4 > limit) throw new ArrayIndexOutOfBoundsException(index); + UnsafeUtils.setMemInt(address + index, value); + return this; + } + + @Override + public IntBuffer asIntBuffer() { + return new EaglerLWJGLIntBuffer(address, capacity >> 2, false); + } + + @Override + public long getLong() { + if(position + 8 > limit) throw new ArrayIndexOutOfBoundsException(position); + long l = UnsafeUtils.getMemLong(address + position); + position += 8; + return l; + } + + @Override + public ByteBuffer putLong(long value) { + if(position + 8 > limit) throw new ArrayIndexOutOfBoundsException(position); + UnsafeUtils.setMemLong(address + position, value); + position += 8; + return this; + } + + @Override + public long getLong(int index) { + if(index + 8 > limit) throw new ArrayIndexOutOfBoundsException(index); + return UnsafeUtils.getMemLong(address + index); + } + + @Override + public ByteBuffer putLong(int index, long value) { + if(index + 8 > limit) throw new ArrayIndexOutOfBoundsException(index); + UnsafeUtils.setMemLong(address + index, value); + return this; + } + + @Override + public float getFloat() { + if(position + 4 > limit) throw new ArrayIndexOutOfBoundsException(position); + float f = UnsafeUtils.getMemFloat(address + position); + position += 4; + return f; + } + + @Override + public ByteBuffer putFloat(float value) { + if(position + 4 > limit) throw new ArrayIndexOutOfBoundsException(position); + UnsafeUtils.setMemFloat(address + position, value); + position += 4; + return this; + } + + @Override + public float getFloat(int index) { + if(index + 4 > limit) throw new ArrayIndexOutOfBoundsException(index); + return UnsafeUtils.getMemFloat(address + index); + } + + @Override + public ByteBuffer putFloat(int index, float value) { + if(index + 4 > limit) throw new ArrayIndexOutOfBoundsException(index); + UnsafeUtils.setMemFloat(address + index, value); + return this; + } + + @Override + public FloatBuffer asFloatBuffer() { + return new EaglerLWJGLFloatBuffer(address, capacity >> 2, false); + } + + @Override + public ByteBuffer mark() { mark = position; return this; } @Override - public FloatBuffer reset() { + public ByteBuffer reset() { int m = mark; if(m < 0) throw new ArrayIndexOutOfBoundsException("Invalid mark: " + m); position = m; @@ -239,7 +380,7 @@ public class EaglerLWJGLFloatBuffer implements FloatBuffer { } @Override - public FloatBuffer clear() { + public ByteBuffer clear() { position = 0; limit = capacity; mark = -1; @@ -247,7 +388,7 @@ public class EaglerLWJGLFloatBuffer implements FloatBuffer { } @Override - public FloatBuffer flip() { + public ByteBuffer flip() { limit = position; position = 0; mark = -1; @@ -255,21 +396,21 @@ public class EaglerLWJGLFloatBuffer implements FloatBuffer { } @Override - public FloatBuffer rewind() { + public ByteBuffer rewind() { position = 0; mark = -1; return this; } @Override - public FloatBuffer limit(int newLimit) { + public ByteBuffer limit(int newLimit) { if(newLimit < 0 || newLimit > capacity) throw new ArrayIndexOutOfBoundsException(newLimit); limit = newLimit; return this; } @Override - public FloatBuffer position(int newPosition) { + public ByteBuffer position(int newPosition) { if(newPosition < 0 || newPosition > limit) throw new ArrayIndexOutOfBoundsException(newPosition); position = newPosition; return this; diff --git a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/buffer/EaglerLWJGLFloatBuffer.java b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/buffer/EaglerLWJGLFloatBuffer.java index bf306a2..a163fe7 100644 --- a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/buffer/EaglerLWJGLFloatBuffer.java +++ b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/buffer/EaglerLWJGLFloatBuffer.java @@ -20,8 +20,8 @@ import net.lax1dude.unsafememcpy.UnsafeUtils; * POSSIBILITY OF SUCH DAMAGE. * */ -public class EaglerLWJGLIntBuffer implements IntBuffer { - +public class EaglerLWJGLFloatBuffer implements FloatBuffer { + final long address; final boolean original; @@ -32,11 +32,11 @@ public class EaglerLWJGLIntBuffer implements IntBuffer { private static final int SHIFT = 2; - EaglerLWJGLIntBuffer(long address, int capacity, boolean original) { + EaglerLWJGLFloatBuffer(long address, int capacity, boolean original) { this(address, capacity, 0, capacity, -1, original); } - EaglerLWJGLIntBuffer(long address, int capacity, int position, int limit, int mark, boolean original) { + EaglerLWJGLFloatBuffer(long address, int capacity, int position, int limit, int mark, boolean original) { this.address = address; this.capacity = capacity; this.position = position; @@ -91,60 +91,60 @@ public class EaglerLWJGLIntBuffer implements IntBuffer { } @Override - public IntBuffer slice() { - return new EaglerLWJGLIntBuffer(address + (position << SHIFT), limit - position, false); + public FloatBuffer slice() { + return new EaglerLWJGLFloatBuffer(address + (position << SHIFT), limit - position, false); } @Override - public IntBuffer duplicate() { - return new EaglerLWJGLIntBuffer(address, capacity, position, limit, mark, false); + public FloatBuffer duplicate() { + return new EaglerLWJGLFloatBuffer(address, capacity, position, limit, mark, false); } @Override - public IntBuffer asReadOnlyBuffer() { - return new EaglerLWJGLIntBuffer(address, capacity, position, limit, mark, false); + public FloatBuffer asReadOnlyBuffer() { + return new EaglerLWJGLFloatBuffer(address, capacity, position, limit, mark, false); } @Override - public int get() { + public float get() { if(position >= limit) throw new ArrayIndexOutOfBoundsException(position); - return UnsafeUtils.getMemInt(address + ((position++) << SHIFT)); + return UnsafeUtils.getMemFloat(address + ((position++) << SHIFT)); } @Override - public IntBuffer put(int b) { + public FloatBuffer put(float b) { if(position >= limit) throw new ArrayIndexOutOfBoundsException(position); - UnsafeUtils.setMemInt(address + ((position++) << SHIFT), b); + UnsafeUtils.setMemFloat(address + ((position++) << SHIFT), b); return this; } @Override - public int get(int index) { + public float get(int index) { if(index >= limit) throw new ArrayIndexOutOfBoundsException(index); - return UnsafeUtils.getMemInt(address + (index << SHIFT)); + return UnsafeUtils.getMemFloat(address + (index << SHIFT)); } @Override - public IntBuffer put(int index, int b) { + public FloatBuffer put(int index, float b) { if(index >= limit) throw new ArrayIndexOutOfBoundsException(index); - UnsafeUtils.setMemInt(address + (index << SHIFT), b); + UnsafeUtils.setMemFloat(address + (index << SHIFT), b); return this; } @Override - public int getElement(int index) { + public float getElement(int index) { if(index >= limit) throw new ArrayIndexOutOfBoundsException(index); - return UnsafeUtils.getMemInt(address + (index << SHIFT)); + return UnsafeUtils.getMemFloat(address + (index << SHIFT)); } @Override - public void putElement(int index, int value) { - if(index >= limit) throw new ArrayIndexOutOfBoundsException(index); - UnsafeUtils.setMemInt(address + (index << SHIFT), value); + public void putElement(int index, float value) { + if(position >= limit) throw new ArrayIndexOutOfBoundsException(position); + UnsafeUtils.setMemFloat(address + ((position++) << SHIFT), value); } @Override - public IntBuffer get(int[] dst, int offset, int length) { + public FloatBuffer get(float[] dst, int offset, int length) { if(position + length > limit) throw new ArrayIndexOutOfBoundsException(position + length - 1); UnsafeMemcpy.memcpyAlignDst(dst, offset << SHIFT, address + (position << SHIFT), length); position += length; @@ -152,7 +152,7 @@ public class EaglerLWJGLIntBuffer implements IntBuffer { } @Override - public IntBuffer get(int[] dst) { + public FloatBuffer get(float[] dst) { if(position + dst.length > limit) throw new ArrayIndexOutOfBoundsException(position + dst.length - 1); UnsafeMemcpy.memcpyAlignDst(dst, 0, address + (position << SHIFT), dst.length); position += dst.length; @@ -160,9 +160,9 @@ public class EaglerLWJGLIntBuffer implements IntBuffer { } @Override - public IntBuffer put(IntBuffer src) { - if(src instanceof EaglerLWJGLIntBuffer) { - EaglerLWJGLIntBuffer c = (EaglerLWJGLIntBuffer)src; + public FloatBuffer put(FloatBuffer src) { + if(src instanceof EaglerLWJGLFloatBuffer) { + EaglerLWJGLFloatBuffer c = (EaglerLWJGLFloatBuffer)src; int l = c.limit - c.position; if(position + l > limit) throw new ArrayIndexOutOfBoundsException(position + l - 1); UnsafeMemcpy.memcpy(address + (position << SHIFT), c.address + (c.position << SHIFT), l << SHIFT); @@ -172,7 +172,7 @@ public class EaglerLWJGLIntBuffer implements IntBuffer { int l = src.remaining(); if(position + l > limit) throw new ArrayIndexOutOfBoundsException(position + l - 1); for(int i = 0; i < l; ++i) { - UnsafeUtils.setMemInt(address + ((position + l) << SHIFT), src.get()); + UnsafeUtils.setMemFloat(address + ((position + l) << SHIFT), src.get()); } position += l; } @@ -180,7 +180,7 @@ public class EaglerLWJGLIntBuffer implements IntBuffer { } @Override - public IntBuffer put(int[] src, int offset, int length) { + public FloatBuffer put(float[] src, int offset, int length) { if(position + length > limit) throw new ArrayIndexOutOfBoundsException(position + length - 1); UnsafeMemcpy.memcpyAlignSrc(address + (position << SHIFT), src, offset << SHIFT, length); position += length; @@ -188,7 +188,7 @@ public class EaglerLWJGLIntBuffer implements IntBuffer { } @Override - public IntBuffer put(int[] src) { + public FloatBuffer put(float[] src) { if(position + src.length > limit) throw new ArrayIndexOutOfBoundsException(position + src.length - 1); UnsafeMemcpy.memcpyAlignSrc(address + (position << SHIFT), src, 0, src.length); position += src.length; @@ -201,12 +201,12 @@ public class EaglerLWJGLIntBuffer implements IntBuffer { } @Override - public IntBuffer compact() { + public FloatBuffer compact() { if(limit > capacity) throw new ArrayIndexOutOfBoundsException(limit); if(position > limit) throw new ArrayIndexOutOfBoundsException(position); if(position == limit) { - return new EaglerLWJGLIntBuffer(0l, 0, false); + return new EaglerLWJGLFloatBuffer(0l, 0, false); } int newLen = limit - position; @@ -216,7 +216,7 @@ public class EaglerLWJGLIntBuffer implements IntBuffer { } UnsafeMemcpy.memcpy(newAlloc, address + (position << SHIFT), newLen << SHIFT); - return new EaglerLWJGLIntBuffer(newAlloc, newLen, true); + return new EaglerLWJGLFloatBuffer(newAlloc, newLen, true); } @Override @@ -225,13 +225,13 @@ public class EaglerLWJGLIntBuffer implements IntBuffer { } @Override - public IntBuffer mark() { + public FloatBuffer mark() { mark = position; return this; } @Override - public IntBuffer reset() { + public FloatBuffer reset() { int m = mark; if(m < 0) throw new ArrayIndexOutOfBoundsException("Invalid mark: " + m); position = m; @@ -239,7 +239,7 @@ public class EaglerLWJGLIntBuffer implements IntBuffer { } @Override - public IntBuffer clear() { + public FloatBuffer clear() { position = 0; limit = capacity; mark = -1; @@ -247,7 +247,7 @@ public class EaglerLWJGLIntBuffer implements IntBuffer { } @Override - public IntBuffer flip() { + public FloatBuffer flip() { limit = position; position = 0; mark = -1; @@ -255,21 +255,21 @@ public class EaglerLWJGLIntBuffer implements IntBuffer { } @Override - public IntBuffer rewind() { + public FloatBuffer rewind() { position = 0; mark = -1; return this; } @Override - public IntBuffer limit(int newLimit) { + public FloatBuffer limit(int newLimit) { if(newLimit < 0 || newLimit > capacity) throw new ArrayIndexOutOfBoundsException(newLimit); limit = newLimit; return this; } @Override - public IntBuffer position(int newPosition) { + public FloatBuffer position(int newPosition) { if(newPosition < 0 || newPosition > limit) throw new ArrayIndexOutOfBoundsException(newPosition); position = newPosition; return this; diff --git a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/DebugFilesystem.java b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/DebugFilesystem.java index ce1badd..a5ee8df 100644 --- a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/DebugFilesystem.java +++ b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/DebugFilesystem.java @@ -221,4 +221,4 @@ public class DebugFilesystem implements PlatformFilesystem.IFilesystemProvider { f.delete(); } } -} \ No newline at end of file +} diff --git a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/DesktopClientConfigAdapter.java b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/DesktopClientConfigAdapter.java index 2edc7f5..2709b2b 100644 --- a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/DesktopClientConfigAdapter.java +++ b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/DesktopClientConfigAdapter.java @@ -14,21 +14,14 @@ import net.lax1dude.eaglercraft.v1_8.sp.relay.RelayEntry; /** * Copyright (c) 2022 lax1dude. All Rights Reserved. * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * @@ -149,6 +142,11 @@ public class DesktopClientConfigAdapter implements IClientConfigAdapter { return EaglercraftVersion.localStorageNamespace; } + @Override + public boolean isEnableMinceraft() { + return true; + } + @Override public IClientConfigAdapterHooks getHooks() { return hooks; @@ -158,13 +156,13 @@ public class DesktopClientConfigAdapter implements IClientConfigAdapter { @Override public void callLocalStorageSavedHook(String key, String base64) { - + } @Override public String callLocalStorageLoadHook(String key) { return null; } - + } } diff --git a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/FilesystemConvertingDialog.java b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/FilesystemConvertingDialog.java index 323eb02..4b23727 100644 --- a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/FilesystemConvertingDialog.java +++ b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/FilesystemConvertingDialog.java @@ -16,21 +16,14 @@ import javax.swing.UIManager; /** * Copyright (c) 2024 lax1dude. All Rights Reserved. * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * @@ -45,7 +38,7 @@ public class FilesystemConvertingDialog extends JFrame { setIconImage(Toolkit.getDefaultToolkit().getImage("icon32.png")); setResizable(false); setAlwaysOnTop(true); - setTitle("EaglercraftL 1.9"); + setTitle("EaglercraftX 1.8"); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); setBounds(100, 100, 420, 100); contentPane = new JPanel(); @@ -54,20 +47,20 @@ public class FilesystemConvertingDialog extends JFrame { setContentPane(contentPane); contentPane.setLayout(new BorderLayout(0, 0)); - + JPanel panel = new JPanel(); panel.setBorder(new EmptyBorder(10, 10, 10, 10)); panel.setBackground(new Color(255, 255, 255)); contentPane.add(panel, BorderLayout.SOUTH); panel.setLayout(new BorderLayout(0, 0)); - + progressBar = new JProgressBar(); progressBar.setIndeterminate(true); progressBar.setPreferredSize(new Dimension(146, 20)); progressBar.setMinimum(0); progressBar.setMaximum(512); panel.add(progressBar, BorderLayout.CENTER); - + JLabel lblNewLabel = new JLabel(title); lblNewLabel.setFont(UIManager.getFont("PopupMenu.font")); lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER); @@ -82,4 +75,4 @@ public class FilesystemConvertingDialog extends JFrame { progressBar.setValue(val); } -} \ No newline at end of file +} diff --git a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/JDBCFilesystem.java b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/JDBCFilesystem.java index d47351b..c6aae92 100644 --- a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/JDBCFilesystem.java +++ b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/JDBCFilesystem.java @@ -438,4 +438,4 @@ public class JDBCFilesystem implements IFilesystemProvider { } } -} \ No newline at end of file +} diff --git a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/JDBCFilesystemConverter.java b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/JDBCFilesystemConverter.java index cb5bd77..62d19b2 100644 --- a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/JDBCFilesystemConverter.java +++ b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/JDBCFilesystemConverter.java @@ -127,4 +127,4 @@ public class JDBCFilesystemConverter { } file.delete(); } -} \ No newline at end of file +} diff --git a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/LWJGLEntryPoint.java b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/LWJGLEntryPoint.java index 849e836..86e50e5 100644 --- a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/LWJGLEntryPoint.java +++ b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/LWJGLEntryPoint.java @@ -42,7 +42,7 @@ public class LWJGLEntryPoint { System.err.println("Could not set system look and feel: " + e.toString()); } - boolean hideRenderDocDialog = false; + boolean hideRenderDocDialog = true; for(int i = 0; i < args.length; ++i) { if(args[i].equalsIgnoreCase("hide-renderdoc")) { hideRenderDocDialog = true; diff --git a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/LaunchRenderDocDialog.java b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/LaunchRenderDocDialog.java index 474e26b..65540b3 100644 --- a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/LaunchRenderDocDialog.java +++ b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/LaunchRenderDocDialog.java @@ -24,29 +24,22 @@ import javax.swing.JSeparator; /** * Copyright (c) 2022 lax1dude. All Rights Reserved. * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * */ public class LaunchRenderDocDialog extends JDialog { - + private static final long serialVersionUID = 8312760039213612790L; - + private final JPanel contentPanel = new JPanel(); /** @@ -67,7 +60,7 @@ public class LaunchRenderDocDialog extends JDialog { System.exit(0); } }); - setTitle("EaglercraftL: " + ManagementFactory.getRuntimeMXBean().getName()); + setTitle("EaglercraftX: " + ManagementFactory.getRuntimeMXBean().getName()); setResizable(false); getContentPane().setLayout(new BorderLayout()); contentPanel.setBackground(Color.WHITE); @@ -113,7 +106,7 @@ public class LaunchRenderDocDialog extends JDialog { buttonPane.add(cancelButton); } } - + JSeparator separator = new JSeparator(); getContentPane().add(separator, BorderLayout.NORTH); } diff --git a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/MainMenuCreditsDialog.java b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/MainMenuCreditsDialog.java index 204a4bd..7c96190 100644 --- a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/MainMenuCreditsDialog.java +++ b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/MainMenuCreditsDialog.java @@ -13,21 +13,14 @@ import javax.swing.ScrollPaneConstants; /** * Copyright (c) 2024 lax1dude. All Rights Reserved. * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * @@ -43,7 +36,7 @@ public class MainMenuCreditsDialog extends JFrame { */ public MainMenuCreditsDialog() { setIconImage(Toolkit.getDefaultToolkit().getImage("icon32.png")); - setTitle("EaglercraftL 1.9 Credits"); + setTitle("EaglercraftX 1.8 Credits"); setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); setBounds(100, 100, 850, 700); setLocationByPlatform(true); @@ -52,24 +45,24 @@ public class MainMenuCreditsDialog extends JFrame { setContentPane(contentPane); contentPane.setLayout(new BorderLayout(0, 0)); - + JScrollPane scrollPane = new JScrollPane(); scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); contentPane.add(scrollPane, BorderLayout.CENTER); - + textArea = new JTextArea(); textArea.setEditable(false); textArea.setLineWrap(true); textArea.setWrapStyleWord(true); String[] fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames(); Font daFont = null; - for (int i = 0; i < fonts.length; ++i) { - if (fonts[i].equalsIgnoreCase("consolas")) { + for(int i = 0; i < fonts.length; ++i) { + if(fonts[i].equalsIgnoreCase("consolas")) { daFont = new Font(fonts[i], Font.PLAIN, 15); break; } } - if (daFont == null) { + if(daFont == null) { daFont = new Font(Font.MONOSPACED, Font.PLAIN, 15); } textArea.setFont(daFont); diff --git a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/sp/internal/ClientPlatformSingleplayer.java b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/sp/internal/ClientPlatformSingleplayer.java index 99bcd9b..380acb5 100644 --- a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/sp/internal/ClientPlatformSingleplayer.java +++ b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/sp/internal/ClientPlatformSingleplayer.java @@ -10,24 +10,16 @@ import net.lax1dude.eaglercraft.v1_8.sp.server.internal.lwjgl.DesktopIntegratedS import net.lax1dude.eaglercraft.v1_8.sp.server.internal.lwjgl.MemoryConnection; /** - * Copyright (c) 2023-2024 lax1dude, hoosiertransfer, ayunami2000. All Rights - * Reserved. + * Copyright (c) 2023-2024 lax1dude, ayunami2000. All Rights Reserved. * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * @@ -41,14 +33,14 @@ public class ClientPlatformSingleplayer { } public static void sendPacket(IPCPacketData packet) { - synchronized (MemoryConnection.clientToServerQueue) { + synchronized(MemoryConnection.clientToServerQueue) { MemoryConnection.clientToServerQueue.add(packet); } } public static IPCPacketData recievePacket() { - synchronized (MemoryConnection.serverToClientQueue) { - if (MemoryConnection.serverToClientQueue.size() > 0) { + synchronized(MemoryConnection.serverToClientQueue) { + if(MemoryConnection.serverToClientQueue.size() > 0) { return MemoryConnection.serverToClientQueue.remove(0); } } @@ -56,10 +48,10 @@ public class ClientPlatformSingleplayer { } public static List recieveAllPacket() { - synchronized (MemoryConnection.serverToClientQueue) { - if (MemoryConnection.serverToClientQueue.size() == 0) { + synchronized(MemoryConnection.serverToClientQueue) { + if(MemoryConnection.serverToClientQueue.size() == 0) { return null; - } else { + }else { List ret = new ArrayList(MemoryConnection.serverToClientQueue); MemoryConnection.serverToClientQueue.clear(); return ret; @@ -80,7 +72,7 @@ public class ClientPlatformSingleplayer { } public static void showCrashReportOverlay(String report, int x, int y, int w, int h) { - if (crashOverlay == null) { + if(crashOverlay == null) { crashOverlay = new CrashScreenPopup(); } int[] wx = new int[1]; diff --git a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/sp/server/internal/ServerPlatformSingleplayer.java b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/sp/server/internal/ServerPlatformSingleplayer.java index 0f77083..5c6af42 100644 --- a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/sp/server/internal/ServerPlatformSingleplayer.java +++ b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/sp/server/internal/ServerPlatformSingleplayer.java @@ -10,24 +10,16 @@ import net.lax1dude.eaglercraft.v1_8.internal.lwjgl.DesktopClientConfigAdapter; import net.lax1dude.eaglercraft.v1_8.sp.server.internal.lwjgl.MemoryConnection; /** - * Copyright (c) 2023-2024 lax1dude, hoosiertransfer, ayunami2000. All Rights - * Reserved. + * Copyright (c) 2023-2024 lax1dude, ayunami2000. All Rights Reserved. * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * @@ -39,14 +31,14 @@ public class ServerPlatformSingleplayer { } public static void sendPacket(IPCPacketData packet) { - synchronized (MemoryConnection.serverToClientQueue) { + synchronized(MemoryConnection.serverToClientQueue) { MemoryConnection.serverToClientQueue.add(packet); } } public static IPCPacketData recievePacket() { - synchronized (MemoryConnection.clientToServerQueue) { - if (MemoryConnection.clientToServerQueue.size() > 0) { + synchronized(MemoryConnection.clientToServerQueue) { + if(MemoryConnection.clientToServerQueue.size() > 0) { return MemoryConnection.clientToServerQueue.remove(0); } } @@ -54,10 +46,10 @@ public class ServerPlatformSingleplayer { } public static List recieveAllPacket() { - synchronized (MemoryConnection.clientToServerQueue) { - if (MemoryConnection.clientToServerQueue.size() == 0) { + synchronized(MemoryConnection.clientToServerQueue) { + if(MemoryConnection.clientToServerQueue.size() == 0) { return null; - } else { + }else { List ret = new ArrayList(MemoryConnection.clientToServerQueue); MemoryConnection.clientToServerQueue.clear(); return ret; diff --git a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/sp/server/internal/lwjgl/CrashScreenPopup.java b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/sp/server/internal/lwjgl/CrashScreenPopup.java index e147bed..21c0018 100644 --- a/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/sp/server/internal/lwjgl/CrashScreenPopup.java +++ b/src/lwjgl/java/net/lax1dude/eaglercraft/v1_8/sp/server/internal/lwjgl/CrashScreenPopup.java @@ -13,21 +13,14 @@ import java.awt.Color; /** * Copyright (c) 2022-2024 lax1dude. All Rights Reserved. * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * @@ -47,7 +40,7 @@ public class CrashScreenPopup extends JFrame { setIconImage(Toolkit.getDefaultToolkit().getImage("icon32.png")); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); setAlwaysOnTop(true); - setTitle("EaglercraftL Integrated Server"); + setTitle("EaglercraftX Integrated Server"); setBounds(100, 100, 900, 600); setLocationByPlatform(true); contentPane = new JPanel(); @@ -55,12 +48,12 @@ public class CrashScreenPopup extends JFrame { setContentPane(contentPane); contentPane.setLayout(new BorderLayout(0, 0)); - + JScrollPane scrollPane = new JScrollPane(); scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); contentPane.add(scrollPane, BorderLayout.CENTER); - + txtrTest = new JTextArea(); txtrTest.setBackground(new Color(0, 0, 0)); txtrTest.setForeground(new Color(255, 255, 255)); diff --git a/src/main/java/net/hoosiertransfer/EaglerLUpdateThread.java b/src/main/java/net/hoosiertransfer/EaglerLUpdateThread.java deleted file mode 100644 index 9e1c9a6..0000000 --- a/src/main/java/net/hoosiertransfer/EaglerLUpdateThread.java +++ /dev/null @@ -1,96 +0,0 @@ -package net.hoosiertransfer; - -import java.util.List; - -import org.teavm.interop.Async; -import org.teavm.interop.AsyncCallback; -import org.teavm.jso.ajax.ProgressEvent; -import org.teavm.jso.ajax.XMLHttpRequest; -import org.teavm.jso.dom.events.Event; -import org.teavm.jso.dom.events.EventListener; -import org.teavm.jso.typedarrays.ArrayBuffer; - -import net.lax1dude.eaglercraft.v1_8.internal.teavm.TeaVMUtils; -import net.lax1dude.eaglercraft.v1_8.log4j.LogManager; -import net.lax1dude.eaglercraft.v1_8.log4j.Logger; -import net.lax1dude.eaglercraft.v1_8.update.UpdateService; - -public class EaglerLUpdateThread implements Runnable { - private static final Logger logger = LogManager.getLogger("EaglerLUpdateThread"); - - private final List urls; - - private static Thread updateThread = null; - - public EaglerLUpdateThread(List urls) { - this.urls = urls; - } - - @SuppressWarnings("finally") - @Override - public void run() { - for (String url : urls) { - byte[] data = downloadFile(url); - boolean success = false; - if (data != null) { - try { - if (new String(data).contains("File not found")) { - logger.error("File not found: {}", url); - continue; - } - UpdateService.addCertificateToSet(data); - success = true; - } catch (Exception e) { - logger.error("Failed to add certificate to set: {}", url); - } - } else { - logger.error("Failed to download file: {}", url); - } - if (success) { - break; - } - } - } - - @Async - private static native byte[] downloadFile(String url); - - private static void downloadFile(String url, AsyncCallback callback) { - final XMLHttpRequest xhr = XMLHttpRequest.create(); - xhr.open("GET", url); - xhr.setResponseType("arraybuffer"); - TeaVMUtils.addEventListener(xhr, "readystatechange", new EventListener() { - @Override - public void handleEvent(Event evt) { - if (xhr.getReadyState() == 4) { - if (xhr.getStatus() == 200) { - ArrayBuffer data = (ArrayBuffer) xhr.getResponse(); - callback.complete(TeaVMUtils.wrapByteArrayBuffer(data)); - } else { - logger.error("Got response code {} \"{}\" for url: {}", xhr.getStatus(), xhr.getStatusText(), - url); - callback.complete(null); - } - } - } - }); - TeaVMUtils.addEventListener(xhr, "error", new EventListener() { - @Override - public void handleEvent(ProgressEvent evt) { - logger.error("Exception caught downloading file: {}", url); - - } - }); - xhr.send(); - } - - public static void startClientUpdate(List urls) { - if (updateThread == null || !updateThread.isAlive()) { - updateThread = new Thread(new EaglerLUpdateThread(urls), "EaglerLUpdateThread"); - updateThread.setDaemon(true); - updateThread.start(); - } else { - logger.error("Tried to start a new download while the current download thread was still alive!"); - } - } -} diff --git a/src/main/java/net/lax1dude/eaglercraft/v1_8/Alert.java b/src/main/java/net/lax1dude/eaglercraft/v1_8/Alert.java deleted file mode 100644 index a9b0179..0000000 --- a/src/main/java/net/lax1dude/eaglercraft/v1_8/Alert.java +++ /dev/null @@ -1,8 +0,0 @@ -package net.lax1dude.eaglercraft.v1_8; - -import org.teavm.jso.JSBody; - -public class Alert { - @JSBody(params = { "message" }, script = "confirm(\"Do you want to reload the page to apply changes?\") ? location.reload() : alert(\"Changes will be applied on the next visit.\")") - public static native void alert(String message); -} diff --git a/src/main/java/net/lax1dude/eaglercraft/v1_8/EagRuntime.java b/src/main/java/net/lax1dude/eaglercraft/v1_8/EagRuntime.java index a80b6dd..4535d3a 100644 --- a/src/main/java/net/lax1dude/eaglercraft/v1_8/EagRuntime.java +++ b/src/main/java/net/lax1dude/eaglercraft/v1_8/EagRuntime.java @@ -14,7 +14,6 @@ import java.util.Calendar; import java.util.List; import java.util.function.Consumer; -import net.hoosiertransfer.EaglerLUpdateThread; import net.lax1dude.eaglercraft.v1_8.internal.EnumPlatformANGLE; import net.lax1dude.eaglercraft.v1_8.internal.EnumPlatformAgent; import net.lax1dude.eaglercraft.v1_8.internal.EnumPlatformOS; @@ -80,7 +79,7 @@ public class EagRuntime { EaglerXBungeeVersion.initialize(); EaglercraftGPU.warmUpCache(); List urls = EaglercraftVersion.enableUpdateService ? EaglercraftVersion.updateURLs : null; - EaglerLUpdateThread.startClientUpdate(urls); + // EaglerLUpdateThread.startClientUpdate(urls); } public static void destroy() { diff --git a/src/main/java/net/lax1dude/eaglercraft/v1_8/profile/EaglerProfile.java b/src/main/java/net/lax1dude/eaglercraft/v1_8/profile/EaglerProfile.java index 2dbca93..1f78260 100644 --- a/src/main/java/net/lax1dude/eaglercraft/v1_8/profile/EaglerProfile.java +++ b/src/main/java/net/lax1dude/eaglercraft/v1_8/profile/EaglerProfile.java @@ -4,8 +4,6 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import org.teavm.jso.JSBody; - import net.lax1dude.eaglercraft.v1_8.EagRuntime; import net.lax1dude.eaglercraft.v1_8.EaglerInputStream; import net.lax1dude.eaglercraft.v1_8.EaglerOutputStream; @@ -235,32 +233,6 @@ public class EaglerProfile { read(EagRuntime.getStorage("p")); } - @JSBody(params = { "name", - "data" }, script = "document.cookie = name + '=' + encodeURIComponent(data) + '; expires=Fri, 31 Dec 9999 23:59:59 GMT';") - public static native void setCookie(String name, String data); - - @JSBody(params = { - "name" }, script = "var value = '; ' + document.cookie; var parts = value.split('; ' + name + '='); if (parts.length == 2) return decodeURIComponent(parts.pop().split(';').shift()); return '';") - public static native String getCookie(String name); - - @JSBody(params = { "name", "data" }, script = "localStorage.setItem(name, data);") - public static native void setLocalStorage(String name, String data); - - @JSBody(params = { "name" }, script = "return localStorage.getItem(name);") - public static native String getLocalStorage(String name); - - public static void updateUsernameCookies() { - setCookie("username", username); - setLocalStorage("username", username); - } - - public static void updateUsernameCookieFromLocalStorage() { - String name = getLocalStorage("username"); - if (name != null && !name.isEmpty()) { - username = name; - } - } - public static void read(byte[] profileStorage) { if (profileStorage == null) { return; @@ -289,7 +261,6 @@ public class EaglerProfile { if (!loadUsername.isEmpty()) { username = loadUsername.replaceAll("[^A-Za-z0-9]", "_"); - updateUsernameCookies(); } clearCustomSkins(); diff --git a/src/main/java/net/lax1dude/eaglercraft/v1_8/socket/ConnectionHandshake.java b/src/main/java/net/lax1dude/eaglercraft/v1_8/socket/ConnectionHandshake.java index 1a24259..2c152bc 100644 --- a/src/main/java/net/lax1dude/eaglercraft/v1_8/socket/ConnectionHandshake.java +++ b/src/main/java/net/lax1dude/eaglercraft/v1_8/socket/ConnectionHandshake.java @@ -5,8 +5,6 @@ import java.io.DataOutputStream; import java.io.IOException; import java.nio.charset.StandardCharsets; -import org.teavm.jso.JSBody; - import net.lax1dude.eaglercraft.v1_8.ArrayUtils; import net.lax1dude.eaglercraft.v1_8.EaglerInputStream; import net.lax1dude.eaglercraft.v1_8.EaglerOutputStream; @@ -411,9 +409,6 @@ public class ConnectionHandshake { return b; } - @JSBody(params = {}, script = "window.onbeforeunload = null; location.reload();") - public static native void reloadPage(); - private static void showError(Minecraft mc, GuiConnecting connecting, GuiScreen scr, DataInputStream err, boolean v2) throws IOException { int errorCode = err.read(); @@ -429,11 +424,6 @@ public class ConnectionHandshake { RateLimitTracker.registerLockOut(PlatformNetworking.getCurrentURI()); mc.displayGuiScreen(GuiDisconnected.createRateLimitKick(scr)); } else if (errorCode == HandshakePacketTypes.SERVER_ERROR_CUSTOM_MESSAGE) { - if (ITextComponent.Serializer.jsonToComponent(errStr).getUnformattedText().toLowerCase() - .contains("reload page")) { - EaglerProfile.updateUsernameCookieFromLocalStorage(); - reloadPage(); - } mc.displayGuiScreen( new GuiDisconnected(scr, "connect.failed", ITextComponent.Serializer.jsonToComponent(errStr))); } else if (connecting != null && errorCode == HandshakePacketTypes.SERVER_ERROR_AUTHENTICATION_REQUIRED) { diff --git a/src/main/java/net/lax1dude/eaglercraft/v1_8/socket/EaglercraftNetworkManager.java b/src/main/java/net/lax1dude/eaglercraft/v1_8/socket/EaglercraftNetworkManager.java index 8b7cbc7..4025fd8 100644 --- a/src/main/java/net/lax1dude/eaglercraft/v1_8/socket/EaglercraftNetworkManager.java +++ b/src/main/java/net/lax1dude/eaglercraft/v1_8/socket/EaglercraftNetworkManager.java @@ -3,7 +3,6 @@ package net.lax1dude.eaglercraft.v1_8.socket; import java.io.IOException; import java.util.List; -import org.teavm.jso.JSBody; import net.lax1dude.eaglercraft.v1_8.internal.EnumEaglerConnectionState; import net.lax1dude.eaglercraft.v1_8.internal.PlatformNetworking; @@ -82,8 +81,6 @@ public class EaglercraftNetworkManager { return PlatformNetworking.playConnectionState(); } - @JSBody(params = {}, script = "window.onbeforeunload = null; location.reload();") - public static native void reloadPage(); public void closeChannel(ITextComponent reason) { PlatformNetworking.playDisconnect(); @@ -92,10 +89,6 @@ public class EaglercraftNetworkManager { } clientDisconnected = true; System.out.println("Closed channel: " + reason.getUnformattedText()); - if (reason.getUnformattedText().toLowerCase().contains("reload page")) { - EaglerProfile.updateUsernameCookieFromLocalStorage(); - reloadPage(); - } } public void setConnectionState(EnumConnectionState state) { diff --git a/src/main/java/net/minecraft/client/gui/GuiDisconnected.java b/src/main/java/net/minecraft/client/gui/GuiDisconnected.java index 6ac46d3..002bfa5 100644 --- a/src/main/java/net/minecraft/client/gui/GuiDisconnected.java +++ b/src/main/java/net/minecraft/client/gui/GuiDisconnected.java @@ -2,7 +2,6 @@ package net.minecraft.client.gui; import java.util.List; -import org.teavm.jso.JSBody; import net.lax1dude.eaglercraft.v1_8.profile.EaglerProfile; import net.lax1dude.eaglercraft.v1_8.sp.SingleplayerServerController; @@ -48,18 +47,11 @@ public class GuiDisconnected extends GuiScreen { private final GuiScreen parentScreen; private int field_175353_i; - @JSBody(params = {}, script = "window.onbeforeunload = null; location.reload();") - public static native void reloadPage(); public GuiDisconnected(GuiScreen screen, String reasonLocalizationKey, ITextComponent chatComp) { this.parentScreen = screen; this.reason = I18n.format(reasonLocalizationKey, new Object[0]); this.message = chatComp; - - if (reason.toLowerCase().contains("reload page")) { - EaglerProfile.updateUsernameCookieFromLocalStorage(); - reloadPage(); - } } /** diff --git a/src/main/java/net/minecraft/client/network/NetHandlerPlayClient.java b/src/main/java/net/minecraft/client/network/NetHandlerPlayClient.java index 3e21bd2..5cb35a6 100644 --- a/src/main/java/net/minecraft/client/network/NetHandlerPlayClient.java +++ b/src/main/java/net/minecraft/client/network/NetHandlerPlayClient.java @@ -88,6 +88,7 @@ import net.minecraft.entity.passive.EntityHorse; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.entity.projectile.EntityArrow; +import net.minecraft.entity.projectile.EntityDragonFireball; import net.minecraft.entity.projectile.EntityEgg; import net.minecraft.entity.projectile.EntityFishHook; import net.minecraft.entity.projectile.EntityLargeFireball; @@ -377,7 +378,12 @@ public class NetHandlerPlayClient implements INetHandlerPlayClient { (double) packetIn.getSpeedX() / 8000.0D, (double) packetIn.getSpeedY() / 8000.0D, (double) packetIn.getSpeedZ() / 8000.0D); packetIn.func_149002_g(0); - } else if (packetIn.getType() == 64) { + } else if (packetIn.getType() == 93) { + object = new EntityDragonFireball(this.clientWorldController, d0, d1, d2, + (double) packetIn.getSpeedX() / 8000.0D, (double) packetIn.getSpeedY() / 8000.0D, + (double) packetIn.getSpeedZ() / 8000.0D); + packetIn.func_149002_g(0); + } else if (packetIn.getType() == 64) { object = new EntitySmallFireball(this.clientWorldController, d0, d1, d2, (double) packetIn.getSpeedX() / 8000.0D, (double) packetIn.getSpeedY() / 8000.0D, (double) packetIn.getSpeedZ() / 8000.0D); diff --git a/src/main/java/net/minecraft/client/renderer/EntityRenderer.java b/src/main/java/net/minecraft/client/renderer/EntityRenderer.java index 1f4103f..efd70c0 100644 --- a/src/main/java/net/minecraft/client/renderer/EntityRenderer.java +++ b/src/main/java/net/minecraft/client/renderer/EntityRenderer.java @@ -71,6 +71,7 @@ import net.minecraft.entity.passive.EntityAnimal; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemMap; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.util.EntitySelectors; @@ -667,11 +668,15 @@ public class EntityRenderer implements IResourceManagerReloadListener { } + private void renderHand(float partialTicks, int xOffset) { + this.renderHand(partialTicks, xOffset, false); + } + /** * + * Render player hand */ - private void renderHand(float partialTicks, int xOffset) { + private void renderHand(float partialTicks, int xOffset, boolean leftHand) { if (!this.debugView) { if (DynamicLightsStateManager.isInDynamicLightsPass()) { DynamicLightsStateManager.reportForwardRenderObjectPosition2(0.0f, 0.0f, 0.0f); @@ -702,7 +707,15 @@ public class EntityRenderer implements IResourceManagerReloadListener { if (this.mc.gameSettings.thirdPersonView == 0 && !flag && !this.mc.gameSettings.hideGUI && !this.mc.playerController.isSpectator()) { this.enableLightmap(); + if ((this.itemRenderer.itemToRender == null || !(this.itemRenderer.itemToRender.getItem() instanceof ItemMap)) && leftHand) { + GlStateManager.scale(-1, 1, 1); + GlStateManager.disableCull(); + + } this.itemRenderer.renderItemInFirstPerson(partialTicks); + if ((this.itemRenderer.itemToRender == null || !(this.itemRenderer.itemToRender.getItem() instanceof ItemMap)) && leftHand) { + GlStateManager.enableCull(); + } this.disableLightmap(); } diff --git a/src/main/java/net/minecraft/client/renderer/ItemRenderer.java b/src/main/java/net/minecraft/client/renderer/ItemRenderer.java index 9957ecf..8bc2365 100644 --- a/src/main/java/net/minecraft/client/renderer/ItemRenderer.java +++ b/src/main/java/net/minecraft/client/renderer/ItemRenderer.java @@ -66,7 +66,7 @@ public class ItemRenderer { private static final ResourceLocation RES_MAP_BACKGROUND = new ResourceLocation("textures/map/map_background.png"); private static final ResourceLocation RES_UNDERWATER_OVERLAY = new ResourceLocation("textures/misc/underwater.png"); private final Minecraft mc; - private ItemStack itemToRender; + public ItemStack itemToRender; private float equippedProgress; private float prevEquippedProgress; private final RenderManager renderManager; diff --git a/src/main/java/net/minecraft/client/renderer/entity/RenderAreaEffectCloud.java b/src/main/java/net/minecraft/client/renderer/entity/RenderAreaEffectCloud.java new file mode 100644 index 0000000..a452bca --- /dev/null +++ b/src/main/java/net/minecraft/client/renderer/entity/RenderAreaEffectCloud.java @@ -0,0 +1,28 @@ +package net.minecraft.client.renderer.entity; + +import net.minecraft.entity.EntityAreaEffectCloud; +import net.minecraft.util.ResourceLocation; + +public class RenderAreaEffectCloud extends Render +{ + public RenderAreaEffectCloud(RenderManager manager) + { + super(manager); + } + + /** + * Renders the desired {@code T} type Entity. + */ + public void doRender(EntityAreaEffectCloud entity, double x, double y, double z, float entityYaw, float partialTicks) + { + super.doRender(entity, x, y, z, entityYaw, partialTicks); + } + + /** + * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture. + */ + protected ResourceLocation getEntityTexture(EntityAreaEffectCloud entity) + { + return null; + } +} diff --git a/src/main/java/net/minecraft/client/renderer/entity/RenderDragonFireball.java b/src/main/java/net/minecraft/client/renderer/entity/RenderDragonFireball.java new file mode 100644 index 0000000..cd4f7d6 --- /dev/null +++ b/src/main/java/net/minecraft/client/renderer/entity/RenderDragonFireball.java @@ -0,0 +1,56 @@ +package net.minecraft.client.renderer.entity; + +import net.lax1dude.eaglercraft.v1_8.opengl.GlStateManager; +import net.lax1dude.eaglercraft.v1_8.opengl.WorldRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.vertex.DefaultVertexFormats; +import net.minecraft.entity.projectile.EntityDragonFireball; +import net.minecraft.util.ResourceLocation; + +public class RenderDragonFireball extends Render +{ + private static final ResourceLocation DRAGON_FIREBALL_TEXTURE = new ResourceLocation("textures/entity/enderdragon/dragon_fireball.png"); + + public RenderDragonFireball(RenderManager renderManagerIn) + { + super(renderManagerIn); + } + + /** + * Renders the desired {@code T} type Entity. + */ + public void doRender(EntityDragonFireball entity, double x, double y, double z, float entityYaw, float partialTicks) + { + GlStateManager.pushMatrix(); + this.bindEntityTexture(entity); + GlStateManager.translate((float)x, (float)y, (float)z); + GlStateManager.enableRescaleNormal(); + GlStateManager.scale(2.0F, 2.0F, 2.0F); + Tessellator tessellator = Tessellator.getInstance(); + WorldRenderer vertexbuffer = tessellator.getWorldRenderer(); + float f = 1.0F; + float f1 = 0.5F; + float f2 = 0.25F; + GlStateManager.rotate(180.0F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); + GlStateManager.rotate((float)(this.renderManager.options.thirdPersonView == 2 ? -1 : 1) * -this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); + + vertexbuffer.begin(7, DefaultVertexFormats.POSITION_TEX_NORMAL); + vertexbuffer.pos(-0.5D, -0.25D, 0.0D).tex(0.0D, 1.0D).normal(0.0F, 1.0F, 0.0F).endVertex(); + vertexbuffer.pos(0.5D, -0.25D, 0.0D).tex(1.0D, 1.0D).normal(0.0F, 1.0F, 0.0F).endVertex(); + vertexbuffer.pos(0.5D, 0.75D, 0.0D).tex(1.0D, 0.0D).normal(0.0F, 1.0F, 0.0F).endVertex(); + vertexbuffer.pos(-0.5D, 0.75D, 0.0D).tex(0.0D, 0.0D).normal(0.0F, 1.0F, 0.0F).endVertex(); + tessellator.draw(); + + GlStateManager.disableRescaleNormal(); + GlStateManager.popMatrix(); + super.doRender(entity, x, y, z, entityYaw, partialTicks); + } + + /** + * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture. + */ + protected ResourceLocation getEntityTexture(EntityDragonFireball entity) + { + return DRAGON_FIREBALL_TEXTURE; + } +} diff --git a/src/main/java/net/minecraft/client/renderer/entity/RenderManager.java b/src/main/java/net/minecraft/client/renderer/entity/RenderManager.java index 6cfa25b..e5d9492 100644 --- a/src/main/java/net/minecraft/client/renderer/entity/RenderManager.java +++ b/src/main/java/net/minecraft/client/renderer/entity/RenderManager.java @@ -41,6 +41,7 @@ import net.minecraft.client.settings.GameSettings; import net.minecraft.crash.CrashReport; import net.minecraft.crash.CrashReportCategory; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityAreaEffectCloud; import net.minecraft.entity.EntityLeashKnot; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.ai.EntityMinecartMobSpawner; @@ -93,6 +94,7 @@ import net.minecraft.entity.passive.EntitySquid; import net.minecraft.entity.passive.EntityVillager; import net.minecraft.entity.passive.EntityWolf; import net.minecraft.entity.projectile.EntityArrow; +import net.minecraft.entity.projectile.EntityDragonFireball; import net.minecraft.entity.projectile.EntityEgg; import net.minecraft.entity.projectile.EntityFishHook; import net.minecraft.entity.projectile.EntityLargeFireball; @@ -214,6 +216,7 @@ public class RenderManager { this.entityRenderMap.put(EntityFireworkRocket.class, new RenderSnowball(this, Items.fireworks, itemRendererIn)); this.entityRenderMap.put(EntityLargeFireball.class, new RenderFireball(this, 2.0F)); this.entityRenderMap.put(EntitySmallFireball.class, new RenderFireball(this, 0.5F)); + this.entityRenderMap.put(EntityDragonFireball.class, new RenderDragonFireball(this)); this.entityRenderMap.put(EntityWitherSkull.class, new RenderWitherSkull(this)); this.entityRenderMap.put(EntityItem.class, new RenderEntityItem(this, itemRendererIn)); this.entityRenderMap.put(EntityXPOrb.class, new RenderXPOrb(this)); @@ -225,6 +228,7 @@ public class RenderManager { this.entityRenderMap.put(EntityMinecart.class, new RenderMinecart(this)); this.entityRenderMap.put(EntityBoat.class, new RenderBoat(this)); this.entityRenderMap.put(EntityFishHook.class, new RenderFish(this)); + this.entityRenderMap.put(EntityAreaEffectCloud.class, new RenderAreaEffectCloud(this)); this.entityRenderMap.put(EntityHorse.class, new RenderHorse(this, new ModelHorse(), 0.75F)); this.entityRenderMap.put(EntityLightningBolt.class, new RenderLightningBolt(this)); this.playerRenderer = new RenderPlayer(this); diff --git a/src/main/java/net/minecraft/client/settings/GameSettings.java b/src/main/java/net/minecraft/client/settings/GameSettings.java index 7c59cb4..5d0d0f7 100644 --- a/src/main/java/net/minecraft/client/settings/GameSettings.java +++ b/src/main/java/net/minecraft/client/settings/GameSettings.java @@ -17,7 +17,6 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import net.lax1dude.eaglercraft.v1_8.Alert; import net.lax1dude.eaglercraft.v1_8.ArrayUtils; import net.lax1dude.eaglercraft.v1_8.EagRuntime; import net.lax1dude.eaglercraft.v1_8.EaglerInputStream; @@ -1240,7 +1239,7 @@ public class GameSettings { printwriter.close(); if (shouldReloadPage) { - Alert.alert("Please restart the game to apply the changes"); + // Alert.alert("Please restart the game to apply the changes"); shouldReloadPage = false; } return bao.toByteArray(); diff --git a/src/main/java/net/minecraft/entity/EntityAreaEffectCloud.java b/src/main/java/net/minecraft/entity/EntityAreaEffectCloud.java new file mode 100644 index 0000000..29cbaf4 --- /dev/null +++ b/src/main/java/net/minecraft/entity/EntityAreaEffectCloud.java @@ -0,0 +1,493 @@ +package net.minecraft.entity; + +import java.util.List; +import java.util.Map; +import java.util.UUID; + +import javax.annotation.Nullable; + +import java.util.Map.Entry; +import java.util.Iterator; + +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; + +import net.lax1dude.eaglercraft.v1_8.EaglercraftUUID; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.potion.PotionHelper; +import net.minecraft.potion.PotionUtils; +import net.minecraft.util.EnumParticleTypes; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.MathHelper; +import net.minecraft.world.World; +import net.minecraft.world.WorldServer; + +public class EntityAreaEffectCloud extends Entity { + private Potion potion; + private final List effects; + private final Map reapplicationDelayMap; + private int duration; + private int waitTime; + private int reapplicationDelay; + private boolean colorSet; + private int durationOnUse; + private float radiusOnUse; + private float radiusPerTick; + private EntityLivingBase owner; + private EaglercraftUUID ownerUniqueId; + + private final static int RADIUS = 5; + private final static int COLOR = 6; + private final static int IGNORE_RADIUS = 7; + private final static int PARTICLE = 8; + + public EntityAreaEffectCloud(World worldIn) + { + super(worldIn); + this.potion = null; + this.effects = Lists.newArrayList(); + this.reapplicationDelayMap = Maps.newHashMap(); + this.duration = 600; + this.waitTime = 20; + this.reapplicationDelay = 20; + this.noClip = true; + this.isImmuneToFire = true; + this.setRadius(3.0F); + } + + public EntityAreaEffectCloud(World worldIn, double x, double y, double z) + { + this(worldIn); + this.setPosition(x, y, z); + } + + protected void entityInit() + { + this.dataWatcher.addObject(COLOR, Integer.valueOf(0)); + this.dataWatcher.addObject(RADIUS, Float.valueOf(0.5F)); + this.dataWatcher.addObject(IGNORE_RADIUS, Integer.valueOf(0)); + this.dataWatcher.addObject(PARTICLE, Integer.valueOf(EnumParticleTypes.SPELL_MOB.getParticleID())); + } + + public void setRadius(float radiusIn) + { + double d0 = this.posX; + double d1 = this.posY; + double d2 = this.posZ; + this.setSize(radiusIn * 2.0F, 0.5F); + this.setPosition(d0, d1, d2); + + if (!this.worldObj.isRemote) + { + this.dataWatcher.updateObject(5, Float.valueOf(radiusIn)); + } + } + + public float getRadius() + { + return ((Float)this.dataWatcher.getWatchableObjectFloat(5)).floatValue(); + } + + public void setPotion(Potion potionIn) + { + this.potion = potionIn; + + if (!this.colorSet) + { + if (potionIn == null && this.effects.isEmpty()) + { + this.dataWatcher.updateObject(COLOR, Integer.valueOf(0)); + } + else + { + this.dataWatcher.updateObject(COLOR, Integer.valueOf(PotionHelper.calcPotionLiquidColor(this.effects))); + } + } + } + + public void addEffect(PotionEffect effect) + { + this.effects.add(effect); + + if (!this.colorSet) + { + this.dataWatcher.updateObject(COLOR, Integer.valueOf(PotionHelper.calcPotionLiquidColor(this.effects))); + } + } + + public int getColor() + { + return ((Integer)this.dataWatcher.getWatchableObjectInt(COLOR)).intValue(); + } + + public void setColor(int colorIn) + { + this.colorSet = true; + this.dataWatcher.updateObject(COLOR, Integer.valueOf(colorIn)); + } + + public EnumParticleTypes getParticle() + { + return EnumParticleTypes.getParticleFromId(((Integer)this.dataWatcher.getWatchableObjectInt(PARTICLE)).intValue()); + } + + public void setParticle(EnumParticleTypes particleIn) + { + this.dataWatcher.updateObject(PARTICLE, Integer.valueOf(particleIn.getParticleID())); + } + + /** + * Sets if the radius should be ignored, and the effect should be shown in a single point instead of an area + */ + protected void setIgnoreRadius(boolean ignoreRadius) + { + this.dataWatcher.updateObject(IGNORE_RADIUS, Integer.valueOf(ignoreRadius ? 1 : 0)); + } + + /** + * Returns true if the radius should be ignored, and the effect should be shown in a single point instead of an area + */ + public boolean shouldIgnoreRadius() + { + return ((Integer)this.dataWatcher.getWatchableObjectInt(IGNORE_RADIUS)).intValue() == 1; + } + + public int getDuration() + { + return this.duration; + } + + public void setDuration(int durationIn) + { + this.duration = durationIn; + } + + public void onUpdate() + { + super.onUpdate(); + boolean flag = this.shouldIgnoreRadius(); + float f = this.getRadius(); + + if (this.worldObj.isRemote) + { + EnumParticleTypes enumparticletypes = this.getParticle(); + + if (flag) + { + if (this.rand.nextBoolean()) + { + int[] aint = new int[enumparticletypes.getArgumentCount()]; + + for (int i = 0; i < 2; ++i) + { + float f1 = this.rand.nextFloat() * ((float)Math.PI * 2F); + float f2 = MathHelper.sqrt_float(this.rand.nextFloat()) * 0.2F; + float f3 = MathHelper.cos(f1) * f2; + float f4 = MathHelper.sin(f1) * f2; + + if (enumparticletypes == EnumParticleTypes.SPELL_MOB) + { + int j = this.rand.nextBoolean() ? 16777215 : this.getColor(); + int k = j >> 16 & 255; + int l = j >> 8 & 255; + int i1 = j & 255; + this.worldObj.spawnParticle(EnumParticleTypes.SPELL_MOB, this.posX + (double)f3, this.posY, this.posZ + (double)f4, (double)((float)k / 255.0F), (double)((float)l / 255.0F), (double)((float)i1 / 255.0F), new int[0]); + } + else + { + this.worldObj.spawnParticle(enumparticletypes, this.posX + (double)f3, this.posY, this.posZ + (double)f4, 0.0D, 0.0D, 0.0D, aint); + } + } + } + } + else + { + float f5 = (float)Math.PI * f * f; + int[] aint1 = new int[enumparticletypes.getArgumentCount()]; + + for (int k1 = 0; (float)k1 < f5; ++k1) + { + float f6 = this.rand.nextFloat() * ((float)Math.PI * 2F); + float f7 = MathHelper.sqrt_float(this.rand.nextFloat()) * f; + float f8 = MathHelper.cos(f6) * f7; + float f9 = MathHelper.sin(f6) * f7; + + if (enumparticletypes == EnumParticleTypes.SPELL_MOB) + { + int l1 = this.getColor(); + int i2 = l1 >> 16 & 255; + int j2 = l1 >> 8 & 255; + int j1 = l1 & 255; + this.worldObj.spawnParticle(EnumParticleTypes.SPELL_MOB, this.posX + (double)f8, this.posY, this.posZ + (double)f9, (double)((float)i2 / 255.0F), (double)((float)j2 / 255.0F), (double)((float)j1 / 255.0F), new int[0]); + } + else + { + this.worldObj.spawnParticle(enumparticletypes, this.posX + (double)f8, this.posY, this.posZ + (double)f9, (0.5D - this.rand.nextDouble()) * 0.15D, 0.009999999776482582D, (0.5D - this.rand.nextDouble()) * 0.15D, aint1); + } + } + } + } + else + { + if (this.ticksExisted >= this.waitTime + this.duration) + { + this.setDead(); + return; + } + + boolean flag1 = this.ticksExisted < this.waitTime; + + if (flag != flag1) + { + this.setIgnoreRadius(flag1); + } + + if (flag1) + { + return; + } + + if (this.radiusPerTick != 0.0F) + { + f += this.radiusPerTick; + + if (f < 0.5F) + { + this.setDead(); + return; + } + + this.setRadius(f); + } + + if (this.ticksExisted % 5 == 0) + { + Iterator> iterator = this.reapplicationDelayMap.entrySet().iterator(); + + while (iterator.hasNext()) + { + Entry entry = (Entry)iterator.next(); + + if (this.ticksExisted >= ((Integer)entry.getValue()).intValue()) + { + iterator.remove(); + } + } + + List potions = Lists.newArrayList(); + + // for (PotionEffect potioneffect1 : this.potion.getEffects()) + // { + // potions.add(new PotionEffect(potioneffect1.getPotion(), potioneffect1.getDuration() / 4, potioneffect1.getAmplifier(), potioneffect1.getIsAmbient(), potioneffect1.doesShowParticles())); + // } + + potions.addAll(this.effects); + + if (potions.isEmpty()) + { + this.reapplicationDelayMap.clear(); + } + else + { + List list = this.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, this.getEntityBoundingBox()); + + if (!list.isEmpty()) + { + for (EntityLivingBase entitylivingbase : list) + { + if (!this.reapplicationDelayMap.containsKey(entitylivingbase) && entitylivingbase.canBeHitWithPotion()) + { + double d0 = entitylivingbase.posX - this.posX; + double d1 = entitylivingbase.posZ - this.posZ; + double d2 = d0 * d0 + d1 * d1; + + if (d2 <= (double)(f * f)) + { + this.reapplicationDelayMap.put(entitylivingbase, Integer.valueOf(this.ticksExisted + this.reapplicationDelay)); + + for (PotionEffect potioneffect : potions) + { + int i = potioneffect.getPotionID(); + + if (Potion.potionTypes[i].isInstant()) + { + Potion.potionTypes[i].affectEntity(this, this.getOwner(), entitylivingbase, potioneffect.getAmplifier(), 0.5D); + } + else + { + entitylivingbase.addPotionEffect(new PotionEffect(potioneffect)); + } + } + + if (this.radiusOnUse != 0.0F) + { + f += this.radiusOnUse; + + if (f < 0.5F) + { + this.setDead(); + return; + } + + this.setRadius(f); + } + + if (this.durationOnUse != 0) + { + this.duration += this.durationOnUse; + + if (this.duration <= 0) + { + this.setDead(); + return; + } + } + } + } + } + } + } + } + } + } + + public void setRadiusOnUse(float radiusOnUseIn) + { + this.radiusOnUse = radiusOnUseIn; + } + + public void setRadiusPerTick(float radiusPerTickIn) + { + this.radiusPerTick = radiusPerTickIn; + } + + public void setWaitTime(int waitTimeIn) + { + this.waitTime = waitTimeIn; + } + + public void setOwner(@Nullable EntityLivingBase ownerIn) + { + this.owner = ownerIn; + this.ownerUniqueId = ownerIn == null ? null : ownerIn.getUniqueID(); + } + + @Nullable + public EntityLivingBase getOwner() + { + if (this.owner == null && this.ownerUniqueId != null && this.worldObj instanceof WorldServer) + { + Entity entity = ((WorldServer)this.worldObj).getEntityFromUuid(this.ownerUniqueId); + + if (entity instanceof EntityLivingBase) + { + this.owner = (EntityLivingBase)entity; + } + } + + return this.owner; + } + + protected void readEntityFromNBT(NBTTagCompound compound) + { + this.ticksExisted = compound.getInteger("Age"); + this.duration = compound.getInteger("Duration"); + this.waitTime = compound.getInteger("WaitTime"); + this.reapplicationDelay = compound.getInteger("ReapplicationDelay"); + this.durationOnUse = compound.getInteger("DurationOnUse"); + this.radiusOnUse = compound.getFloat("RadiusOnUse"); + this.radiusPerTick = compound.getFloat("RadiusPerTick"); + this.setRadius(compound.getFloat("Radius")); + this.ownerUniqueId = compound.getUniqueId("OwnerUUID"); + + if (compound.hasKey("Particle", 8)) + { + EnumParticleTypes enumparticletypes = EnumParticleTypes.getByName(compound.getString("Particle")); + + if (enumparticletypes != null) + { + this.setParticle(enumparticletypes); + } + } + + if (compound.hasKey("Color", 99)) + { + this.setColor(compound.getInteger("Color")); + } + + if (compound.hasKey("Potion", 8)) + { + this.setPotion(PotionUtils.getPotionTypeFromNBT(compound)); + } + + if (compound.hasKey("Effects", 9)) + { + NBTTagList nbttaglist = compound.getTagList("Effects", 10); + this.effects.clear(); + + for (int i = 0; i < nbttaglist.tagCount(); ++i) + { + PotionEffect potioneffect = PotionEffect.readCustomPotionEffectFromNBT(nbttaglist.getCompoundTagAt(i)); + + if (potioneffect != null) + { + this.addEffect(potioneffect); + } + } + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + protected void writeEntityToNBT(NBTTagCompound compound) + { + compound.setInteger("Age", this.ticksExisted); + compound.setInteger("Duration", this.duration); + compound.setInteger("WaitTime", this.waitTime); + compound.setInteger("ReapplicationDelay", this.reapplicationDelay); + compound.setInteger("DurationOnUse", this.durationOnUse); + compound.setFloat("RadiusOnUse", this.radiusOnUse); + compound.setFloat("RadiusPerTick", this.radiusPerTick); + compound.setFloat("Radius", this.getRadius()); + compound.setString("Particle", this.getParticle().getParticleName()); + + if (this.ownerUniqueId != null) + { + compound.setUniqueId("OwnerUUID", this.ownerUniqueId); + } + + if (this.colorSet) + { + compound.setInteger("Color", this.getColor()); + } + + if (this.potion != null) + { + compound.setInteger("Potion", this.potion.getId()); + } + + if (!this.effects.isEmpty()) + { + NBTTagList nbttaglist = new NBTTagList(); + + for (PotionEffect potioneffect : this.effects) + { + nbttaglist.appendTag(potioneffect.writeCustomPotionEffectToNBT(new NBTTagCompound())); + } + + compound.setTag("Effects", nbttaglist); + } + } + + public void onDataWatcherUpdate(int i) { + if (i == RADIUS) { + this.setRadius(this.getRadius()); + } + + super.onDataWatcherUpdate(i); + } +} diff --git a/src/main/java/net/minecraft/entity/EntityList.java b/src/main/java/net/minecraft/entity/EntityList.java index 323d6c0..9f7f3c1 100644 --- a/src/main/java/net/minecraft/entity/EntityList.java +++ b/src/main/java/net/minecraft/entity/EntityList.java @@ -67,6 +67,7 @@ import net.minecraft.entity.passive.EntityVillager; import net.minecraft.entity.passive.EntityWolf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityArrow; +import net.minecraft.entity.projectile.EntityDragonFireball; import net.minecraft.entity.projectile.EntityEgg; import net.minecraft.entity.projectile.EntityLargeFireball; import net.minecraft.entity.projectile.EntityPotion; @@ -335,6 +336,7 @@ public class EntityList { static { addMapping(EntityItem.class, EntityItem::new, "Item", 1); addMapping(EntityXPOrb.class, EntityXPOrb::new, "XPOrb", 2); + addMapping(EntityAreaEffectCloud.class, EntityAreaEffectCloud::new, "AreaEffectCloud", 3); addMapping(EntityEgg.class, EntityEgg::new, "ThrownEgg", 7); addMapping(EntityLeashKnot.class, EntityLeashKnot::new, "LeashKnot", 8); addMapping(EntityPainting.class, EntityPainting::new, "Painting", 9); @@ -351,6 +353,7 @@ public class EntityList { addMapping(EntityTNTPrimed.class, EntityTNTPrimed::new, "PrimedTnt", 20); addMapping(EntityFallingBlock.class, EntityFallingBlock::new, "FallingSand", 21); addMapping(EntityFireworkRocket.class, EntityFireworkRocket::new, "FireworksRocketEntity", 22); + addMapping(EntityDragonFireball.class, EntityDragonFireball::new, "DragonFireball", 26); addMapping(EntityArmorStand.class, EntityArmorStand::new, "ArmorStand", 30); addMapping(EntityBoat.class, EntityBoat::new, "Boat", 41); addMapping(EntityMinecartEmpty.class, EntityMinecartEmpty::new, diff --git a/src/main/java/net/minecraft/entity/EntityLivingBase.java b/src/main/java/net/minecraft/entity/EntityLivingBase.java index ec9facd..a528b0d 100644 --- a/src/main/java/net/minecraft/entity/EntityLivingBase.java +++ b/src/main/java/net/minecraft/entity/EntityLivingBase.java @@ -2226,4 +2226,8 @@ public abstract class EntityLivingBase extends Entity { } return f; } + + public boolean canBeHitWithPotion() { + return true; + } } \ No newline at end of file diff --git a/src/main/java/net/minecraft/entity/EntityTrackerEntry.java b/src/main/java/net/minecraft/entity/EntityTrackerEntry.java index 78cb5ca..cf8da9b 100644 --- a/src/main/java/net/minecraft/entity/EntityTrackerEntry.java +++ b/src/main/java/net/minecraft/entity/EntityTrackerEntry.java @@ -26,6 +26,7 @@ import net.minecraft.entity.passive.IAnimals; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.projectile.EntityArrow; +import net.minecraft.entity.projectile.EntityDragonFireball; import net.minecraft.entity.projectile.EntityEgg; import net.minecraft.entity.projectile.EntityFireball; import net.minecraft.entity.projectile.EntityFishHook; @@ -528,6 +529,8 @@ public class EntityTrackerEntry { byte b0 = 63; if (this.trackedEntity instanceof EntitySmallFireball) { b0 = 64; + } else if (this.trackedEntity instanceof EntityDragonFireball) { + b0 = 93; } else if (this.trackedEntity instanceof EntityWitherSkull) { b0 = 66; } diff --git a/src/main/java/net/minecraft/entity/item/EntityArmorStand.java b/src/main/java/net/minecraft/entity/item/EntityArmorStand.java index 60f2af8..25b71c5 100644 --- a/src/main/java/net/minecraft/entity/item/EntityArmorStand.java +++ b/src/main/java/net/minecraft/entity/item/EntityArmorStand.java @@ -822,4 +822,9 @@ public class EntityArmorStand extends EntityLivingBase { public boolean canBeCollidedWith() { return super.canBeCollidedWith() && !this.func_181026_s(); } + + @Override + public boolean canBeHitWithPotion() { + return false; + } } \ No newline at end of file diff --git a/src/main/java/net/minecraft/entity/projectile/EntityDragonFireball.java b/src/main/java/net/minecraft/entity/projectile/EntityDragonFireball.java new file mode 100644 index 0000000..6db217b --- /dev/null +++ b/src/main/java/net/minecraft/entity/projectile/EntityDragonFireball.java @@ -0,0 +1,95 @@ +package net.minecraft.entity.projectile; + +import java.util.List; +import net.minecraft.entity.EntityAreaEffectCloud; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.DamageSource; +import net.minecraft.util.EnumParticleTypes; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.RayTraceResult; +import net.minecraft.world.World; + +public class EntityDragonFireball extends EntityFireball +{ + public EntityDragonFireball(World worldIn) + { + super(worldIn); + this.setSize(0.3125F, 0.3125F); + } + + public EntityDragonFireball(World worldIn, double x, double y, double z, double accelX, double accelY, double accelZ) + { + super(worldIn, x, y, z, accelX, accelY, accelZ); + this.setSize(0.3125F, 0.3125F); + } + + public EntityDragonFireball(World worldIn, EntityLivingBase shooter, double accelX, double accelY, double accelZ) + { + super(worldIn, shooter, accelX, accelY, accelZ); + this.setSize(0.3125F, 0.3125F); + } + + /** + * Called when this EntityFireball hits a block or entity. + */ + protected void onImpact(RayTraceResult result) + { + if (!this.worldObj.isRemote) + { + List list = this.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, this.getEntityBoundingBox().expand(4.0D, 2.0D, 4.0D)); + EntityAreaEffectCloud entityareaeffectcloud = new EntityAreaEffectCloud(this.worldObj, this.posX, this.posY, this.posZ); + entityareaeffectcloud.setOwner(this.shootingEntity); + entityareaeffectcloud.setParticle(EnumParticleTypes.DRAGON_BREATH); + entityareaeffectcloud.setRadius(3.0F); + entityareaeffectcloud.setDuration(2400); + entityareaeffectcloud.setRadiusPerTick((7.0F - entityareaeffectcloud.getRadius()) / (float)entityareaeffectcloud.getDuration()); + entityareaeffectcloud.addEffect(new PotionEffect(Potion.harm.getId(), 1, 1)); + + if (!list.isEmpty()) + { + for (EntityLivingBase entitylivingbase : list) + { + double d0 = this.getDistanceSqToEntity(entitylivingbase); + + if (d0 < 16.0D) + { + entityareaeffectcloud.setPosition(entitylivingbase.posX, entitylivingbase.posY, entitylivingbase.posZ); + break; + } + } + } + + this.worldObj.playAuxSFX(2006, new BlockPos(this.posX, this.posY, this.posZ), 0); + this.worldObj.spawnEntityInWorld(entityareaeffectcloud); + this.setDead(); + } + } + + /** + * Returns true if other Entities should be prevented from moving through this Entity. + */ + public boolean canBeCollidedWith() + { + return false; + } + + /** + * Called when the entity is attacked. + */ + public boolean attackEntityFrom(DamageSource source, float amount) + { + return false; + } + + protected EnumParticleTypes getParticleType() + { + return EnumParticleTypes.DRAGON_BREATH; + } + + protected boolean isFireballFiery() + { + return false; + } +} diff --git a/src/main/java/net/minecraft/entity/projectile/EntityPotion.java b/src/main/java/net/minecraft/entity/projectile/EntityPotion.java index 5b27de6..7234c1e 100644 --- a/src/main/java/net/minecraft/entity/projectile/EntityPotion.java +++ b/src/main/java/net/minecraft/entity/projectile/EntityPotion.java @@ -121,24 +121,27 @@ public class EntityPotion extends EntityThrowable { if (!list1.isEmpty()) { for (int k = 0, l = list1.size(); k < l; ++k) { EntityLivingBase entitylivingbase = (EntityLivingBase) list1.get(k); - double d0 = this.getDistanceSqToEntity(entitylivingbase); - if (d0 < 16.0D) { - double d1 = 1.0D - Math.sqrt(d0) / 4.0D; - if (entitylivingbase == movingobjectposition.entityHit) { - d1 = 1.0D; - } + if (entitylivingbase.canBeHitWithPotion()) { + double d0 = this.getDistanceSqToEntity(entitylivingbase); + if (d0 < 16.0D) { + double d1 = 1.0D - Math.sqrt(d0) / 4.0D; + if (entitylivingbase == movingobjectposition.entityHit) { + d1 = 1.0D; + } - for (int m = 0, n = list.size(); m < n; ++m) { - PotionEffect potioneffect = (PotionEffect) list.get(m); - int i = potioneffect.getPotionID(); - if (Potion.potionTypes[i].isInstant()) { - Potion.potionTypes[i].affectEntity(this, this.getThrower(), entitylivingbase, - potioneffect.getAmplifier(), d1); - } else { - int j = (int) (d1 * (double) potioneffect.getDuration() + 0.5D); - if (j > 20) { - entitylivingbase - .addPotionEffect(new PotionEffect(i, j, potioneffect.getAmplifier())); + for (int m = 0, n = list.size(); m < n; ++m) { + PotionEffect potioneffect = (PotionEffect) list.get(m); + int i = potioneffect.getPotionID(); + if (Potion.potionTypes[i].isInstant()) { + Potion.potionTypes[i].affectEntity(this, this.getThrower(), entitylivingbase, + potioneffect.getAmplifier(), d1); + } else { + int j = (int) (d1 * (double) potioneffect.getDuration() + 0.5D); + if (j > 20) { + entitylivingbase + .addPotionEffect( + new PotionEffect(i, j, potioneffect.getAmplifier())); + } } } } diff --git a/src/main/java/net/minecraft/nbt/NBTTagCompound.java b/src/main/java/net/minecraft/nbt/NBTTagCompound.java index 030ffe3..e3d786b 100644 --- a/src/main/java/net/minecraft/nbt/NBTTagCompound.java +++ b/src/main/java/net/minecraft/nbt/NBTTagCompound.java @@ -10,6 +10,7 @@ import java.util.concurrent.Callable; import com.google.common.collect.Maps; +import net.lax1dude.eaglercraft.v1_8.EaglercraftUUID; import net.minecraft.crash.CrashReport; import net.minecraft.crash.CrashReportCategory; import net.minecraft.util.ReportedException; @@ -195,6 +196,17 @@ public class NBTTagCompound extends NBTBase { this.setByte(key, (byte) (value ? 1 : 0)); } + public void setUniqueId(String key, EaglercraftUUID value) + { + this.setLong(key + "Most", value.getMostSignificantBits()); + this.setLong(key + "Least", value.getLeastSignificantBits()); + } + + public EaglercraftUUID getUniqueId(String key) + { + return new EaglercraftUUID(this.getLong(key + "Most"), this.getLong(key + "Least")); + } + /** * + * gets a generic tag with the specified name diff --git a/src/main/java/net/minecraft/potion/PotionUtils.java b/src/main/java/net/minecraft/potion/PotionUtils.java new file mode 100644 index 0000000..71621af --- /dev/null +++ b/src/main/java/net/minecraft/potion/PotionUtils.java @@ -0,0 +1,12 @@ +package net.minecraft.potion; + +import javax.annotation.Nullable; + +import net.minecraft.nbt.NBTTagCompound; + +public class PotionUtils { + public static Potion getPotionTypeFromNBT(@Nullable NBTTagCompound tag) + { + return tag == null ? null : Potion.potionTypes[(tag.getInteger("Id"))]; + } +} diff --git a/src/main/java/net/minecraft/util/EnumParticleTypes.java b/src/main/java/net/minecraft/util/EnumParticleTypes.java index 8ff5bce..7ffc228 100644 --- a/src/main/java/net/minecraft/util/EnumParticleTypes.java +++ b/src/main/java/net/minecraft/util/EnumParticleTypes.java @@ -3,6 +3,8 @@ package net.minecraft.util; import java.util.ArrayList; import java.util.Map; +import javax.annotation.Nullable; + import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -64,6 +66,9 @@ public enum EnumParticleTypes { private static final Map PARTICLES = Maps.newHashMap(); private static final String[] PARTICLE_NAMES; + private static final Map BY_NAME = Maps.newHashMap(); + + private EnumParticleTypes(String particleNameIn, int particleIDIn, boolean parFlag, int argumentCountIn) { this.particleName = particleNameIn; this.particleID = particleIDIn; @@ -107,6 +112,12 @@ public enum EnumParticleTypes { return (EnumParticleTypes) PARTICLES.get(Integer.valueOf(particleId)); } + @Nullable + public static EnumParticleTypes getByName(String nameIn) + { + return (EnumParticleTypes)BY_NAME.get(nameIn); + } + static { ArrayList arraylist = Lists.newArrayList(); @@ -120,5 +131,10 @@ public enum EnumParticleTypes { } PARTICLE_NAMES = (String[]) arraylist.toArray(new String[arraylist.size()]); + + for (EnumParticleTypes enumparticletypes : values()) + { + BY_NAME.put(enumparticletypes.getParticleName(), enumparticletypes); + } } } \ No newline at end of file diff --git a/src/main/java/net/minecraft/util/math/Vec3i.java b/src/main/java/net/minecraft/util/math/Vec3i.java index 9b74839..02ad4b2 100644 --- a/src/main/java/net/minecraft/util/math/Vec3i.java +++ b/src/main/java/net/minecraft/util/math/Vec3i.java @@ -130,6 +130,14 @@ public class Vec3i implements Comparable { return d0 * d0 + d1 * d1 + d2 * d2; } + public double getDistance(int p_185332_1_, int p_185332_2_, int p_185332_3_) + { + double d0 = (double)(this.getX() - p_185332_1_); + double d1 = (double)(this.getY() - p_185332_2_); + double d2 = (double)(this.getZ() - p_185332_3_); + return Math.sqrt(d0 * d0 + d1 * d1 + d2 * d2); + } + /** * + * Calculate squared distance to the given coordinates diff --git a/src/main/java/net/minecraft/world/end/DragonFightManager.java b/src/main/java/net/minecraft/world/end/DragonFightManager.java new file mode 100644 index 0000000..ae30713 --- /dev/null +++ b/src/main/java/net/minecraft/world/end/DragonFightManager.java @@ -0,0 +1,41 @@ +package net.minecraft.world.end; + +import java.util.Collections; + +import com.google.common.collect.ContiguousSet; +import com.google.common.collect.DiscreteDomain; + +import net.lax1dude.eaglercraft.v1_8.EaglercraftRandom; +import net.minecraft.block.state.BlockWorldState; +import net.minecraft.block.state.pattern.FactoryBlockPattern; +import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.nbt.NBTUtil; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.WorldServer; +import net.minecraft.world.gen.feature.WorldGenEndPodium; + +public class DragonFightManager { + private BlockPos exitPortalLocation = null; + private final WorldServer world; + + public DragonFightManager(WorldServer worldIn, NBTTagCompound compound) + { + this.world = worldIn; + } + + private void generatePortal(boolean active) { + WorldGenEndPodium worldgenendpodium = new WorldGenEndPodium(active); + + if (this.exitPortalLocation == null) + { + for (this.exitPortalLocation = this.world.getTopSolidOrLiquidBlock(WorldGenEndPodium.END_PODIUM_LOCATION).down(); this.world.getBlockState(this.exitPortalLocation).getBlock() == Blocks.bedrock && this.exitPortalLocation.getY() > this.world.func_181545_F(); this.exitPortalLocation = this.exitPortalLocation.down()) + { + ; + } + } + + worldgenendpodium.generate(this.world, new EaglercraftRandom(), this.exitPortalLocation); + } +} diff --git a/src/main/java/net/minecraft/world/gen/feature/WorldGenEndPodium.java b/src/main/java/net/minecraft/world/gen/feature/WorldGenEndPodium.java new file mode 100644 index 0000000..11d2515 --- /dev/null +++ b/src/main/java/net/minecraft/world/gen/feature/WorldGenEndPodium.java @@ -0,0 +1,72 @@ +package net.minecraft.world.gen.feature; + +import net.lax1dude.eaglercraft.v1_8.EaglercraftRandom; +import net.minecraft.block.BlockTorch; +import net.minecraft.init.Blocks; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +public class WorldGenEndPodium extends WorldGenerator { + public static final BlockPos END_PODIUM_LOCATION = BlockPos.ORIGIN; + public static final BlockPos END_PODIUM_CHUNK_POS = new BlockPos(END_PODIUM_LOCATION.getX() - 4 & -16, 0, END_PODIUM_LOCATION.getZ() - 4 & -16); + private final boolean activePortal; + + public WorldGenEndPodium(boolean activePortalIn) + { + this.activePortal = activePortalIn; + } + + public boolean generate(World worldIn, EaglercraftRandom rand, BlockPos position) + { + for (BlockPos.MutableBlockPos blockpos$mutableblockpos : BlockPos.getAllInBoxMutable(new BlockPos(position.getX() - 4, position.getY() - 1, position.getZ() - 4), new BlockPos(position.getX() + 4, position.getY() + 32, position.getZ() + 4))) + { + double d0 = blockpos$mutableblockpos.getDistance(position.getX(), blockpos$mutableblockpos.getY(), position.getZ()); + + if (d0 <= 3.5D) + { + if (blockpos$mutableblockpos.getY() < position.getY()) + { + if (d0 <= 2.5D) + { + this.setBlockAndNotifyAdequately(worldIn, blockpos$mutableblockpos, Blocks.bedrock.getDefaultState()); + } + else if (blockpos$mutableblockpos.getY() < position.getY()) + { + this.setBlockAndNotifyAdequately(worldIn, blockpos$mutableblockpos, Blocks.end_stone.getDefaultState()); + } + } + else if (blockpos$mutableblockpos.getY() > position.getY()) + { + this.setBlockAndNotifyAdequately(worldIn, blockpos$mutableblockpos, Blocks.air.getDefaultState()); + } + else if (d0 > 2.5D) + { + this.setBlockAndNotifyAdequately(worldIn, blockpos$mutableblockpos, Blocks.bedrock.getDefaultState()); + } + else if (this.activePortal) + { + this.setBlockAndNotifyAdequately(worldIn, new BlockPos(blockpos$mutableblockpos), Blocks.end_portal.getDefaultState()); + } + else + { + this.setBlockAndNotifyAdequately(worldIn, new BlockPos(blockpos$mutableblockpos), Blocks.air.getDefaultState()); + } + } + } + + for (int i = 0; i < 4; ++i) + { + this.setBlockAndNotifyAdequately(worldIn, position.up(i), Blocks.bedrock.getDefaultState()); + } + + BlockPos blockpos = position.up(2); + + for (EnumFacing enumfacing : EnumFacing.Plane.HORIZONTAL) + { + this.setBlockAndNotifyAdequately(worldIn, blockpos.offset(enumfacing), Blocks.torch.getDefaultState().withProperty(BlockTorch.FACING, enumfacing)); + } + + return true; + } +}