#version 330

#moj_import <minecraft:fog.glsl>
#moj_import <minecraft:dynamictransforms.glsl>

uniform sampler2D Sampler0;

in float sphericalVertexDistance;
in float cylindricalVertexDistance;
in vec4 vertexColor;
in vec2 texCoord0;

in vec2 verPos[4];

out vec4 fragColor;

void main() {
    vec4 color = texture(Sampler0, texCoord0) * vertexColor * ColorModulator;
    if (color.a < 0.1) {
        discard;
    }
    fragColor = apply_fog(color, sphericalVertexDistance, cylindricalVertexDistance, FogEnvironmentalStart, FogEnvironmentalEnd, FogRenderDistanceStart, FogRenderDistanceEnd, FogColor);
    if (texture(Sampler0, texCoord0).a == 254.0f / 255.0f) {
        if (   (vertexColor.r + vertexColor.g + vertexColor.b) >= 0.5f 
            && (vertexColor.r + vertexColor.g + vertexColor.b) <= 0.75f )
            fragColor = vec4(0.0f);
        else
            fragColor.a = 1.0f;
    }
}
