
Ever thought that the world behind your inventory was just too distracting?
Or that the default Minecraft blur effect is just too boring?
Then this mod is just right for you!
Old Description

Blur adds a Gaussian blur shader to the background of all GUIs, which fades into give it a sleek look. It is also highly configurable, so you can tune the look of the mod to your liking. Click here for a massive gif demonstration!
NOTE: This is the Fabric version of Blur, for the Forge version, look here.
You can configure the strength of the blur in the config file with the "radius" option.
Here is a demonstration of a few different radii:

Change the background colors and gradient!


Get lost in your GUIs!

Gorgeous rainy evening with you and your blur:

Works with shaders! Currently doesn't work with Optifine shaders due to an issue with Satin - consider using Canvas instead.

Explanation of Config Settings
A list of classes to be excluded from the blur shader. This is to be used for GUIs which do not necessarily cover the screen. It defaults to containing only one GUI, the chat.

Required
Unsupported
Terms for using, modifying and redistributing this product.
29.06.2026 · Modrinth
Thanks a bunch to @amiralimollaei for submitting the following change in #164:
- Fix crash in nested screens (such as the new friends menu)
Thanks a bunch to @amiralimollaei for...
Screenshots and images from the original Modrinth page.















Published versions and original Modrinth files.
29.06.2026 · 2 729 downloads
Thanks a bunch to @amiralimollaei for submitting the following change in #164:
- Fix crash in nested screens (such as the new friends menu)
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases29.06.2026 · 342 680 downloads
Thanks a bunch to @amiralimollaei for submitting the following change in #164:
- Fix crash in nested screens (such as the new friends menu)
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases29.06.2026 · 8 726 downloads
Thanks a bunch to @amiralimollaei for submitting the following change in #164:
- Fix crash in nested screens (such as the new friends menu)
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases29.06.2026 · 3 406 downloads
Thanks a bunch to @amiralimollaei for submitting the following change in #164:
- Fix crash in nested screens (such as the new friends menu)
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases29.06.2026 · 146 downloads
Thanks a bunch to @amiralimollaei for submitting the following change in #164:
- Fix crash in nested screens (such as the new friends menu)
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases29.06.2026 · 173 downloads
Thanks a bunch to @amiralimollaei for submitting the following change in #164:
- Fix crash in nested screens (such as the new friends menu)
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases29.06.2026 · 26 646 downloads
Thanks a bunch to @amiralimollaei for submitting the following change in #164:
- Fix crash in nested screens (such as the new friends menu)
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases29.06.2026 · 32 878 downloads
Thanks a bunch to @amiralimollaei for submitting the following change in #164:
- Fix crash in nested screens (such as the new friends menu)
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases29.06.2026 · 69 524 downloads
Thanks a bunch to @amiralimollaei for submitting the following change in #164:
- Fix crash in nested screens (such as the new friends menu)
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases29.06.2026 · 1 003 downloads
Thanks a bunch to @amiralimollaei for submitting the following change in #164:
- Fix crash in nested screens (such as the new friends menu)
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases29.06.2026 · 169 downloads
Thanks a bunch to @amiralimollaei for submitting the following change in #164:
- Fix crash in nested screens (such as the new friends menu)
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases29.06.2026 · 11 513 downloads
Thanks a bunch to @amiralimollaei for submitting the following change in #164:
- Fix crash in nested screens (such as the new friends menu)
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases29.06.2026 · 145 downloads
Thanks a bunch to @amiralimollaei for submitting the following change in #164:
- Fix crash in nested screens (such as the new friends menu)
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases29.06.2026 · 5 544 downloads
Thanks a bunch to @amiralimollaei for submitting the following change in #164:
- Fix crash in nested screens (such as the new friends menu)
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases17.06.2026 · 403 downloads
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases17.06.2026 · 20 310 downloads
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases13.06.2026 · 1 281 downloads
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases13.06.2026 · 69 063 downloads
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases13.06.2026 · 67 downloads
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases13.06.2026 · 1 325 downloads
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases13.06.2026 · 5 525 downloads
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases13.06.2026 · 1 952 downloads
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases13.06.2026 · 57 820 downloads
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases13.06.2026 · 56 downloads
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases13.06.2026 · 305 downloads
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases13.06.2026 · 68 downloads
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases13.06.2026 · 9 749 downloads
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases13.06.2026 · 8 941 downloads
Thanks a bunch to @amiralimollaei for submitting the following changes via pull requests.
Your continued support really means a lot!
- Fully Continuous Animations
- Option to reduce Blur behind In-Game Screens (off by default)
- Added Option To Blur The Death Screen
- Fix Gradle Issues
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.03.2026 · 179 343 downloads
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.03.2026 · 3 464 downloads
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases20.02.2026 · 12 377 downloads
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases20.02.2026 · 603 downloads
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases20.02.2026 · 394 downloads
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases20.02.2026 · 14 904 downloads
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases20.02.2026 · 2 521 downloads
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases20.02.2026 · 57 355 downloads
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases20.02.2026 · 31 438 downloads
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases20.02.2026 · 236 579 downloads
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases20.02.2026 · 443 downloads
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases20.02.2026 · 45 357 downloads
Huge thanks to @amiralimollaei for submitting the following changes as a pull request:
- Fix background gradient fading out on some screens that shouldn't fade out (world creation screen, statistics screen, etc.)
- refactor all animations with more abstractions that makes it possible to have more than 2 states in the animations in the future
- Removed AnimationHandler.java and RainbowColor.java as we now implement all animations in the animations.impl package
- Removed TimingHandler.java as we now use Minecraft's built-in timer for all animations
- Added AbstractAnimationHandler.java, AnimationState.java, and IAnimationHandler.java, and their implementations FadeAnimationState.java, GradientAnimationState.java, FadeAnimationHandler.java and GradientAnimationHandler.java
- Added DebugHudRenderer.java for rendering debug lines
- Added a new animation for enabling or disabling rainbow mode in the config
- Added a debug HUD (option in the configuration screen) that shows the ID of the current screen in the top left corner of the game window
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases30.01.2026 · 5 751 downloads
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases30.01.2026 · 133 downloads
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases30.01.2026 · 10 432 downloads
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases30.01.2026 · 134 downloads
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases30.01.2026 · 7 895 downloads
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases30.01.2026 · 64 067 downloads
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases30.01.2026 · 701 downloads
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases30.01.2026 · 10 806 downloads
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases30.01.2026 · 8 462 downloads
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases30.01.2026 · 179 downloads
Huge thanks to @amiralimollaei for submitting these changes as a pull request, once again!
Changes So Far:
- Fixed screen flickering & flashing in edge cases
- Every property about a screen is now gathered within a single frame,
previous versions would not be able to determine the properties of a screen within one frame and
thus had slight flickering issues where the fade-out animation would be triggered for one frame where it shouldn't
(e.g. switching between two screens that both have blurred backgrounds),
likewise the fade animations all happened with one frame of delay, this is now fixed,
improving responsiveness as well.
- Blur.onRender and Blur.onRenderEnd are now only called once per render pass, and log useful information when something is wrong
- Blur.onScreenChange and it's Mixin is deleted as we don't need that information anymore
- The timer for fade animation now uses time in nanoseconds, to be able to more accurately work with higher frame rates, the timer is also shared between all animations instead of being instantiated per animation
- Fixed a bug where the background gradient color would dim to black when fading out, which would cause flickers with bright background colors
- Added more informative comments, renamed variables and classes for better clearance and refactored parts of the code for better readability
- Try to not render the background gradient more than once per frame, even if the screen calls renderBackground multiple times.
- Fix the menu blurriness slider not showing an accurate value sometimes
- don't replace the entire background texture of screens, only replace the darkening textures.
- uses a chain-able mixin for applying menu blur radius coefficient
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases07.01.2026 · 6 693 downloads
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases07.01.2026 · 136 downloads
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases07.01.2026 · 211 downloads
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases07.01.2026 · 5 567 downloads
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases07.01.2026 · 11 176 downloads
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases07.01.2026 · 131 downloads
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases07.01.2026 · 79 927 downloads
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases07.01.2026 · 14 410 downloads
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases07.01.2026 · 687 downloads
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases07.01.2026 · 7 850 downloads
Huge thanks to @amiralimollaei for submitting these changes as a pull request!
Many longstanding issues have now finally been fixed – Blur is now smoother than ever :D
Key Improvements & Fixes:
* Revamped Blur Animation: Complete overhaul of the blur animation calculation logic, including runtime detection of blurred screens for improved compatibility.
* Stabilized Fade Animations: Resolved an issue where fade animations desynchronized during rapid screen transitions (e.g., holding E or Esc). This ensures smooth and consistent fade-in/out effects.
* Eliminated Frame Skipping/Resets: Fixed bugs that caused frames of the fade animation to be skipped or animations to unexpectedly reset. Now provides a consistently continuous animation.
* Independent Blur & Gradient Control: Decoupled the background blurriness animation and background gradient animation, allowing for separate and independent control over each.
* "Force Disabled" Screens: Deprecated the "excluded screens" configuration, Use "force disabled screens" for clearer and more intuitive control.
* New Animations for Title Screens: Added animations for the "Blur Title Screen" and "Darken Title Screen" options, leveraging the new decoupled animation functionality.
* Enabled Blur on Ignored Screens: Added blur to the book edit/view/sign screens, command block edit screen, and sign edit screen, with configurable options in the settings.
* Performance Optimization: Improved performance by preventing unnecessary drawing when animations are completely faded out.
* Improved Mod Compatibility: Increased compatibility with other mods and modded scenarios by utilizing simpler, more chainable Mixins.
* Fixed Blur Slider Issue on 1.21.11: Fixed a bug where the blur slider didn't work correctly past 10 in version 1.21.11.
* Truly Configure Gradient: Ensures that disabling the gradient completely removes any instance where Blur+'s special background gradient would be drawn, instead falling back to the original screen background.
* Eliminated Flickering: Fixed all known instances of flickering, including the title screen, excluded screens, force-disabled screens, and force-enabled screens.
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.12.2025 · 5 092 downloads
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.12.2025 · 114 downloads
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.12.2025 · 3 674 downloads
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.12.2025 · 94 downloads
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.12.2025 · 17 937 downloads
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.12.2025 · 2 748 downloads
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.12.2025 · 19 640 downloads
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.12.2025 · 123 downloads
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.12.2025 · 7 200 downloads
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.12.2025 · 331 downloads
Can only blur once per frame crashjava.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.12.2025 · 65 downloads
java.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.12.2025 · 38 downloads
java.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.12.2025 · 76 downloads
java.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.12.2025 · 22 downloads
java.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.12.2025 · 48 downloads
java.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.12.2025 · 40 downloads
java.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.12.2025 · 23 downloads
java.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.12.2025 · 66 downloads
java.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.12.2025 · 91 downloads
java.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.12.2025 · 37 downloads
java.lang.IllegalStateException: Can only blur once per frame that occurred in edge cases28.12.2025 · 22 downloads
28.12.2025 · 66 downloads
28.12.2025 · 20 downloads
28.12.2025 · 47 downloads
28.12.2025 · 118 downloads
28.12.2025 · 30 downloads
28.12.2025 · 39 downloads
28.12.2025 · 22 downloads
28.12.2025 · 82 downloads
28.12.2025 · 94 downloads
08.10.2025 · 2 669 downloads
View the changelog
- Port: The Copper Age (1.21.9/10)
08.10.2025 · 308 487 downloads
View the changelog
- Port: The Copper Age (1.21.9/10)
15.07.2025 · 41 856 downloads
View the changelog
- Backport: adjust for 1.21.1
- Port: Chase the Skies (1.21.6)
- Feat: use MidnightLib's new widget API for radius slider
- Create es_ar.json
- Fix: move gradient z-coordinate further back
- Fix: gradient breaking various mod screens
- Fix: improve gradient handling
- Feat: improve config screen with comments
- Fix: less invasive gradient injection
- Feat: various improvements
- Fix: add null-check for Minecraft options
- Readme: remove duplicate banner
- Chore: bump version
- Fix: crash in production when opening config screen
- Feat: title screen blur
- Feat: add mirror of blur radius to config screen
- Fix: container blur not working on NeoForge
15.07.2025 · 115 164 downloads
View the changelog
- Backport: adjust for 1.21.1
- Port: Chase the Skies (1.21.6)
- Feat: use MidnightLib's new widget API for radius slider
- Create es_ar.json
- Fix: move gradient z-coordinate further back
- Fix: gradient breaking various mod screens
- Fix: improve gradient handling
- Feat: improve config screen with comments
- Fix: less invasive gradient injection
- Feat: various improvements
- Fix: add null-check for Minecraft options
- Readme: remove duplicate banner
- Chore: bump version
- Fix: crash in production when opening config screen
- Feat: title screen blur
- Feat: add mirror of blur radius to config screen
- Fix: container blur not working on NeoForge
17.06.2025 · 463 598 downloads
View the changelog
- Port: Chase the Skies (1.21.6)
17.06.2025 · 3 401 downloads
View the changelog
- Port: Chase the Skies (1.21.6)
17.06.2025 · 63 downloads
View the changelog
- Port: Chase the Skies (1.21.6)
14.05.2025 · 2 941 downloads
View the changelog
- Feat: use MidnightLib's new widget API for radius slider
- Create es_ar.json
- Fix: move gradient z-coordinate further back
- Fix: improve gradient handling
- Feat: improve config screen with comments
- Fix: less invasive gradient injection
14.05.2025 · 367 708 downloads
View the changelog
- Feat: use MidnightLib's new widget API for radius slider
- Create es_ar.json
- Fix: move gradient z-coordinate further back
- Fix: improve gradient handling
- Feat: improve config screen with comments
- Fix: less invasive gradient injection
19.04.2025 · 105 454 downloads
View the changelog
- Fix: gradient breaking various mod screens
28.03.2025 · 2 141 downloads
View the changelog
- Feat: various improvements
28.03.2025 · 204 695 downloads
View the changelog
- Feat: various improvements
02.02.2025 · 79 430 downloads
View the changelog
- Fix: add null-check for Minecraft options
02.02.2025 · 1 445 downloads
View the changelog
- Fix: add null-check for Minecraft options
27.01.2025 · 8 514 downloads
View the changelog
- Fix: crash in production when opening config screen
27.01.2025 · 184 downloads
View the changelog
- Fix: crash in production when opening config screen
25.01.2025 · 5 069 downloads
View the changelog
- Feat: title screen blur
25.01.2025 · 109 downloads
View the changelog
- Feat: title screen blur
25.01.2025 · 305 downloads
View the changelog
- Feat: add mirror of blur radius to config screen
25.01.2025 · 92 downloads
View the changelog
- Feat: add mirror of blur radius to config screen
08.12.2024 · 1 069 downloads
View the changelog
- Update dependencies to 1.21.4
08.12.2024 · 49 340 downloads
View the changelog
- Update dependencies to 1.21.4
05.11.2024 · 43 766 downloads
View the changelog
- Update to 1.21.3
05.11.2024 · 967 downloads
View the changelog
- Update to 1.21.3
06.09.2024 · 352 974 downloads
View the changelog
- Final changes before 5.0.0
- Create README.md
- Increased max blur intensity & Working screen overrides
- Architectury port, EMI compat
- Update zh_tw.json
- Added Traditional Chinese (zh_tw.json)
- Update translations for zh_cn
06.09.2024 · 31 188 downloads
View the changelog
- Final changes before 5.0.0
- Create README.md
- Increased max blur intensity & Working screen overrides
- Architectury port, EMI compat
- Update zh_tw.json
- Added Traditional Chinese (zh_tw.json)
- Update translations for zh_cn
17.06.2024 · 602 722 downloads
View the changelog
- Update to 1.21 & Add exclusion list
02.05.2024 · 60 588 downloads
19.12.2023 · 263 147 downloads
30.09.2023 · 128 406 downloads
10.06.2023 · 5 056 537 downloads
25.03.2023 · 72 865 downloads
14.12.2022 · 31 082 downloads
26.06.2022 · 317 555 downloads
11.06.2022 · 56 651 downloads
04.12.2021 · 114 109 downloads
31.10.2021 · 7 578 downloads
24.09.2021 · 908 downloads
Update to MidnightLib v0.2.5
Add live config preview
Russian translations by @Felix14-v2
Brazilian translations by @Percario
21.06.2021 · 1 594 downloads
Update to 1.17 and MidnightLib 1.0.4
05.03.2021 · 272 downloads
Switch to MidnightConfig:
- Much smaller file size
- Live preview
- Fixed Crash after saving invalid value
Chinese translation by @Enaium
Update to 21w08b
05.03.2021 · 33 338 downloads
Switch to MidnightConfig:
- Much smaller file size
- Live preview
- Fixed Crash after saving invalid value
Chinese translation by @Enaium
Update to 21w08b
01.01.2021 · 328 downloads
01.01.2021 · 613 downloads
01.01.2021 · 1 766 downloads