SeedQueue
A mod by KingContaria that generates several worlds at the same time inside one Minecraft instance and lets you reset them on a wall screen in the game. It is meant to replace running multiple instances.
Purpose
Keeps worlds generating in the background of a single instance, so you reset from a wall inside the game instead of juggling several Minecraft windows.
Setup Guide
SeedQueue needs Atum and Speedrun API. Download all three from mc.sr/mods, the list of mods that are legal for speedrunning.
Check your Minecraft version first: the legal list has SeedQueue for 1.16.1, 1.15.2 and the April Fools version 20w14infinite.
Put the three jar files in the mods folder of a Fabric instance and start the game.
Open the SeedQueue options through the Speedrun API config menu to set up the wall screen.
Change how the wall looks with a resource pack if the default layout doesn't suit you.
New to it? The SeedQueue README links a tutorial video, and the wiki on GitHub explains every setting and how to customize the wall.
Features
- +Several worlds generating at once in one instance
- +A wall screen inside the game for resetting
- +Wall settings in the Speedrun API config menu
- +Wall layouts you can change with resource packs
- +Much better performance than multiple instances, especially on lower end hardware
- +Built on Atum, which it requires
Memory and CPU
Every queued seed holds about 250 MB of memory, so raise the instance's RAM along with Max Queued Seeds. In MultiMC and Prism that is Maximum memory allocation in the instance settings. In other launchers you change the -Xmx value in the JVM arguments, for example -Xmx4G for 4 GiB, and -Xmx or -XX:MaxHeapSize should appear only once.
Crashes because Minecraft ran out of memory, or lag spikes every time the memory use in F3 drops, mean you need more RAM or fewer queued seeds. With a large allocation the wiki recommends the ZGC garbage collector: use -XX:+UseZGC in the JVM arguments, in place of -XX:+UseG1GC if that is there. Queuing a lot of seeds isn't free either, because the extra memory costs performance.
Max Generating Seeds limits how many seeds generate at the same time while you play. Max Generating Seeds (Wall) is the limit while you are on the wall screen and is best set higher, but not above the number of logical processors in your CPU. Max World Generation % pauses queued seeds at that percentage until you load them, although a seed always generates far enough to find a spawn point for WorldPreview.
Wall screen settings and keys
Open the config from Options, Mod Configs (the book and quill button) and then SeedQueue.
- Rows and Columns set the default grid, and Simulated Window Size the resolution the previews render at. A lower height gives each preview a wider field of view.
- Reset Cooldown ignores resets on a preview that has only just appeared, so you don't reset it by accident.
- Bypass Wall Screen skips the wall and puts you in the next seed when a fully generated, locked seed is waiting.
- Wall FPS caps the frame rate on the wall and Preview FPS sets how often previews update. A low Wall FPS also updates previews less often, which can slow your resets.
- Background Previews prepares previews before they appear in the grid. If Reset All gives lag spikes, set it to the number of previews in your grid.
- Freeze Locked Previews stops updating locked previews, Smooth Chunk Building renders fewer new chunks per frame against stutters, and Reduce World List hides reset worlds so the world list opens faster.
- SeedQueue Chunkmaps shows the chunk map overlay normally, transparent or not at all. According to the wiki, chunk maps aren't needed for verification if you use SpeedRunIGT and Atum and show the F3 screen before leaving the world, and it recommends doing that because the overlay can stutter while the game loads.
- The ten wall keys are Play Instance, Lock Instance, Reset Instance, Reset All, Focus Reset, Reset Row, Reset Column, Play Next Lock, Start Benchmark and Stop Benchmark. Focus Reset plays or locks the preview under your mouse and resets all the others, and every key can require extra keys held, such as Shift, or be blocked by others.
- Show Debug Menu adds an FPS graph and a profiler to the wall, but any run played with it on is invalid.
Customizing the wall with a resource pack
A custom layout goes in assets/seedqueue/wall/custom_layout.json. It has a main group with the previews that Reset All resets, optional preparing groups for previews about to move into the main group, and an optional locked group that locked previews move to. A group is either a grid with rows and columns or a list of positions. Sizes written as whole numbers are pixels and decimals are fractions of the window, and replaceLockedInstances set to true fills a locked preview's spot straight away instead of after the next Reset All.
Textures go in assets/seedqueue/textures/gui/wall/: background.png, overlay.png, instance_background.png and lock.png, which is the barrier texture by default. Extra lock images are named lock-1.png, lock-2.png and so on without gaps, SeedQueue picks one at random for each preview, and a .mcmeta file can give each image a weight.
The sounds lock_instance.ogg and reset_instance.ogg can be replaced in assets/seedqueue/sounds/, and a sounds.json adds sounds for play_instance, reset_all, reset_row, reset_column, start_benchmark and finish_benchmark. The wiki suggests building on an existing pack, such as the julti-dynamic-resourcepack example, rather than starting from nothing.
Notes
SeedQueue is on the MCSR legal mods list, so runs made with it can be submitted to speedrun.com/mc. Its README says the aim is to make speedrunning more accessible, since one instance asks a lot less of a computer than several. The source is on GitHub under the MIT license, and the SeedQueue community has its own Discord server.
Questions about SeedQueue
Can I change SeedQueue settings while I'm resetting?
No. SeedQueue can't be configured while it is active, so go back to the title screen first and open the config from there.
Which mod versions does SeedQueue need?
The current source for 1.16.1 needs Fabric Loader 0.16 or newer, Speedrun API 2.0 or newer and Atum 2.7.1 or newer. It won't load next to older versions of other speedrun mods, among them WorldPreview before 6.3.0, StandardSettings before 2.3, SpeedRunIGT before 15.0, Sodium before 2.4.0 and SleepBackground before 4.0. The 1.16.1 builds on mc.sr/mods are all recent enough.