Mods
Resource Packs
Data Packs
Modpacks
Shaders
Plugins
Mods Resource Packs Data Packs Plugins Shaders Modpacks
Get Modrinth App Upgrade to Modrinth+
Sign in
ModsPluginsData PacksShadersResource PacksModpacks
Sign in
Settings
Feature NBT Deadlock Be Gone

Feature NBT Deadlock Be Gone

Fixes deadlocks caused by https://bugs.mojang.com/browse/MC-246262

72.0k
22
World Generation

Compatibility

Minecraft: Java Edition

1.18.1–1.18.2

Platforms

Fabric
Forge
Quilt

Supported environments

Server-side

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+

Links

Report issues View source Join Discord server
Donate on Ko-fi

Creators

TelepathicGrunt
TelepathicGrunt Owner

Details

Licensed MIT
Published 3 years ago
Updated 3 years ago
DescriptionChangelogVersions

This mod's sole goal is to fix this bug that only exists for 1.18 MC: https://bugs.mojang.com/browse/MC-246262


The bug is when placing NBT builds into the world during worldgen, it can deadlock the game if the build is replacing a BlockEntity of any kind. Spawners, chests, lecterns, beds, signs, etc. Which is... bad. Your game locks up and freezes. Ticks are no longer being run.

The issue comes down to the fact that the method used to place build's blocks in the world is not worldgen safe. It is using the wrong world object inside. The way this mod fixes the bug is by simply skipping the calls to those unsafe methods if the world passed into the nbt placing method is a WorldGenRegion class. More info and in-depth detail is in the bug report above.

For mods, this bug may occur more often which is why it may be a good idea to just have this mod on as a precaution.

This bug does not occur in 1.17.x and below. It is fixed in 1.19 and above. It seems to only exist in 1.18.x.


MOD DEVERLOPERS:

To use in dev, add this to the repositories block in build.gradle:

    maven {

       // FeatureNBTDeadlockBeGone

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

    }

Then in dependencies block in build.gradle, add:

FORGE:

runtimeOnly fg.deobf("com.telepathicgrunt:FeatureNBTDeadlockBeGone-Forge:2.0.0+1.18.2")

FABRIC:

modRuntimeOnly "com.telepathicgrunt:FeatureNBTDeadlockBeGone-Fabric:2.0.0+1.18.2"

QUILT:

modRuntimeOnly "com.telepathicgrunt:FeatureNBTDeadlockBeGone-Quilt:2.0.0+1.18.2"

Change 2.0.0+1.18.2 to the version you want.

Modrinth is open source.

feat/theseus/tauri-v2@c5403db

© Rinth, Inc.

Company

TermsPrivacyRulesCareers

Resources

SupportBlogDocsStatus

Interact

Discord X (Twitter) Mastodon Crowdin
Get Modrinth App Settings
NOT AN OFFICIAL MINECRAFT SERVICE. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.