diff --git a/shaders/dimensions/all_solid.vsh b/shaders/dimensions/all_solid.vsh index 17b9fda..3fb4a24 100644 --- a/shaders/dimensions/all_solid.vsh +++ b/shaders/dimensions/all_solid.vsh @@ -439,7 +439,7 @@ void main() { uint blockTop = 0; #endif - if(blockTop == 12 || blockTop > 2400) { + if(blockTop == 12 || blockTop > 4000) { vgrassSideCheck = vec4(2.0); } #if REPLACE_SHORT_GRASS < 2 @@ -449,25 +449,25 @@ void main() { uint blockSouth = GetVoxelBlock(ivec3(LPVpos.x, LPVpos.y + 0.6, LPVpos.z + 1.0)); uint blockNorth = GetVoxelBlock(ivec3(LPVpos.x, LPVpos.y + 0.6, LPVpos.z - 1.0)); - if(blockEast > 2400 || blockEast == 12 || (blockEast > 80 && blockEast < 86) || blockEast == 503 || (blockEast > 406 && blockEast < 440)) {vgrassSideCheck.x = 1.0;} else { + if(blockEast > 4000 || blockEast == 12 || (blockEast > 80 && blockEast < 86) || blockEast == 503 || (blockEast > 406 && blockEast < 440)) {vgrassSideCheck.x = 1.0;} else { #ifdef GRASS_DETECT_FALLOFF blockEast = GetVoxelBlock(ivec3(LPVpos.x + 1.0, LPVpos.y, LPVpos.z)); if(blockEast != 85) {vgrassSideCheck.x = -1.0;} #endif } - if(blockWest > 2400 || blockWest == 12 || (blockWest > 80 && blockWest < 86) || blockWest == 503 || (blockWest > 406 && blockWest < 440)) {vgrassSideCheck.y = 1.0;} else { + if(blockWest > 4000 || blockWest == 12 || (blockWest > 80 && blockWest < 86) || blockWest == 503 || (blockWest > 406 && blockWest < 440)) {vgrassSideCheck.y = 1.0;} else { #ifdef GRASS_DETECT_FALLOFF blockWest = GetVoxelBlock(ivec3(LPVpos.x - 1.0, LPVpos.y, LPVpos.z)); if(blockWest != 85) {vgrassSideCheck.y = -1.0;} #endif } - if(blockSouth > 2400 || blockSouth == 12 || (blockSouth > 80 && blockSouth < 86) || blockSouth == 503 || (blockSouth > 406 && blockSouth < 440)) {vgrassSideCheck.z = 1.0;} else { + if(blockSouth > 4000 || blockSouth == 12 || (blockSouth > 80 && blockSouth < 86) || blockSouth == 503 || (blockSouth > 406 && blockSouth < 440)) {vgrassSideCheck.z = 1.0;} else { #ifdef GRASS_DETECT_FALLOFF blockSouth = GetVoxelBlock(ivec3(LPVpos.x, LPVpos.y, LPVpos.z+ 1.0)); if(blockSouth != 85) {vgrassSideCheck.z = -1.0;} #endif } - if(blockNorth > 2400 || blockNorth == 12 || (blockNorth > 80 && blockNorth < 86) || blockNorth == 503 || (blockNorth > 406 && blockNorth < 440)) {vgrassSideCheck.w = 1.0;} else { + if(blockNorth > 4000 || blockNorth == 12 || (blockNorth > 80 && blockNorth < 86) || blockNorth == 503 || (blockNorth > 406 && blockNorth < 440)) {vgrassSideCheck.w = 1.0;} else { #ifdef GRASS_DETECT_FALLOFF blockNorth = GetVoxelBlock(ivec3(LPVpos.x, LPVpos.y, LPVpos.z - 1.0)); if(blockNorth != 85) {vgrassSideCheck.w = -1.0;} diff --git a/shaders/dimensions/prepare.csh b/shaders/dimensions/prepare.csh index bd284a3..6657dcb 100644 --- a/shaders/dimensions/prepare.csh +++ b/shaders/dimensions/prepare.csh @@ -18,7 +18,7 @@ uint GetVoxelBlock(const in ivec3 voxelPos) { if (clamp(voxelPos, ivec3(0), ivec3(VoxelSize3-1u)) != voxelPos) return BLOCK_EMPTY; - return imageLoad(imgVoxelMask, voxelPos).r; + return imageLoad(imgVoxelMask, voxelPos).r % 2000u; } #include "/lib/SSBOs.glsl" diff --git a/shaders/dimensions/shadowcomp.csh b/shaders/dimensions/shadowcomp.csh index 7312ffe..fc1e187 100644 --- a/shaders/dimensions/shadowcomp.csh +++ b/shaders/dimensions/shadowcomp.csh @@ -55,7 +55,7 @@ layout (local_size_x = 8, local_size_y = 8, local_size_z = 8) in; uint blockId = imageLoad(imgVoxelMask, voxelPos).r; - blockId = blockId % 1200; + blockId = blockId % 2000u; return blockId; } diff --git a/shaders/lang/en_us.lang b/shaders/lang/en_us.lang index efeb38b..9ae637e 100644 --- a/shaders/lang/en_us.lang +++ b/shaders/lang/en_us.lang @@ -1,6 +1,6 @@ option.SHADER_VERSION_LABEL = §d§lECLIPSE§r - A Bliss Edit prefix.SHADER_VERSION_LABEL = V - value.SHADER_VERSION_LABEL.482 = 4.1.1 + value.SHADER_VERSION_LABEL.482 = 4.1.2 # if you're here to translate, this is not a joke, these do what they say profile.POTATO=§4Potato diff --git a/shaders/lib/settings.glsl b/shaders/lib/settings.glsl index 7b2f9f5..32bd2dd 100644 --- a/shaders/lib/settings.glsl +++ b/shaders/lib/settings.glsl @@ -1029,6 +1029,9 @@ const vec3 aerochrome_color = mix(vec3(1.0, 0.0, 0.0), vec3(0.715, 0.303, 0.631) #ifdef LPV_ENABLED #endif +#ifdef LPV_ENTITY_LIGHTS +#endif + #if defined CUSTOM_MOON_ROTATION || defined IS_LPV_ENABLED const float voxelDistance = 64.0; #endif diff --git a/shaders/lib/voxel_write.glsl b/shaders/lib/voxel_write.glsl index c09cecd..d76ab67 100644 --- a/shaders/lib/voxel_write.glsl +++ b/shaders/lib/voxel_write.glsl @@ -57,12 +57,17 @@ void PopulateShadowVoxel(const in vec3 playerPos) { if (blockEntityId > 0 && blockEntityId < 500) voxelId = uint(blockEntityId); } - else if (currentRenderedItemId > 0 && currentRenderedItemId < 1200) { + else if (currentRenderedItemId > 100 && currentRenderedItemId < 300) { if (entityId != ENTITY_ITEM_FRAME && entityId != ENTITY_PLAYER) { - uint oldID = imageLoad(imgVoxelMask, voxelPos).r; + voxelId = uint(currentRenderedItemId); + // offset by a random number that came into my head to make entities and items not interact with grass - voxelId = uint(currentRenderedItemId)+1200u; - if(oldID == 12u) voxelId += 1200u; + voxelId += 2000u; + + #if defined SHADER_GRASS && REPLACE_SHORT_GRASS < 2 + uint oldID = imageLoad(imgVoxelMask, voxelPos).r; + if(oldID == 12u) voxelId += 2000u; + #endif } } else { @@ -74,7 +79,7 @@ void PopulateShadowVoxel(const in vec3 playerPos) { case ENTITY_MAGMA_CUBE: case ENTITY_SPECTRAL_ARROW: case ENTITY_TNT: - voxelId = uint(entityId)+1200u; + voxelId = uint(entityId)+2000u; break; } } @@ -88,7 +93,7 @@ void PopulateShadowVoxel(const in vec3 playerPos) { switch (entityId) { case ENTITY_BOAT: case ENTITY_SMALLSHIPS: - voxelId = uint(entityId)+1200u; + voxelId = uint(entityId)+2000u; break; } }