Create

Create

86M Downloads

If cannon tries to place a drawer, the game crashes

DedMaxim opened this issue · 7 comments

commented

I tried to copy structure with drawer in it (Storage drawers mod) using Schematicannon. And the game just crashed. Now, I can't join that world - the game crashes every time

commented

+1 for this bug. Can be reproduced by having the schematicannon fire an nbt that contains drawers from StorageDrawers. Works fine until it hits the drawer then crashes.
Placing the schematic in creative mode has no issues.

My create version is +custom because i compiled commit 2d04c87 for a bugfix.

Description: Ticking block entity

java.lang.NullPointerException: Ticking block entity
	at com.jaquadro.minecraft.storagedrawers.block.BlockDrawers.func_180633_a(BlockDrawers.java:220) ~[?:1.15.2-7.0.2] {re:classloading}
	at com.simibubi.create.content.schematics.block.LaunchedItem$ForBlockState.place(LaunchedItem.java:144) ~[?:mc1.15.2_v0.2.4d+custom] {re:classloading}

	Minecraft Version: 1.15.2
		create-mc1.15.2_v0.2.4dcustom.jar Create {[email protected]_v0.2.4d+custom DONE}
		StorageDrawers-1.15.2-7.0.2.jar Storage Drawers {[email protected] DONE}

Full crash log
crash-2020-09-05_19.42.31-server.txt

.nbt file to recreate the issue
repro_schematic.zip

commented

You have to be careful with mod interactions.
I think it would be helpful to provide info such as mod versions and forge version. Also can you confirm that this is an issue with the drawer itself?
Things that might be interesting:

  • Does the crash occur when placing the schematic via creative and not via the cannon.
  • Does it matter if the copied drawer hat contents/nbt
commented

Minecraft 1.14.4
Forge 28.2.0
Create 0.2.1 (the same happens on 0.2.2a)
Storage Drawers 6.0.6

Drawer was placed by a cannon from the .nbt schematic that I made earlier with"Schematic and quil". And, I don't know how to place such schematic not via cannon... Drawer was empty. Took it from creative menu

commented
commented

A similar bug has been reported on the Storage Drawers repo: jaquadro/StorageDrawers#895

tl;dr they check if the placing entity has a drawer key, but when placed by an automaton, the placing entity is null. They don't check for null, leading to the crash. Presumably when placing the schematic directly, entity is the player, which explains why that works.

edit: there's a pull request: jaquadro/StorageDrawers#786 and a closed duplicate here: #68

commented

This is indeed still an issue. Nothing we can do really. I tested the storage drawer fix pr, works without issues. I hope they get around to merging it

commented

Duplicate is cosed already, closing this too