Olimpos Core is the core mod of the Project Olimpos modpack (Forge 1.20.1).
Project Olimpos runs hundreds of mods together. Whenever one of them has a bug, runs slowly or does not play well with the others, and the fix needs code instead of a config or a script, the fix goes into Olimpos Core. It grows with the pack: bug fixes in other mods, performance improvements, compatibility and integration between the pack's mods, and later content of its own.
It is made and tested only for Project Olimpos. Many of its changes are tuned to that pack's mod list and balance. Each change only turns on when the mod it touches is installed, so it will not crash in another setup, but using it outside Project Olimpos is not supported.
What it does in this version (1.1.2)
Performance
Packet buffer leak fix (client)
Every modded packet your client receives makes a copy of its data in a special kind of memory that Forge never frees (MinecraftForge#10861). In big packs this memory keeps growing the longer you play. Olimpos Core frees that copy right away and gives Forge a normal one instead.
Faster JEI (client, with JEI)
JEI's potion recipes are worked out once and saved, and only rebuilt when something related to potions changes. When they are rebuilt, each potion ingredient is checked once instead of once per potion. Grindstone recipes reuse items instead of creating millions of new ones. JEI's low-memory search finds items through an index instead of walking the whole list, and the $ tooltip search is cached after the first use.
No freeze when unlocking things (client, with Item Stages and JEI)
Item Stages used to hide and show again every locked item in JEI (about 15,000 in the pack) each time a stage changed, freezing the game for over 20 seconds. Now only the items that actually changed are updated, and JEI refreshes its list once for all of them.
Faster creative inventory (client)
The creative inventory reuses the tabs JEI already built instead of building them all again when you open it. Enigmatic Legacy no longer searches the whole item list once per creative tab.
Faster text with Emojiful (client, with Emojiful)
Emojiful checked every piece of text in the game against every emoji, which froze screens with a lot of text (like command suggestions). Plain text without emoji characters now skips that check. Emojis in chat still work.
Faster datapack loading with BCLib (server, with BCLib)
BetterEnd and BetterNether hammer recipes rebuilt their list of hammers from every item in the game each time something read the recipe. Now each recipe builds it once, and again only when tags reload.
Lighter Item Obliterator (server, with Item Obliterator)
Its NBT blacklist check runs on every inventory slot of every player on every tick. It turned the item's whole NBT into text once per blacklist entry; now once per check.
Faster enchantment checks with Ancient Elements (client and server, with Ancient Elements)
The Auto Smelt and Frost Aspect enchantments built a list of about 200 items every time the game asked whether they fit an item, which JEI does for every enchantable item. The answer is now remembered per item.
Faster Powah manual (client, with Powah)
Powah's in-game manual collects its recipes in one pass instead of scanning every recipe in the game hundreds of times, which froze the game for about 2 seconds when joining a world.
Fixes
Passive Skill Tree (client and server)
Stacking effects from skills now really stack. Skills that deal a typed damage (like thorns) use that damage type. Learning a skill and gaining points now run safely on the server, which also checks the skill limits. Skill descriptions show correctly on dedicated servers.
Alshanex's Familiars (client and server)
Familiars could not find their spell lists, so they cast nothing from them and filled the server log with "Tag ... is not known/registered!" warnings. Fixed. The Guardian Angel spell no longer crashes the game when its tooltip is shown.
Azazel mask in a Curios slot (client and server, with Cult of Azazel and Curios)
The Azazel Trophy mask also works from a Curios slot, with all of its effects.
Smaller things
Item Locks no longer runs a broken update check on every world join. JEI no longer shows "Recipe By: KubeJS" on recipes.
Project Olimpos rules
Race spells stay with their race (server, with Iron's Spellbooks)
Spells listed in config/olimposcore/race_exclusive_spells.json (the pack fills it with each race's own spells) never show up in loot or in scroll trades. Without that file nothing changes.
Good to know
- Comes with Project Olimpos; no need to install it separately.
- Install it on the server too. Clients and servers with or without it can still join each other, but skill descriptions need it on both sides to show correctly.
- To force JEI to rebuild its potion recipes, delete
config/olimposcore/jei_brewing_cache.nbt. - If the game freezes for more than a second, the log says "Client froze for N ms" with what it was doing. Useful when reporting lag.
- It does not fix other memory leaks with similar symptoms (for example L2Library's).
License
All Rights Reserved. Made for Project Olimpos. Do not re-upload it or reuse its code without permission.

