Create

Create

86M Downloads

Crash when schematic cannon places a compacting drawer

MatthiasMann opened this issue · 9 comments

commented

Versions:
forge-1.14.4-28.1.109
create-mc1.14.4_v0.1.1a
StorageDrawers-1.14.4-6.0.5
essentials-1.14.4-2.6.5

I created a schematic in a creative test world which contained lots of Create blocks, some from essentials and a compacting drawer from Stroage Drawers.

Then I placed this schematic in my world using the cannon and the crash happened when the cannon placed the compacting drawer.

commented

I just looked at the world region data and I see that the block is placed and saved in the chunk:
storagedrawers:compacting_drawers_3 at X=-95, Y=78, Z=-252

But no tile entity exists for this block.

commented

Thank you for your report. I've noticed myself that the cannon could use more bug reports to polish out problems like this.

@simibubi I know we're focusing on more mod compat later, but I think eliminating the crash would be a good candidate for .3 or a patch for .2 if we don't want to hold up .2

commented

Any idea how to get the world to load again?
I can't seem to find the option for forge to remove crashing tile entities. The crash report is completely identical on world load.

Edit: got it - I made a patch for StorageDrawers which adds a null check for entity.

commented

I would suggest seeing if you can delete items related to it with a world editor that doesn’t require you to launch it. Let us know if you still have troubles. :/

commented

I just looked at the world region data and I see that the block is placed and saved in the chunk:
storagedrawers:compacting_drawers_3 at X=-95, Y=78, Z=-252

But no tile entity exists for this block.

I had a quick look at StorageDrawers drawer code and your crashlog.

https://github.com/jaquadro/StorageDrawers/blob/1.12/src/com/jaquadro/minecraft/storagedrawers/block/BlockDrawers.java#L209

The function Block.onBlockPlacedBy gets called, Which accepts a null for entity, and the schematic cannon also gives null as an entity.

https://github.com/Creators-of-Create/Create/blob/0.2/src/main/java/com/simibubi/create/modules/schematics/block/SchematicannonTileEntity.java#L690

StorageDrawers however expects a entity and not a null, and also does not have a check in place. This is causing the problem I believe.

commented

Yep - and I already did a pull request with a bug fix for it: jaquadro/StorageDrawers#786

commented

Ye I just found it at the same time haha, Thanks!

commented

Awesome. Thanks @MatthiasMann!

Closing this. Future searchers should check out the issue and fix release version via the above link.