VanillaFix

VanillaFix is a mod that improves performance and fixes bugs and annoyances in vanilla Minecraft. Tripling FPS is common, try it for yourself if you don't believe it! Also, with VanillaFix installed, Minecraft will no longer fully crash, but rather kick you out to the main menu and offer to upload your report to a paste site so that you can easily send it to others (test it by pressing F3 + C in game)!

See also JustEnoughIDs, a mod that removes the block, item, and biome ID limits by using the 1.13 chunks in 1.12 (this feature was recently split from VanillaFix).

Have questions or just want to know what we are up to on the mod? Join our Discord server to do just that! We talk about new and upcoming features regularly and answer any questions you can throw at us. Have a Minecraft bug you think could be fixed? You can also suggest it here!
https://discord.gg/f27hdrM

Screenshots

Keep playing after a crash

 Before (16 FPS, 37.17% of tick used by textures):

 After (50 FPS, 2.42% of tick used by textures, only visible textures ticked):

Current features

Better crashes:

  • Catch crashes, causing them to crash only the current world rather than the whole game
  • Automatic identification of the mod(s) which caused a crash
  • Offer to paste crash reports to https://paste.dimdev.org/ and give you a link to the syntax-highlighted crash report
  • Stack traces get automatically deobfuscated in crash reports
  • Crash reports contain more useful information, such as the NBT of a crashing entity/tile entity
  • Add a warning notification which informs you about possible problems with your mods, which could cause more serious problems later on
  • Make a crash during mod initialization
  • Disable the F3 + C delay and add Alt + F3 + C to crash the integrated server

Performance improvements:

  • Tick only visible animated textures (huge FPS increase, up to 3x on very large modpacks)
  • Make interdimensional teleportation over 10x faster
  • Make world creation faster on large modpacks

Annoyances/bug fixes:

  • Allow opening GUIs such as the chat window while in nether portal (see MC-2071)
  • Fix MC-128953 (connection to server not closed after out of memory screen appears)
  • Fix MC-129556 (GUI logic is included in the "root.tick.textures" profiler section)
  • Fix MC-129057 (items with NBT are valid in crafting recipes, but are not taken by crafting book)
  • Fix MC-30845 (camera stops at non-solid blocks in third person view)
  • Fix MC-98153 (players being set on fire after using nether portals)
  • Made Java trust IdenTrust root certificate, necessary since paste.dimdev.org uses LetsEncrypt (see JDK-8161008)

Debugging tools:

  • Breakdown of the Shift + F3 pie chart and server profiler into more categories such as entity or tile entity type, making finding laggy mods easier
  • Added F3 + S to cycle between client and integrated server profiler when Shift + F3 pie chart is open

Move code rewrite:

Planned features

  • Make the game start faster by loading by caching transformed classes
  • If snooper is enabled, automatic uploading of crash reports to an URL such as https://vanillafix.dimdev.org/crashes/modid, for mod authors to see what crashes are caused by their mods
  • Make locale lang files fallback on other locales of the same language, rather than English, if translation is not available
  • Make a better F3 screen
  • Add cancel button for joining a world, and fix possible hang after crash during world load

Included Mod Fixes

These mods are no longer required after VanillaFix is installed:

  • F5Fix
  • Bed Bugs
  • Bed Patch

FAQ

Won't keeping the game alive after a crash cause world corruption?

No, it won't.

Firstly, vanilla Minecraft also supports resuming after an OutOfMemoryError, which can happen on any line in the Minecraft client. All that this mod does is add more types of exceptions that can be caught (see https://paste.dimdev.org/xizukajiqa.java).

Secondly, the whole runGameLoop function is exited after a crash, meaning that all objects created after initialization are destroyed. Since objects created during init should be immutable, the state after a crash should be identical to the state right after initializing Minecraft.

Finally, the only crashes which are likely to cause world corruption are in the integrated server, which is separate from the client and restarted on each world join, meaning that even if the game is left in a broken state, that will probably not cause world corruption.

There have been no reports of this happening despite the mod having gotten tens of thousands of downloads, but if you are still worried, you can make regular backups of your world in case something goes wrong, or decide to not use this feature by closing the game once the crash screen appears. Please report any issues you encounter on the issue tracker.

If you can just keep playing after a crash, players won't report crashes anymore!

With VanillaFix, we try to make reporting crashes as easy as possible: we provide a "Get link" button that automatically pastes the crash report, we plan on adding more debug info such as the last few lines of the log, dumps of tile entities to the crash report, to make them as complete and as helpful as possible, and we plan on providing links to mod issue trackers, and even reporting both crashes and exceptions that don't cause a crash (which are likely to never get reported!) automatically if snooper is enabled. 

Is this mod compatible with other optimization mods, such as FoamFix, BetterFPS, and Optifine?

Yes, we try to make our mod as compatible as possible with other mods. In case of an incompatibility, you are encouraged to report it on our issue tracker.

Why are you using paste.dimdev.org rather than Pastebin or Hastebin?

Haste, the open-source software that runs hastebin.com looks much nicer and is quicker to syntax-highlight large files than pastebin's ad-filled site. We run our own instance of haste for two reasons: hastebin only keeps pastes for 30 days, which is bad for issue reports, and we don't want to put too much load on Hastebin. We even have custom syntax-highlighting for Minecraft crash reports on our haste instance, making it easier to find important information in a large crash report!

Does this have to be installed both server-side and client-side?

No, some fixes are for the client, and some are for the server. However, the mod can be installed on either the client/server without having to be installed on the server/client.


Comments

  • To post a comment, please or register a new account.
Posts Quoted:
Reply
Clear All Quotes

About This Project

  • Project ID
    292785
  • Created
    Apr 26, 2018
  • Last Released File
    Nov 19, 2018
  • Total Downloads
    343,021
  • License

Categories

Members