Blame

Blame

Mod

Placing blame on broken mods!

Server Utility

1,557 downloads
30 followers
Created3 years ago
Updated2 years ago

Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.

Ready to find who to Blame?

 

Blame is a diagnosis to be put on if you are having strange worldgen crashes or commands that break without any stacktrace. But when you have Blame on, it will attempt to gather far more infomation and print the stacktrace to the latest.log file in the logs folder above the mods folder. A much more convenient place with all the info you will need! Keep in mind, Blame only works on singleplayer or on servers. Not on clients connecting to a server.

 

 

Here's the current list of functionalities that Blame has!

 

• Prints out the stacktrace for commands that crashed when used. (Normally, modded commands do not print anything to logs when they crash)

 

• Will detect and print out all broken commands when starting up a world. (This will find commands that called an .executes() outside a .then() call because they won't work)

 

• Prints extra detail for features or structures that crashes during worldgen.

 

• Logs all ConfiguredFeatures, ConfiguredStructures, ConfiguredCarvers that are not registered. (Mods that don't register the stuff will cause other mod's stuff to break and not spawn during worldgen)

 

• Detect if DynamicRegistry is loaded way too early by another mod. (Doing so causes all other mod's registered worldgen stuff to blow up such as "Unknown Biome ID" issues)

 

• Logs out exactly which worldgen JSON file is broken from any mod or datapack and shows its JSON too.

 

• Logs out any missing loot table when the loot is attempted to be generated! Check logs if a chest is empty and this mod might catch why.

 

• Prints out the name of the crashing structure that has its spacing value set to 0 or if it's separation value is equal to or greater than the spacing value. (Either one of these condition being true will crash the game.)

 

• Prints out exactly which structure crashed a custom/flat ChunkGenerator because it wasn't added to FlatGenerationSettings.STRUCTURES

 

• Condense broken Recipe and Loot Table parsing so you can share logs easier and see errors easier.

 

• Fixes MC-190122 bug so that the actual true number of recipes loaded and stated in logs is correct to help debugging recipes. https://bugs.mojang.com/browse/MC-190122

 

• Will print to logs if a Jigsaw Structure attempts to access a non-existent template pool so you know when a structure is not fully generating.

 

• Will log out if a mod or datapack tries to access a non-existent nbt file for easier debugging

 

• Will print out what block and its nbt that crashed a structure processor during structure generation.

 

FOR MODDERS: USING BLAME IN Fabric/Quilt DEV ENVIRONMENT

 

In your build.gradle file, add this maven repository. This is where gradle will look for Blame's jar.

repositories {

maven {

url "https://nexus.resourcefulbees.com/repository/maven-public/"

}

}

 

Now add this to the dependency block. Replace <version> with the Blame version you want to use such as 1.16.5-3.0.1-fabric. Check the Modrinth page for what the latest version is.

dependencies {

...

modImplementation "com.telepathicgrunt:Blame-Forge:5.0.0+1.18.2"

}

 

Launch the game and Blame should be running! You can tell as Blame will print something like this to the IDE console and latest.log file:

[18:25:48] [main/ERROR] (Blame) Blame 1.18.2-5.0.0-forge initialized

External resources



Project members

TelepathicGrunt

Owner


Technical information

License
MIT
Client side
unsupported
Server side
required
Project ID