Home›Java›Mods›Optimizator
ModsJava

Optimizator

Java mod listed for Minecraft 1.16–1.21. Downloads from the MC Java Mods app on Android.

by SerjTv · on Modrinth

⬇ Download on Modrinth

Optimizator

Minecraft Platform Java Version License

A lightweight optimization plugin for Paper / Folia servers from Minecraft 1.16.5 to 1.21.11.

A single .jar works across the whole version range: the plugin is compiled against the oldest API (1.16.5), so it also loads on newer versions thanks to Bukkit API backward compatibility. No external libraries are required.

Features


Gameplay-Safe

The plugin is designed to be invisible to players:


Compatibility

Server Versions Task scheduler
Paper / Spigot 1.16.5 – 1.21.11 BukkitScheduler
Folia 1.19.4 – 1.21.11 GlobalRegionScheduler / RegionScheduler

Folia does not exist below version 1.19.4, so on 1.16.5 the plugin runs in normal Paper/Spigot mode and the regional mode is enabled automatically when running on Folia.


Requirements

Installation

  1. Build the plugin (see Building) or grab the ready-made Optimizator-1.0.0.jar.
  2. Place Optimizator-1.0.0.jar into your server's plugins/ folder.
  3. Start the server — a plugins/Optimizator/config.yml file will be created.
  4. Edit config.yml to your needs.
  5. Apply the changes with /optimizator reload.

Commands and Permissions

Command Description
/optimizator reload Reload config.yml and restart tasks
/optimizator stats General statistics (MC version, TPS, memory, counters)
/optimizator entity Entity statistics
/optimizator items Item statistics
/optimizator chunk Chunk statistics
/optimizator explosion Explosion statistics
/optimizator tps Current TPS and memory usage
/optimizator folia Check whether the server is running on Folia
/optimizator reset Reset all statistics

The command supports subcommand tab completion (Tab).

Permission Description Default
optimizator.admin Access to all plugin commands op

Configuration

The plugins/Optimizator/config.yml file:

# Debug messages to the console.
debug: false

# Worlds where optimization is fully disabled (by world name).
disabled-worlds: []

entity:
  optimization-enabled: true
  cancel-spawns: true        # Cancel natural spawning away from players
  mob-spawn-range: 48        # Mob spawn radius around players (blocks)
  max-entities-per-chunk: 50 # Limit of mobs removed per chunk
  max-living-per-chunk: 30   # Limit of living entities removed per chunk (0 = off)
  remove-far-mobs: false     # Remove mobs far away from players
  safety-radius: 32          # Never remove anything closer than this to a player
  protected-types:           # Types that are never removed
    - PLAYER
    - VILLAGER
    - WANDERING_TRADER
    - IRON_GOLEM
    - SNOWMAN
    - WOLF
    - CAT
    - PARROT
    - HORSE
    - DONKEY
    - MULE
    - LLAMA
    - TRADER_LLAMA
    - AXOLOTL
    - ALLAY

explosion:
  optimization-enabled: true
  cancel-creeper: false      # Cancel creeper explosions
  cancel-tnt: false          # Cancel TNT explosions
  cancel-wither: false       # Cancel Wither explosions
  allowed-worlds: []         # Worlds where explosions are always allowed

items:
  cleanup-enabled: true      # Remove old dropped items
  item-lifetime: 600         # Item lifetime (seconds)
  cleanup-interval: 60       # Check interval (seconds)
  warn-before-cleanup: true  # Warn players before removal
  warn-delay: 5              # Delay between warning and removal (seconds)
  protect-valuable: true     # Do not remove items with name/lore/enchantments
  merge-items: true          # Merge nearby identical items
  merge-radius: 1.5          # Merge radius (blocks)

chunk:
  optimization-enabled: true
  auto-save-interval: 1200   # Chunk tracking interval (ticks, 1200 = 60 sec)
  save-inactive-chunks: true

tps:
  monitor-enabled: true      # Track TPS
  warn-threshold: 15.0       # TPS warning threshold
  check-interval: 60         # Check interval (seconds)

Settings Reference

Setting Type Default Description
debug bool false Print debug messages
disabled-worlds list [] Worlds where optimization is fully disabled
entity.optimization-enabled bool true Entity optimization
entity.cancel-spawns bool true Cancel natural spawning away from players
entity.mob-spawn-range int 48 Mob spawn radius around players (blocks)
entity.max-entities-per-chunk int 50 Limit of mobs removed per chunk
entity.max-living-per-chunk int 30 Limit of living entities removed (0 = off)
entity.remove-far-mobs bool false Remove mobs far from players
entity.safety-radius int 32 Never remove entities closer to a player (blocks)
entity.protected-types list see above Types that are never removed
explosion.optimization-enabled bool true Explosion optimization
explosion.cancel-creeper bool false Cancel creeper explosions
explosion.cancel-tnt bool false Cancel TNT explosions
explosion.cancel-wither bool false Cancel Wither explosions
explosion.allowed-worlds list [] Worlds where explosions are always allowed
items.cleanup-enabled bool true Remove old items
items.item-lifetime int 600 Item lifetime (seconds)
items.cleanup-interval int 60 Check interval (seconds)
items.warn-before-cleanup bool true Warn before removal
items.warn-delay int 5 Delay before removal (seconds)
items.protect-valuable bool true Do not remove items with name/lore/enchantments
items.merge-items bool true Merge nearby items
items.merge-radius double 1.5 Merge radius (blocks)
chunk.optimization-enabled bool true Chunk tracking
chunk.auto-save-interval int 1200 Chunk tracking interval (ticks)
chunk.save-inactive-chunks bool true Track inactive chunks
tps.monitor-enabled bool true TPS and memory monitor
tps.warn-threshold double 15.0 TPS warning threshold
tps.check-interval int 60 TPS check interval (seconds)

How It Works

All heavy passes run on a timer and never block the main tick.


Folia Support

Folia is a separate build (a Paper fork) with regional multithreading, available since 1.19.4.

The plugin detects Folia by the io.papermc.paper.threadedregions.RegionizedServer class — it exists only in Folia. Detecting by RegionScheduler is not reliable: since Paper 1.20 that class is also present in regular Paper as a main-thread wrapper, which would give a false result.


Troubleshooting

The plugin does not load; the log shows Unsupported class file major version. The server is running on an older Java. Use Java 21 for 1.20.5+, Java 16/17 for 1.16.5–1.17. The plugin works with all of them; the server's own Java version is what matters.

Tasks are not running. Enable debug: true, check the console and make sure the relevant section (entity / items / chunk / tps) is enabled and the world is not listed in disabled-worlds.

Mobs keep spawning nearby. Natural spawning is only cancelled for the NATURAL reason and only when the nearest player is farther than mob-spawn-range. Lower the value to strengthen the effect.

Necessary items/entities are being removed. Increase item-lifetime or remove the type from entity.protected-types. For items, disable items.cleanup-enabled.

Item removal messages are spamming. Disable items.warn-before-cleanup or increase items.cleanup-interval.

I want to apply changes. After editing config.yml, run /optimizator reload — the tasks will restart.


Changelog

1.0.0


License

This project is distributed under the MIT license.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

File checked by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more