Giter Club home page Giter Club logo

worldtools's Introduction

WorldTools: World Downloader (Fabric / Forge)

CurseForge Downloads Modrinth Downloads Minecraft Minecraft Minecraft License

WorldTools is a powerful Minecraft mod that allows you to capture and save high-detail snapshots of server worlds locally. It empowers you to download comprehensive information, including chunks, entities, chests, players, statistics, advancements, and detailed metadata. WorldTools ensures that you can retain an accurate and unaltered representation of the server's world for analysis, sharing, or backup purposes on your local machine.

Fabric Supported Forge Supported

Link to the lambda discord server https://discord.gg/3y3ah5BtjB

Features

  • World Download (default keybind: F12): Initiate a quick download by hitting the F12 key, which can be altered in the keybind settings. Alternatively, you can access the GUI (default keybind: F10) via the escape menu. The GUI allows you to tailor the capture process according to your requirements. WorldTools facilitates the capture of a wide range of crucial elements, ensuring no detail is missed.

    • Chunks: Terrain, biomes and structures
    • Entities: Positions and attributes of all entities
    • Containers: Contents of all tile entities like chests, shulkers, hoppers, furnaces, brewing stands, droppers, dispensers etc...
    • Players: Player positions and inventories
    • Statistics: Full personal player statistics
    • Advancements: Player advancements and progress
    • Special Objects: Maps and Banners
    • Detailed Metadata: Exhaustive capture details like modt, server version, timestamps, and more
  • Easy Access to Saved Worlds: Your locally captured world save can be found in the single-player worlds list, allowing you to load and explore it conveniently.

  • Advanced Configuration: WorldTools provides a wide range of settings to customize the capture process to your needs. Select elements to capture, modify game rules, alter entity NBT data, and configure the capture process in detail.

Getting Started

Fabric

  1. Installation:

    • Install Fabric by following the Fabric Installation Guide.
    • Download the latest Fabric version of WorldTools from the releases page
    • Place the WorldTools Fabric mod JAR file in the "mods" folder of your Fabric installation.
  2. Prerequisites: Make sure you have the following mods installed:

Forge

  1. Installation:

    • Install Forge by following the Forge Download Link.
    • Download the latest Forge version of WorldTools from the releases page
    • Place the WorldTools Forge mod JAR file in the "mods" folder of your Forge installation.
  2. Prerequisites: Make sure you have the following mods installed:

Usage

  1. Download:
    • Enable capture mode: Hit F12 the GUI (on ESC menu) or /worldtools capture to start capturing data.
    • Play the game normally while WorldTools downloads the all data. You need to open containers like chests to capture their contents.
    • Save captured data: Hit F12 the GUI (on ESC menu) or /worldtools capture again to stop capturing data and save the world.
  2. Access Downloaded World: Your downloaded world can be found in the single-player worlds list.

File Structure

After capturing data, WorldTools creates the following files in the world directory's folder:

  • Capture Metadata.md: Contains detailed information about the capture process itself.

  • Dimension Tree.txt: Provides a tree of all dimension folder paths of the server, not just the downloaded ones.

  • Player Entry List.csv: Lists all players that were online during the capture including all known metadata.

Supported Languages

For the best user experience, WorldTools is available in the following languages:

  • German
  • English (Pirate)
  • English (United States)
  • French (Canada)
  • French (France)
  • Dutch (Belgium)
  • Dutch (Netherlands)
  • Nynorsk (Norwegian)
  • Norwegian (Norway)
  • Portuguese (Brazil)
  • Portuguese (Portugal)
  • Russian

Contributing

Contributions are welcome! Please read our Code of Conduct and Contributing Guidelines before submitting a Pull Request.

  1. Fork the repository and clone it to your local machine.
    git clone https://github.com/Avanatiker/WorldTools
  2. Create a new branch for your feature.
    git checkout -b my-new-feature
  3. Make your changes and commit them to your branch.
    git commit -am 'Add some feature'
  4. Push your changes to your fork.
    git push origin my-new-feature
  5. Open a Pull Request in this repository.
  6. Your Pull Request will be reviewed and merged as soon as possible.
  7. Wait for the next release to see your changes in action!

Building

  1. Once forked and cloned, run ./gradlew build to build the mod for both mod loaders.
  2. IntelliJ IDEA will generate run configurations for both mod loaders that can be used to run the mod in a test environment.
  3. The Fabric mod JAR file can be found in fabric/build/libs and the Forge mod JAR file in forge/build/libs.

ToDo

Fixes

  • Fix statistics not updated on stop because the packet answer is not received before the world is saved
  • Fix on capture switch config button functionality in capture gui
  • Dimension, XP, selected item slot, player game type, is not saved to player nbt in level.dat

Features

  • Capture Mode: Choose between two capture modes: Full and Incremental. The Full mode captures all data from the server, while the Incremental mode only captures data that has changed since the last capture.
  • Save lectern contents
  • Save server datapack to the downloaded world
  • Save more entity data (NBT) like trades, inventory from boats and minecarts, etc.
  • Live statistics: Data usage, time elapsed, etc.

License

WorldTools is distributed under the GNU General Public License v3.0.


If you have any questions, concerns, or suggestions, you can visit our official Discord server.

Disclaimer: WorldTools is not affiliated with Mojang Studios. Minecraft is a registered trademark of Mojang Studios. Use of the WorldTools software is subject to the terms outlined in the license agreement.

worldtools's People

Contributors

avanatiker avatar calvineries avatar chiekn avatar dependabot[bot] avatar ironexception avatar p529 avatar rfresh2 avatar yomo2b2t avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

worldtools's Issues

Containers not always saving on Mac

Having issues with saving containers on a Mac. I have future, rusher and meteor and when I added world tools I got a lot of crashing. removing future seemed to have fixed things. after removing future on 1.20.1 it would save the world, but not containers. Updated everything to 1.20.4 and have better luck with saving containers, but not consistent. It registers every container, but not every container's contents was saved in the wdl. Is there a speed issue with saving containers?

ModMenu Support and config menu and various options

Add a modmenu config, and populate the F12 options screen with a few basic options, most of which will also be available through modmenu:

1: Automatic World Downloading (Disabled by default) - decides whether or not the mod automatically starts downloading worlds upon join

2: Download Distance (locked to client's chunkloading distance by default) - decides the chunk radius around the player in which world data is downloaded, has 3 options: Custom, Client View Distance, and Server View Distance.

3: add buttons at the bottom of the screen to start World Downloading, Stop World Downloading, Clear Cache, and save data to disk. as well as freezing and unfreezing entities, and enabling/disabling chunk loading for a save, and resetting chunk data back to what the original save contained (world tools could save a small file in world saves containing a list of the chunks that were contained in the download, so if, for example, the world seed a user found through a seed-finding mod turns out to be incorrect, they can reset the chunk data and re-enter the seed.

4: Allow enabling or disabling saving of: Chunk data, storage data, sign/other block entity data, entity data, achievements, player data, player inventory data, ender chest data, villager trading/profession data, allay holding data, jukebox disc data, and various other options.

5: Allow manually setting the world seed

[Enhancement] Use PCA Sync Protocol to save container data in supported servers

This mod is very good! If you add the features mentioned below, it would be even more perfect!
PCA sync protocol can synchronize container data without the player opening the container; And this protocol needs to be installed and enabled on the server, otherwise players will not be able to synchronize container data. Therefore, using the PCA sync protocol to synchronize container data can simplify the process of capturing maps on servers with this protocol, while other servers without this protocol are not affected.
Here is the relevant link for PCA sync protocol: https://github.com/Fallen-Breath/pca-protocol

Unable to save worlds during ReplayMod playback

When attempting to use the mod to extract world data from ReplayMod recordings during playback, the mod does properly extract the entity and chunk data, but fails to properly save it due to an UninitializedPropertyAccessException related to server info.

[03:26:43] [DefaultDispatcher-worker-2/ERROR]: Uncaught exception in thread "DefaultDispatcher-worker-2"
kotlin.UninitializedPropertyAccessException: lateinit property serverInfo has not been initialized
	at org.waste.of.time.WorldTools.getServerInfo(WorldTools.java:60) ~[WorldTools-fabric-1.0.0.jar:?]
	at org.waste.of.time.WorldTools$dispatchSessionThread$1.invokeSuspend(WorldTools.java:85) ~[WorldTools-fabric-1.0.0.jar:?]
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[org_jetbrains_kotlin_kotlin-stdlib-1.9.10-322b6d1b226d3ad5.jar:?]
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) ~[org_jetbrains_kotlinx_kotlinx-coe-jvm-1.7.3-cb5d5a55314c70b3.jar:?]
	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115) ~[org_jetbrains_kotlinx_kotlinx-coe-jvm-1.7.3-cb5d5a55314c70b3.jar:?]
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103) ~[org_jetbrains_kotlinx_kotlinx-coe-jvm-1.7.3-cb5d5a55314c70b3.jar:?]
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584) ~[org_jetbrains_kotlinx_kotlinx-coe-jvm-1.7.3-cb5d5a55314c70b3.jar:?]
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793) ~[org_jetbrains_kotlinx_kotlinx-coe-jvm-1.7.3-cb5d5a55314c70b3.jar:?]
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697) ~[org_jetbrains_kotlinx_kotlinx-coe-jvm-1.7.3-cb5d5a55314c70b3.jar:?]
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684) ~[org_jetbrains_kotlinx_kotlinx-coe-jvm-1.7.3-cb5d5a55314c70b3.jar:?]
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException

While this would technically be considered a mod conflict, you should consider looking into fixing it nonetheless because it would make it possible to retroactively recover world data from ReplayMod recordings.

Running into error with storage containers

I'm getting an error on 1.20.2:
Error: java.lang.NoClassDefFoundError: Could not initialize class org.waste.of.time.storage.StorageManager

Seems like the error happens when chests are attempted to be stored.

Stack trace:

java.lang.NoClassDefFoundError: Could not initialize class org.waste.of.time.storage.StorageManager
	at org.waste.of.time.WorldTools.checkCache(WorldTools.java:98)
	at org.waste.of.time.event.Events.onChunkLoad(Events.java:25)
	at net.minecraft.class_631.handler$zle001$worldtools$onChunkLoad(class_631.java:1020)
	at net.minecraft.class_631.method_16020(class_631.java:123)
	at net.minecraft.class_634.method_38539(class_634.java:732)
	at net.minecraft.class_634.method_11128(class_634.java:697)
	at net.minecraft.class_2672.method_11528(class_2672.java:45)
	at net.minecraft.class_2672.method_11054(class_2672.java:12)
	at net.minecraft.class_2600.method_11072(class_2600.java:23)
	at net.minecraft.class_1255.method_18859(class_1255.java:156)
	at net.minecraft.class_4093.method_18859(class_4093.java:23)
	at net.minecraft.class_1255.method_16075(class_1255.java:130)
	at net.minecraft.class_1255.method_5383(class_1255.java:115)
	at net.minecraft.class_310.method_1523(class_310.java:1231)
	at net.minecraft.class_310.method_1514(class_310.java:856)
	at net.minecraft.client.main.Main.main(Main.java:253)
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:468)
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.NoClassDefFoundError: net/minecraft/class_167$class_168 [in thread "DefaultDispatcher-worker-1"]
	at org.waste.of.time.storage.StorageManager.<clinit>(StorageManager.java:57)
	at org.waste.of.time.event.Events$onClientJoin$$inlined$tryWithSession$1.invoke(Events.java:127)
	at org.waste.of.time.event.Events$onClientJoin$$inlined$tryWithSession$1.invoke(Events.java:69)
	at org.waste.of.time.WorldTools$dispatchSessionThread$1.invokeSuspend(WorldTools.java:82)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

Expand world name character limit to more than 16 characters

As a Minecraft player using the World Tools mod,

I want to be able to name my world downloads with more than 16 characters,

So that I can use more descriptive and meaningful names for my worlds, making them easier to identify and organize.

Acceptance Criteria:

  • Increase Character Limit: The character limit for world download names within the World Tools mod is increased from 16 to at least 32 characters, allowing for more detailed naming.
  • UI Adaptation: The user interface of the World Tools mod is adapted to accommodate longer world names without disrupting the layout or usability.

ViaFabricPlus Support (Support for older servers and world formats)

It would be great if the mod were to support using ViaFabricPlus to recognize when a user has joined a server older than the current game version, and have an option to save worlds from older servers in either the world format of the version the server is running, the version of the user (so ATM 1.20.x since that's the only version supported by this mod), or make 2 saves, one in each version. This would mean that, from the latest version of minecraft, WorldTools could be used to download worlds from any version of minecraft, including snapshot, pre-releases, April fools updates, etc. and save those worlds in a way that would allow them to be played in those older clients, rather than always being saved in 1.20.x (or above) format. This would also mean that this mod could be developed only for the latest version whilst working as a WDL mod for any multiplayer-compatible version of minecraft, including bedrock. (However conversion to bedrock shouldn't be a feature, as minecraft has a whole online tool for that, so instead, if a user joins and downloads a world from a bedrock server using ViaVersion and have the world format conversion feature enabled, it should notify them that they can use https://chunker.app/ to convert java worlds to bedrock if they so wish. This would also most likely require adding special support for much older versions, the experimental combat snapshots, and april fools updates especially, as they sometime have significant changes to the world and minecraft. So this is probably a more long-term goal as the mod is still in very early development.

F12 Menu does not show up and sometimes multiple servers have chunks saved to the same file(Fabric)

1: I noticed last night that pressing F12 blurs the background, and acts as if I am in a menu, but no buttons or anything else are rendered. I do not know what is causing this, but my best guess is that it may be a conflict with https://modrinth.com/mod/modern-ui

2: I also noticed that the mod will write world data to a save periodically, and leaving a server does not clear this, and since the mod seems to start automatically upon joining a server, and will automatically continue immediately after writing world data to a save, it seems that, after the first server you join, there will always be at least a bit of world data carried over from the last server to the next, which can cause missing or mixed chunks, and having 2 different world saves for the same server, as the first time it writes the world data, it counts it as using the address of the previous server, but not the second write, so you'll have one save of mixed chunks, then another that contains any chunks except the chunks that you saved first, so it will usually be missing the spawn chunks

I currently am not at my PC so I can't test for mod conflicts and such, but will do so later.

Also, thanks for making this mod, I quite believed that a World Downloader mod for modern versions was impossible (excluding the minecraft world downloader that runs as an external app but that's not nearly as useful as a client-sided mod, and significantly more buggy), I haven't tested this out yet, and I'd assume it probably does, but does this work with mods such as ViaFabricPlus? As that would allow downloading worlds from older servers without needing to develop the WorldTools mod for any version of the game besides the newest version.

Unable to save Map data

Hey! I am looking for a way to WDL a mapart outpost on a server! When using this tool I only have blank maps even though their names are accurately downloaded.
I tried on 2b2t an another random creative server and ended up with the same results.

Thanks for looking into this, have a good one!

Missing Container Contents on Block Entity Reload

Steps to reproduce:

  1. Start WDL with a chest that contains contents next to you
  2. Open the chest to save the contents
  3. Move out of range of the chest so it unloads
  4. Move back in range of the chest
  5. Save capture
  6. Open WDL in SP, chest contents will be missing

Version 1.1.1 is incompatible with MysteryMod-1.20.1-1.0.1.jar Mod. - 1.0.0 runs fine

Hi
Griefergames.net Server uses this addon to add more Blocks and many more features.
The Problem that i have is:
When i use my regular mods also with MysteryMod-1.20.1-1.0.1.jar and your old Version 1.0.0 the Worlddownloader runs, but it has no GUI etc. but i can download Maps.
If i use the new 1.1.1 Version the client crashes with the MystMod addon.
I try to find out what's exactly happen but im not a java developer ^^

Here is my crash report and the log:
crash-2024-01-13_08.55.28-client.txt
2024-01-13-3.log

Maybe you will find out something

Best regards
Fizzy Bubbele

Corrupted save from multiworld old version replays

Firstly thank you so much for a brand new world download tool! I'm amazed by its maturity and extensive features.

The ability to save from ReplayMod replays is especially useful since it allows recovering world fragments from old replay files.

However I'm encountering an issue while attempting to save from an 1.19.2 replay. The replay was recorded on an 1.19.2 multiworld server which had a typical main world & resource world arrangement. The player was in the survival world at the start of the replay, but teleported to the resource world sometimes later.

If I attempt to save from this replay file and let the replay run from start to end (to include the world teleportation), chunks in the main world where the player was before the teleportation would be overwritten by Void. It looks like this:
bad
view

Note the large section of chunks has been replaced by the Void, and a strange stone platform in the Void.

The area should look like this:
good

This only happens when saving from old version replays. Multiworld saves as expected when saving from 1.20.2 replays or an actual 1.20.2 multiworld server.

This issue is first observed with an actual old replay from several years back. I successfully reproduced this with a self hosted paper 1.19.2 server with multiverse.

Test environment:

  • Minecraft 1.20.2
  • replaymod 1.20.2-2.6.15 (Older versions have problem loading replay from 1.19.x)
  • WorldTools-fabric-1.2.4+1.20.2

Steps to reproduce:

  • Load the replay: test.mcpr.zip

  • Start downloading immediately (Since the replay is very short it's preferable to enable "Automatic start download on join")

  • Wait until the replay finishes

  • Stop and save the download

  • Load the saved world in single player

Expected behavior:
Player spawns in the main surviving world

Actual behavior:
Player immediately starts falling into the void.

Logs: test.log

Saving chunks slow

is there a reason why saving chunks at first is really fast, and then slows down? I assume most of the chunks are done by then but when I save it and join the world its just a checkerboard pattern of chunks

Data in chests and command blocks do not save.

Items in chests and commands in command blocks do not save using WorldTools Fabric 1.1.1.

MC Version:

  • fabric-loader-0.15.3-1.20.1

Mods:

  • cloth-config-11.1.118-fabric
  • fabric-api-0.91.0+1.20.1
  • fabric-language-kotlin-1.10.17+kotlin.1.9.22
  • modmenu-7.2.2
  • WorldTools-fabric-1.1.1

World MetaData Not getting Saved

Hi When I try to download worlds it doesn't save the metadata including the seed and all new chunks generate empty, is there any possible fix for this? I want to be able to download the world but also have it keep generating, rather than being completely empty.

Could it have a 1.18.2 version?please

Pokechu22/WorldDownloader only supports up to 1.16.5
But this only 1.20.1
Please,I believe many people still need a mod for version 1.18.2 just like me :(

Still unable to save worlds during ReplayMod playback

I previously reported an issue (#4) where the mod was able to capture data from recordings generated by the ReplayMod, but wasn't able to save it properly as server information wasn't declared so it would fail trying to write the chunk data to disk. The issue was closed yesterday.

I decided to test to see if the mod works with the ReplayMod, and the issue is worse now - I can't start capturing the data from recordings as it throws an IllegalStateException whenever I attempt to run the /worldtools capture command (which is then caught by Minecraft's command error handling system). If I attempt to access the WorldTools menu from the pause screen, the client crashes.

---- Minecraft Crash Report ----
// Hey, that tickles! Hehehe!

Time: 2023-12-22 09:39:00
Description: mouseClicked event handler

java.lang.IllegalStateException: Server info should not be null
	at org.waste.of.time.CaptureManager.getServerInfo(CaptureManager.java:17)
	at org.waste.of.time.CaptureManager.getLevelName(CaptureManager.java:23)
	at org.waste.of.time.gui.ManagerScreen.method_25426(ManagerScreen.java:21)
	at net.minecraft.class_437.method_25423(class_437.java:297)
	at net.minecraft.class_310.method_1507(class_310.java:1080)
	at org.waste.of.time.event.Events.onGameMenuScreenInitWidgets$lambda$4(Events.java:141)
	at net.minecraft.class_4185.method_25306(class_4185.java:94)
	at net.minecraft.class_4264.method_25348(class_4264.java:56)
	at net.minecraft.class_339.method_25402(class_339.java:189)
	at net.minecraft.class_4069.method_25402(class_4069.java:38)
	at net.minecraft.class_312.method_1611(class_312.java:98)
	at net.minecraft.class_437.method_25412(class_437.java:409)
	at net.minecraft.class_312.method_1601(class_312.java:98)
	at net.minecraft.class_312.method_22686(class_312.java:169)
	at net.minecraft.class_1255.execute(class_1255.java:102)
	at net.minecraft.class_312.redirect$efp001$viafabricplus$redirectSync(class_312.java:4038)
	at net.minecraft.class_312.method_22684(class_312.java:169)
	at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43)
	at org.lwjgl.system.JNI.invokeV(Native Method)
	at org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3474)
	at com.mojang.blaze3d.systems.RenderSystem.limitDisplayFPS(RenderSystem.java:237)
	at net.minecraft.class_310.method_1523(class_310.java:1244)
	at net.minecraft.class_310.method_1514(class_310.java:802)
	at net.minecraft.client.main.Main.main(Main.java:250)
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
	at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:87)
	at org.prismlauncher.EntryPoint.listen(EntryPoint.java:130)
	at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
	at org.waste.of.time.CaptureManager.getServerInfo(CaptureManager.java:17)
	at org.waste.of.time.CaptureManager.getLevelName(CaptureManager.java:23)
	at org.waste.of.time.gui.ManagerScreen.method_25426(ManagerScreen.java:21)
	at net.minecraft.class_437.method_25423(class_437.java:297)
	at net.minecraft.class_310.method_1507(class_310.java:1080)
	at org.waste.of.time.event.Events.onGameMenuScreenInitWidgets$lambda$4(Events.java:141)
	at net.minecraft.class_4185.method_25306(class_4185.java:94)
	at net.minecraft.class_4264.method_25348(class_4264.java:56)
	at net.minecraft.class_339.method_25402(class_339.java:189)
	at net.minecraft.class_4069.method_25402(class_4069.java:38)
	at net.minecraft.class_312.method_1611(class_312.java:98)
	at net.minecraft.class_437.method_25412(class_437.java:409)
	at net.minecraft.class_312.method_1601(class_312.java:98)
	at net.minecraft.class_312.method_22686(class_312.java:169)
	at net.minecraft.class_1255.execute(class_1255.java:102)
	at net.minecraft.class_312.redirect$efp001$viafabricplus$redirectSync(class_312.java:4038)
	at net.minecraft.class_312.method_22684(class_312.java:169)
	at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43)
	at org.lwjgl.system.JNI.invokeV(Native Method)
	at org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3474)

-- Affected screen --
Details:
	Screen name: net.minecraft.class_433
Stacktrace:
	at net.minecraft.class_437.method_25412(class_437.java:409)
	at net.minecraft.class_312.method_1601(class_312.java:98)
	at net.minecraft.class_312.method_22686(class_312.java:169)
	at net.minecraft.class_1255.execute(class_1255.java:102)
	at net.minecraft.class_312.redirect$efp001$viafabricplus$redirectSync(class_312.java:4038)
	at net.minecraft.class_312.method_22684(class_312.java:169)
	at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43)
	at org.lwjgl.system.JNI.invokeV(Native Method)
	at org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3474)
	at com.mojang.blaze3d.systems.RenderSystem.limitDisplayFPS(RenderSystem.java:237)
	at net.minecraft.class_310.method_1523(class_310.java:1244)
	at net.minecraft.class_310.method_1514(class_310.java:802)
	at net.minecraft.client.main.Main.main(Main.java:250)
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
	at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:87)
	at org.prismlauncher.EntryPoint.listen(EntryPoint.java:130)
	at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)

However, I have discovered a workaround. If you join the server and start a capture there, you can then leave the server while the capture is ongoing and and begin playing back the ReplayMod recording, and it'll start saving worlds from there instead. It's not perfect, but it works pretty well.

Advertise quilt support on modrinth

Untill modrinth makes ther launcher accept fabric mods for auttoupdateing on quilt if they dont advetise quilt support this will be very usefull

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.