diff --git a/README.md b/README.md index c99534a..0735016 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,21 @@ # Beyond Vanilla - Minecraft Shader Pack -## Welcome to an immersive visual experience! This is my debut shader pack designed to enhance your Minecraft adventures. +![Cover](https://cdn.modrinth.com/data/YIhUcKoq/images/298f3c919189cdcf641b89601d6866f3599ef2e4.png) -### Installation Guide: +Welcome to an immersive visual experience! Beyond Vanilla is a shader pack designed to take your Minecraft adventures to the next level. ## Links Modrinth: https://modrinth.com/shader/beyond-vanilla \ forge: (Soon)\ Github: https://github.com/hotsu0p/beyond-vanilla +### Links: +- Modrinth: [Download Here](https://modrinth.com/shader/beyond-vanilla) +- Forge: (Coming Soon) +- GitHub: [Project Repository](https://github.com/hotsu0p/beyond-vanilla) -## Have an issue? - open an issue here! - https://github.com/hotsu0p/beyond-vanilla/issues +### Have an issue or feature request? +Open an issue [here](https://github.com/hotsu0p/beyond-vanilla/issues). 1. **Download:** - Visit the green "Releases" tab and download the latest release. @@ -29,12 +32,12 @@ Github: https://github.com/hotsu0p/beyond-vanilla ### Shader Features: -- Explore a stunning visual upgrade with changes to lighting, shadows, and atmospheric effects. -- Enjoy an immersive gaming experience with carefully crafted details. +- Experience a stunning visual upgrade with enhancements to lighting, shadows, and atmospheric effects. +- Immerse yourself in the game with carefully crafted details. ### Compatibility: -- highly recomennd https://modrinth.com/resourcepack/embrace-pixels for better visuals -- Tested on iris and sodium 1.1.6. + +- Tested on Iris and Sodium 1.1.6. - Optimized for mid to low-tier devices. - Not tested on Optifine. - Compatible with Nvidia GPUs (tested on a 4070 Ti). @@ -42,16 +45,21 @@ Github: https://github.com/hotsu0p/beyond-vanilla ### Upcoming Enhancements: -- [ ] More screenshots for a comprehensive preview. -- [ ] Performance improvements for smoother gameplay. -- [ ] Additional features to elevate your gaming experience. -- [ ] Enhanced sky in the end. -- [ ] Improved portal visuals. -- [ ] Revamped GUI for a polished interface. -- [ ] Sun and moon enhancements. -- [✅] Uploading to Modrinth for wider availability. +- [✅] More screenshots for a comprehensive preview. +- [✅] Enhanced sky in the end. +- [✅] Improved portal visuals. +- [✅] Sun and moon enhancements. +- [✅] Uploaded to Modrinth for wider availability. +- [] Fix more bugs +- [] Performance improvements for smoother gameplay. +- [] Additional features to elevate your gaming experience. +- [] Add a feature from the commuity.. +- [] Quality of life features +- [] Glass blur +- [] Revamped GUI for a polished interface. +- [] Add more to the todo ### Credits: -- **Hotsuop:** Made the base shader. +- **Hotsuop:** Creator of the base shader. -If you contribute to the repo, your name could be featured here! +If you contribute to the repository, your name could be featured here! diff --git a/changelog.md b/changelog.md index 62598a6..bbf8506 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,8 @@ +v2.7 - 3/24/24 + - Improved stars + - Made sapplings move + - Updated hover + v2.5.1 - 3/16/24 - Fixed overworld lighting - Improved skulk diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index ce17c0d..0000000 --- a/docs/index.html +++ /dev/null @@ -1 +0,0 @@ -Nothign here really \ No newline at end of file diff --git a/assets/2024-03-02_17.41.42.png b/misc/assets/2024-03-02_17.41.42.png similarity index 100% rename from assets/2024-03-02_17.41.42.png rename to misc/assets/2024-03-02_17.41.42.png diff --git a/assets/2024-03-04_15.26.03.png b/misc/assets/2024-03-04_15.26.03.png similarity index 100% rename from assets/2024-03-04_15.26.03.png rename to misc/assets/2024-03-04_15.26.03.png diff --git a/assets/2024-03-04_15.26.26.png b/misc/assets/2024-03-04_15.26.26.png similarity index 100% rename from assets/2024-03-04_15.26.26.png rename to misc/assets/2024-03-04_15.26.26.png diff --git a/assets/2024-03-04_15.28.24.png b/misc/assets/2024-03-04_15.28.24.png similarity index 100% rename from assets/2024-03-04_15.28.24.png rename to misc/assets/2024-03-04_15.28.24.png diff --git a/assets/after-fix.png b/misc/assets/after-fix.png similarity index 100% rename from assets/after-fix.png rename to misc/assets/after-fix.png diff --git a/assets/before-fix.png b/misc/assets/before-fix.png similarity index 100% rename from assets/before-fix.png rename to misc/assets/before-fix.png diff --git a/misc/size.js b/misc/size.js index 6c9319c..5526233 100644 --- a/misc/size.js +++ b/misc/size.js @@ -1,51 +1,13 @@ -const getCodeStats = require('@hotsuop/codestats'); -const chalk = require('chalk'); -// Define the folder path to analyze -const folderPath = '../shaders'; +const express = require('express') +const app = express() +const port = 3000 -// Define the configuration object -const config = { - languages: ['js', 'html', 'glsl'], // Add more languages if needed - exclude: ['node_modules'], // Add folders to exclude - fileTypes: ['xml', 'css'], // Add more file types if needed - depthLimit: 5, -}; +app.use(express.static('website')); +app.get('/', (req, res) => { + res.sendFile(__dirname + '/website/index.html'); +}); -// Call getCodeStats with the folder path and configuration -getCodeStats(folderPath, config) - .then(projectStats => { - // Display the calculated project stats - console.log('Project Statistics:'); - console.log(`Total Files: ${projectStats.totalFiles}`); - console.log(`Total Lines: ${projectStats.totalLines}`); - console.log(`Total Characters: ${projectStats.totalCharacters}`); - console.log(`Total Functions: ${projectStats.totalFunctions}`); - console.log(`Total Classes: ${projectStats.totalClasses}`); - console.log(`Total Comments: ${projectStats.totalComments}`); - - // Display detailed stats for each file - console.log('\nFile Statistics:'); - projectStats.files.forEach(fileStats => { - console.log(`\nFile: ${fileStats.filePath}`); - console.log(`Lines: ${fileStats.lines}`); - console.log(`Characters: ${fileStats.characters}`); - console.log(`Functions: ${fileStats.functionsCount}`); - console.log(`Classes: ${fileStats.classesCount}`); - console.log(`Comments: ${fileStats.commentsCount}`); - }); - - // Display file types summary - console.log('\nFile Types Summary:'); - console.log('Type\t| Files\t| Lines'); - console.log('--------|-------|----------'); - for (const fileType in projectStats.fileTypesStats) { - const fileTypeStats = projectStats.fileTypesStats[fileType]; - console.log(`${fileType}\t| ${fileTypeStats.files}\t| ${fileTypeStats.lines} (${((fileTypeStats.lines / projectStats.totalLines) * 100).toFixed(2)}%)`); - } - console.log('--------|-------|----------'); - console.log(`All\t| ${projectStats.totalFiles}\t| ${projectStats.totalLines}`); - }) - .catch(error => { - console.error(chalk.red(`Error: ${error.message}`)); - }); \ No newline at end of file +app.listen(port, () => { + console.log(`App listening on port ${port}`) +}) \ No newline at end of file diff --git a/misc/website/index.html b/misc/website/index.html new file mode 100644 index 0000000..d4f5b67 --- /dev/null +++ b/misc/website/index.html @@ -0,0 +1,52 @@ + + +

Beyond Vinlla - Minecraft shader

+
+
+

Hello!

+

Thanks for checking out my shader!

+

For other people who are wondering what this is you can check out the images below to get a taste of what its like

+ +
+
+ + + + + + \ No newline at end of file diff --git a/shaders/block.properties b/shaders/block.properties index 1395323..afa6dc5 100644 --- a/shaders/block.properties +++ b/shaders/block.properties @@ -45,9 +45,9 @@ block.10048=\ minecraft:chipped_anvil block.10052=\ minecraft:damaged_anvil block.10056=\ minecraft:powered_rail:powered=true block.10057=\ minecraft:note_block:powered=true minecraft:jukebox:has_record=true -block.10100= \ -minecraft:grass minecraft:fern minecraft:seagrass minecraft:dead_bush\ +block.10100= \ minecraft:grass minecraft:fern minecraft:seagrass minecraft:oak_sapling minecraft:spruce_sapling minecraft:birch_sapling minecraft:jungle_sapling minecraft:acacia_sapling minecraft:dark_oak_sapling minecraft:cherry_sapling minecraft:crimson_roots minecraft:warped_roots minecraft:nether_sprouts + block.10101= \ minecraft:poppy minecraft:dandelion minecraft:blue_orchid minecraft:allium minecraft:azure_bluet minecraft:red_tulip minecraft:orange_tulip minecraft:white_tulip minecraft:pink_tulip minecraft:oxeye_daisy minecraft:cornflower minecraft:lily_of_the_valley minecraft:wither_rose minecraft:sweet_berry_bush minecraft:pink_petals minecraft:tube_coral minecraft:brain_coral minecraft:bubble_coral minecraft:fire_coral minecraft:horn_coral minecraft:dead_tube_coral minecraft:dead_brain_coral minecraft:dead_bubble_coral minecraft:dead_fire_coral minecraft:dead_horn_coral minecraft:tube_coral_fan minecraft:brain_coral_fan minecraft:bubble_coral_fan minecraft:fire_coral_fan minecraft:horn_coral_fan minecraft:dead_tube_coral_fan minecraft:dead_brain_coral_fan minecraft:dead_bubble_coral_fan minecraft:dead_fire_coral_fan minecraft:dead_horn_coral_fan block.10102= \ minecraft:sunflower:half=lower minecraft:lilac:half=lower minecraft:tall_grass:half=lower minecraft:large_fern:half=lower minecraft:rose_bush:half=lower minecraft:peony:half=lower minecraft:tall_seagrass:half=lower block.10103= \ minecraft:sunflower:half=upper minecraft:lilac:half=upper minecraft:tall_grass:half=upper minecraft:large_fern:half=upper minecraft:rose_bush:half=upper minecraft:peony:half=upper minecraft:tall_seagrass:half=upper @@ -137,7 +137,7 @@ block.10048=water_cauldron block.10052=powder_snow_cauldron block.10056=lava_cauldron block.10100= \ -minecraft:tallgrass +minecraft:tallgrass block.10101= \ minecraft:red_flower minecraft:yellow_flower block.10102= \ diff --git a/shaders/entity.properties b/shaders/entity.properties index b31ed57..68b4eab 100644 --- a/shaders/entity.properties +++ b/shaders/entity.properties @@ -11,4 +11,4 @@ entity.10100=minecraft:item_frame minecraft:painting minecraft:glow_item_frame entity.10301=minecraft:warden entity.10101=minecraft:lightning_bolt entity.10102=minecraft:end_crystal -#endif \ No newline at end of file +entity.10103= diff --git a/shaders/item.properties b/shaders/item.properties index 489284a..820370d 100644 --- a/shaders/item.properties +++ b/shaders/item.properties @@ -12,11 +12,11 @@ item.89=minecraft:glowstone minecraft:beacon minecraft:sea_lantern minecraft:lantern minecraft:soul_lantern -item.50=minecraft:torch minecraft:cake minecraft:red_mushroom minecraft:sculk_catalyst minecraft:end_rod minecraft:redstone_torch minecraft:jack_o_lantern minecraft:shroomlight minecraft:lava_bucket minecraft:glow_lichen minecraft:small_amethyst_bud minecraft:medium_amethyst_bud minecraft:large_amethyst_bud minecraft:amethyst_cluster minecraft:glow_berries minecraft:ochre_froglight minecraft:verdant_froglight minecraft:pearlescent_froglight +item.50=minecraft:torch minecraft:red_mushroom minecraft:sculk_catalyst minecraft:end_rod minecraft:redstone_torch minecraft:jack_o_lantern minecraft:shroomlight minecraft:lava_bucket minecraft:glow_lichen minecraft:small_amethyst_bud minecraft:medium_amethyst_bud minecraft:large_amethyst_bud minecraft:amethyst_cluster minecraft:glow_berries minecraft:ochre_froglight minecraft:verdant_froglight minecraft:pearlescent_froglight +item.92= minecraft:cake +item.213=minecraft:magma_block -item.213=minecraft:magma_block - -item.358=minecraft:filled_map +item.358=minecraft:filled_map item.169= #endif \ No newline at end of file diff --git a/shaders/lang/en_US.lang b/shaders/lang/en_US.lang index 717a922..dbab27a 100644 --- a/shaders/lang/en_US.lang +++ b/shaders/lang/en_US.lang @@ -811,7 +811,6 @@ value.OUTLINE.1=Black value.OUTLINE.2=Colored value.OUTLINE.3=1.12 Update Art value.OUTLINE.4=Dungeons - option.TOON_LIGHTMAP=Toon Lightmap option.TOON_LIGHTMAP.comment=Reduces the quality of vanilla lighting for cel shading. §e[*]§rThis option is known for making the game "look bad", only enable this when needed. diff --git a/shaders/program/final.glsl b/shaders/program/final.glsl index a22f1af..f08e544 100644 --- a/shaders/program/final.glsl +++ b/shaders/program/final.glsl @@ -1,7 +1,4 @@ -/* - Shaders v8 Series by Capt Tatsu -https://bitslablab.com -*/ + //Settings// #include "/lib/settings.glsl" @@ -73,7 +70,6 @@ void main() { vec2 view = vec2(viewWidth, viewHeight) * 0.5; newTexCoord = floor(newTexCoord * view) / view; #endif - vec3 color = texture2DLod(colortex1, newTexCoord, 0).rgb; #if CHROMATIC_ABERRATION > 0 diff --git a/shaders/program/gbuffers_basic.glsl b/shaders/program/gbuffers_basic.glsl index 3e2d2eb..da7b9a5 100644 --- a/shaders/program/gbuffers_basic.glsl +++ b/shaders/program/gbuffers_basic.glsl @@ -139,7 +139,7 @@ void main() { float finalPosCBSA = worldPosCBSA + cameraPosCBSA; if (dot(worldPos - cameraPosition, cameraDirection) < 1.0) { - float timeOffset = frameTimeCounter * 0.5; + float timeOffset = frameTimeCounter * 0.2; float hue = fract(finalPosCBSA + timeOffset) * 6.5; vec3 rainbowColor; if (hue < 1.0) { @@ -158,6 +158,7 @@ void main() { albedo.rgb = rainbowColor; } #endif + } /* DRAWBUFFERS:0 */ diff --git a/shaders/program/gbuffers_entities.glsl b/shaders/program/gbuffers_entities.glsl index bf5f48f..833502c 100644 --- a/shaders/program/gbuffers_entities.glsl +++ b/shaders/program/gbuffers_entities.glsl @@ -160,6 +160,9 @@ void main() { float pulse = .15 * (1.0 + sin(frameTimeCounter * 1 * 3.14159265358979)); albedo.rgb = mix(albedo.rgb, vec3(0.0,0.0,0.0), pulse); } + if (entityId == 10103){ + albedo.rgb *= 10; + } float lightningBolt = float(entityId == 10101); if(lightningBolt > 0.5) { diff --git a/shaders/program/gbuffers_hand.glsl b/shaders/program/gbuffers_hand.glsl index edaecc5..570a56a 100644 --- a/shaders/program/gbuffers_hand.glsl +++ b/shaders/program/gbuffers_hand.glsl @@ -1,5 +1,3 @@ - - //Settings// #include "/lib/settings.glsl" @@ -157,7 +155,7 @@ void main() { #endif lightmap.x = max(lightmap.x, GetHandItem(213)); - float emissive = (GetHandItem(50) + GetHandItem(89) + GetHandItem(213)); + float emissive = (GetHandItem(50) + GetHandItem(89) + GetHandItem(213) + GetHandItem(92)); float metalness = 0.0; float emission = emissive * 0.25; @@ -215,6 +213,7 @@ void main() { } #endif + #ifdef MULTICOLORED_BLOCKLIGHT lightAlbedo = albedo.rgb + 0.00001; lightAlbedo = sqrt(normalize(lightAlbedo) * emission * emissive); diff --git a/shaders/program/gbuffers_skybasic.glsl b/shaders/program/gbuffers_skybasic.glsl index c6615ae..ca949f0 100644 --- a/shaders/program/gbuffers_skybasic.glsl +++ b/shaders/program/gbuffers_skybasic.glsl @@ -59,6 +59,7 @@ void RoundSunMoon(inout vec3 color, vec3 viewPos, vec3 sunColor, vec3 moonColor) vec3 sunMoonCol = mix(moonColor * moonVisibility, sunColor * sunVisibility, float(VoL > 0.0)); color += sun * sunMoonCol * 16.0; } + // Function to draw star void SunGlare(inout vec3 color, vec3 viewPos, vec3 lightCol) { float VoL = dot(normalize(viewPos), lightVec); @@ -106,7 +107,7 @@ void main() { RoundSunMoon(albedo, viewPos.xyz, sunColor, moonColor); #endif - + #ifdef STARS if (moonVisibility > 0.0) DrawStars(albedo.rgb, viewPos.xyz); #endif diff --git a/shaders/program/gbuffers_skytextured.glsl b/shaders/program/gbuffers_skytextured.glsl index 55aa2d3..91c835c 100644 --- a/shaders/program/gbuffers_skytextured.glsl +++ b/shaders/program/gbuffers_skytextured.glsl @@ -77,7 +77,7 @@ void main() { #ifdef END - albedo.rgb *= 0.02; // Apply fog factor to brightness + albedo.rgb *= 0.02; #ifdef SKY_DESATURATION diff --git a/shaders/program/gbuffers_water.glsl b/shaders/program/gbuffers_water.glsl index 331e0ad..2208e84 100644 --- a/shaders/program/gbuffers_water.glsl +++ b/shaders/program/gbuffers_water.glsl @@ -239,8 +239,8 @@ void main() { emission *= dot(albedo.rgb, albedo.rgb) * 0.333; #ifndef REFLECTION_TRANSLUCENT - glass = 100; - translucent = 0.0; + glass = 1; + translucent = -10.0; #endif vec3 screenPos = vec3(gl_FragCoord.xy / vec2(viewWidth, viewHeight), gl_FragCoord.z); diff --git a/shaders/program/gbuffers_weather.glsl b/shaders/program/gbuffers_weather.glsl index 829fc3d..41ee35f 100644 --- a/shaders/program/gbuffers_weather.glsl +++ b/shaders/program/gbuffers_weather.glsl @@ -30,8 +30,10 @@ uniform sampler2D depthtex0; //Common Variables// float eBS = eyeBrightnessSmooth.y / 240.0; float sunVisibility = clamp(dot(sunVec, upVec) + 0.05, 0.0, 0.1) * 10.0; - +// Uniforms// +uniform float windStrength; // Add this line to declare the windStrength variable //Common Functions// +uniform float time; void Defog(inout vec3 albedo) { float z = texture2D(depthtex0,gl_FragCoord.xy/vec2(viewWidth,viewHeight)).r; if (z == 1.0) return; @@ -53,40 +55,53 @@ void Defog(inout vec3 albedo) { //Program// void main() { - #if defined NETHER || defined END - discard; - #endif + #if defined NETHER || defined END + discard; + #endif vec4 albedo = vec4(0.0); - - albedo.a = texture2D(texture, texCoord).a; - - if (albedo.a > 0.001) { - albedo.rgb = texture2D(texture, texCoord).rgb; - - albedo.a *= 0.25 * rainStrength * length(albedo.rgb / 3.0) * float(albedo.a > 0.1); - albedo.rgb = sqrt(albedo.rgb); - albedo.rgb *= (ambientCol + lmCoord.x * lmCoord.x * blocklightCol) * WEATHER_OPACITY; - - #if MC_VERSION < 10800 - albedo.a *= 4.0; - albedo.rgb *= 0.525; - #endif - - #if defined FOG && MC_VERSION < 11500 - if (gl_FragCoord.z > 0.991) Defog(albedo.rgb); - #endif - - #if ALPHA_BLEND == 0 - albedo.rgb = sqrt(max(albedo.rgb, vec3(0.0))); - albedo.a *= 1.4; - #endif - } - -/* DRAWBUFFERS:0 */ - gl_FragData[0] = albedo; + + albedo.a = texture2D(texture, texCoord).a; + + if (albedo.a > 0.009) { + albedo.rgb = texture2D(texture, texCoord).rgb; + + // Modify the rain direction based on wind + vec2 windDirection = normalize(vec2(1.0, 0.5)); // Adjust the wind direction + vec2 rainDirection = normalize(vec2(1.0, 1.0)); // Original rain direction + vec2 finalRainDirection = normalize(rainDirection + windDirection * windStrength); + + // Adjust the rain movement intensity based on wind strength + float windEffect = length(windDirection * windStrength); + + // Calculate the rain movement + albedo.rgb = texture2D(texture, texCoord + finalRainDirection * windEffect * time).rgb; + + albedo.a *= 0.25 * rainStrength * length(albedo.rgb / 3.0) * float(albedo.a > 0.1); + albedo.rgb = sqrt(albedo.rgb); + albedo.rgb *= (ambientCol + lmCoord.x * lmCoord.x * blocklightCol) * WEATHER_OPACITY; + + #if MC_VERSION < 10800 + albedo.a *= 4.0; + albedo.rgb *= 0.525; + #endif + + #if defined FOG && MC_VERSION < 11500 + if (gl_FragCoord.z > 0.991) Defog(albedo.rgb); + #endif + + #if ALPHA_BLEND == 0 + albedo.rgb = sqrt(max(albedo.rgb, vec3(0.0))); + albedo.a *= 1.4; + #endif + } + + // Write the final color to the output buffer + gl_FragColor = albedo; } + + #endif //Vertex Shader///////////////////////////////////////////////////////////////////////////////////// diff --git a/shaders/shaders.properties b/shaders/shaders.properties index 3b2a2e4..46fc48d 100644 --- a/shaders/shaders.properties +++ b/shaders/shaders.properties @@ -79,7 +79,7 @@ screen.CG_G= CG_GR CG_GG CG_GB CG_GI CG_GM CG_GC screen.CG_B= CG_BR CG_BG CG_BB CG_BI CG_BM CG_BC screen.CG_T= CG_TR CG_TG CG_TB CG_TI CG_TM -screen.EXTRAS= OUTLINE TOON_LIGHTMAP RETRO_FILTER WORLD_CURVATURE WORLD_CURVATURE_SIZE HIGHLIGHT +screen.EXTRAS= OUTLINE TOON_LIGHTMAP RETRO_FILTER WORLD_CURVATURE WORLD_CURVATURE_SIZE HIGHLIGHT screen.ANIMATION= WORLD_TIME_ANIMATION ANIMATION_SPEED WAVING_GRASS WAVING_CROP WAVING_PLANT WAVING_TALL_PLANT WAVING_LEAF WAVING_VINE WAVING_WATER WAVING_LAVA WAVING_FIRE WAVING_LANTERN WAVING_CHAIN WAVING_BELL