CurseForge · Minecraft mod
FoamFix
Simple, targetted optimizations for a popular block game
Quick answer
Which FoamFix release matches Fabric?
FoamFix FoamFix 0.12.1 (1.14) targets 1.14, 1.14-Snapshot with Fabric. The project page does not say whether it belongs on the client. The project page does not say whether it belongs on the dedicated server. No extra mods listed for this file.
Where it goes
Is FoamFix required on the client, server, or both?
The project page does not say whether it belongs on the client. The project page does not say whether it belongs on the dedicated server.
The source does not explicitly classify this release as client-only or server-only.
What else does FoamFix FoamFix 0.12.1 (1.14) need?
FoamFix 0.12.1 (1.14) on Fabric. Every mod below is checked against that same setup.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional mods.
Before you install it
Add FoamFix without breaking your instance.
Built for FoamFix FoamFix 0.12.1 (1.14) on Fabric. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use FoamFix 0.12.1 (1.14). It targets 1.14, 1.14-Snapshot with Fabric; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Put it on the correct side
The project page does not say whether it belongs on the client. The project page does not say whether it belongs on the dedicated server.
- 04
Pick the file you checked
Use the “Get this file” button beside FoamFix 0.12.1 (1.14). It opens that exact file at the source.
About this project
What does FoamFix add?
Quick PSA: There are no plans for a 1.14+ FoamFix update at this time, neither Forge nor Fabric.

FoamFix is a mod designed to optimize certain aspects of a modded Minecraft experience using simple, targeted optimizations.
Features
FoamFix focuses on the following aspects of modded Minecraft in particular:
- Memory usage (in Minecraft 1.8+). This is the original reason FoamFix was made for, and the most important reason for it being adopted in modpacks today. Observations show that, on particularly heavy modpacks, Java heap usage (as measured on the main menu, after the game has finished loading, with VisualVM) can fall by as much as 50%!
- TPS usage, particularly on larger servers - ghost chunk-loading and network improvements will not help the single-player experience much, but can be incredibly beneficial when trying to scale up a multiplayer world.
There are also other, more minor optimizations, but they will probably not have a significant impact on your gameplay directly. Check your foamfix.cfg file for a complete list!
FAQ
- Q: I'm having performance issues, and removing FoamFix fixes them!
- A: Make sure you have updated to the latest version. It is impossible for me to test FoamFix on the thousands of computer hardware configurations out there with my own resources, and sometimes issues specific to some of them can occur. If you have updated to the latest version and are still experiencing issues, contact me!
- Q: Can I run FoamFix on the server/client side if it's not present on the client/server side?
- A: Yes.
- Q: Can I mix versions of FoamFix between the server and client side?
- A: Similarly, yes.
- Q: Why is there a FoamFix to 1.7.10?
- A: FoamFix primarily targets 1.8+ modded Minecraft. However, some of its later optimizations - particularly ghost chunkloading fixes - in combination with some abandoned bugfixing/optimization projects (BugfixMod, Minecraft Forkage) have led me to create an optimization mod under the same name for 1.7.10, which shares some of the functionality. As always, check foamfix.cfg to learn more!
- Q: Can you make a FoamFix for vanilla?
- A: Almost all of FoamFix focuses on optimizations particular to modded environments. Porting it to vanilla would have very few benefits, as vanilla by itself is more efficient than even Forge+FoamFix. If you're running a large vanilla server, it might be a better idea to use a dedicated solution for that.
- Q: Can you run FoamFix in a development environment?
- A: Yes, but you must manually deobfuscate it with BON2 or a similar tool.
Bug Reporting
Please try to reproduce the bug without FoamFix first - if it is still present without FoamFix, it is most likely not a FoamFix issue.
When you report a bug that only appears with FoamFix installed,
- Please ONLY report them here! This helps me keep track of existing issues.
- In particular, please do not report them to the other mod developers! If I get to the conclusion that the issue is caused by a different mod, I'll do my best to contact the other author myself and discuss the fix with them; however, unnecessary bug reports are a bit of a nuisance.
Additional Tips
(Note that this section will be rewritten as a more comprehensive optimization guide at some point)
- Enable alwaysSetupTerrainOffThread in forge.cfg. (Since 0.6.3, FoamFix will automatically do this for you on new instances!)
- If you're experiencing "ghost chunk loading"-related lag (a noticeable lag spike every ~30 seconds), a way to partially work around the problem is to increase the value of dormantChunkCacheSize in forgeChunkLoading.cfg.
- For some GPU/driver configurations (in particular, certain AMD driver/card pairs), disabling mipmaps (setting Mipmap Levels to 0) will boost FPS considerably. This is due to lag caused by animated texture updates being much higher with increasing amounts of textures to update, which scales linearly with the amount of mipmap levels.
- On dedicated servers, setting max-tick-time=0 can solve crashes related to "java.lang.Error: Watching server". Still looking into why this happens!
Common Crashes
- java.lang.NoSuchMethodError: net.minecraftforge.common.model.TRSRTransformation.isIdentity()Z on FoamFix 0.9.6+ - Update Forge to the latest recommended version, or downgrade FoamFix to 0.9.5.
- java.lang.IllegalArgumentException: Cannot set property [...], it is not an allowed value - The codepath causing this error mimics vanilla behaviour very closely, and should cause the same crash without FoamFix. Make sure it cannot be reproduced without FoamFix.
- If you're using SpongeForge alongside FoamFix (keep in mind that I do not support it), a common crash related to MixinMutableBlockPos can be fixed by disabling coremod.optimizedBlockPos in config/foamfix.cfg.
Support
- Please only use the GitHub issue tracker for bug reports. Makes it easier to keep track of them.
- Please note that "not supported" does not mean "won't work at all" - rather, it means "things can break and I might be unable to help you for various reasons". Be careful!
The following mods are not supported and I cannot guarantee satisfactory fixes related to interactions with them:
- FastCraft 2. The licensing is very strict and debugging impossible without relying on the developer as an oracle.
- NotEnoughIDs. Not maintained since September 2017.
- OptiFine. The licensing is very strict and debugging impossible without relying on the developer as an oracle.
- Sponge. Some of our engine changes conflict. (Note that, even if you have Sponge on the server side, using FoamFix on the client side while connecting to a Sponge server is supported!)
- TexFix.
- most other proprietary optimization mods. If I can't see the source code, I'm not likely to work on fixing it.
Project description from CurseForge.
Pick your setup
FoamFix by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
1.14
1 loader build1.13
1 loader build1.12.2
2 loader builds1.12
1 loader build1.11.2
1 loader build1.11
1 loader build1.10.2
1 loader build1.8.9
1 loader build1.7.10
1 loader buildCheck the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
FoamFix versions and loaders
FoamFix 0.12.1 (1.14)
foamfix-0.12.1.jar
28 Apr 2019
Looking for an older file? The official CurseForge project page is in Resources.