Litematica (Forge)

Litematica (Forge)

336k Downloads

Exit code 0

LyfHax420 opened this issue ยท 13 comments

commented

I am trying to load this specifi schematic: https://www.planetminecraft.com/project/sumadha-monastery-saphire-studios/
It is quite big and it takes a while to load, but when I does and I start looking at it my FPS drop to 1-2, and my game freezes and ends up crashing. I have tried deleting all other mods in my folder, shadders are off, entities as well. My GPU drivers are up to date and I'm using a GTX 1060.
This is the crsah report I got:

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

Time: 03/11/20 20:55
Description: Batching chunks

java.lang.NullPointerException: Batching chunks
at net.minecraft.class_846$class_851$class_4578.method_22785(class_846.java:875)
at net.minecraft.class_846$class_851$class_4578.method_22783(class_846.java:721)
at net.minecraft.class_846.method_22757(class_846.java:180)
at net.minecraft.class_846$$Lambda$5241/1044978441.apply(Unknown Source)
at java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:981)
at java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2116)
at net.minecraft.class_846.method_22763(class_846.java:178)
at net.minecraft.class_846.method_23086(class_846.java:252)
at net.minecraft.class_846$$Lambda$5239/1401779890.run(Unknown Source)
at net.minecraft.class_3846.method_16907(class_3846.java:94)
at net.minecraft.class_3846.method_16900(class_3846.java:137)
at net.minecraft.class_3846.run(class_3846.java:105)
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1689)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

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

-- Head --
Thread: Render thread
Stacktrace:
at net.minecraft.class_128.handler$zdn000$fillSystemDetails(class_128.java:523)

-- OptiFabric --
Details:
OptiFine jar designed for: 1.16.3
OptiFine jar version: OptiFine_1.16.3_HD_U_G3
OptiFine jar status: Valid OptiFine installer
OptiFine remapped jar: C:\Users\carba\AppData\Roaming.minecraft.optifine\OptiFine_1.16.3_HD_U_G3\Optifine-mapped.jar
OptiFabric error:
Stacktrace:
at net.minecraft.class_128.handler$zdn000$fillSystemDetails(class_128.java:523)
at net.minecraft.class_128.(class_128.java:55)
at net.minecraft.class_128.method_560(class_128.java:417)
at net.minecraft.class_846.method_22755(class_846.java:185)
at net.minecraft.class_846$$Lambda$5330/766920497.accept(Unknown Source)
at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
at java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:778)
at java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2132)
at net.minecraft.class_846.method_22763(class_846.java:181)
at net.minecraft.class_846.method_23086(class_846.java:252)
at net.minecraft.class_846$$Lambda$5239/1401779890.run(Unknown Source)
at net.minecraft.class_3846.method_16907(class_3846.java:94)
at net.minecraft.class_3846.method_16900(class_3846.java:137)
at net.minecraft.class_3846.run(class_3846.java:105)
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1689)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

-- Affected level --
Details:
All players: 1 total; [class_746['LyfHax420'/25080, l='ClientLevel', x=169.14, y=64.00, z=434.57]]
Chunk stats: Client Chunk Cache: 3025, 2422
Level dimension: minecraft:overworld
Level spawn location: World: (0,64,0), Chunk: (at 0,4,0 in 0,0; contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
Level time: 106551 game time, 106551 day time
Server brand: fabric
Server type: Integrated singleplayer server

-- System Details --
Details:
Minecraft Version: 1.16.3
Minecraft Version ID: 1.16.3
Operating System: Windows 10 (amd64) version 10.0
Java Version: 1.8.0_51, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 672540792 bytes (641 MB) / 2046820352 bytes (1952 MB) up to 2147483648 bytes (2048 MB)
CPUs: 6
JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
Fabric Mods:
fabric: Fabric API 0.25.0+build.415-1.16
fabric-api-base: Fabric API Base 0.2.0+9f0fb4b895
fabric-biome-api-v1: Fabric Biome API (v1) 3.0.0+8367596d95
fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.4+c6a8ea8995
fabric-command-api-v1: Fabric Command API (v1) 1.0.9+a4467d2a95
fabric-commands-v0: Fabric Commands (v0) 0.2.0+52d3083695
fabric-containers-v0: Fabric Containers (v0) 0.1.8+045df74f95
fabric-content-registries-v0: Fabric Content Registries (v0) 0.1.9+059ea86695
fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.1.2+b7f9825d95
fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.1+f8ac1db295
fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.0+16acbe5b95
fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.3+a4467d2a95
fabric-item-api-v1: Fabric Item API (v1) 1.2.0+f8ac1db295
fabric-item-groups-v0: Fabric Item Groups (v0) 0.2.1+a4467d2a95
fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.1+730711c695
fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.0+3fa9f7c595
fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 1.2.0+74cc3b2095
fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.0.1+432ea18895
fabric-mining-levels-v0: Fabric Mining Levels (v0) 0.1.2+b764ce9995
fabric-models-v0: Fabric Models (v0) 0.1.1+f8ac1db295
fabric-networking-blockentity-v0: Fabric Networking Block Entity (v0) 0.2.5+b50ffc7b95
fabric-networking-v0: Fabric Networking (v0) 0.1.10+e00ecb5f95
fabric-object-builder-api-v1: Fabric Object Builder API (v1) 1.9.2+a89534ab95
fabric-object-builders-v0: Fabric Object Builders (v0) 0.7.1+a4467d2a95
fabric-particles-v1: fabric-particles-v1 0.2.2+fb0d9b0e95
fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.6.1+a4467d2a95
fabric-renderer-api-v1: Fabric Renderer API (v1) 0.3.3+a4467d2a95
fabric-renderer-indigo: Fabric Renderer - Indigo 0.4.3+a4467d2a95
fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 2.2.0+f8ac1db295
fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.1.4+f8ac1db295
fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 0.1.12+f8ac1db295
fabric-rendering-v0: Fabric Rendering (v0) 1.1.1+f8ac1db295
fabric-rendering-v1: Fabric Rendering (v1) 1.3.1+f8ac1db295
fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.3.1+facf3bbf95
fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.1.0+8724984195
fabric-structure-api-v1: Fabric Structure API (v1) 1.1.0+f8ac1db295
fabric-tag-extensions-v0: Fabric Tag Extensions (v0) 1.0.3+ac8e8c5995
fabric-textures-v0: Fabric Textures (v0) 1.0.5+a4467d2a95
fabric-tool-attribute-api-v1: Fabric Tool Attribute API (v1) 1.2.4+2b46237995
fabricloader: Fabric Loader 0.10.6+build.214
litematica: Litematica 0.0.0-dev.20200913.215807
malilib: MaLiLib 0.10.0-dev.21+arne.1
minecraft: Minecraft 1.16.3
mm: Manningham Mills 2.1
optifabric: OptiFabric 1.7.0
Launched Version: fabric-loader-0.10.6+build.214-1.16.3
Backend library: LWJGL version 3.2.2 build 10
Backend API: ERROR IllegalStateException: Rendersystem called from wrong thread
GL Caps: Using framebuffer using OpenGL 3.0
Using VBOs: Yes
Is Modded: Definitely; Client brand changed to 'fabric'
Type: Client (map_client.txt)
Graphics mode: fancy
Resource Packs: vanilla
Current Language: English (US)
CPU: 6x Intel(R) Core(TM) i5-8600K CPU @ 3.60GHz
OptiFine Version: OptiFine_1.16.3_HD_U_G3
OptiFine Build: 20200916-082411
Render Distance Chunks: 25
Mipmaps: 4
Anisotropic Filtering: 1
Antialiasing: 0
Multitexture: false
Shaders: null
OpenGlVersion: 4.6.0 NVIDIA 457.09
OpenGlRenderer: GeForce GTX 1060 6GB/PCIe/SSE2
OpenGlVendor: NVIDIA Corporation
CpuCount: 6

commented

That crash is quite strange, it doesn't even seem to happen in Litematica's code.

In the current versions of Litematica the overlay is by far the worst offender for performance with large and massive schematics.

That schematic seems to work fairly decently for me if I disable the overlay before loading in the schematic. Also I'd recommend disabling the main rendering option, and disable the placement itself while you move it to the correct place (input the coordinates) . Once it's in place, enable the placement and the main rendering. If you want to use the overlay for building stuff from this schematic, then use the Single Layer rendering mode for example to vastly cut down on the amount of things rendered at once.

The entire massive schematic has waaaay too many elements with the overlay enabled, since the overlay is not currently culled or optimized at all basically. There is also an option called overlayReducedInnerSides in Visuals which is meant to remove unnecessary duplicated elements from the overlay, but that option is still pretty buggy and incomplete, but it should still already help, if you want to use the overlay.

Also here is a version of the schematic converted to the Litematica format, which is considerably faster to load in initially (you can also do this yourself by "Importing" it via the Schematic manager menu - it does take quite a while though, and you might need more than 2 GB of memory allocated, I had 3 GB while I did it):
https://masa.dy.fi/tmp/minecraft/buddhistproject-1513954930.litematic

(I'll delete the file after you have downloaded it.)

commented

I am very new to this "mod" so half of the things that you are saying I don't know how to do them, like the single layer render or the placement but I will try to do it anyways, I downloaded the file and swaped it for the old one.

commented

All the settings can be found in the configuration menu M + C (or via the Litematica main menu -> Configuration Menu). The overlay can be toggled off in Visuals -> enableSchematicOverlay or using the hotkey toggleOverlayRendering. The render layer setting can be changed in the Render Layers category/page. Placements can be toggle on/off in the Schematic Placements menu (M + P) or directly in the placement configuration menu (numpad minus to quickly open that for the currently selected placement).

commented

I can now have the schematic but when I press my autobuild hotkey, it just says scheduled task added but actually it's not doing anything.

commented

Oh if you want to paste this to a world, you will have a very bad time due to the massive size of it, and the massive amount of light updates that are going to happen... It will basically just freeze your game for a very long time, or crash it.

But since the original schematic is in the old MCEdit format, you could create a new flat world in 1.12.2 and then use MCEdit-Unified to load and paste the schematic to that world. (I can also do it a bit later if you don't know how to do that.)

I'll also work on some changes to the Litematica paste functionality at some point, so that it doesn't do the unnecessary intermediate light updates after every block, but instead it should just re-light the entire area after the paste is done. But no idea when that will actually happen.

commented

I would apreciate it very much if you could do that for me, as I have been looking for a Himalayan inspired map to make some buildings, and so far I saw that one and thought, that looks very cool.

commented

What kind of world do you want it in? Just in an empty world, or in some normal terrain? I don't know how well it would sit inside normal terrain, and I don't want to spend ages searching for a seed with some matching terrain to use as a basis.

commented

Yeah just an empty world would be perfect if you can do that!

commented

Sorry I completely forgot about this already...

Here is the schematic pasted to an empty 1.12.2 world:
https://masa.dy.fi/tmp/minecraft/BuddhistProject.zip

commented

Indeed, it looks like vanilla Minecraft is simply not capable of correctly loading that world. A bunch of the chunks vanish during conversion from 1.12.2 to any of the 1.13.2, 1.14.4 or 1.16.4 versions. In the end I had to use the external Amulet map editor to convert the world from 1.12.2 to 1.14.4, and then I loaded that in 1.16.4.

So here is the world for 1.16.4: https://masa.dy.fi/tmp/minecraft/BuddhistProject_1.16.4.zip

commented

Thank you! The world is not loading properly like, some chunks are missing or they just won't load but thanks anyways!

commented

The world is a void world, so it's completely empty except where the structure is pasted. It should be pasted around the center point of 256, 256 more or less. I don't remember where the player was when I last loaded that world, you may need to switch to spectator mode if it was left inside the blocks. Also I didn't try directly loading that world in later MC versions, I only tested it in 1.12.2.

commented

Yes I found the structure and changed to creative even but some chunks are not loading on 1.16