A collection of server-side (common) fixes made while building the SharpSharp RPG modpack.
Every part only turns on when the mod it fixes is installed. No other mod's files are changed, and none of their code is included.
Install it on the server, and put the same version on every client that joins: it adds one player attribute and changes shared item and slot logic. Parts that only touch screens run on the client only.
Structure-finding eyes
- Distance display
- When you throw an eye that finds the way, the action bar shows the distance and direction.
- Works with the Eye of Ender and mod eyes built on it, L_Ender's Cataclysm and EEEAB's Mobs eyes, and the Bosses of Mass Destruction Soul Star.
- Async Eye
- Mod eyes and compasses that find structures search on Async Locator's worker thread instead of the server thread.
- Throwing one no longer freezes the world. Once the place is found the item is used again by itself, and results are remembered for a while.
- Covers: L_Ender's Cataclysm, FD Bosses, EEEAB's Mobs, End Remastered, Legendary Monsters, Mowzie's Cataclysm, Bosses of Mass Destruction, Quark, Nether Expansion, Familiars, Traveloptics
- Does nothing without Async Locator.
Bug and crash fixes
- Stack Fix
- Items that picked up an empty NBT tag stack with the same item again.
- Items that really need their tag can go on the blacklist in `config/sharpsharp_stackfix-common.toml`.
- On an error the stack is left as it is, so it never crashes.
- Hurt-by target crash
- A mob that was hurt no longer crashes the server when it calls for help after its attacker was already cleared.
- Seen with Dungeon Now Loading's Spawner Carrier.
- Rarity Core
- Rarity Core stopped its sync worker when you left a world and never restarted it, so a second world crashed.
- A new worker is started when the old one has stopped.
- Epic Fight matrix invert
- Stops a NullPointerException in `OpenMatrix4f.invert` for matrices that cannot be inverted.
- Twilight Forest + PlayerRevive
- A Charm of Life saves you before PlayerRevive can down you.
- Charms of Keeping wait while you are downed and work as normal on the real death after bleeding out, so they no longer take the items before the corpse is made.
Equipment slots
- Slot Merge
- L_Ender's Cataclysm's waist, talisman and rings Curios slots are folded into belt and ring. Those items keep their stats in the shared slot.
- Trinkets player slots that only duplicate Curios ones are removed.
- Only one Cataclysm waist item can be worn at a time, so extra belt slots cannot be filled with more of the same one.
Performance
- Perf Tweaks
- Caches for hot spots found by profiling.
- Serene Seasons colours and temperature, Immersive Overlays + Legendary Survival Overhaul temperature HUD, Sodium Dynamic Lights, and Punchy's resource-pack model check.
- Idle Wait
- While the server waits for the next tick, each dimension checks its chunk distance updates once per wait, and an idle loop really sleeps (up to 1 ms) instead of spinning.
- Packs with many dimensions no longer keep one CPU core at 100% between ticks.
- Queued chunk work still wakes it at once. Ticks and chunk loading are unchanged.
Mod bridges
- Container search speed
- Container Searching's search time is divided by the player attribute "Container Search Speed".
- Gear and effects can make searching faster.
- Battle Cry attribute bridge
- Attaches the pack's `sharpsharp:warcry_*` and `sharpsharp:magecry_*` attributes (registered by KubeJS) to every living entity, the same way Iron's Spellbooks attaches its school attributes.
- Does nothing if no such attribute exists.
- Scrap Preview
- Item Scrapper's JEI page shows the items a scrap loot table really gives, with the min-max amount, instead of a bundle.
- The server reads the loot tables and sends players a short summary. Does nothing without Item Scrapper.
- Plain Boss Dungeon
- Apotheosis Boss Dungeons keep their room and chests, but the boss spawner in the middle becomes a normal zombie, skeleton or spider spawner.
- Only newly generated dungeons. Does nothing without Apotheosis.
- Spell Tweaks
- Tunes spells from Iron's Spellbooks, Traveloptics and Geomancy Plus for this pack's balance.
- Battle Cry and Mana Resonance schools: cast only from weapons, level-based cooldowns shown in the tooltip, level caps.
- Adjusted values for a number of spells, and spell power shown in the tooltip.
- Overflow: the first time a player gets a pool's effect, they are given mana equal to the max mana it adds, once per pool (shown in the tooltip).
- Each part only applies when its target mod is installed.
- Ponder dummy
- Adds a player-shaped dummy used only by Ponder scenes. With Epic Fight it can play Epic Fight animations.
- All damage is blocked inside Ponder scenes. It never spawns in worlds.
Requirements
- Minecraft 1.20.1, Forge 47 or newer
- Required on both server and client
- All of these are optional: L_Ender's Cataclysm, End Remastered, EEEAB's Mobs, Bosses of Mass Destruction, Async Locator, FD Bosses, Legendary Monsters, Mowzie's Cataclysm, Quark, Nether Expansion, Familiars, Traveloptics, Dungeon Now Loading, Rarity Core, Epic Fight, Twilight Forest, PlayerRevive, Container Searching, Curios API, Trinkets, Serene Seasons, Immersive Overlays, Legendary Survival Overhaul, Sodium Dynamic Lights, Punchy, Item Scrapper, JEI, Apotheosis, Iron's Spellbooks, Geomancy Plus, Create (Ponder)
Credits
Thanks to simibubi and the Create team (Create and Ponder), hexnowloading (Dungeon Now Loading), Shadows_of_Fire and the Apotheosis team, keerdm (Item Scrapper), mezz (JEI), bright_spark (Async Locator), yanbwe (Rarity Core), TheIllusiveC4 (Curios API), Emi (Trinkets), Glitchfiend (Serene Seasons), Cassian (Immersive Overlays), sfiomn (Legendary Survival Overhaul), toni (Sodium Dynamic Lights), iron431 (Iron's Spellbooks), GameTechBC (Traveloptics, Geomancy Plus and GTBC's Spell Lib), and the authors of L_Ender's Cataclysm, End Remastered, Legendary Monsters, EEEAB's Mobs, Bosses of Mass Destruction, Mowzie's Cataclysm, FD Bosses, Epic Fight, Container Searching and Punchy.
Stack Fix was inspired by iwaliner's Item Split Bug Fix and written from scratch.
This is an independent add-on. It contains none of their code and does not modify their jars.
Good to know
Made for one modpack and tested there. If a target mod updates and changes the code these patches hook into, that part switches itself off instead of crashing.
Spell Tweaks values follow this pack's balance.

