Create: Contraption Combat (6.0.8)

Quick rating

Community listing page, reviews here may not be monitored by the author.

Create: Contraption Combat (6.0.8)

By Agent772Owner

No reviews yet

A universal compatibility mod that fixes crashes when placing block entities from various mods on Create 6.0.8 contraptions.

Mod Loaders
Minecraft

About

Description

Create: Contraption (VirtualWorld) Compat

A universal compatibility mod that fixes crashes when placing block entities from various mods on Create contraptions.

Disclaimer: Yes this Mod was made using AI, as this Description too. You don't like it? You don't need to use it.

The Problem

In **Create 6.0.8**, placing certain block entities on contraptions causes the game to crash with:
java.lang.UnsupportedOperationException: VirtualRenderWorld doesn't maintain a chunk array.
    at com.simibubi.create.content.contraptions.render.VirtualRenderWorld.getChunk(VirtualRenderWorld.java:69)

This is FIXED in Create 6.0.9

This occurs because Create 6.0.8 introduced a change where block entities are loaded into a `VirtualRenderWorld` before their NBT data is processed. When block entities call `setChanged()` during initialization, it triggers `Level.blockEntityChanged()` which tries to mark chunks as unsaved - but `VirtualRenderWorld` is a lightweight render-only world that doesn't support chunk operations.

The Solution

This mod uses a Mixin to intercept calls to `Level.blockEntityChanged()` and cancels them when the level is a `VirtualRenderWorld`. Since `VirtualRenderWorld` is temporary and never persists, marking chunks as unsaved is unnecessary and can be safely skipped.

undefined

@Mixin(value = Level.class)
public class VirtualRenderWorldMixin {
    @Inject(method = "blockEntityChanged", at = @At("HEAD"), cancellable = true)
    public void preventBlockEntityChangedInVirtualWorld(BlockPos pos, CallbackInfo ci) {
        if ((Object) this instanceof VirtualRenderWorld) {
            ci.cancel();
        }
    }
}

Compatibility

Affected Mods
This fix is **universal** and works with any mod where block entities call `setChanged()` during loading:
### Requirements
- **Minecraft**: 1.21.1
- **NeoForge**: 21.1.209+
- **Create**: 6.0.8 (the issue doesn't exist in 6.0.6 and earlier)
- **Flywheel**: 1.0.5
## Credits
- **Create Team** - For the amazing Create mod
- **NeoForge Team** - For the modding framework

Create: Contraption (VirtualWorld) Compat

A universal compatibility mod that fixes crashes when placing block entities from various mods on Create contraptions.

The Problem

In Create 6.0.8, placing certain block entities on contraptions causes the game to crash with:

java.lang.UnsupportedOperationException: VirtualRenderWorld doesn't maintain a chunk array.
    at com.simibubi.create.content.contraptions.render.VirtualRenderWorld.getChunk(VirtualRenderWorld.java:69)

This occurs because Create 6.0.8 introduced a change where block entities are loaded into a VirtualRenderWorld before their NBT data is processed. When block entities call setChanged() during initialization, it triggers Level.blockEntityChanged() which tries to mark chunks as unsaved - but VirtualRenderWorld is a lightweight render-only world that doesn't support chunk operations.

And is solved in Create 6.0.9

The Solution

This mod uses a Mixin to intercept calls to Level.blockEntityChanged() and cancels them when the level is a VirtualRenderWorld. Since VirtualRenderWorld is temporary and never persists, marking chunks as unsaved is unnecessary and can be safely skipped.

@Mixin(value = Level.class)
public class VirtualRenderWorldMixin {
    @Inject(method = "blockEntityChanged", at = @At("HEAD"), cancellable = true)
    public void preventBlockEntityChangedInVirtualWorld(BlockPos pos, CallbackInfo ci) {
        if ((Object) this instanceof VirtualRenderWorld) {
            ci.cancel();
        }
    }
}

Compatibility

Affected Mods This fix is universal and works with any mod where block entities call setChanged() during loading:

Requirements

  • Minecraft: 1.21.1
  • NeoForge: 21.1.209+
  • Create: 6.0.8+ (the issue doesn't exist in 6.0.6 and earlier)
  • Flywheel: 1.0.5+

Credits

  • Create Team - For the amazing Create mod
  • NeoForge Team - For the modding framework