COWMODSКаталог модов

ClearLAGGG

Full control over entity, spawner, TNT and redstone lag. Every limiter, threshold and message fully configurable. Built for performance-critical servers.

5171обновлён 12 окт. 2026 г.
УправлениеОптимизацияУтилиты

Описание

Discord Release Downloads Servers License

Built with Java 21 Available for Paper Available for Purpur Available for Spigot Available for Bukkit

Chat with us on Discord Available on Codeberg

bStats

Prevention, not brute force.

Full control over every source of entity, spawner, TNT and redstone lag on your server. Lightweight, fully configurable down to the last message, and built to disappear from your timings report.


Features

FeatureDescription
Entity ClearingScheduled or on-demand clears, per-entity-type, with named/leashed/tamed protection.
Mob KillingSeparate configurable kill-list, independent from the entity clearer.
Per-chunk Entity LimiterHard caps per entity type, enforced live before they ever pile up.
Mob Spawner LimiterCaps spawners within a radius, force-sets delay & activation range.
Mob Egg LimiterPer-player, per-world cooldown-based cap on spawn-egg usage.
Breeding LimiterCaps breedable animals per chunk to stop farm-lag before it starts.
Per-item Live-timeCustom despawn timers per material, so you keep valuables, clear junk faster.
Protected DropsRenamed items, enchanted items and any materials you list survive the entity clear.
Countdown Boss BarOptional boss bar that runs down to the automatic clear, next to the chat warning.
TNT Lag ReductionCaps primed TNT per chunk, limits chain reactions, trims oversized explosions.
Hopper & Redstone LimitersPer-chunk caps on hopper transfers and redstone activity.
AI LimiterReduces pathfinding/AI cost for mobs far from any player.
TPS/RAM MeterBackground monitor that can execute commands when thresholds are crossed.
Full-tick SamplerSamples raw tick durations and flags spikes.
Memory Sampler & ProfilerHeap-over-time sampling plus a lightweight chunk-activity profiler.
Halt ModeTemporarily suspends mob spawning, hopper transfer, redstone, fluid flow or item merging.
Module AdminEnable/disable every module live via command, no restart needed.
Destructive-command ConfirmationClear/killmobs/area/unloadchunks require a confirming second run.
PlaceholderAPI Support10 placeholders for TPS, RAM, entity counts and halt state.
12 LanguagesFully translatable, with automatic fallback to English for missing keys.
Everything's configurableEvery message, threshold, limit and interval lives in config.yml.

Dependencies


How It Works

ClearLAGGG doesn't wait for your server to already be lagging. Every limiter runs at the point of creation: a spawner placement, a bred animal, a primed TNT, a spawned item. If it would exceed your configured limit, it's stopped or removed immediately, instead of building up until a scheduled clear has to nuke half your world's entities at once.

On top of that, a periodic scan sweeps loaded chunks for the entity-limiter and refreshes "never despawn" items, while the TPS/RAM meter watches server health continuously and can fire your own console commands the moment a threshold is crossed, including running /lagg clear automatically under critical load.

Halt mode gives you an emergency lever: instantly suspend the systems you choose (mob spawning, hopper transfer, redstone, fluid flow, item merging) with one command, and resume just as fast.


Configuration

Every module can be switched off on its own, and nothing here is required to get the plugin running - the defaults are safe.

The listing below shows the layout only. The same file with every option documented in place ships inside the jar and can be read at config.yml on Codeberg.

Click to expand the config.yml layout (220 lines)
settings:
  prefix: "&8[&bClearLAGGG&8] &7"
  clean-logs-on-startup:
    enabled: false
    older-than-days: 14
  language: "english"
  startup-banner: true
  check-for-updates: true
  update-check-interval-minutes: 30

placeholderapi:
  enabled: true
  auto-clear-on-placeholder-request:
    enabled: false
    trigger-placeholder: "clearlaggg_autoclear"
    cooldown-seconds: 300

entity-clear:
  enabled: true
  auto-clear-interval: 600
  warn-before-clear:
    enabled: true
    warn-seconds-before: 10
    bossbar: false
  broadcast-min-amount: 1
  excluded-worlds: []
  entities:
    DROPPED_ITEM: true
    ARROW: true
    EXPERIENCE_ORB: false
    ITEM_FRAME: false
    ARMOR_STAND: false
    BOAT: false
    MINECART: false
    EGG: true
    SNOWBALL: true
    FIREBALL: true
    SPLASH_POTION: true
    TRIDENT: true
    FISHING_BOBBER: true
  ignore-named-entities: true
  ignore-leashed-entities: true
  ignore-tamed-entities: true
  protect-items:
    named: true
    enchanted: false
    materials: []

kill-mobs:
  enabled: true
  auto-kill-interval: 0
  excluded-worlds: []
  ignore-named-entities: true
  ignore-tamed-entities: true
  ignore-leashed-entities: true
  mobs:
    ZOMBIE: true
    SKELETON: true
    SPIDER: true
    CREEPER: true
    ENDERMAN: true
    WITCH: true
    SLIME: true
    PHANTOM: true
    DROWNED: true
    HUSK: true
    STRAY: true
    PILLAGER: true
    VINDICATOR: true
    EVOKER: true
    RAVAGER: true
    COW: false
    PIG: false
    SHEEP: false
    CHICKEN: false
    VILLAGER: false
    WOLF: false
    CAT: false
    HORSE: false

limiters:
  enabled: true
  scan-interval-ticks: 100

  entity-limiter:
    enabled: true
    per-chunk-limits:
      DROPPED_ITEM: 40
      ARROW: 20
      BOAT: 4
      MINECART: 4
      ITEM_FRAME: 30
      ARMOR_STAND: 15
      EXPERIENCE_ORB: 60
    default-limit: -1

  mob-limiter:
    enabled: true
    per-chunk-limit: 25
    per-world-limit: 0
    prevent-spawns-at-limit: true

  hopper-limiter:
    enabled: false
    per-chunk-limit: 8

  redstone-limiter:
    enabled: false
    per-chunk-limit: 200

spawner-limiter:
  enabled: true
  max-spawners-per-radius: 4
  radius: 16
  action-on-exceed: "PREVENT_PLACE"
  force-spawn-delay: 0
  max-activation-range: 16

mob-egg-limiter:
  enabled: true
  max-per-player: 10
  cooldown-seconds: 60
  world-overrides: {}

breeding-limiter:
  enabled: true
  max-per-chunk: 30
  applies-to: []

item-livetime:
  enabled: true
  default-seconds: 300
  overrides:
    DIAMOND: 600
    NETHERITE_INGOT: -1
    NETHERITE_SCRAP: -1
    TOTEM_OF_UNDYING: -1
    ELYTRA: -1
    ENCHANTED_BOOK: 450
    EMERALD: 450
    NETHER_STAR: -1
    DRAGON_EGG: -1

tnt:
  enabled: true
  max-primed-per-chunk: 25
  chain-reaction-radius-limit: 0
  merge-explosions: true
  merge-radius: 1.0
  max-blocks-per-explosion: 500
  disable-block-damage: false
  fast-explosion-calculation: true

chunk-analysis:
  enabled: true
  results-per-page: 10
  score-weights:
    entity: 1.0
    tile-entity: 1.5
    hopper: 2.0
    redstone: 1.2

chunk-unloader:
  enabled: true
  auto-unload-interval: 0
  player-safe-radius: 4

ai-limiter:
  enabled: false
  disable-ai-beyond-blocks: 48
  freeze-beyond-blocks: 0
  ai-tick-rate-divisor: 1

tps-meter:
  enabled: true
  check-interval-seconds: 10
  triggers:
    - name: "high-ram-usage"
      enabled: false
      condition: "RAM_ABOVE_PERCENT"
      value: 90.0
      commands:
        - "say [ClearLAGGG] RAM usage high: {ram_percent}%"
      cooldown-seconds: 300

tick-sampler:
  enabled: true
  max-sample-ticks: 12000
  spike-threshold-ms: 50.0

memory-sampler:
  enabled: true
  max-sample-seconds: 600
  samples-per-second: 2

profiler:
  enabled: true
  max-profile-seconds: 300
  types:
    - "redstone"
    - "entities"
    - "tile-entities"
    - "chunk-loads"

halt:
  enabled: true
  disable:
    mob-spawning: true
    item-merging: false
    redstone: false
    fluid-flow: false
    hopper-transfer: true

commands:
  confirm-destructive-commands: true
  confirmation-window-seconds: 10
  destructive-commands:
    - "clear"
    - "killmobs"
    - "area"
    - "unloadchunks"

profiles: {}

config-version: 1

Commands

CommandPermissionDefault
/lagg clearlagg.clearOP
/lagg check [world1, world2...]lagg.checkOP
/lagg reloadlagg.reloadOP
/lagg killmobslagg.killmobsOP
/lagg area <radius>lagg.areaOP
/lagg tpchunk <x> <z> [world]lagg.tpchunkOP
/lagg admin <list|enable|disable> [module]lagg.adminOP
/lagg tpslagg.tpsOP
/lagg haltlagg.haltOP
/lagg sampleMemory <seconds>lagg.samplememoryOP
/lagg sampleTicks <ticks> [raw]lagg.sampleticksOP
/lagg unloadchunkslagg.unloadchunksOP
/lagg profile <seconds> <type>lagg.profileOP
/lagg memorylagg.memoryOP
/lagg performancelagg.performanceOP
(none)lagg.notifyOP, receives threshold notifications

Placeholders

Requires PlaceholderAPI to be installed.

PlaceholderDescription
%clearlaggg_tps%Current estimated TPS
%clearlaggg_tps_colored%TPS with a color code based on health
%clearlaggg_ram_used%Used RAM in MB
%clearlaggg_ram_max%Max RAM in MB
%clearlaggg_ram_percent%Used RAM as a percentage
%clearlaggg_entities_world%Live entity count in the player's world
%clearlaggg_entities_total%Live entity count across all worlds
%clearlaggg_chunks_loaded%Loaded chunk count in the player's world
%clearlaggg_last_clear_amount%Amount removed by the last /lagg clear
%clearlaggg_halted%true/false whether halt mode is active

Credits

LucasTHCRCreator & maintainer

Discord: dc.gg/paperstream

Последние версии

Все версии →
release

1.2-RELEASE

1.2-RELEASE
12 окт. 2026 г.351Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, paper, purpur, spigot
Скачать
Что нового
### Added - `entity-clear.protect-items`: dropped items the entity clear leaves alone. `named` keeps items renamed in an anvil (on by default), `enchanted` keeps enchanted items and books, `materials` takes a list such as `[DIAMOND, NETHERITE_INGOT]`. - `entity-clear.warn-before-clear.bossbar`: a boss bar that counts down to the automatic clear, next to the chat warning. Off by default. The text is `auto-clear-bossbar` in every language file. ### Changed - Renamed dropped items are no longer cleared by default. Set `protect-items.named: false` for the old behaviour. Existing servers: the new options are not added to an existing `config.yml`. Without them only the named-item protection applies.
release

ClearLAGGG 1.1-RELEASE

1.1-RELEASE
29 авг. 2026 г.154Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bukkit, paper, purpur, spigot
Скачать
Что нового
## Changed - Removed the `gc-monitor` module. It listened for garbage-collection notifications and warned about long pauses, which only ever caught one cause of a slow tick and put a JMX listener on every collector bean to do it. Watching a server for lag belongs in `/lagg tps`, `/lagg performance` and the samplers, which report on demand instead of writing into the log on their own. - The plugin is now called ClearLAGGG. The command stays `/lagg`, and `/clearlag` and `/clearlagg` keep working as aliases. The data folder moves from `plugins/Clearlagg` to `plugins/ClearLAGGG`, and the PlaceholderAPI placeholders change from `%clearlagg_...%` to `%clearlaggg_...%`. - Removed `/lagg gc`. Forcing collection through `System.gc()` is only a hint to the JVM, can be turned off with `-XX:+DisableExplicitGC`, and usually performs worse than letting the collector run on its own schedule. The `gc-monitor` module is unaffected and still reports long GC pauses. - The `tps-meter` section no longer ships an enabled trigger. Previously the bundled `critical-tps` trigger ran a `say` command, which broadcast a TPS warning to every player on the server whenever the server dipped below 15 TPS. Triggers are now opt-in. - ClearLAGGG is now open source under the GNU General Public License v3.0. Source: https://codeberg.org/LucasTHCR/ClearLAGGG - Every player-facing text now comes from `lang/messages_<language>.yml`. The clear and kill-mobs broadcasts, the spawner, mob-egg and breeding denial messages, the GC pause warning and the halt/resume broadcasts used to be read from `config.yml`, which only ever held English. Reword them in the language file from now on; the corresponding `config.yml` keys are gone. ## Fixed - Output is no longer half English on a translated server. With `settings.language` set to anything but English, the messages listed above stayed English while the rest of the plugin was translated. - Filled in fifteen messages that only existed in English and German. The other ten languages silently fell back to English for command usage, sampler results, profiler output and several errors. - Messages added in a new version now resolve on servers that already have a language file. Bukkit never overwrites an existing `lang/messages_*.yml`, and the fallback pointed at the English file on disk, which was equally outdated, so a new key printed `[Missing message: ...]`. Defaults now come from the copy inside the jar, in the configured language. - PlaceholderAPI placeholders were lowercased using the system default locale, which broke them on servers running a Turkish locale. They now use `Locale.ROOT`. ## Note for existing installs Bukkit does not overwrite an existing `config.yml` on update. If you installed 1.0-RELEASE, remove the `critical-tps` entry under `tps-meter.triggers` in `plugins/ClearLAGGG/config.yml` by hand and run `/lagg reload`, otherwise the broadcast stays active.