Mineuniverse
Mods
Palladium Optimizer

Palladium Optimizer

MOD
Cuts the per-tick entity cost of Satsu Iron man, Echoes of Power and A New Corps scripts.
by BrenimDibre
Download Claim this project
6,488 downloads
0 likes
0 followers
Updated Oct 14, 2026
0 hypes
Follow0
Addons
Advertisement Remove ads with Premium →

Palladium Optimizer

Palladium addons (Echoes of Power, FSang18's Heroes, Satsu Iron Man Addon, Alien Evo, Into The Omniverse, A New Corps, Powerborne…) are fun, but in large modpacks they put a lot of load on startup, FPS, server ticks and memory. Palladium Optimizer fixes the worst cases one by one. Every optimization gives exactly the same result as before, just with less work. When something it relies on changes (another mod touching the same code, or an addon script being updated), that optimization turns itself off and the game runs as usual.


⚡ Server / TPS

NBT selectors no longer serialize Palladium properties

Palladium writes every registered property (thousands with big addons) into the NBT of every entity, even items lying on the ground. Datapack functions that use NBT selectors (@e[type=item,nbt={...}], @a[nbt={...}], predicates with an nbt field) were rebuilding all of that on every check. Infinity Stone Core and FSang18's Heroes do this many times per tick.

When the filter doesn't reference the Palladium key, that data is now left out of that one comparison. The result is the same, because vanilla only compares the keys present in the filter. Normal saving (chunks, player data, /data get) is untouched.

In a 460-mod test pack: median tick time went from 55.5 ms to 24.9 ms, and the server got back to a stable 20 TPS.

Tick scripts that scanned the whole world

The tick scripts of Echoes of Power (property.js) and A New Corps (breedingtest.js) went through every entity in the world, every tick, in JavaScript. That scan now runs in Java with the same result. This only applies to the exact known version of each script: if the addon updates the script, Palladium Optimizer leaves it alone.

Palladium property lookup

Looking up a property by name went through every registered property (thousands per entity with big addons). This happened on every sync packet, texture variable, condition and script. It now uses a name index, so the same property is found in constant time.

Recipe book NBT

Saving a player's NBT rebuilt their whole recipe list every time, and datapack functions (data get entity @s ..., @a[nbt=...]) do that every tick. The list is now cached and only rebuilt when the recipes actually change, producing the same NBT. If another mod modifies that method, this cache turns itself off.


🖥️ FPS

Script HUDs only run when needed

HUDs written in KubeJS by FSang18's Heroes, Into The Omniverse, Alien Evo, Omni Evo and Satsu Iron Man Addon ran their JavaScript every frame, even for players who didn't have that power. The script's own condition is now checked in Java, and the HUD only runs when the player actually has the power or ability. The screen looks exactly the same.

This only applies to the exact version of each script (checked by SHA-256). If an addon updates its script, that HUD goes back to vanilla behavior.

Less smoke from Lantern rings (A New Corps)

Lanterns no longer emit the "smoke" particle aura (from GraveCore) while flying or hovering, which means fewer particles on screen. This is client-side only, and every other ring effect still works. You can turn the smoke back on in config/eoptickfix-lanterns.properties (remove_flight_smoke=false).


🚀 Startup

Mod resource packs are reused

Palladium rebuilt each mod's resource pack for every client script it read, and with ModernFix each rebuild re-indexed the whole jar. In big addons (e.g. Satsu Iron Man Addon) that cost around 30 seconds of loading. The pack is now reused: same scripts, same order, same result.


💾 Memory

Structure pieces are released when unused

Vanilla keeps every structure piece (.nbt) it has ever loaded in memory until you close the world. With many structure mods, that adds up to hundreds of MB.

Pieces that haven't been used for 30 seconds are now released once the cache goes over its limit (1/10 of your max memory, up to 256 MB). If a piece is needed again, vanilla reloads it from the same file, so the structure is identical block for block. Pieces created in-game (structure block) are never released.

You can configure this in config/eoptickfix-structures.properties. It needs ModernFix with mixin.perf.dynamic_structure_manager=false. If another mod already controls this cache, this feature turns itself off.


⚙️ Config files

File What it controls
config/eoptickfix-nbtscan.properties NBT selector optimization (enabled=false to turn it off)
config/eoptickfix-structures.properties Structure memory limit and idle time
config/eoptickfix-lanterns.properties Lantern flight smoke (remove_flight_smoke)

📦 Requirements

  • Minecraft 1.20.1 — Forge 47+
  • Palladium 4.0+
  • KubeJS 2001.6+
  • Install on both client and server (server-side fixes need it on the server, client-side fixes on the client).

❓ FAQ

Does it change gameplay? No. Every optimization gives the same result as the original code. If an optimization can't guarantee that, for example because another mod changed the same code or an addon updated its script, it disables itself.

Do I need every addon listed here? No. Each fix only applies when the mod it targets is installed.

Can I use it in my modpack? Yes, go ahead.


Made by BrenimDibre for the Infinity Legends modpack.

palladiumoptimizer-1.3.0
MC Client, 1.20.1, Forge, Server
Release 2026-10-13 Get
palladiumoptimizer-1.2.1
MC Client, 1.20.1, Forge, Server
Release 2026-10-07 Get
palladiumoptimizer-1.1.0.jar
MC Client, 1.20.1, Forge, Server
Release 2026-09-29 Get
eoptickfix-1.0.0.jar
MC Client, 1.20.1, Forge, Server
Release 2026-09-28 Get

More from BrenimDibre

Advertisement Remove ads with Premium →

You Might Also Like