Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Creators
Details
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



