Light Cleaner icon

Light Cleaner -----

Regenerates light levels in your world, fixing bugged lighting such as black cliffs




  • [+] Added support for paper's new plugin loader (preloader bug)
  • [ ! ] Fixed chunks being loaded/generated around the chunks whose lighting is being cleaned
  • [ ! ] Fixed an error when worlds were loaded/unloaded while cleaning was active
----------, Feb 22, 2023

Detecting block changes done by FAWE/WorldEdit was migrated to BKCommonLib, which includes some fixes there. Requires BKCL 1.19.
----------, Jun 19, 2022

Depending on how the JVM is configured and how rapidly chunks can load, the /cleanlight command would sometimes stall during the loading chunks phase. This is now fixed. Other changes:
  • When a world is unloaded, operations for that world are cancelled too. Worlds are no longer loaded when the server restarts if there are pending operations for it.
  • Optimization for cubic-chunks to skip listing regions on disk when using the 'loaded' option, it just checks the loaded chunk slices
  • Now adjusts to radius-based permissions when doing a no-radius-arg /cleanlight command, rather than forcing it by server view distance
----------, Mar 5, 2022

Previous version had a bug that it didnt fix light at chunk edges correctly caused by the previous version's patch
----------, Dec 28, 2021

Before it was loading the chunk block data information of all 100-200 chunks at once when loading finishes, it now does it right as chunks load to avoid really long tick stalls. This was especially an issue when doing world-wide cleaning operations.
----------, Dec 25, 2021

Supports Minecraft 1.18/1.18.1 through the BKCommonlib update. Updated the preloader which fixes an incompatibility with AsyncWorldEditInjector.
----------, Dec 11, 2021

A small update that restores compatibility with FastAsyncWorldedit for automatic light-cleaning. Minor other changes, such as the /cleanlight debugblock output now containing more helpful details.
----------, Nov 28, 2021

  • [Added] Added support for Minecraft 1.17, requires new BKCommonLib!
  • [Added] Some internal messages added to Localization.yml
  • [Added] Plugin preloader warning about missing dependencies
  • [Fixed] Send update packets on main thread, fixes problem of fixes light not being synchronized to clients
----------, Aug 21, 2021

  • [Fixed] Potential crash because of retrieving block light and sky light in parallel
  • [Improved] Now also generates lighting data for all-air portions of chunks
  • [Added] Command blocks can now execute cleanlight commands
  • [Added] New /cleanlight at [cx] [cz] [cradius] command, for use in commandblocks or automated systems
  • [Added] Extra timings to better diagnose TPS problems
----------, Jan 17, 2021

Changes:
  • Adds support for infinite height worlds, as are provided by CubicChunks on forge, using the new BKCommonLib API.
  • Adds support for the new Bukkit provides property for detecting FAWE.
  • Adds support for legacy (very old) versions of WorldEdit for automatic fixing
  • Fixes incorrect available memory calculations causing stalling, when not out of memory at all
----------, Nov 4, 2020

There was an issue of top half-slabs letting skylight pass through, which has now been fixed. There were more issues with certain block types that have been fixed in BKCommonLib 1.16.3-v1, it is strongly recommended to update both.

In addition, permissions have been changed so that granting players a certain radius of cleaning is easier to do. See the updated permissions section on the main page!
----------, Sep 20, 2020

Since Minecraft 1.14 officially blocks like stairs can block light in one direction while letting it through from others. Light cleaner now also supports the base functionality of this.

Other changes:
  • Fixes some 1.16 issues with incorrect light heightmap calculations
  • Shows in status message when paused due to being low on available memory
  • Performance improvements for (async) chunk loading
  • Shows what stage of cleaning it is (loading chunks, cleaning, applying data)
  • Improve exception handling (failed to load chunks, deadlocks, hangs)
----------, Sep 4, 2020

This version adds official 1.16.1 compatibility. It also adds an auto-clean integration for FastAsyncWorldEdit (and normal WorldEdit).

It now also shows if/when the currently processing task is hung, with a time in minutes shown in red of /cleanlight status.
----------, Jul 26, 2020

This update fixes some problems when cleaning lighting in the nether, which resulted in a stalled operation. This has been fixed.

In addition, there is now a configuration option to disable saving for some worlds, in case some worlds are never saved to disk intentionally. Lighting operations for these worlds are not resumed on restart.

There is now a per-area permission rule you can use. Grant players the lightcleaner.clean.radius.2 permission, and they can now always clean only a 5x5 chunk area. Make sure not to give the general lightcleaner.clean permission, as that permits everything below 21x21.
----------, May 31, 2020

This version includes changes targeted towards the new 1.15.2-v2 BKCommonLib release that allows writing lighting data to the server asynchronously, reducing overhead and fixing some internal server errors that occurred spuriously while fixing.

Updating BKCommonLib to 1.15.2-v2 will also fix a problem of the server crashing when running low on memory, because of a bug in the world saving function since Minecraft 1.14. It is strongly recommended to update.

The abort command now aborts instantly and no longer causes a short freeze.

A side-effect of these changes is that a bug was fixed that the new chunk lighting information was not sent to the nearby players reliably.
----------, Mar 13, 2020

Adds support for Minecraft 1.14+. Includes some neat new functionalities and improved performance by loading chunks asynchronously.

Changes
  • Add support for BKCommonLib 1.14.4-v1's new lighting and asynchronous chunk loading API
  • Add asynchronous chunk loading support to improve performance
  • Add /cleanlight pause and /cleanlight resume commands
  • Add /cleanlight loaded flag, to only process chunks that are currently already loaded
  • Add /cleanlight dirty, to make lightning corrupt. Useful for debug. Permission by default retracted.
  • Speed up the /cleanlight abort command
  • Allow cleaning of radius below view distance, when players have the clean permission
  • Prevent server crashes scheduling very large areas. When using a very large radius, the task is subdivided into regions.
  • Fix heightmap issue when height at a block was -1
  • Fix bug that infrequently caused fixing to halt too quickly, resulting in some incomplete lighting
----------, Aug 4, 2019

Requires new BKCommonLib. Adds support for 1.13 and 1.13.1, and that is all.
----------, Sep 2, 2018

A bug was found causing some areas of the world to not be fixed at chunk borders. In addition, BKCommonLib should be updated to the latest version also released today to fix problems where the plugin didn't fix sky lighting at all on some worlds.
----------, Jan 22, 2018

This update enables very large worlds to be fixed, with chunks in the orders reaching millions, without causing the server to run out of memory. In addition various bugfixes have been applied.

Bugfixes:
  • Reduce memory usage of pending tasks, so that millions of chunks can be safely queued without using up 10GB of RAM
  • Fix a bug that caused corrupted data to be saved in PendingLight.dat, which caused a server freeze the next time the plugin enabled
  • Only write updated light levels to chunks when the light levels actually change
  • Only re-send chunks to nearby players when the light levels change. Avoids resending all chunks when only a tiny area is cleaned.
  • Set the 'dirty' flag for chunks changed by the plugin to guarantee the light changes are saved persistently
  • Save world data periodically while fixing to prevent building up a lot of cached data in memory
  • Raise minimum memory requirements to 400MB. Logs a warning if the older 200MB is used. 200MB was shown to be too low for the server.
----------, Dec 1, 2017

Reuploaded a new version that fixes a bug present in -v3 for empty chunk sections. Especially in the nether this caused some funky lighting, because the chunk section directly above lava is all air (and thus empty'd out). it caused a lot of broken lighting. This has been fixed now.

This version fixes problems with the Java garbage collector causing the server to run out of memory when fixing entire worlds (or just a lot of chunks). It now explicitly garbage collects after every big step to prevent this.

Update BKCommonLib and Light Cleaner will support all these versions:
  • Spigot 1.8.8
  • Spigot 1.9
  • Spigot 1.9.2
  • Spigot 1.9.4
  • Spigot 1.10.2
  • Spigot 1.11.2
  • Spigot 1.12
----------, Jun 30, 2017

This version fixes problems with the Java garbage collector causing the server to run out of memory when fixing entire worlds (or just a lot of chunks). It now explicitly garbage collects after every big step to prevent this.

Update BKCommonLib and Light Cleaner will support all these versions:
  • Spigot 1.8.8
  • Spigot 1.9
  • Spigot 1.9.2
  • Spigot 1.9.4
  • Spigot 1.10.2
  • Spigot 1.11.2
  • Spigot 1.12
----------, Jun 30, 2017

As requested, a new feature was added to automatically clean up light of newly generated chunks. Also made some minor performance tweaks, since every small bit helps.

Enable it in the configuration with:
Code (Text):
autoCleanEnabled: true
----------, Jun 19, 2017

Resource Information
Author:
----------
Total Downloads: 49,884
First Release: Jun 18, 2017
Last Update: Feb 22, 2023
Category: ---------------
All-Time Rating:
139 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings