Repository files navigation

FastQuit

About this mod

This mod lets you return to the title screen early while your world is still saving in the background.

Don't worry, the mod will wait for the world to finish saving when necessary, no data will be lost!

The world will show up on the world list, and you can even edit, delete or recreate it while it is still saving. This is done by reusing the info from the still saving world.

In its current state this should be safe to do as measures for thread safety have been taken. If you do somehow still encounter an issue, the worst thing to happen will be the action failing and Minecraft showing you a toast informing you of it.

If that happens, please open an issue with your .minecraft/logs/latest.log file attached!

Join the Discord!

If you are interested in my mods or have any questions, you can join my Discord!

Configure

To configure the mod, open the config screen from ModMenu or go to .minecraft/config/fastquit-config.txt.

There is currently three options to configure:

Show Toasts:

Determines whether a toast gets shown when a world finishes saving.

Background Thread Priority:

Sets the thread priority of the server when saving worlds in the background. This is done to improve client performance while saving, but will make the saving take longer over all. Value has to be between 0 and 10, setting it to 0 will disable changing thread priority.

Render "Saving world" Screen:

When playing on high render distance, quitting the world can still take a bit because the client-side chunk storage has to be cleared. By enabling this setting the "Saving world" screen will be rendered.

Show Saving Time

Determines whether the time it took to save the world gets displayed on toasts and the world list. Value has to be between 0 and 2, with 0 never showing the time, 1 only on the toast and 2 also on the world list. In ModMenu these are accordingly labelled.

How does this mod work?

At it's core, this mod is quite simple:

Normally, when quitting a singleplayer world, the client will wait until the server thread has finished saving the world before going to the Title Screen. This mod skips this waiting period and lets the server continue saving in the background.

PLEASE NOTE this does not always make quitting a world instant, as the client can still take a bit of time to unload rendered chunks etc. However, even in that case you will see a speedup as clientside unloading and serverside saving now perform simultaneously instead of one after the other.

Of course in practice this is not quite that easy:

When working with multiple threads like this, many problems arise. For example, when going to the world list, Minecraft will try to read its level data but fails because the background saving still locks the world file.

Instead, we now access the information through the still saving server. Similarly, when trying to edit, delete or recreate the world, we have to use the existing session.

To keep these processes thread safe, a lot of synchronization has to be done to ensure the saving server and the client don't get in each other's way.

For some things, like rejoining the still saving world or making a backup, we just wait for the server to finish saving completely. We also wait for the worlds to finish saving when quitting the game to ensure no data is lost.

Thanks to...

Translators:

  • Felix14-v2 (Russian)
  • Cccc-owo (Simplified Chinese)
  • JustAlittleWolf (German)
  • YakisikliBaran (Turkish)
  • Skidamek (Polish)
  • Oondanomala (Italian)
  • Madis0 (Estonian)
  • notlin4 (Traditional Chinese)
  • BurrConnie (Ukrainian)
  • GodGun968 (Simplified Chinese)
  • ImVietnam (Vietnamese)
  • ishi-sama (French)
  • KAGUYA-1137 (Japanese)
  • demorogabrtz (Portuguese)
  • ReallySuperOtter (Swedish)
  • asabhi6776 (Hindi)
  • lumiscosity (Polish)
  • good7777865 (Korean)

Compatibility

With the help of MixinExtras and a custom Mixin Config Plugin, the mixins have been designed to be very non-intrusive while also being very effective.

Fast Backups:

  • (FIXED in FastQuit v3.1.0+) crash on world exit when "Allow multiple running Worlds" is ON
  • (FIXED in Fast Backups v0.17+) crash when quitting Minecraft immediately after world exit, fixed in newer versions of Fast Backup

Wakes:

  • (FIXED in Wakes v0.4.0+) crash on world exit with Wakes 0.3.0

If you suspect an incompatibility with another mod, please open an issue!

Problems?

If you are experiencing any problems, please open an issue on the issue tracker!

Make sure to attach important info like other mods you were using, log- or crash-files and if possible steps to reproduce.

Before uploading any files make sure to get rid of personal data! (For example your computers username in logged directories)

About

Lets you return to the title screen early while your world is still saving in the background

Resources

Stars

54 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

FastQuit

About this mod

This mod lets you return to the title screen early while your world is still saving in the background.

Don't worry, the mod will wait for the world to finish saving when necessary, no data will be lost!

The world will show up on the world list, and you can even edit, delete or recreate it while it is still saving. This is done by reusing the info from the still saving world.

In its current state this should be safe to do as measures for thread safety have been taken. If you do somehow still encounter an issue, the worst thing to happen will be the action failing and Minecraft showing you a toast informing you of it.

If that happens, please open an issue with your .minecraft/logs/latest.log file attached!

Join the Discord!

If you are interested in my mods or have any questions, you can join my Discord!

Configure

To configure the mod, open the config screen from ModMenu or go to .minecraft/config/fastquit-config.txt.

There is currently three options to configure:

Show Toasts:

Determines whether a toast gets shown when a world finishes saving.

Background Thread Priority:

Sets the thread priority of the server when saving worlds in the background. This is done to improve client performance while saving, but will make the saving take longer over all. Value has to be between 0 and 10, setting it to 0 will disable changing thread priority.

Render "Saving world" Screen:

When playing on high render distance, quitting the world can still take a bit because the client-side chunk storage has to be cleared. By enabling this setting the "Saving world" screen will be rendered.

Show Saving Time

Determines whether the time it took to save the world gets displayed on toasts and the world list. Value has to be between 0 and 2, with 0 never showing the time, 1 only on the toast and 2 also on the world list. In ModMenu these are accordingly labelled.

How does this mod work?

At it's core, this mod is quite simple:

Normally, when quitting a singleplayer world, the client will wait until the server thread has finished saving the world before going to the Title Screen. This mod skips this waiting period and lets the server continue saving in the background.

PLEASE NOTE this does not always make quitting a world instant, as the client can still take a bit of time to unload rendered chunks etc. However, even in that case you will see a speedup as clientside unloading and serverside saving now perform simultaneously instead of one after the other.

Of course in practice this is not quite that easy:

When working with multiple threads like this, many problems arise. For example, when going to the world list, Minecraft will try to read its level data but fails because the background saving still locks the world file.

Instead, we now access the information through the still saving server. Similarly, when trying to edit, delete or recreate the world, we have to use the existing session.

To keep these processes thread safe, a lot of synchronization has to be done to ensure the saving server and the client don't get in each other's way.

For some things, like rejoining the still saving world or making a backup, we just wait for the server to finish saving completely. We also wait for the worlds to finish saving when quitting the game to ensure no data is lost.

Thanks to...

Translators:

  • Felix14-v2 (Russian)
  • Cccc-owo (Simplified Chinese)
  • JustAlittleWolf (German)
  • YakisikliBaran (Turkish)
  • Skidamek (Polish)
  • Oondanomala (Italian)
  • Madis0 (Estonian)
  • notlin4 (Traditional Chinese)
  • BurrConnie (Ukrainian)
  • GodGun968 (Simplified Chinese)
  • ImVietnam (Vietnamese)
  • ishi-sama (French)
  • KAGUYA-1137 (Japanese)
  • demorogabrtz (Portuguese)
  • ReallySuperOtter (Swedish)
  • asabhi6776 (Hindi)
  • lumiscosity (Polish)
  • good7777865 (Korean)

Compatibility

With the help of MixinExtras and a custom Mixin Config Plugin, the mixins have been designed to be very non-intrusive while also being very effective.

Fast Backups:

  • (FIXED in FastQuit v3.1.0+) crash on world exit when "Allow multiple running Worlds" is ON
  • (FIXED in Fast Backups v0.17+) crash when quitting Minecraft immediately after world exit, fixed in newer versions of Fast Backup

Wakes:

  • (FIXED in Wakes v0.4.0+) crash on world exit with Wakes 0.3.0

If you suspect an incompatibility with another mod, please open an issue!

Problems?

If you are experiencing any problems, please open an issue on the issue tracker!

Make sure to attach important info like other mods you were using, log- or crash-files and if possible steps to reproduce.

Before uploading any files make sure to get rid of personal data! (For example your computers username in logged directories)

About

Lets you return to the title screen early while your world is still saving in the background

Resources

Stars

54 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

FastQuit

About this mod

This mod lets you return to the title screen early while your world is still saving in the background.

Don't worry, the mod will wait for the world to finish saving when necessary, no data will be lost!

The world will show up on the world list, and you can even edit, delete or recreate it while it is still saving. This is done by reusing the info from the still saving world.

In its current state this should be safe to do as measures for thread safety have been taken. If you do somehow still encounter an issue, the worst thing to happen will be the action failing and Minecraft showing you a toast informing you of it.

If that happens, please open an issue with your .minecraft/logs/latest.log file attached!

Join the Discord!

If you are interested in my mods or have any questions, you can join my Discord!

Configure

To configure the mod, open the config screen from ModMenu or go to .minecraft/config/fastquit-config.txt.

There is currently three options to configure:

Show Toasts:

Determines whether a toast gets shown when a world finishes saving.

Background Thread Priority:

Sets the thread priority of the server when saving worlds in the background. This is done to improve client performance while saving, but will make the saving take longer over all. Value has to be between 0 and 10, setting it to 0 will disable changing thread priority.

Render "Saving world" Screen:

When playing on high render distance, quitting the world can still take a bit because the client-side chunk storage has to be cleared. By enabling this setting the "Saving world" screen will be rendered.

Show Saving Time

Determines whether the time it took to save the world gets displayed on toasts and the world list. Value has to be between 0 and 2, with 0 never showing the time, 1 only on the toast and 2 also on the world list. In ModMenu these are accordingly labelled.

How does this mod work?

At it's core, this mod is quite simple:

Normally, when quitting a singleplayer world, the client will wait until the server thread has finished saving the world before going to the Title Screen. This mod skips this waiting period and lets the server continue saving in the background.

PLEASE NOTE this does not always make quitting a world instant, as the client can still take a bit of time to unload rendered chunks etc. However, even in that case you will see a speedup as clientside unloading and serverside saving now perform simultaneously instead of one after the other.

Of course in practice this is not quite that easy:

When working with multiple threads like this, many problems arise. For example, when going to the world list, Minecraft will try to read its level data but fails because the background saving still locks the world file.

Instead, we now access the information through the still saving server. Similarly, when trying to edit, delete or recreate the world, we have to use the existing session.

To keep these processes thread safe, a lot of synchronization has to be done to ensure the saving server and the client don't get in each other's way.

For some things, like rejoining the still saving world or making a backup, we just wait for the server to finish saving completely. We also wait for the worlds to finish saving when quitting the game to ensure no data is lost.

Thanks to...

Translators:

  • Felix14-v2 (Russian)
  • Cccc-owo (Simplified Chinese)
  • JustAlittleWolf (German)
  • YakisikliBaran (Turkish)
  • Skidamek (Polish)
  • Oondanomala (Italian)
  • Madis0 (Estonian)
  • notlin4 (Traditional Chinese)
  • BurrConnie (Ukrainian)
  • GodGun968 (Simplified Chinese)
  • ImVietnam (Vietnamese)
  • ishi-sama (French)
  • KAGUYA-1137 (Japanese)
  • demorogabrtz (Portuguese)
  • ReallySuperOtter (Swedish)
  • asabhi6776 (Hindi)
  • lumiscosity (Polish)
  • good7777865 (Korean)

Compatibility

With the help of MixinExtras and a custom Mixin Config Plugin, the mixins have been designed to be very non-intrusive while also being very effective.

Fast Backups:

  • (FIXED in FastQuit v3.1.0+) crash on world exit when "Allow multiple running Worlds" is ON
  • (FIXED in Fast Backups v0.17+) crash when quitting Minecraft immediately after world exit, fixed in newer versions of Fast Backup

Wakes:

  • (FIXED in Wakes v0.4.0+) crash on world exit with Wakes 0.3.0

If you suspect an incompatibility with another mod, please open an issue!

Problems?

If you are experiencing any problems, please open an issue on the issue tracker!

Make sure to attach important info like other mods you were using, log- or crash-files and if possible steps to reproduce.

Before uploading any files make sure to get rid of personal data! (For example your computers username in logged directories)

About

Lets you return to the title screen early while your world is still saving in the background

Resources

Stars

54 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

FastQuit

About this mod

This mod lets you return to the title screen early while your world is still saving in the background.

Don't worry, the mod will wait for the world to finish saving when necessary, no data will be lost!

The world will show up on the world list, and you can even edit, delete or recreate it while it is still saving. This is done by reusing the info from the still saving world.

In its current state this should be safe to do as measures for thread safety have been taken. If you do somehow still encounter an issue, the worst thing to happen will be the action failing and Minecraft showing you a toast informing you of it.

If that happens, please open an issue with your .minecraft/logs/latest.log file attached!

Join the Discord!

If you are interested in my mods or have any questions, you can join my Discord!

Configure

To configure the mod, open the config screen from ModMenu or go to .minecraft/config/fastquit-config.txt.

There is currently three options to configure:

Show Toasts:

Determines whether a toast gets shown when a world finishes saving.

Background Thread Priority:

Sets the thread priority of the server when saving worlds in the background. This is done to improve client performance while saving, but will make the saving take longer over all. Value has to be between 0 and 10, setting it to 0 will disable changing thread priority.

Render "Saving world" Screen:

When playing on high render distance, quitting the world can still take a bit because the client-side chunk storage has to be cleared. By enabling this setting the "Saving world" screen will be rendered.

Show Saving Time

Determines whether the time it took to save the world gets displayed on toasts and the world list. Value has to be between 0 and 2, with 0 never showing the time, 1 only on the toast and 2 also on the world list. In ModMenu these are accordingly labelled.

How does this mod work?

At it's core, this mod is quite simple:

Normally, when quitting a singleplayer world, the client will wait until the server thread has finished saving the world before going to the Title Screen. This mod skips this waiting period and lets the server continue saving in the background.

PLEASE NOTE this does not always make quitting a world instant, as the client can still take a bit of time to unload rendered chunks etc. However, even in that case you will see a speedup as clientside unloading and serverside saving now perform simultaneously instead of one after the other.

Of course in practice this is not quite that easy:

When working with multiple threads like this, many problems arise. For example, when going to the world list, Minecraft will try to read its level data but fails because the background saving still locks the world file.

Instead, we now access the information through the still saving server. Similarly, when trying to edit, delete or recreate the world, we have to use the existing session.

To keep these processes thread safe, a lot of synchronization has to be done to ensure the saving server and the client don't get in each other's way.

For some things, like rejoining the still saving world or making a backup, we just wait for the server to finish saving completely. We also wait for the worlds to finish saving when quitting the game to ensure no data is lost.

Thanks to...

Translators:

  • Felix14-v2 (Russian)
  • Cccc-owo (Simplified Chinese)
  • JustAlittleWolf (German)
  • YakisikliBaran (Turkish)
  • Skidamek (Polish)
  • Oondanomala (Italian)
  • Madis0 (Estonian)
  • notlin4 (Traditional Chinese)
  • BurrConnie (Ukrainian)
  • GodGun968 (Simplified Chinese)
  • ImVietnam (Vietnamese)
  • ishi-sama (French)
  • KAGUYA-1137 (Japanese)
  • demorogabrtz (Portuguese)
  • ReallySuperOtter (Swedish)
  • asabhi6776 (Hindi)
  • lumiscosity (Polish)
  • good7777865 (Korean)

Compatibility

With the help of MixinExtras and a custom Mixin Config Plugin, the mixins have been designed to be very non-intrusive while also being very effective.

Fast Backups:

  • (FIXED in FastQuit v3.1.0+) crash on world exit when "Allow multiple running Worlds" is ON
  • (FIXED in Fast Backups v0.17+) crash when quitting Minecraft immediately after world exit, fixed in newer versions of Fast Backup

Wakes:

  • (FIXED in Wakes v0.4.0+) crash on world exit with Wakes 0.3.0

If you suspect an incompatibility with another mod, please open an issue!

Problems?

If you are experiencing any problems, please open an issue on the issue tracker!

Make sure to attach important info like other mods you were using, log- or crash-files and if possible steps to reproduce.

Before uploading any files make sure to get rid of personal data! (For example your computers username in logged directories)

About

Lets you return to the title screen early while your world is still saving in the background

Resources

Stars

54 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

FastQuit

About this mod

This mod lets you return to the title screen early while your world is still saving in the background.

Don't worry, the mod will wait for the world to finish saving when necessary, no data will be lost!

The world will show up on the world list, and you can even edit, delete or recreate it while it is still saving. This is done by reusing the info from the still saving world.

In its current state this should be safe to do as measures for thread safety have been taken. If you do somehow still encounter an issue, the worst thing to happen will be the action failing and Minecraft showing you a toast informing you of it.

If that happens, please open an issue with your .minecraft/logs/latest.log file attached!

Join the Discord!

If you are interested in my mods or have any questions, you can join my Discord!

Configure

To configure the mod, open the config screen from ModMenu or go to .minecraft/config/fastquit-config.txt.

There is currently three options to configure:

Show Toasts:

Determines whether a toast gets shown when a world finishes saving.

Background Thread Priority:

Sets the thread priority of the server when saving worlds in the background. This is done to improve client performance while saving, but will make the saving take longer over all. Value has to be between 0 and 10, setting it to 0 will disable changing thread priority.

Render "Saving world" Screen:

When playing on high render distance, quitting the world can still take a bit because the client-side chunk storage has to be cleared. By enabling this setting the "Saving world" screen will be rendered.

Show Saving Time

Determines whether the time it took to save the world gets displayed on toasts and the world list. Value has to be between 0 and 2, with 0 never showing the time, 1 only on the toast and 2 also on the world list. In ModMenu these are accordingly labelled.

How does this mod work?

At it's core, this mod is quite simple:

Normally, when quitting a singleplayer world, the client will wait until the server thread has finished saving the world before going to the Title Screen. This mod skips this waiting period and lets the server continue saving in the background.

PLEASE NOTE this does not always make quitting a world instant, as the client can still take a bit of time to unload rendered chunks etc. However, even in that case you will see a speedup as clientside unloading and serverside saving now perform simultaneously instead of one after the other.

Of course in practice this is not quite that easy:

When working with multiple threads like this, many problems arise. For example, when going to the world list, Minecraft will try to read its level data but fails because the background saving still locks the world file.

Instead, we now access the information through the still saving server. Similarly, when trying to edit, delete or recreate the world, we have to use the existing session.

To keep these processes thread safe, a lot of synchronization has to be done to ensure the saving server and the client don't get in each other's way.

For some things, like rejoining the still saving world or making a backup, we just wait for the server to finish saving completely. We also wait for the worlds to finish saving when quitting the game to ensure no data is lost.

Thanks to...

Translators:

  • Felix14-v2 (Russian)
  • Cccc-owo (Simplified Chinese)
  • JustAlittleWolf (German)
  • YakisikliBaran (Turkish)
  • Skidamek (Polish)
  • Oondanomala (Italian)
  • Madis0 (Estonian)
  • notlin4 (Traditional Chinese)
  • BurrConnie (Ukrainian)
  • GodGun968 (Simplified Chinese)
  • ImVietnam (Vietnamese)
  • ishi-sama (French)
  • KAGUYA-1137 (Japanese)
  • demorogabrtz (Portuguese)
  • ReallySuperOtter (Swedish)
  • asabhi6776 (Hindi)
  • lumiscosity (Polish)
  • good7777865 (Korean)

Compatibility

With the help of MixinExtras and a custom Mixin Config Plugin, the mixins have been designed to be very non-intrusive while also being very effective.

Fast Backups:

  • (FIXED in FastQuit v3.1.0+) crash on world exit when "Allow multiple running Worlds" is ON
  • (FIXED in Fast Backups v0.17+) crash when quitting Minecraft immediately after world exit, fixed in newer versions of Fast Backup

Wakes:

  • (FIXED in Wakes v0.4.0+) crash on world exit with Wakes 0.3.0

If you suspect an incompatibility with another mod, please open an issue!

Problems?

If you are experiencing any problems, please open an issue on the issue tracker!

Make sure to attach important info like other mods you were using, log- or crash-files and if possible steps to reproduce.

Before uploading any files make sure to get rid of personal data! (For example your computers username in logged directories)

About

Lets you return to the title screen early while your world is still saving in the background

Resources

Stars

54 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

FastQuit

About this mod

This mod lets you return to the title screen early while your world is still saving in the background.

Don't worry, the mod will wait for the world to finish saving when necessary, no data will be lost!

The world will show up on the world list, and you can even edit, delete or recreate it while it is still saving. This is done by reusing the info from the still saving world.

In its current state this should be safe to do as measures for thread safety have been taken. If you do somehow still encounter an issue, the worst thing to happen will be the action failing and Minecraft showing you a toast informing you of it.

If that happens, please open an issue with your .minecraft/logs/latest.log file attached!

Join the Discord!

If you are interested in my mods or have any questions, you can join my Discord!

Configure

To configure the mod, open the config screen from ModMenu or go to .minecraft/config/fastquit-config.txt.

There is currently three options to configure:

Show Toasts:

Determines whether a toast gets shown when a world finishes saving.

Background Thread Priority:

Sets the thread priority of the server when saving worlds in the background. This is done to improve client performance while saving, but will make the saving take longer over all. Value has to be between 0 and 10, setting it to 0 will disable changing thread priority.

Render "Saving world" Screen:

When playing on high render distance, quitting the world can still take a bit because the client-side chunk storage has to be cleared. By enabling this setting the "Saving world" screen will be rendered.

Show Saving Time

Determines whether the time it took to save the world gets displayed on toasts and the world list. Value has to be between 0 and 2, with 0 never showing the time, 1 only on the toast and 2 also on the world list. In ModMenu these are accordingly labelled.

How does this mod work?

At it's core, this mod is quite simple:

Normally, when quitting a singleplayer world, the client will wait until the server thread has finished saving the world before going to the Title Screen. This mod skips this waiting period and lets the server continue saving in the background.

PLEASE NOTE this does not always make quitting a world instant, as the client can still take a bit of time to unload rendered chunks etc. However, even in that case you will see a speedup as clientside unloading and serverside saving now perform simultaneously instead of one after the other.

Of course in practice this is not quite that easy:

When working with multiple threads like this, many problems arise. For example, when going to the world list, Minecraft will try to read its level data but fails because the background saving still locks the world file.

Instead, we now access the information through the still saving server. Similarly, when trying to edit, delete or recreate the world, we have to use the existing session.

To keep these processes thread safe, a lot of synchronization has to be done to ensure the saving server and the client don't get in each other's way.

For some things, like rejoining the still saving world or making a backup, we just wait for the server to finish saving completely. We also wait for the worlds to finish saving when quitting the game to ensure no data is lost.

Thanks to...

Translators:

  • Felix14-v2 (Russian)
  • Cccc-owo (Simplified Chinese)
  • JustAlittleWolf (German)
  • YakisikliBaran (Turkish)
  • Skidamek (Polish)
  • Oondanomala (Italian)
  • Madis0 (Estonian)
  • notlin4 (Traditional Chinese)
  • BurrConnie (Ukrainian)
  • GodGun968 (Simplified Chinese)
  • ImVietnam (Vietnamese)
  • ishi-sama (French)
  • KAGUYA-1137 (Japanese)
  • demorogabrtz (Portuguese)
  • ReallySuperOtter (Swedish)
  • asabhi6776 (Hindi)
  • lumiscosity (Polish)
  • good7777865 (Korean)

Compatibility

With the help of MixinExtras and a custom Mixin Config Plugin, the mixins have been designed to be very non-intrusive while also being very effective.

Fast Backups:

  • (FIXED in FastQuit v3.1.0+) crash on world exit when "Allow multiple running Worlds" is ON
  • (FIXED in Fast Backups v0.17+) crash when quitting Minecraft immediately after world exit, fixed in newer versions of Fast Backup

Wakes:

  • (FIXED in Wakes v0.4.0+) crash on world exit with Wakes 0.3.0

If you suspect an incompatibility with another mod, please open an issue!

Problems?

If you are experiencing any problems, please open an issue on the issue tracker!

Make sure to attach important info like other mods you were using, log- or crash-files and if possible steps to reproduce.

Before uploading any files make sure to get rid of personal data! (For example your computers username in logged directories)

About

Lets you return to the title screen early while your world is still saving in the background

Resources

Stars

54 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

FastQuit

About this mod

This mod lets you return to the title screen early while your world is still saving in the background.

Don't worry, the mod will wait for the world to finish saving when necessary, no data will be lost!

The world will show up on the world list, and you can even edit, delete or recreate it while it is still saving. This is done by reusing the info from the still saving world.

In its current state this should be safe to do as measures for thread safety have been taken. If you do somehow still encounter an issue, the worst thing to happen will be the action failing and Minecraft showing you a toast informing you of it.

If that happens, please open an issue with your .minecraft/logs/latest.log file attached!

Join the Discord!

If you are interested in my mods or have any questions, you can join my Discord!

Configure

To configure the mod, open the config screen from ModMenu or go to .minecraft/config/fastquit-config.txt.

There is currently three options to configure:

Show Toasts:

Determines whether a toast gets shown when a world finishes saving.

Background Thread Priority:

Sets the thread priority of the server when saving worlds in the background. This is done to improve client performance while saving, but will make the saving take longer over all. Value has to be between 0 and 10, setting it to 0 will disable changing thread priority.

Render "Saving world" Screen:

When playing on high render distance, quitting the world can still take a bit because the client-side chunk storage has to be cleared. By enabling this setting the "Saving world" screen will be rendered.

Show Saving Time

Determines whether the time it took to save the world gets displayed on toasts and the world list. Value has to be between 0 and 2, with 0 never showing the time, 1 only on the toast and 2 also on the world list. In ModMenu these are accordingly labelled.

How does this mod work?

At it's core, this mod is quite simple:

Normally, when quitting a singleplayer world, the client will wait until the server thread has finished saving the world before going to the Title Screen. This mod skips this waiting period and lets the server continue saving in the background.

PLEASE NOTE this does not always make quitting a world instant, as the client can still take a bit of time to unload rendered chunks etc. However, even in that case you will see a speedup as clientside unloading and serverside saving now perform simultaneously instead of one after the other.

Of course in practice this is not quite that easy:

When working with multiple threads like this, many problems arise. For example, when going to the world list, Minecraft will try to read its level data but fails because the background saving still locks the world file.

Instead, we now access the information through the still saving server. Similarly, when trying to edit, delete or recreate the world, we have to use the existing session.

To keep these processes thread safe, a lot of synchronization has to be done to ensure the saving server and the client don't get in each other's way.

For some things, like rejoining the still saving world or making a backup, we just wait for the server to finish saving completely. We also wait for the worlds to finish saving when quitting the game to ensure no data is lost.

Thanks to...

Translators:

  • Felix14-v2 (Russian)
  • Cccc-owo (Simplified Chinese)
  • JustAlittleWolf (German)
  • YakisikliBaran (Turkish)
  • Skidamek (Polish)
  • Oondanomala (Italian)
  • Madis0 (Estonian)
  • notlin4 (Traditional Chinese)
  • BurrConnie (Ukrainian)
  • GodGun968 (Simplified Chinese)
  • ImVietnam (Vietnamese)
  • ishi-sama (French)
  • KAGUYA-1137 (Japanese)
  • demorogabrtz (Portuguese)
  • ReallySuperOtter (Swedish)
  • asabhi6776 (Hindi)
  • lumiscosity (Polish)
  • good7777865 (Korean)

Compatibility

With the help of MixinExtras and a custom Mixin Config Plugin, the mixins have been designed to be very non-intrusive while also being very effective.

Fast Backups:

  • (FIXED in FastQuit v3.1.0+) crash on world exit when "Allow multiple running Worlds" is ON
  • (FIXED in Fast Backups v0.17+) crash when quitting Minecraft immediately after world exit, fixed in newer versions of Fast Backup

Wakes:

  • (FIXED in Wakes v0.4.0+) crash on world exit with Wakes 0.3.0

If you suspect an incompatibility with another mod, please open an issue!

Problems?

If you are experiencing any problems, please open an issue on the issue tracker!

Make sure to attach important info like other mods you were using, log- or crash-files and if possible steps to reproduce.

Before uploading any files make sure to get rid of personal data! (For example your computers username in logged directories)

About

Lets you return to the title screen early while your world is still saving in the background

Resources

Stars

54 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

FastQuit

About this mod

This mod lets you return to the title screen early while your world is still saving in the background.

Don't worry, the mod will wait for the world to finish saving when necessary, no data will be lost!

The world will show up on the world list, and you can even edit, delete or recreate it while it is still saving. This is done by reusing the info from the still saving world.

In its current state this should be safe to do as measures for thread safety have been taken. If you do somehow still encounter an issue, the worst thing to happen will be the action failing and Minecraft showing you a toast informing you of it.

If that happens, please open an issue with your .minecraft/logs/latest.log file attached!

Join the Discord!

If you are interested in my mods or have any questions, you can join my Discord!

Configure

To configure the mod, open the config screen from ModMenu or go to .minecraft/config/fastquit-config.txt.

There is currently three options to configure:

Show Toasts:

Determines whether a toast gets shown when a world finishes saving.

Background Thread Priority:

Sets the thread priority of the server when saving worlds in the background. This is done to improve client performance while saving, but will make the saving take longer over all. Value has to be between 0 and 10, setting it to 0 will disable changing thread priority.

Render "Saving world" Screen:

When playing on high render distance, quitting the world can still take a bit because the client-side chunk storage has to be cleared. By enabling this setting the "Saving world" screen will be rendered.

Show Saving Time

Determines whether the time it took to save the world gets displayed on toasts and the world list. Value has to be between 0 and 2, with 0 never showing the time, 1 only on the toast and 2 also on the world list. In ModMenu these are accordingly labelled.

How does this mod work?

At it's core, this mod is quite simple:

Normally, when quitting a singleplayer world, the client will wait until the server thread has finished saving the world before going to the Title Screen. This mod skips this waiting period and lets the server continue saving in the background.

PLEASE NOTE this does not always make quitting a world instant, as the client can still take a bit of time to unload rendered chunks etc. However, even in that case you will see a speedup as clientside unloading and serverside saving now perform simultaneously instead of one after the other.

Of course in practice this is not quite that easy:

When working with multiple threads like this, many problems arise. For example, when going to the world list, Minecraft will try to read its level data but fails because the background saving still locks the world file.

Instead, we now access the information through the still saving server. Similarly, when trying to edit, delete or recreate the world, we have to use the existing session.

To keep these processes thread safe, a lot of synchronization has to be done to ensure the saving server and the client don't get in each other's way.

For some things, like rejoining the still saving world or making a backup, we just wait for the server to finish saving completely. We also wait for the worlds to finish saving when quitting the game to ensure no data is lost.

Thanks to...

Translators:

  • Felix14-v2 (Russian)
  • Cccc-owo (Simplified Chinese)
  • JustAlittleWolf (German)
  • YakisikliBaran (Turkish)
  • Skidamek (Polish)
  • Oondanomala (Italian)
  • Madis0 (Estonian)
  • notlin4 (Traditional Chinese)
  • BurrConnie (Ukrainian)
  • GodGun968 (Simplified Chinese)
  • ImVietnam (Vietnamese)
  • ishi-sama (French)
  • KAGUYA-1137 (Japanese)
  • demorogabrtz (Portuguese)
  • ReallySuperOtter (Swedish)
  • asabhi6776 (Hindi)
  • lumiscosity (Polish)
  • good7777865 (Korean)

Compatibility

With the help of MixinExtras and a custom Mixin Config Plugin, the mixins have been designed to be very non-intrusive while also being very effective.

Fast Backups:

  • (FIXED in FastQuit v3.1.0+) crash on world exit when "Allow multiple running Worlds" is ON
  • (FIXED in Fast Backups v0.17+) crash when quitting Minecraft immediately after world exit, fixed in newer versions of Fast Backup

Wakes:

  • (FIXED in Wakes v0.4.0+) crash on world exit with Wakes 0.3.0

If you suspect an incompatibility with another mod, please open an issue!

Problems?

If you are experiencing any problems, please open an issue on the issue tracker!

Make sure to attach important info like other mods you were using, log- or crash-files and if possible steps to reproduce.

Before uploading any files make sure to get rid of personal data! (For example your computers username in logged directories)

About

Lets you return to the title screen early while your world is still saving in the background

Resources

Stars

54 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages