Description:
Litematica is a new schematic mod written from scratch, and it is primarily targeting light mod loaders like LiteLoader on 1.12.x, Rift on 1.13.x and Fabric on 1.14+. There is also a Forge version for 1.12.2, but not yet for 1.14.4+ (but Forge ports for 1.14.4+ are also planned, see below).
It has all the features of the old Schematica mod except for the printer (which is also planned), plus a bunch more.
- The main feature of a schematic mod is to display a "hologram" version of a structure, which shows you exactly how to build the structure and where to place the blocks. It also includes a (configurable) overlay to highlight missing, extra or wrongly placed blocks.
- Litematica also includes a nice Material List, including a Material List HUD, to help you collect the materials needed for the build.
- There is also a Schematic Verifier feature, including an overlay, which you can use to scan the entire schematic area and look for any mistakes. This can be extremely useful especially with technical/redstone builds, where tiny mistakes can break everything.
- There are also several Creative-mode-only helper features, such as Fill, Replace, Delete and also a Paste mode for "pasting" schematics into the world (immediate/direct in single player, using /setblock commands in multiplayer).
Got glitchy weird triangles? See under the Optifine section!
NOTE: Litematica also requires the MaLiLib library mod:
https://www.curseforge.com/minecraft/mc-mods/malilib
About Forge versions for 1.14.4+
Forge versions for 1.14.4 and later (possibly only for 1.16.4+) are planned. Now that Forge ships the Mixin library, those ports would already be possible.
However I'm currently working on some long-needed improvements to all my client mods on 1.12.2, and also I'm trying to add the most-often requested features and improvements to the next round of bigger updates there first. After those are done I can start porting all that new development code to the later MC versions, and then I can port that new code base also to Forge. I can't give any reliable ETA for this, but I'm hoping I could manage to still do that by the end of 2020.
The default hotkey to open the in-game config GUI is M + C. If you are for example on AZERTY keyboard layout instead, then the keys are different, and M + C becomes , + C instead, etc.
Here is a Reddit post that explains the very basics of the mod:
https://old.reddit.com/r/Minecraft/comments/cqdmkk/anyone_can_help_me_how_do_i_make_schematics_with/exeug78/
If you have Optifine installed, then there are some options that you most likely will need to disable in Optifine, or otherwise it will break the schematic rendering:
- If you get glitchy weird triangles, then set shaders to OFF (not Internal) and restart the game. I'm not sure why this is broken for so many people, but it works for some, and it also works fine for myself... so debugging it is kind of impossible since it works for me to begin with.
- Render Regions probably needs to be disabled to prevent weird rendering issues (the schematic (partially?) rendering in weird places)
- Fast Render might also need to be disabled if there are still some weird HUD/GUI rendering issues
Snapshot versions and latest development builds
There are (at least at times) versions of my mods available for the latest Minecraft snapshots here: https://masa.dy.fi/mcmods/client_mods/
That page also often includes newer development builds than what is available here on CurseForge.
If you encounter bugs, then try to update all the mods (from the ones that you use) from that page to see if the issue has been fixed already.
(There are at times changes in malilib or the dependent mods that require both malilib and the mods to be updated at the same time!)
FAQ - please read first if you have questions
- Q: The main menu and the config menu don't open with M and M + C
- A: 1.) Check that the mod is installed and working: check if you see the orange Litematica text on the F3 screen.
2.) If you are on a non-QWERTY keyboard layout, then the default hotkeys are different. For example on AZERTY the M key is , (comma) instead, so the config menu hotkey for example is , + C. I'm looking for a solution to this issue. - Q: How do I rotate a schematic (placement)?
- A: In the Placement configuration GUI. You can open it (for the currently selected Placement) with a hotkey, or you can go via the Main menu -> Schematic Placements -> Configure.
- Q: How do I only render one layer at a time
- A: You can control the rendered layers on the Render Layers tab inside the in-game config menu (via the Main menu -> Configuration Menu, or the default hotkey M + C
- Q: How do I change blocks in the schematic? Is there a /schematicaReplace command?
- A: There is no command, but there is the Schematic Rebuild mode (should be called Schematic Edit mode...). See the wiki here for more details: https://github.com/maruohon/litematica/wiki/schematic_editing
- Q: Is there a printer like in Schematica?
- A: 1.) There is no printer for survival yet. It is on my TODO-list and will be added at some point.
2.) For Creative mode there is the Paste Schematic in world tool mode, which places the entire schematic at once in a single player world, or using setblock commands in multiplayer. - Q: I get an error "Failed to load schematic" when trying to load a '*.schematic' file in 1.13+.
- A: 1.) The 1.13+ versions of Litematica can't currently load the new Sponge schematic format yet. That format is used for example by World Edit in 1.13+. Although those schematics should preferably be named with the *.schem file name extension, many web sites use the *.schematic extension, which makes them hard to tell apart from the old, completely different MCEdit/Schematica format, which Litematica can already load. Support for the Sponge format already exists in the main development version in 1.12.2, and it will come to the other versions with the next bigger update.
2.) Currently the way to load Sponge schematics with Litematica is:
- Create a temporary (flat) world.
- Place the schematic there using World Edit (quick guide: https://old.reddit.com/r/Minecraft/comments/kt2znv/convert_schem_file_to_litematic_file/gilwla8/)
- Make a new Litematica schematic from the placed structure from that world
The mod is still under development, and some of the planned "extra" features (for example some of the "tool modes") haven't yet been implemented fully or at all.
Currently it has everything else Schematica had, except the "full/automatic" printer hasn't been implemented yet, but it's on my TODO-list.
Here are some tutorials for the basics of the mod. A more detailed, "official" tutorial is planned after I finish some changes and still missing features I'm still working on for the mod:
If you have questions or need help with something, the best/fastest way to get answers is currently the #masa-mods-feedback channel on the SciCraft Discord server.
The easy place mode is super convenient and undetectable on Hypixel. Love it.
In reply to overlisted:
It's not undetectable though... unless you have modified it to only click on existing blocks (which is already an option in the 1.12.2 version).
Hi I have a question, is it possible for servers to detect whether someone is using this mod or not?
In reply to evilgoooood:
Only if the player is using the Easy Place mode, since it clicks on air blocks. Pretty much all the other features are just rendering related and fully client-side-only and don't send any inputs automatically.
But you can't really tell for sure if the clicking on air blocks caused by Litematica either (from the server's point of view), since it can sometimes rarely happen in vanilla as well if you get client-side ghost blocks and place blocks against those, or also Tweakeroo's Fast Block Placement feature and Flexible Block Placement with the offset mode also click on air blocks, for example.
Hi, My game crashed when updating to the latest version for 1.16.5.
In reply to cryptidofficial:
AFAIK the 1.16.4 versions should be working fine. What is the crash log?
why do i get failed to load schematic with
https://www.minecraft-schematics.com/schematic/15554/
this and other anyone know why?
In reply to demisajuuk:
Check my first reply in this issue: https://github.com/maruohon/litematica/issues/265
Is there a way to disable the little warning message "Action prevented by easy place mode" popping up. It covers up my screen when using the easy place mode.
In reply to kick1213:
You can't do anything about that in the 1.16 versions currently (or any 1.13.2+ versions), but there is a new option for that in the 1.12.2 version. And also the Easy Place mode was rewritten and improved so that the message should also happen a lot less in the first place. Those options will come to the other versions when I get the code into a state where it's ready to be ported forward again.
In reply to masady:
good to hear Cheers
mod for Forge ? 1.16.4?
In reply to nc9pt:
It's mentioned on the page above, but the ETA is now in February at the earliest...
Hello! My game seems to crash whenever I enter a world. I'm using a Wurst client and just wanted to test your mod out in a singleplayer server but when I load in and stuff renders, I move a bit and the game crashes. Here's the crash report. Thanks!
---- Minecraft Crash Report -------- Minecraft Crash Report ----// There are four lights!
Time: 1/19/21 12:30 AMDescription: Unexpected error
java.lang.NullPointerException: Unexpected error at fi.dy.masa.litematica.render.OverlayRenderer.updateBlockInfoLines(OverlayRenderer.java:623) at fi.dy.masa.litematica.render.OverlayRenderer.renderBlockInfoLines(OverlayRenderer.java:500) at fi.dy.masa.litematica.render.OverlayRenderer.renderHoverInfo(OverlayRenderer.java:482) at fi.dy.masa.litematica.event.RenderHandler.onRenderGameOverlayPost(RenderHandler.java:51) at fi.dy.masa.malilib.event.RenderEventHandler.onRenderGameOverlayPost(RenderEventHandler.java:63) at net.minecraft.class_329.handler$zec000$onGameOverlayPost(class_329.java:1327) at net.minecraft.class_329.method_1753(class_329.java:439) at net.minecraft.class_757.method_3192(class_757.java:765) at net.minecraft.class_310.method_1523(class_310.java:1048) at net.minecraft.class_310.method_1514(class_310.java:681) at net.minecraft.client.main.Main.main(Main.java:215) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:226) at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:139) at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:27)
A detailed walkthrough of the error, its code path and all known details is as follows:---------------------------------------------------------------------------------------
-- Head --Thread: Render threadStacktrace: at fi.dy.masa.litematica.render.OverlayRenderer.updateBlockInfoLines(OverlayRenderer.java:623) at fi.dy.masa.litematica.render.OverlayRenderer.renderBlockInfoLines(OverlayRenderer.java:500) at fi.dy.masa.litematica.render.OverlayRenderer.renderHoverInfo(OverlayRenderer.java:482) at fi.dy.masa.litematica.event.RenderHandler.onRenderGameOverlayPost(RenderHandler.java:51) at fi.dy.masa.malilib.event.RenderEventHandler.onRenderGameOverlayPost(RenderEventHandler.java:63) at net.minecraft.class_329.handler$zec000$onGameOverlayPost(class_329.java:1327) at net.minecraft.class_329.method_1753(class_329.java:439)
-- Affected level --Details: All players: 1 total; [class_746['Speed__Racer18'/106, l='ClientLevel', x=-49.45, y=4.00, z=-22.48]] Chunk stats: Client Chunk Cache: 441, 289 Level dimension: minecraft:overworld Level spawn location: World: (-48,4,-16), Chunk: (at 0,0,0 in -3,-1; contains blocks -48,0,-16 to -33,255,-1), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1) Level time: 636 game time, 636 day time Server brand: fabric Server type: Integrated singleplayer serverStacktrace: at net.minecraft.class_638.method_8538(class_638.java:617) at net.minecraft.class_310.method_1587(class_310.java:2239) at net.minecraft.class_310.method_1514(class_310.java:704) at net.minecraft.client.main.Main.main(Main.java:215) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:226) at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:139) at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:27)
-- System Details --Details: Minecraft Version: 1.16.4 Minecraft Version ID: 1.16.4 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: 1217495240 bytes (1161 MB) / 2147483648 bytes (2048 MB) up to 2147483648 bytes (2048 MB) CPUs: 8 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: baritoe: Baritone 1.6.1 bookdupe: BookDupe 1.0.1 fabric: Fabric API 0.29.2+1.16 fabric-api-base: Fabric API Base 0.2.0+ab87788d3a fabric-biome-api-v1: Fabric Biome API (v1) 3.1.0+2e23b97c3a fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.4+6a2618f53a fabric-command-api-v1: Fabric Command API (v1) 1.0.9+6a2618f53a fabric-commands-v0: Fabric Commands (v0) 0.2.1+cbe9176f3a fabric-containers-v0: Fabric Containers (v0) 0.1.9+a03e98793a fabric-content-registries-v0: Fabric Content Registries (v0) 0.2.0+e77439c73a fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.1.2+b7f9825d3a fabric-dimensions-v1: fabric-dimensions-v1 2.0.1+9a6c75813a fabric-entity-events-v1: Fabric Entity Events (v1) 1.0.2+8004b36d3a fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.1+6a2618f53a fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.0+6a2618f53a fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.5+cbe9176f3a fabric-item-api-v1: Fabric Item API (v1) 1.2.0+6a2618f53a fabric-item-groups-v0: Fabric Item Groups (v0) 0.2.2+cbe9176f3a fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.1+730711c63a fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.0+6a2618f53a fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 1.2.0+ffb68a873a fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.0.1+6a2618f53a fabric-mining-levels-v0: Fabric Mining Levels (v0) 0.1.2+6a2618f53a fabric-models-v0: Fabric Models (v0) 0.2.0+cbe9176f3a fabric-networking-api-v1: Fabric Networking API (v1) 1.0.0+4358fbc63a fabric-networking-blockentity-v0: Fabric Networking Block Entity (v0) 0.2.7+a03e98793a fabric-networking-v0: Fabric Networking (v0) 0.3.1+2a4333d33a fabric-object-builder-api-v1: Fabric Object Builder API (v1) 1.9.2+6a2618f53a fabric-object-builders-v0: Fabric Object Builders (v0) 0.7.1+6a2618f53a fabric-particles-v1: Fabric Particles (v1) 0.2.3+cbe9176f3a fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.7.3+be155ae23a fabric-renderer-api-v1: Fabric Renderer API (v1) 0.4.0+cbe9176f3a fabric-renderer-indigo: Fabric Renderer - Indigo 0.4.3+6a2618f53a fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 2.2.0+6a2618f53a fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.1.4+6a2618f53a fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 0.1.12+6a2618f53a fabric-rendering-v0: Fabric Rendering (v0) 1.1.1+6a2618f53a fabric-rendering-v1: Fabric Rendering (v1) 1.5.0+c26373133a fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.4.0+552549d53a fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.1.0+6a2618f53a fabric-structure-api-v1: Fabric Structure API (v1) 1.1.3+cbe9176f3a fabric-tag-extensions-v0: Fabric Tag Extensions (v0) 1.1.0+e77439c73a fabric-textures-v0: Fabric Textures (v0) 1.0.5+6a2618f53a fabric-tool-attribute-api-v1: Fabric Tool Attribute API (v1) 1.2.5+6a2618f53a fabricloader: Fabric Loader 0.11.1 java: Java HotSpot(TM) 64-Bit Server VM 8 litematica: Litematica 0.0.0-dev.20210112.155314 malilib: MaLiLib 0.10.0-dev.21+arne.2 minecraft: Minecraft 1.16.4 mm: Manningham Mills 2.1 modmenu: Mod Menu 1.14.12+build.18 optifabric: OptiFabric 1.8.16 wurst: Wurst Client v7.10-MC1.16.4 Launched Version: fabric-loader-0.11.1-1.16.4 Backend library: LWJGL version 3.2.2 build 10 Backend API: Intel(R) HD Graphics 4600 GL version 4.3.0 - Build 20.19.15.5126, Intel 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, file/Enderwoman_converted, file/Better Clear Glass 1.16_converted, Fabric Mods Current Language: English (United Kingdom) CPU: 8x Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz OptiFine Version: OptiFine_1.16.4_HD_U_G5 OptiFine Build: 20201106-171901 Render Distance Chunks: 8 Mipmaps: 4 Anisotropic Filtering: 1 Antialiasing: 0 Multitexture: false Shaders: null OpenGlVersion: 4.3.0 - Build 20.19.15.5126 OpenGlRenderer: Intel(R) HD Graphics 4600 OpenGlVendor: Intel CpuCount: 8
-- OptiFabric --Details: OptiFine jar designed for: 1.16.4 OptiFine jar version: OptiFine_1.16.4_HD_U_G5 OptiFine jar status: Valid OptiFine installer OptiFine remapped jar: C:\Users\Speed\AppData\Roaming\.minecraft\.optifine\OptiFine_1.16.4_HD_U_G5\Optifine-mapped.jar OptiFabric error: <None>
In reply to thebronygamer2000:
Someone said that disabling the fabric client spoofing feature (whatever it was called) in wurst fixes this crash.
In reply to masady:
You mean the Vanilla spoof option?
I don't have litematica installed right now and if I hover over the option, it says "Bypasses anti-Fabric plugins by pretending to be a vanilla client."
In reply to thebronygamer2000:
Yes that sounds like the one.
1.16.5?
In reply to megabozo9669:
AFAIK the 1.16.4 versions of all my client mods should work fine in anything between MC 1.16.2 - 1.16.5.
But I'll probably do 1.16.5 versions within a few days just so it's clearer for users.
How to see inventorys of blocks? What do I need to set to true and what do I need to assign a key to use it. Does it work on a server?