diff --git a/src/main/resources/assets/betterend/materialmaps/block/blue_vine_fur.json b/src/main/resources/assets/betterend/materialmaps/block/blue_vine_fur.json new file mode 100644 index 00000000..1bda5144 --- /dev/null +++ b/src/main/resources/assets/betterend/materialmaps/block/blue_vine_fur.json @@ -0,0 +1,3 @@ +{ + "defaultMaterial": "betterend:waving_wall_glow_all" +} diff --git a/src/main/resources/assets/betterend/materialmaps/block/blue_vine_lantern.json b/src/main/resources/assets/betterend/materialmaps/block/blue_vine_lantern.json new file mode 100644 index 00000000..c2b812b6 --- /dev/null +++ b/src/main/resources/assets/betterend/materialmaps/block/blue_vine_lantern.json @@ -0,0 +1,3 @@ +{ + "defaultMaterial": "betterend:glow_all" +} diff --git a/src/main/resources/assets/betterend/materialmaps/block/creeping_moss.json b/src/main/resources/assets/betterend/materialmaps/block/creeping_moss.json new file mode 100644 index 00000000..1701827c --- /dev/null +++ b/src/main/resources/assets/betterend/materialmaps/block/creeping_moss.json @@ -0,0 +1,14 @@ +{ + "defaultMap": { + "spriteMap": [ + { + "sprite": "betterend:block/creeping_moss_spores", + "material": "betterend:wave_glow_50_half" + }, + { + "sprite": "betterend:block/creeping_moss_leaves", + "material": "betterend:waving_floor" + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/materialmaps/block/dense_vine.json b/src/main/resources/assets/betterend/materialmaps/block/dense_vine.json new file mode 100644 index 00000000..966e25dd --- /dev/null +++ b/src/main/resources/assets/betterend/materialmaps/block/dense_vine.json @@ -0,0 +1,14 @@ +{ + "defaultMap": { + "spriteMap": [ + { + "sprite": "betterend:block/dense_vine_bottom", + "material": "betterend:wave_glow_50_half" + }, + { + "sprite": "betterend:block/dense_vine", + "material": "betterend:waving" + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/materialmaps/block/mossy_glowshroom_fur.json b/src/main/resources/assets/betterend/materialmaps/block/mossy_glowshroom_fur.json index 4893c261..8fbc8eb6 100644 --- a/src/main/resources/assets/betterend/materialmaps/block/mossy_glowshroom_fur.json +++ b/src/main/resources/assets/betterend/materialmaps/block/mossy_glowshroom_fur.json @@ -1,3 +1,3 @@ { - "defaultMaterial": "betterend:wave_glow_all" + "defaultMaterial": "betterend:waving_wall_inverted_glow_all" } diff --git a/src/main/resources/assets/betterend/materialmaps/block/mossy_glowshroom_sapling.json b/src/main/resources/assets/betterend/materialmaps/block/mossy_glowshroom_sapling.json new file mode 100644 index 00000000..03b96547 --- /dev/null +++ b/src/main/resources/assets/betterend/materialmaps/block/mossy_glowshroom_sapling.json @@ -0,0 +1,3 @@ +{ + "defaultMaterial": "betterend:waving_floor_glow_50_blue" +} diff --git a/src/main/resources/assets/betterend/materialmaps/block/umbrella_moss.json b/src/main/resources/assets/betterend/materialmaps/block/umbrella_moss.json new file mode 100644 index 00000000..d80e90a5 --- /dev/null +++ b/src/main/resources/assets/betterend/materialmaps/block/umbrella_moss.json @@ -0,0 +1,22 @@ +{ + "defaultMap": { + "spriteMap": [ + { + "sprite": "betterend:block/umbrella_moss_sporophyte", + "material": "betterend:wave_glow_all" + }, + { + "sprite": "betterend:block/umbrella_moss_small", + "material": "betterend:waving_floor" + }, + { + "sprite": "betterend:block/umbrella_moss_up", + "material": "betterend:waving_floor" + }, + { + "sprite": "betterend:block/umbrella_moss_end", + "material": "betterend:waving_floor" + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/materialmaps/block/umbrella_moss_tall.json b/src/main/resources/assets/betterend/materialmaps/block/umbrella_moss_tall.json new file mode 100644 index 00000000..c729b4d8 --- /dev/null +++ b/src/main/resources/assets/betterend/materialmaps/block/umbrella_moss_tall.json @@ -0,0 +1,22 @@ +{ + "defaultMap": { + "spriteMap": [ + { + "sprite": "betterend:block/umbrella_moss_sporophyte", + "material": "betterend:wave_glow_all" + }, + { + "sprite": "betterend:block/umbrella_moss_up", + "material": "betterend:waving" + }, + { + "sprite": "betterend:block/umbrella_moss_end", + "material": "betterend:waving" + }, + { + "sprite": "betterend:block/umbrella_moss_bottom", + "material": "betterend:waving_floor" + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/materials/waving_floor_glow_50.json b/src/main/resources/assets/betterend/materials/waving_floor_glow_50.json new file mode 100644 index 00000000..b8328abe --- /dev/null +++ b/src/main/resources/assets/betterend/materials/waving_floor_glow_50.json @@ -0,0 +1,10 @@ +{ + "layers": [ + { + "vertexSource": "betterend:shaders/material/wave_floor.vert", + "fragmentSource": "betterend:shaders/material/glow_50.frag", + "disableAo": true, + "disableDiffuse": true + } + ] +} diff --git a/src/main/resources/assets/betterend/materials/waving_floor_glow_50_blue.json b/src/main/resources/assets/betterend/materials/waving_floor_glow_50_blue.json new file mode 100644 index 00000000..cc617620 --- /dev/null +++ b/src/main/resources/assets/betterend/materials/waving_floor_glow_50_blue.json @@ -0,0 +1,10 @@ +{ + "layers": [ + { + "vertexSource": "betterend:shaders/material/wave_floor.vert", + "fragmentSource": "betterend:shaders/material/glow_50_blue.frag", + "disableAo": true, + "disableDiffuse": true + } + ] +} diff --git a/src/main/resources/assets/betterend/materials/waving_wall_glow_all.json b/src/main/resources/assets/betterend/materials/waving_wall_glow_all.json index 17bb32e7..5133fbe8 100644 --- a/src/main/resources/assets/betterend/materials/waving_wall_glow_all.json +++ b/src/main/resources/assets/betterend/materials/waving_wall_glow_all.json @@ -2,7 +2,7 @@ "layers": [ { "vertexSource": "betterend:shaders/material/wall_wave.vert", - "fragmentSource": "canvas:shaders/material/glow_all.frag", + "fragmentSource": "betterend:shaders/material/glow_all.frag", "disableAo": true, "disableDiffuse": true } diff --git a/src/main/resources/assets/betterend/materials/waving_wall_inverted_glow_all.json b/src/main/resources/assets/betterend/materials/waving_wall_inverted_glow_all.json new file mode 100644 index 00000000..1c7e9cbc --- /dev/null +++ b/src/main/resources/assets/betterend/materials/waving_wall_inverted_glow_all.json @@ -0,0 +1,10 @@ +{ + "layers": [ + { + "vertexSource": "betterend:shaders/material/wall_wave_inverted.vert", + "fragmentSource": "betterend:shaders/material/glow_all.frag", + "disableAo": true, + "disableDiffuse": true + } + ] +} diff --git a/src/main/resources/assets/betterend/shaders/material/glow_50_blue.frag b/src/main/resources/assets/betterend/shaders/material/glow_50_blue.frag new file mode 100644 index 00000000..af528089 --- /dev/null +++ b/src/main/resources/assets/betterend/shaders/material/glow_50_blue.frag @@ -0,0 +1,8 @@ +#include frex:shaders/api/fragment.glsl +#include frex:shaders/lib/math.glsl + +void frx_startFragment(inout frx_FragmentData fragData) { + float a = abs(fragData.spriteColor.b - fragData.spriteColor.r); + float b = abs(fragData.spriteColor.b - fragData.spriteColor.g); + fragData.emissivity = (a > 0.1 && b > 0.1 && fragData.spriteColor.b > 0.5) ? 1 : 0; +} diff --git a/src/main/resources/assets/betterend/shaders/material/wall_wave.vert b/src/main/resources/assets/betterend/shaders/material/wall_wave.vert index 89df1916..f95caecb 100644 --- a/src/main/resources/assets/betterend/shaders/material/wall_wave.vert +++ b/src/main/resources/assets/betterend/shaders/material/wall_wave.vert @@ -18,9 +18,6 @@ void frx_startVertex(inout frx_VertexData data) { vec3 pos = (data.vertex.xyz + frx_modelOriginWorldPos()) * 0.5; float wind = snoise(vec4(pos, t)) * 0.1; - //vec3 center = frx_modelOriginWorldPos() + vec3(0.5); - //vec3 absDist = abs(pos - center) * 2; - //wind *= clamp(1 - absDist.x + absDist.y + absDist.z, 0, 1); wind *= 1 - data.spriteUV.y; data.vertex.y += (cos(t) * cos(t * 3) * cos(t * 5) * cos(t * 7) + sin(t * 25)) * wind; diff --git a/src/main/resources/assets/betterend/shaders/material/wall_wave_inverted.vert b/src/main/resources/assets/betterend/shaders/material/wall_wave_inverted.vert new file mode 100644 index 00000000..bc664478 --- /dev/null +++ b/src/main/resources/assets/betterend/shaders/material/wall_wave_inverted.vert @@ -0,0 +1,27 @@ +#include frex:shaders/api/vertex.glsl +#include frex:shaders/api/world.glsl +#include frex:shaders/lib/math.glsl +#include frex:shaders/lib/noise/noise4d.glsl + +/****************************************************** + Based on "GPU-Generated Procedural Wind Animations for Trees" + by Renaldas Zioma in GPU Gems 3, 2007 + https://developer.nvidia.com/gpugems/gpugems3/part-i-geometry/chapter-6-gpu-generated-procedural-wind-animations-trees + + Remake of canvas default shader for the Nether +******************************************************/ + +void frx_startVertex(inout frx_VertexData data) { + #ifdef ANIMATED_FOLIAGE + float t = frx_renderSeconds() * 0.05; + + vec3 pos = (data.vertex.xyz + frx_modelOriginWorldPos()) * 0.5; + float wind = snoise(vec4(pos, t)) * 0.1; + + wind *= data.spriteUV.y; + + data.vertex.y += (cos(t) * cos(t * 3) * cos(t * 5) * cos(t * 7) + sin(t * 25)) * wind; + data.vertex.x += cos(t * 14) * wind; + data.vertex.z += sin(t * 19) * wind; + #endif +} diff --git a/src/main/resources/assets/betterend/shaders/material/wave_floor.vert b/src/main/resources/assets/betterend/shaders/material/wave_floor.vert index eaeb9b7c..5b7c4ecf 100644 --- a/src/main/resources/assets/betterend/shaders/material/wave_floor.vert +++ b/src/main/resources/assets/betterend/shaders/material/wave_floor.vert @@ -18,7 +18,7 @@ void frx_startVertex(inout frx_VertexData data) { float t = frx_renderSeconds() * 0.05; vec3 pos = (data.vertex.xyz + frx_modelOriginWorldPos()) * NOISE_SCALE; - float wind = snoise(vec4(pos, t)) * 0.2; + float wind = snoise(vec4(pos, t)) * 0.1; wind *= 1 - data.spriteUV.y; data.vertex.x += (cos(t) * cos(t * 3) * cos(t * 5) * cos(t * 7) + sin(t * 25)) * wind;