Starlike v0.4.1
@ -1 +1 @@
|
||||
0.4.0
|
||||
0.4.1
|
||||
|
@ -240,6 +240,80 @@ Other Helpers
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
Project Name: High Performance Primitive Collections
|
||||
Project Author: Carrot Search
|
||||
Project URL: http://labs.carrotsearch.com/hppc.html
|
||||
|
||||
Used For: Primitive collections library for the client
|
||||
|
||||
* Copyright 2010-2013, Carrot Search s.c., Boznicza 11/56, Poznan, Poland
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
Project Name: Alfheim
|
||||
Project Author: Red Studio
|
||||
Project URL: https://github.com/Red-Studio-Ragnarok/Alfheim
|
||||
|
||||
Used For: Optimized lighting engine
|
||||
|
||||
* MIT License
|
||||
*
|
||||
* Copyright (c) 2023 Red Studio
|
||||
*
|
||||
* 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: OptiFine (1.8.9_HD_U_M6)
|
||||
Project Author: sp614x
|
||||
Project URL: https://optifine.net/
|
||||
|
||||
Used For: A few, limited portions we "borrowed" without the author's permission
|
||||
|
||||
Note: Eaglercraft is not OptiFine, we only use the code for connected textures
|
||||
and maintaining compatibility with certain resource pack features
|
||||
|
||||
* The mod OptiFine is Copyright © 2011-2021 by sp614x and the intellectual
|
||||
* property of the author.
|
||||
* It may be not be reproduced under any circumstances except for personal,
|
||||
* private use as long as it remains in its unaltered, unedited form.
|
||||
* It may not be placed on any web site or otherwise distributed publicly
|
||||
* without advance written permission.
|
||||
* Use of this mod on any other website or as a part of any public display
|
||||
* is strictly prohibited and a violation of copyright.
|
||||
|
||||
(sorry sp614x)
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
Project Name: Google Guava
|
||||
Project Author: Google
|
||||
Project URL: https://github.com/google/guava
|
||||
@ -537,6 +611,45 @@ Other Helpers
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
Project Name: OpenJDK
|
||||
Project Author: Oracle, IBM
|
||||
Project URL: https://openjdk.org/projects/jdk/17/
|
||||
|
||||
Used For: Debloated version of IBM's ICU4J for reordering Arabic and Hebrew text
|
||||
|
||||
* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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 General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
|
||||
* (C) Copyright IBM Corp. 1999-2003 - All Rights Reserved
|
||||
*
|
||||
* The original version of this source code and documentation is
|
||||
* copyrighted and owned by IBM. These materials are provided
|
||||
* under terms of a License Agreement between IBM and Sun.
|
||||
* This technology is protected by multiple US and International
|
||||
* patents. This notice and attribution to IBM may not be removed.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
Project Name: Java-WebSocket
|
||||
Project Author: Nathan Rajlich (TooTallNate)
|
||||
Project URL: http://tootallnate.github.io/Java-WebSocket
|
||||
|
@ -206,6 +206,7 @@ void main() {
|
||||
|
||||
vec3 dlightDist3f, dlightDir3f, dlightColor3f;
|
||||
int safeLightCount = u_dynamicLightCount1i > 12 ? 0 : u_dynamicLightCount1i; // hate this
|
||||
float cm;
|
||||
for(int i = 0; i < safeLightCount; ++i) {
|
||||
dlightDist3f = worldPosition4f.xyz - u_dynamicLightArray[i].u_lightPosition4f.xyz;
|
||||
dlightDir3f = normalize(dlightDist3f);
|
||||
@ -215,9 +216,11 @@ void main() {
|
||||
continue;
|
||||
}
|
||||
dlightColor3f = u_dynamicLightArray[i].u_lightColor4f.rgb / dot(dlightDist3f, dlightDist3f);
|
||||
if(dlightColor3f.r + dlightColor3f.g + dlightColor3f.b < 0.025) {
|
||||
cm = dlightColor3f.r + dlightColor3f.g + dlightColor3f.b;
|
||||
if(cm < 0.025) {
|
||||
continue;
|
||||
}
|
||||
dlightColor3f *= ((cm - 0.025) / cm);
|
||||
lightColor3f += eaglercraftLighting(diffuseColor4f.rgb, dlightColor3f, -worldDirection4f.xyz, dlightDir3f, normalVector3f, materialData3f, metalN, metalK) * u_blockSkySunDynamicLightFac4f.w;
|
||||
}
|
||||
|
||||
|
@ -68,7 +68,7 @@ void main() {
|
||||
vec4 materialData4f;
|
||||
|
||||
float depth = textureLod(u_gbufferDepthTexture, v_position2f, 0.0).r;
|
||||
if(depth < 0.00001) {
|
||||
if(depth == 0.0) {
|
||||
discard;
|
||||
}
|
||||
|
||||
@ -141,8 +141,9 @@ void main() {
|
||||
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);
|
||||
envMapSample4f.a += min(lightmapCoords2f.g * 2.0, 1.0) * (1.0 - envMapSample4f.a);
|
||||
if(envMapSample4f.a == 1.0) {
|
||||
specular = eaglercraftIBL_Specular(diffuseColor3f.rgb, envMapSample4f.rgb * envMapSample4f.a, viewDir3f, normalVector3f, materialData4f.rgb);
|
||||
specular *= 1.0 - sqrt(posDst) * 0.2;
|
||||
}
|
||||
break;
|
||||
|
@ -52,7 +52,7 @@ 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) {
|
||||
if(fragPos4f.z == 0.0) {
|
||||
discard;
|
||||
}
|
||||
#endif
|
||||
|
@ -21,7 +21,7 @@ precision highp sampler2DShadow;
|
||||
in vec4 v_position4f;
|
||||
|
||||
#ifdef COMPILE_FOG_LIGHT_SHAFTS
|
||||
in vec2 v_positionClip2f;
|
||||
in vec3 v_positionClip3f;
|
||||
#endif
|
||||
|
||||
#ifdef COMPILE_TEXTURE_ATTRIB
|
||||
@ -351,7 +351,7 @@ void main() {
|
||||
f += materialData3f.r < 0.5 ? 1.0 : 0.0;
|
||||
while(f == 0.0) {
|
||||
float dst2 = dot(worldPosition4f.xyz, worldPosition4f.xyz);
|
||||
if(dst2 > 16.0) {
|
||||
if(dst2 > 25.0) {
|
||||
break;
|
||||
}
|
||||
vec3 reflectDir = reflect(worldDirection4f.xyz, normalVector3f);
|
||||
@ -369,8 +369,9 @@ void main() {
|
||||
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);
|
||||
envMapSample4f.a += min(lightmapCoords2f.g * 2.0, 1.0) * (1.0 - envMapSample4f.a);
|
||||
if(envMapSample4f.a == 1.0) {
|
||||
lightColor3f += eaglercraftIBL_Specular(diffuseColor4f.rgb, envMapSample4f.rgb * envMapSample4f.a, worldDirection4f.xyz, normalVector3f, materialData3f, metalN, metalK) * (1.0 - sqrt(dst2) * 0.2);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -404,6 +405,7 @@ void main() {
|
||||
|
||||
vec3 dlightDist3f, dlightDir3f, dlightColor3f;
|
||||
int safeLightCount = u_dynamicLightCount1i > 12 ? 0 : u_dynamicLightCount1i; // hate this
|
||||
float cm;
|
||||
for(int i = 0; i < safeLightCount; ++i) {
|
||||
dlightDist3f = worldPosition4f.xyz - u_dynamicLightArray[i].u_lightPosition4f.xyz;
|
||||
dlightDir3f = normalize(dlightDist3f);
|
||||
@ -412,9 +414,11 @@ void main() {
|
||||
continue;
|
||||
}
|
||||
dlightColor3f = u_dynamicLightArray[i].u_lightColor4f.rgb / dot(dlightDist3f, dlightDist3f);
|
||||
if(dlightColor3f.r + dlightColor3f.g + dlightColor3f.b < 0.025) {
|
||||
cm = dlightColor3f.r + dlightColor3f.g + dlightColor3f.b;
|
||||
if(cm < 0.025) {
|
||||
continue;
|
||||
}
|
||||
dlightColor3f *= ((cm - 0.025) / cm);
|
||||
lightColor3f += eaglercraftLighting(diffuseColor4f.rgb, dlightColor3f, -worldDirection4f.xyz, dlightDir3f, normalVector3f, materialData3f, metalN, metalK) * u_blockSkySunDynamicLightFac4f.w;
|
||||
}
|
||||
|
||||
@ -450,8 +454,8 @@ void main() {
|
||||
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;
|
||||
fogBlend4f.rgb *= pow(textureLod(u_lightShaftsTexture, (v_positionClip3f.xy / v_positionClip3f.z) * 0.5 + 0.5, 0.0).r * 0.9 + 0.1, 2.25);
|
||||
fogBlend4f.a = fogBlend4f.a * 0.85 + 0.2;
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ in vec3 a_position3f;
|
||||
out vec4 v_position4f;
|
||||
|
||||
#ifdef COMPILE_FOG_LIGHT_SHAFTS
|
||||
out vec2 v_positionClip2f;
|
||||
out vec3 v_positionClip3f;
|
||||
#endif
|
||||
|
||||
#ifdef COMPILE_TEXTURE_ATTRIB
|
||||
@ -98,6 +98,6 @@ void main() {
|
||||
#endif
|
||||
|
||||
#ifdef COMPILE_FOG_LIGHT_SHAFTS
|
||||
v_positionClip2f = gl_Position.xy / gl_Position.w;
|
||||
v_positionClip3f = gl_Position.xyw;
|
||||
#endif
|
||||
}
|
||||
|
@ -238,7 +238,7 @@ void main() {
|
||||
|
||||
for(;;) {
|
||||
float dst2 = dot(worldPosition4f.xyz, worldPosition4f.xyz);
|
||||
if(dst2 > 16.0) {
|
||||
if(dst2 > 25.0) {
|
||||
break;
|
||||
}
|
||||
vec3 reflectDir = reflect(worldDirection4f.xyz, normalVector3f);
|
||||
@ -256,8 +256,9 @@ void main() {
|
||||
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);
|
||||
envMapSample4f.a += min(lightmapCoords2f.g * 2.0, 1.0) * (1.0 - envMapSample4f.a);
|
||||
if(envMapSample4f.a == 1.0) {
|
||||
lightColor3f += eaglercraftIBL_Specular_Glass(envMapSample4f.rgb * envMapSample4f.a, worldDirection4f.xyz, normalVector3f) * (1.0 - sqrt(dst2) * 0.2);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -268,6 +269,7 @@ void main() {
|
||||
|
||||
vec3 dlightDist3f, dlightDir3f, dlightColor3f;
|
||||
int safeLightCount = u_dynamicLightCount1i > 12 ? 0 : u_dynamicLightCount1i; // hate this
|
||||
float cm;
|
||||
for(int i = 0; i < safeLightCount; ++i) {
|
||||
dlightDist3f = u_dynamicLightArray[i].u_lightPosition4f.xyz - worldPosition4f.xyz;
|
||||
dlightDir3f = normalize(dlightDist3f);
|
||||
@ -275,9 +277,11 @@ void main() {
|
||||
continue;
|
||||
}
|
||||
dlightColor3f = u_dynamicLightArray[i].u_lightColor4f.rgb / dot(dlightDist3f, dlightDist3f);
|
||||
if(dlightColor3f.r + dlightColor3f.g + dlightColor3f.b < 0.025) {
|
||||
cm = dlightColor3f.r + dlightColor3f.g + dlightColor3f.b;
|
||||
if(cm < 0.025) {
|
||||
continue;
|
||||
}
|
||||
dlightColor3f *= ((cm - 0.025) / cm);
|
||||
lightColor3f += eaglercraftLighting_Glass(dlightColor3f, -worldDirection4f.xyz, dlightDir3f, normalVector3f) * u_blockSkySunDynamicLightFac4f.w;
|
||||
}
|
||||
|
||||
|
@ -25,5 +25,5 @@ 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;
|
||||
gl_FragDepth = textureLod(u_depthTexture, v_position2f, 0.0).r == 0.0 ? 0.0 : 1.0;
|
||||
}
|
||||
|
@ -84,7 +84,7 @@ float shadow(in vec3 coords) {
|
||||
void main() {
|
||||
output1f = 0.0;
|
||||
float depth = textureLod(u_gbufferDepthTexture, v_position2f, 0.0).r;
|
||||
if(depth < 0.00001) {
|
||||
if(depth == 0.0) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -47,7 +47,7 @@ void main() {
|
||||
vec3 materialData3f;
|
||||
|
||||
float depth = textureLod(u_gbufferDepthTexture, v_position2f, 0.0).r;
|
||||
if(depth < 0.00001) {
|
||||
if(depth == 0.0) {
|
||||
discard;
|
||||
}
|
||||
|
||||
@ -59,11 +59,14 @@ void main() {
|
||||
worldSpacePosition = u_inverseViewMatrix4f * worldSpacePosition;
|
||||
vec3 lightDist = (worldSpacePosition.xyz / worldSpacePosition.w) - u_lightPosition3f;
|
||||
vec3 color3f = u_lightColor3f / dot(lightDist, lightDist);
|
||||
float cm = color3f.r + color3f.g + color3f.b;
|
||||
|
||||
if(color3f.r + color3f.g + color3f.b < 0.025) {
|
||||
if(cm < 0.025) {
|
||||
discard;
|
||||
}
|
||||
|
||||
color3f *= ((cm - 0.025) / cm);
|
||||
|
||||
vec4 sampleVar4f = textureLod(u_gbufferColorTexture, v_position2f, 0.0);
|
||||
diffuseColor3f.rgb = sampleVar4f.rgb;
|
||||
lightmapCoords2f.x = sampleVar4f.a;
|
||||
|
@ -64,6 +64,14 @@ void main() {
|
||||
#endif
|
||||
#endif
|
||||
|
||||
float depth = textureLod(u_gbufferDepthTexture, v_position2f, 0.0).r;
|
||||
|
||||
#ifndef COMPILE_SUN_SHADOW
|
||||
if(depth == 0.0) {
|
||||
discard;
|
||||
}
|
||||
#endif
|
||||
|
||||
vec4 sampleVar4f = textureLod(u_gbufferNormalTexture, v_position2f, 0.0);
|
||||
|
||||
#ifndef COMPILE_SUN_SHADOW
|
||||
@ -77,14 +85,6 @@ void main() {
|
||||
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;
|
||||
|
@ -39,7 +39,7 @@ void main() {
|
||||
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;
|
||||
emission = textureLod(u_gbufferDepthTexture, alignedUV, 0.0).r == 0.0 ? 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) {
|
||||
|
@ -34,7 +34,7 @@ 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 /= (0.07 + clamp(lumaHDR * 5.0, 0.18, 4.0));
|
||||
|
||||
input3f *= u_exposure3f;
|
||||
|
||||
|
@ -29,9 +29,15 @@ uniform vec2 u_textureCoords02;
|
||||
#endif
|
||||
|
||||
void main() {
|
||||
#ifdef COMPILE_NORMAL_ATTRIB
|
||||
output4f = vec4(v_normal3f * 0.5 + 0.5, 1.0);
|
||||
#ifdef COMPILE_LIGHTMAP_ATTRIB
|
||||
float skyLight = v_lightmap2f.y;
|
||||
#else
|
||||
output4f = vec4(0.0, 1.0, 0.0, 1.0);
|
||||
float skyLight = u_textureCoords02.y;
|
||||
#endif
|
||||
skyLight = 0.004 + skyLight * 0.996;
|
||||
#ifdef COMPILE_NORMAL_ATTRIB
|
||||
output4f = vec4(v_normal3f * 0.5 + 0.5, skyLight);
|
||||
#else
|
||||
output4f = vec4(0.0, 1.0, 0.0, skyLight);
|
||||
#endif
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
#line 2
|
||||
|
||||
/*
|
||||
* Copyright (c) 2023 lax1dude. All Rights Reserved.
|
||||
* Copyright (c) 2023-2025 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
|
||||
@ -37,5 +37,5 @@ void main() {
|
||||
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));
|
||||
realisticWaterDisplacementOutput1f = exp((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))) * 2.0);
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
#line 2
|
||||
|
||||
/*
|
||||
* Copyright (c) 2023 lax1dude. All Rights Reserved.
|
||||
* Copyright (c) 2023-2025 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
|
||||
@ -31,5 +31,5 @@ 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));
|
||||
realisticWaterNormalOutput2f = clamp((vec2(A * A) - vec2(B, C) * vec2(B, C)) * 0.5 + 0.5, vec2(0.0), vec2(1.0));
|
||||
}
|
||||
|
@ -0,0 +1,35 @@
|
||||
#line 2
|
||||
|
||||
/*
|
||||
* Copyright (c) 2025 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_position2f;
|
||||
|
||||
layout(location = 0) out vec4 combinedNormalsOutput4f;
|
||||
|
||||
uniform sampler2D u_gbufferNormalsTexture;
|
||||
uniform sampler2D u_surfaceNormalsTexture;
|
||||
|
||||
void main() {
|
||||
combinedNormalsOutput4f = textureLod(u_surfaceNormalsTexture, v_position2f, 0.0);
|
||||
if(combinedNormalsOutput4f.a > 0.0) return;
|
||||
combinedNormalsOutput4f.rgb = textureLod(u_gbufferNormalsTexture, v_position2f, 0.0).rgb;
|
||||
combinedNormalsOutput4f.a = 0.0;
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
#line 2
|
||||
|
||||
/*
|
||||
* Copyright (c) 2023 lax1dude. All Rights Reserved.
|
||||
* Copyright (c) 2023-2025 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
|
||||
@ -19,7 +19,7 @@
|
||||
precision highp sampler2DShadow;
|
||||
|
||||
in vec4 v_position4f;
|
||||
in vec2 v_positionClip2f;
|
||||
in vec3 v_positionClip3f;
|
||||
|
||||
#ifdef COMPILE_TEXTURE_ATTRIB
|
||||
in vec2 v_texture2f;
|
||||
@ -230,16 +230,17 @@ void main() {
|
||||
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);
|
||||
rotatedUV2f *= (block1f == 10.0 ? 0.30 : 0.10);
|
||||
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 surfaceNormalsMap3f = vec3(textureLod(u_normalMap, rotatedUV2f * 0.68, 0.0).rg - 0.5, 0.0);
|
||||
surfaceNormalsMap3f.xy += textureLod(u_normalMap, rotatedUV2f, 0.0).rg - 0.5;
|
||||
surfaceNormalsMap3f.xy += textureLod(u_normalMap, rotatedUV2f * 2.33, 0.0).rg - 0.5;
|
||||
surfaceNormalsMap3f.xy *= (2.0 / 3.0);
|
||||
|
||||
vec3 surfaceNormalsMapFlat3f = cf * surfaceNormalsMap3f;
|
||||
surfaceNormalsMapFlat3f *= 0.1;
|
||||
surfaceNormalsMapFlat3f *= 0.15;
|
||||
|
||||
surfaceNormalsMap3f.z = 8.0;
|
||||
surfaceNormalsMap3f.z = 7.0;
|
||||
surfaceNormalsMap3f = normalize(surfaceNormalsMap3f);
|
||||
normalVector3f = surfaceNormalsMap3f = cf * surfaceNormalsMap3f;
|
||||
|
||||
@ -268,6 +269,18 @@ void main() {
|
||||
vec4 envMapSample4f = textureLod(u_reflectionMap, reflectCoordsR.xy, 0.0);
|
||||
vec4 refractionSample = textureLod(u_refractionMap, reflectCoordsL.xy, 0.0);
|
||||
|
||||
if(refractionSample.a == 0.0) {
|
||||
reflectCoordsL = mat4x3(
|
||||
u_modelViewProjMat4f_[0].xyw,
|
||||
u_modelViewProjMat4f_[1].xyw,
|
||||
u_modelViewProjMat4f_[2].xyw,
|
||||
u_modelViewProjMat4f_[3].xyw) * worldPosition4f;
|
||||
reflectCoordsL.xy /= reflectCoordsL.z;
|
||||
reflectCoordsL.xy *= 0.5;
|
||||
reflectCoordsL.xy += 0.5;
|
||||
refractionSample = textureLod(u_refractionMap, reflectCoordsL.xy, 0.0);
|
||||
}
|
||||
|
||||
#ifdef COMPILE_COLOR_ATTRIB
|
||||
refractionSample *= v_color4f * v_color4f * u_color4f * u_color4f;
|
||||
#else
|
||||
@ -374,6 +387,7 @@ void main() {
|
||||
|
||||
vec3 dlightDist3f, dlightDir3f, dlightColor3f;
|
||||
int safeLightCount = u_dynamicLightCount1i > 12 ? 0 : u_dynamicLightCount1i; // hate this
|
||||
float cm;
|
||||
for(int i = 0; i < safeLightCount; ++i) {
|
||||
dlightDist3f = u_dynamicLightArray[i].u_lightPosition4f.xyz - worldPosition4f.xyz;
|
||||
dlightDir3f = normalize(dlightDist3f);
|
||||
@ -381,9 +395,11 @@ void main() {
|
||||
continue;
|
||||
}
|
||||
dlightColor3f = u_dynamicLightArray[i].u_lightColor4f.rgb / dot(dlightDist3f, dlightDist3f);
|
||||
if(dlightColor3f.r + dlightColor3f.g + dlightColor3f.b < 0.025) {
|
||||
cm = dlightColor3f.r + dlightColor3f.g + dlightColor3f.b;
|
||||
if(cm < 0.025) {
|
||||
continue;
|
||||
}
|
||||
dlightColor3f *= ((cm - 0.025) / cm);
|
||||
lightColor3f += eaglercraftLighting_Water(diffuseColor4f.rgb, dlightColor3f, -worldDirection4f.xyz, dlightDir3f, normalVector3f) * u_blockSkySunDynamicLightFac4f.w;
|
||||
}
|
||||
|
||||
@ -418,8 +434,8 @@ void main() {
|
||||
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;
|
||||
fogBlend4f.rgb *= pow(textureLod(u_lightShaftsTexture, (v_positionClip3f.xy / v_positionClip3f.z) * 0.5 + 0.5, 0.0).r * 0.9 + 0.1, 2.25);
|
||||
fogBlend4f.a = fogBlend4f.a * 0.85 + 0.2;
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ in vec3 a_position3f;
|
||||
out vec4 v_position4f;
|
||||
|
||||
#ifdef COMPILE_FOG_LIGHT_SHAFTS
|
||||
out vec2 v_positionClip2f;
|
||||
out vec3 v_positionClip3f;
|
||||
#endif
|
||||
|
||||
#ifdef COMPILE_TEXTURE_ATTRIB
|
||||
@ -77,6 +77,6 @@ void main() {
|
||||
gl_Position = u_projectionMat4f * v_position4f;
|
||||
|
||||
#ifdef COMPILE_FOG_LIGHT_SHAFTS
|
||||
v_positionClip2f = gl_Position.xy / gl_Position.w;
|
||||
v_positionClip3f = gl_Position.xyw;
|
||||
#endif
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
#line 2
|
||||
|
||||
/*
|
||||
* Copyright (c) 2023 lax1dude. All Rights Reserved.
|
||||
* Copyright (c) 2023-2025 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
|
||||
@ -41,72 +41,96 @@ uniform float u_sampleStep1f;
|
||||
|
||||
uniform vec4 u_pixelAlignment4f;
|
||||
|
||||
uniform int u_sampleDelta1i;
|
||||
|
||||
#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) {
|
||||
reflectionOutput4f = vec4(0.0, 0.0, 0.0, 0.0);
|
||||
hitVectorOutput4f = vec4(0.0, 0.0, 0.0, 0.0);
|
||||
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 reflectionBuffer4f = textureLod(u_reprojectionReflectionInput4f, v_position2f, 0.0);
|
||||
vec4 hitVectorBuffer4f = textureLod(u_reprojectionHitVectorInput4f, v_position2f, 0.0);
|
||||
vec4 surfaceNormal4f = textureLod(u_gbufferNormalTexture, v_position2f2, 0.0);
|
||||
surfaceNormal4f.xyz *= 2.0;
|
||||
surfaceNormal4f.xyz -= 1.0;
|
||||
|
||||
vec4 reflectionInput4f;
|
||||
vec4 hitVectorInput4f;
|
||||
float f;
|
||||
vec4 fragPos4f;
|
||||
vec4 reflectionNormal4f;
|
||||
float sampleStepMod;
|
||||
vec3 sampleOffset3f;
|
||||
vec3 reflectionSamplePos3f;
|
||||
float reflectDepthSample;
|
||||
vec2 sampleFragDepth;
|
||||
vec4 colorSample;
|
||||
|
||||
for(int itr = 0; itr < u_sampleDelta1i; ++itr) {
|
||||
reflectionInput4f = reflectionBuffer4f;
|
||||
hitVectorInput4f = hitVectorBuffer4f;
|
||||
reflectionBuffer4f = vec4(0.0, 0.0, 0.0, 0.0);
|
||||
hitVectorBuffer4f = vec4(0.0, 0.0, 0.0, 0.0);
|
||||
hitVectorInput4f.a += 1.0;
|
||||
f = reflectionInput4f.a < 1.0 ? 1.0 : reflectionInput4f.a;
|
||||
reflectionInput4f.a = hitVectorInput4f.a > maxAge ? f : reflectionInput4f.a;
|
||||
if(reflectionInput4f.a < 1.0) {
|
||||
reflectionBuffer4f = reflectionInput4f;
|
||||
hitVectorBuffer4f = hitVectorInput4f;
|
||||
continue;
|
||||
}
|
||||
|
||||
fragPos4f = u_inverseProjectionMatrix4f * (vec4(v_position2f2, fragDepth, 1.0) * 2.0 - 1.0);
|
||||
fragPos4f.xyz /= fragPos4f.w;
|
||||
fragPos4f.w = 1.0;
|
||||
reflectionNormal4f.xyz = reflect(normalize(fragPos4f.xyz), surfaceNormal4f.xyz);
|
||||
reflectionNormal4f.w = 1.0;
|
||||
sampleStepMod = (reflectionInput4f.a * 0.03 + 0.15 + length(fragPos4f.xyz) * 0.03) * u_sampleStep1f;
|
||||
sampleOffset3f = reflectionNormal4f.xyz * reflectionInput4f.a * sampleStepMod;
|
||||
fragPos4f.xyz += sampleOffset3f;
|
||||
reflectionNormal4f = u_lastProjectionMatrix4f * fragPos4f;
|
||||
reflectionNormal4f.xyz /= reflectionNormal4f.w;
|
||||
reflectionNormal4f.w = 1.0;
|
||||
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) {
|
||||
continue;
|
||||
}
|
||||
|
||||
reflectDepthSample = textureLod(u_lastFrameDepthInput, reflectionSamplePos3f.xy, 0.0).r;
|
||||
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;
|
||||
reflectionBuffer4f = reflectionInput4f.a >= maxSamples ? vec4(0.0, 0.0, 0.0, 0.0) : reflectionInput4f;
|
||||
hitVectorBuffer4f = vec4(0.0, 0.0, 0.0, hitVectorInput4f.a);
|
||||
continue;
|
||||
}
|
||||
|
||||
if(abs(reflectDepthSample) > sampleStepMod * 6.0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
colorSample = textureLod(u_lastFrameColorInput4f, reflectionSamplePos3f.xy, 0.0);
|
||||
reflectionBuffer4f = vec4(colorSample.rgb, 0.0);
|
||||
reflectionBuffer4f.g += 0.0005;
|
||||
hitVectorBuffer4f = vec4(colorSample.a > 0.0 ? sampleOffset3f : vec3(0.0), 0.0);
|
||||
hitVectorBuffer4f.g += colorSample.a > 0.0 ? 0.0004 : 0.0;
|
||||
}
|
||||
|
||||
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;
|
||||
reflectionOutput4f = reflectionBuffer4f;
|
||||
hitVectorOutput4f = hitVectorBuffer4f;
|
||||
}
|
||||
|
@ -1,24 +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.2",
|
||||
"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"
|
||||
]
|
||||
"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.3.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"
|
||||
]
|
||||
}
|
||||
|
@ -79,7 +79,7 @@ void main() {
|
||||
output1f = 0.0;
|
||||
#endif
|
||||
float depth = textureLod(u_gbufferDepthTexture, v_position2f, 0.0).r;
|
||||
if(depth < 0.00001) {
|
||||
if(depth == 0.0) {
|
||||
return;
|
||||
}
|
||||
vec4 normalVector4f = textureLod(u_gbufferNormalTexture, v_position2f, 0.0);
|
||||
|
@ -54,7 +54,7 @@ vec3(0.716,-0.439,0.543),vec3(-0.400,0.733,0.550));
|
||||
void main() {
|
||||
vec3 originalClipSpacePos = vec3(v_position2f, textureLod(u_gbufferDepthTexture, v_position2f, 0.0).r);
|
||||
|
||||
if(originalClipSpacePos.z <= 0.0000001) {
|
||||
if(originalClipSpacePos.z == 0.0) {
|
||||
output1f = 1.0;
|
||||
return;
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
#line 2
|
||||
|
||||
/*
|
||||
* Copyright (c) 2022-2024 lax1dude. All Rights Reserved.
|
||||
* Copyright (c) 2022-2025 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
|
||||
@ -16,7 +16,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
EAGLER_IN(vec2, v_position2f)
|
||||
EAGLER_IN(vec2, v_texCoords2f)
|
||||
|
||||
EAGLER_FRAG_OUT()
|
||||
|
||||
@ -24,10 +24,8 @@ 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 = EAGLER_TEXTURE_2D_LOD(u_inputTexture, coords.xy, u_textureLod1f);
|
||||
vec4 color4f = EAGLER_TEXTURE_2D_LOD(u_inputTexture, v_texCoords2f, u_textureLod1f);
|
||||
EAGLER_FRAG_COLOR = color4f * u_blendFactor4f + u_blendBias4f;
|
||||
}
|
||||
|
BIN
desktopRuntime/resources/assets/eagler/icudt/nfc.nrm
Normal file
BIN
desktopRuntime/resources/assets/eagler/icudt/nfkc.nrm
Normal file
BIN
desktopRuntime/resources/assets/eagler/icudt/ubidi.icu
Normal file
BIN
desktopRuntime/resources/assets/eagler/icudt/uprops.icu
Normal file
@ -650,6 +650,12 @@ eaglercraft.options.vsyncReEnabled.2=Using the WASM-GC version of EaglercraftX w
|
||||
eaglercraft.options.vsyncReEnabled.3=VSync enabled causes bad input lag, sorry!
|
||||
eaglercraft.options.vsyncReEnabled.continue=Continue
|
||||
|
||||
eaglercraft.options.connectedTexturesOF=Connected Textures
|
||||
eaglercraft.options.betterGrassOF=Better Grass/Snow
|
||||
eaglercraft.options.customSkiesOF=Custom Skies
|
||||
eaglercraft.options.smartLeavesOF=Smart Leaves
|
||||
eaglercraft.options.customItemsOF=Custom Items
|
||||
|
||||
eaglercraft.addServer.hideAddr=Hide Addr
|
||||
eaglercraft.addServer.enableCookies=Cookies
|
||||
eaglercraft.addServer.enableCookies.enabled=Enabled
|
||||
|
@ -1,31 +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" }
|
||||
}
|
||||
"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_n", "y": 180 },
|
||||
"east=false,north=false,south=false,west=true": { "model": "black_pane_n", "y": 270 },
|
||||
"east=true,north=true,south=false,west=false": { "model": "black_pane_ne" },
|
||||
"east=true,north=false,south=true,west=false": { "model": "black_pane_ne", "y": 90 },
|
||||
"east=false,north=false,south=true,west=true": { "model": "black_pane_ne", "y": 180 },
|
||||
"east=false,north=true,south=false,west=true": { "model": "black_pane_ne", "y": 270 },
|
||||
"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_nse", "y": 90 },
|
||||
"east=false,north=true,south=true,west=true": { "model": "black_pane_nse", "y": 180 },
|
||||
"east=true,north=true,south=false,west=true": { "model": "black_pane_nse", "y": 270 },
|
||||
"east=true,north=true,south=true,west=true": { "model": "black_pane_nsew" }
|
||||
}
|
||||
}
|
||||
|
@ -1,31 +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" }
|
||||
}
|
||||
"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_n", "y": 180 },
|
||||
"east=false,north=false,south=false,west=true": { "model": "blue_pane_n", "y": 270 },
|
||||
"east=true,north=true,south=false,west=false": { "model": "blue_pane_ne" },
|
||||
"east=true,north=false,south=true,west=false": { "model": "blue_pane_ne", "y": 90 },
|
||||
"east=false,north=false,south=true,west=true": { "model": "blue_pane_ne", "y": 180 },
|
||||
"east=false,north=true,south=false,west=true": { "model": "blue_pane_ne", "y": 270 },
|
||||
"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_nse", "y": 90 },
|
||||
"east=false,north=true,south=true,west=true": { "model": "blue_pane_nse", "y": 180 },
|
||||
"east=true,north=true,south=false,west=true": { "model": "blue_pane_nse", "y": 270 },
|
||||
"east=true,north=true,south=true,west=true": { "model": "blue_pane_nsew" }
|
||||
}
|
||||
}
|
||||
|
@ -1,31 +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" }
|
||||
}
|
||||
"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_n", "y": 180 },
|
||||
"east=false,north=false,south=false,west=true": { "model": "brown_pane_n", "y": 270 },
|
||||
"east=true,north=true,south=false,west=false": { "model": "brown_pane_ne" },
|
||||
"east=true,north=false,south=true,west=false": { "model": "brown_pane_ne", "y": 90 },
|
||||
"east=false,north=false,south=true,west=true": { "model": "brown_pane_ne", "y": 180 },
|
||||
"east=false,north=true,south=false,west=true": { "model": "brown_pane_ne", "y": 270 },
|
||||
"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_nse", "y": 90 },
|
||||
"east=false,north=true,south=true,west=true": { "model": "brown_pane_nse", "y": 180 },
|
||||
"east=true,north=true,south=false,west=true": { "model": "brown_pane_nse", "y": 270 },
|
||||
"east=true,north=true,south=true,west=true": { "model": "brown_pane_nsew" }
|
||||
}
|
||||
}
|
||||
|
@ -1,31 +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" }
|
||||
}
|
||||
"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_n", "y": 180 },
|
||||
"east=false,north=false,south=false,west=true": { "model": "cyan_pane_n", "y": 270 },
|
||||
"east=true,north=true,south=false,west=false": { "model": "cyan_pane_ne" },
|
||||
"east=true,north=false,south=true,west=false": { "model": "cyan_pane_ne", "y": 90 },
|
||||
"east=false,north=false,south=true,west=true": { "model": "cyan_pane_ne", "y": 180 },
|
||||
"east=false,north=true,south=false,west=true": { "model": "cyan_pane_ne", "y": 270 },
|
||||
"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_nse", "y": 90 },
|
||||
"east=false,north=true,south=true,west=true": { "model": "cyan_pane_nse", "y": 180 },
|
||||
"east=true,north=true,south=false,west=true": { "model": "cyan_pane_nse", "y": 270 },
|
||||
"east=true,north=true,south=true,west=true": { "model": "cyan_pane_nsew" }
|
||||
}
|
||||
}
|
||||
|
@ -1,31 +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" }
|
||||
}
|
||||
"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_n", "y": 180 },
|
||||
"east=false,north=false,south=false,west=true": { "model": "gray_pane_n", "y": 270 },
|
||||
"east=true,north=true,south=false,west=false": { "model": "gray_pane_ne" },
|
||||
"east=true,north=false,south=true,west=false": { "model": "gray_pane_ne", "y": 90 },
|
||||
"east=false,north=false,south=true,west=true": { "model": "gray_pane_ne", "y": 180 },
|
||||
"east=false,north=true,south=false,west=true": { "model": "gray_pane_ne", "y": 270 },
|
||||
"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_nse", "y": 90 },
|
||||
"east=false,north=true,south=true,west=true": { "model": "gray_pane_nse", "y": 180 },
|
||||
"east=true,north=true,south=false,west=true": { "model": "gray_pane_nse", "y": 270 },
|
||||
"east=true,north=true,south=true,west=true": { "model": "gray_pane_nsew" }
|
||||
}
|
||||
}
|
||||
|
@ -1,31 +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" }
|
||||
}
|
||||
"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_n", "y": 180 },
|
||||
"east=false,north=false,south=false,west=true": { "model": "green_pane_n", "y": 270 },
|
||||
"east=true,north=true,south=false,west=false": { "model": "green_pane_ne" },
|
||||
"east=true,north=false,south=true,west=false": { "model": "green_pane_ne", "y": 90 },
|
||||
"east=false,north=false,south=true,west=true": { "model": "green_pane_ne", "y": 180 },
|
||||
"east=false,north=true,south=false,west=true": { "model": "green_pane_ne", "y": 270 },
|
||||
"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_nse", "y": 90 },
|
||||
"east=false,north=true,south=true,west=true": { "model": "green_pane_nse", "y": 180 },
|
||||
"east=true,north=true,south=false,west=true": { "model": "green_pane_nse", "y": 270 },
|
||||
"east=true,north=true,south=true,west=true": { "model": "green_pane_nsew" }
|
||||
}
|
||||
}
|
||||
|
@ -1,55 +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"
|
||||
"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_n", "y": 180 },
|
||||
"east=false,north=false,south=false,west=true": { "model": "light_blue_pane_n", "y": 270 },
|
||||
"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_ne", "y": 90 },
|
||||
"east=false,north=false,south=true,west=true": { "model": "light_blue_pane_ne", "y": 180 },
|
||||
"east=false,north=true,south=false,west=true": { "model": "light_blue_pane_ne", "y": 270 },
|
||||
"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_nse", "y": 90 },
|
||||
"east=false,north=true,south=true,west=true": { "model": "light_blue_pane_nse", "y": 180 },
|
||||
"east=true,north=true,south=false,west=true": { "model": "light_blue_pane_nse", "y": 270 },
|
||||
"east=true,north=true,south=true,west=true": { "model": "light_blue_pane_nsew" }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,31 +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" }
|
||||
}
|
||||
"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_n", "y": 180 },
|
||||
"east=false,north=false,south=false,west=true": { "model": "lime_pane_n", "y": 270 },
|
||||
"east=true,north=true,south=false,west=false": { "model": "lime_pane_ne" },
|
||||
"east=true,north=false,south=true,west=false": { "model": "lime_pane_ne", "y": 90 },
|
||||
"east=false,north=false,south=true,west=true": { "model": "lime_pane_ne", "y": 180 },
|
||||
"east=false,north=true,south=false,west=true": { "model": "lime_pane_ne", "y": 270 },
|
||||
"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_nse", "y": 90 },
|
||||
"east=false,north=true,south=true,west=true": { "model": "lime_pane_nse", "y": 180 },
|
||||
"east=true,north=true,south=false,west=true": { "model": "lime_pane_nse", "y": 270 },
|
||||
"east=true,north=true,south=true,west=true": { "model": "lime_pane_nsew" }
|
||||
}
|
||||
}
|
||||
|
@ -1,55 +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"
|
||||
"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_n", "y": 180 },
|
||||
"east=false,north=false,south=false,west=true": { "model": "magenta_pane_n", "y": 270 },
|
||||
"east=true,north=true,south=false,west=false": { "model": "magenta_pane_ne" },
|
||||
"east=true,north=false,south=true,west=false": { "model": "magenta_pane_ne", "y": 90 },
|
||||
"east=false,north=false,south=true,west=true": { "model": "magenta_pane_ne", "y": 180 },
|
||||
"east=false,north=true,south=false,west=true": { "model": "magenta_pane_ne", "y": 270 },
|
||||
"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_nse", "y": 90 },
|
||||
"east=false,north=true,south=true,west=true": { "model": "magenta_pane_nse", "y": 180 },
|
||||
"east=true,north=true,south=false,west=true": { "model": "magenta_pane_nse", "y": 270 },
|
||||
"east=true,north=true,south=true,west=true": { "model": "magenta_pane_nsew" }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,53 +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" }
|
||||
}
|
||||
"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_n", "y": 180 },
|
||||
"east=false,north=false,south=false,west=true": { "model": "orange_pane_n", "y": 270 },
|
||||
"east=true,north=true,south=false,west=false": { "model": "orange_pane_ne" },
|
||||
"east=true,north=false,south=true,west=false": { "model": "orange_pane_ne", "y": 90 },
|
||||
"east=false,north=false,south=true,west=true": { "model": "orange_pane_ne", "y": 180 },
|
||||
"east=false,north=true,south=false,west=true": { "model": "orange_pane_ne", "y": 270 },
|
||||
"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_nse", "y": 90 },
|
||||
"east=false,north=true,south=true,west=true": { "model": "orange_pane_nse", "y": 180 },
|
||||
"east=true,north=true,south=false,west=true": { "model": "orange_pane_nse", "y": 270 },
|
||||
"east=true,north=true,south=true,west=true": { "model": "orange_pane_nsew" }
|
||||
}
|
||||
}
|
||||
|
@ -1,31 +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" }
|
||||
}
|
||||
"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_n", "y": 180 },
|
||||
"east=false,north=false,south=false,west=true": { "model": "pink_pane_n", "y": 270 },
|
||||
"east=true,north=true,south=false,west=false": { "model": "pink_pane_ne" },
|
||||
"east=true,north=false,south=true,west=false": { "model": "pink_pane_ne", "y": 90 },
|
||||
"east=false,north=false,south=true,west=true": { "model": "pink_pane_ne", "y": 180 },
|
||||
"east=false,north=true,south=false,west=true": { "model": "pink_pane_ne", "y": 270 },
|
||||
"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_nse", "y": 90 },
|
||||
"east=false,north=true,south=true,west=true": { "model": "pink_pane_nse", "y": 180 },
|
||||
"east=true,north=true,south=false,west=true": { "model": "pink_pane_nse", "y": 270 },
|
||||
"east=true,north=true,south=true,west=true": { "model": "pink_pane_nsew" }
|
||||
}
|
||||
}
|
||||
|
@ -1,53 +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" }
|
||||
}
|
||||
"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_n", "y": 180 },
|
||||
"east=false,north=false,south=false,west=true": { "model": "purple_pane_n", "y": 270 },
|
||||
"east=true,north=true,south=false,west=false": { "model": "purple_pane_ne" },
|
||||
"east=true,north=false,south=true,west=false": { "model": "purple_pane_ne", "y": 90 },
|
||||
"east=false,north=false,south=true,west=true": { "model": "purple_pane_ne", "y": 180 },
|
||||
"east=false,north=true,south=false,west=true": { "model": "purple_pane_ne", "y": 270 },
|
||||
"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_nse", "y": 90 },
|
||||
"east=false,north=true,south=true,west=true": { "model": "purple_pane_nse", "y": 180 },
|
||||
"east=true,north=true,south=false,west=true": { "model": "purple_pane_nse", "y": 270 },
|
||||
"east=true,north=true,south=true,west=true": { "model": "purple_pane_nsew" }
|
||||
}
|
||||
}
|
||||
|
@ -1,31 +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" }
|
||||
}
|
||||
"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_n", "y": 180 },
|
||||
"east=false,north=false,south=false,west=true": { "model": "red_pane_n", "y": 270 },
|
||||
"east=true,north=true,south=false,west=false": { "model": "red_pane_ne" },
|
||||
"east=true,north=false,south=true,west=false": { "model": "red_pane_ne", "y": 90 },
|
||||
"east=false,north=false,south=true,west=true": { "model": "red_pane_ne", "y": 180 },
|
||||
"east=false,north=true,south=false,west=true": { "model": "red_pane_ne", "y": 270 },
|
||||
"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_nse", "y": 90 },
|
||||
"east=false,north=true,south=true,west=true": { "model": "red_pane_nse", "y": 180 },
|
||||
"east=true,north=true,south=false,west=true": { "model": "red_pane_nse", "y": 270 },
|
||||
"east=true,north=true,south=true,west=true": { "model": "red_pane_nsew" }
|
||||
}
|
||||
}
|
||||
|
@ -1,53 +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" }
|
||||
}
|
||||
"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_n", "y": 180 },
|
||||
"east=false,north=false,south=false,west=true": { "model": "silver_pane_n", "y": 270 },
|
||||
"east=true,north=true,south=false,west=false": { "model": "silver_pane_ne" },
|
||||
"east=true,north=false,south=true,west=false": { "model": "silver_pane_ne", "y": 90 },
|
||||
"east=false,north=false,south=true,west=true": { "model": "silver_pane_ne", "y": 180 },
|
||||
"east=false,north=true,south=false,west=true": { "model": "silver_pane_ne", "y": 270 },
|
||||
"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_nse", "y": 90 },
|
||||
"east=false,north=true,south=true,west=true": { "model": "silver_pane_nse", "y": 180 },
|
||||
"east=true,north=true,south=false,west=true": { "model": "silver_pane_nse", "y": 270 },
|
||||
"east=true,north=true,south=true,west=true": { "model": "silver_pane_nsew" }
|
||||
}
|
||||
}
|
||||
|
@ -1,31 +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" }
|
||||
}
|
||||
"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_n", "y": 180 },
|
||||
"east=false,north=false,south=false,west=true": { "model": "white_pane_n", "y": 270 },
|
||||
"east=true,north=true,south=false,west=false": { "model": "white_pane_ne" },
|
||||
"east=true,north=false,south=true,west=false": { "model": "white_pane_ne", "y": 90 },
|
||||
"east=false,north=false,south=true,west=true": { "model": "white_pane_ne", "y": 180 },
|
||||
"east=false,north=true,south=false,west=true": { "model": "white_pane_ne", "y": 270 },
|
||||
"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_nse", "y": 90 },
|
||||
"east=false,north=true,south=true,west=true": { "model": "white_pane_nse", "y": 180 },
|
||||
"east=true,north=true,south=false,west=true": { "model": "white_pane_nse", "y": 270 },
|
||||
"east=true,north=true,south=true,west=true": { "model": "white_pane_nsew" }
|
||||
}
|
||||
}
|
||||
|
@ -1,53 +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" }
|
||||
}
|
||||
"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_n", "y": 180 },
|
||||
"east=false,north=false,south=false,west=true": { "model": "yellow_pane_n", "y": 270 },
|
||||
"east=true,north=true,south=false,west=false": { "model": "yellow_pane_ne" },
|
||||
"east=true,north=false,south=true,west=false": { "model": "yellow_pane_ne", "y": 90 },
|
||||
"east=false,north=false,south=true,west=true": { "model": "yellow_pane_ne", "y": 180 },
|
||||
"east=false,north=true,south=false,west=true": { "model": "yellow_pane_ne", "y": 270 },
|
||||
"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_nse", "y": 90 },
|
||||
"east=false,north=true,south=true,west=true": { "model": "yellow_pane_nse", "y": 180 },
|
||||
"east=true,north=true,south=false,west=true": { "model": "yellow_pane_nse", "y": 270 },
|
||||
"east=true,north=true,south=true,west=true": { "model": "yellow_pane_nsew" }
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
@ -0,0 +1,4 @@
|
||||
type=item
|
||||
items=313
|
||||
texture=netherite_boots.png
|
||||
nbt.VB|Protocol1_16To1_15_2|id=645
|
@ -0,0 +1,4 @@
|
||||
type=armor
|
||||
items=313
|
||||
texture=netherite_layer_1.png
|
||||
nbt.VB|Protocol1_16To1_15_2|id=645
|
After Width: | Height: | Size: 1.7 KiB |
@ -0,0 +1,4 @@
|
||||
type=item
|
||||
items=311
|
||||
texture=netherite_chestplate.png
|
||||
nbt.VB|Protocol1_16To1_15_2|id=643
|
@ -0,0 +1,4 @@
|
||||
type=armor
|
||||
items=311
|
||||
texture=netherite_layer_1.png
|
||||
nbt.VB|Protocol1_16To1_15_2|id=643
|
After Width: | Height: | Size: 1.6 KiB |
@ -0,0 +1,4 @@
|
||||
type=item
|
||||
items=310
|
||||
texture=netherite_helmet.png
|
||||
nbt.VB|Protocol1_16To1_15_2|id=642
|
@ -0,0 +1,4 @@
|
||||
type=armor
|
||||
items=310
|
||||
texture=netherite_layer_1.png
|
||||
nbt.VB|Protocol1_16To1_15_2|id=642
|
After Width: | Height: | Size: 8.1 KiB |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 1.6 KiB |
@ -0,0 +1,4 @@
|
||||
type=item
|
||||
items=312
|
||||
texture=netherite_leggings.png
|
||||
nbt.VB|Protocol1_16To1_15_2|id=644
|
@ -0,0 +1,4 @@
|
||||
type=armor
|
||||
items=312
|
||||
texture=netherite_layer_2.png
|
||||
nbt.VB|Protocol1_16To1_15_2|id=644
|
@ -0,0 +1,4 @@
|
||||
type=item
|
||||
items=279
|
||||
texture=netherite_axe.png
|
||||
nbt.VB|Protocol1_16To1_15_2|id=609
|
BIN
desktopRuntime/resources/assets/minecraft/mcpatcher/cit/axes/netherite_axe.png
Executable file
After Width: | Height: | Size: 5.0 KiB |
@ -0,0 +1,4 @@
|
||||
type=item
|
||||
items=42
|
||||
texture=netherite_block.png
|
||||
nbt.VB|Protocol1_16To1_15_2|id=958
|
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 263 B |
@ -0,0 +1,6 @@
|
||||
type=item
|
||||
items=299
|
||||
texture=broken_elytra.png
|
||||
nbt.VR|Protocol1_9To1_8|id=443
|
||||
damage=0
|
||||
damageMask=0
|
After Width: | Height: | Size: 255 B |
@ -0,0 +1,4 @@
|
||||
type=item
|
||||
items=299
|
||||
texture=elytra.png
|
||||
nbt.VR|Protocol1_9To1_8|id=443
|
After Width: | Height: | Size: 381 B |
@ -0,0 +1,4 @@
|
||||
type=armor
|
||||
items=299
|
||||
texture=elytra_wings.png
|
||||
nbt.VR|Protocol1_9To1_8|id=443
|
@ -0,0 +1,4 @@
|
||||
type=item
|
||||
items=293
|
||||
texture=netherite_hoe.png
|
||||
nbt.VB|Protocol1_16To1_15_2|id=618
|
BIN
desktopRuntime/resources/assets/minecraft/mcpatcher/cit/hoes/netherite_hoe.png
Executable file
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 770 B |
@ -0,0 +1,4 @@
|
||||
type=item
|
||||
items=260
|
||||
texture=banana.png
|
||||
nbt.display.Name=ipattern:*Banana*
|
After Width: | Height: | Size: 5.8 KiB |
@ -0,0 +1,4 @@
|
||||
type=item
|
||||
items=265
|
||||
texture=netherite_ingot.png
|
||||
nbt.VB|Protocol1_16To1_15_2|id=584
|
After Width: | Height: | Size: 605 B |
@ -0,0 +1,5 @@
|
||||
type=item
|
||||
items=425
|
||||
texture=shield
|
||||
model=item/shield
|
||||
nbt.VR|Protocol1_9To1_8|id=442
|
After Width: | Height: | Size: 238 B |
@ -0,0 +1,4 @@
|
||||
type=item
|
||||
items=418
|
||||
texture=totem.png
|
||||
nbt.VB|Protocol1_11To1_10|id=449
|
@ -0,0 +1,4 @@
|
||||
type=item
|
||||
items=278
|
||||
texture=netherite_pickaxe.png
|
||||
nbt.VB|Protocol1_16To1_15_2|id=608
|
After Width: | Height: | Size: 5.0 KiB |
@ -0,0 +1,4 @@
|
||||
type=item
|
||||
items=277
|
||||
texture=netherite_shovel.png
|
||||
nbt.VB|Protocol1_16To1_15_2|id=607
|
After Width: | Height: | Size: 5.0 KiB |
@ -0,0 +1,4 @@
|
||||
type=item
|
||||
items=276
|
||||
texture=netherite_sword.png
|
||||
nbt.VB|Protocol1_16To1_15_2|id=606
|
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 184 B |
After Width: | Height: | Size: 202 B |
After Width: | Height: | Size: 196 B |
After Width: | Height: | Size: 173 B |
After Width: | Height: | Size: 170 B |
After Width: | Height: | Size: 199 B |
After Width: | Height: | Size: 193 B |
After Width: | Height: | Size: 185 B |
After Width: | Height: | Size: 192 B |
After Width: | Height: | Size: 188 B |
After Width: | Height: | Size: 193 B |
After Width: | Height: | Size: 194 B |
After Width: | Height: | Size: 186 B |
After Width: | Height: | Size: 188 B |