View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001957||Industrial-Craft²||crossmod-compatibility / submodules / API||public||2016-08-04 10:06||2018-07-22 12:33|
|Target Version||Fixed in Version|
|Summary||0001957: Compatibility with structure blocks|
when a machine (any ic2:te) is saved using structure blocks, the loaded in the same location using a structure block, then the machine lose it's interactions.
If the machine is loaded at another location then it also loses it's textures.
Tested with industrialcraft-2-2.6.15-ex110.
|Steps To Reproduce||Place a structure block [S] named "ic2" anywhere in the world.|
Place a IC2 Generator on top of it.
Save the structure.
Place structure block [L] named "ic2" elsechere.
Load the structure.
|Additional Information||Using custom tools I could highlight that after the load the appearing machine don't not have any tileentity nbt data.|
I'm the dev of Capsule mod which in 1.10.2 version relies on structure blocks mechanics to capture / deploy areas. Having this fix will ensure, on top of machines working properly with structure blocks, a compatibility with the upcoming version of the mod.
|Tags||No tags attached.|
IC2 machines rely on having the correct TileEntity in place. When you copy a block, but remove its TileEntity, things won't work anymore. If you need to copy an IC2 machine, you'll need to copy its TileEntity data with it.
This losing-tile-data is not an IC2 bug.
Using structure blocks, the nbt data of the tile entities are copied properly for every TileEntity in the vanilla game, and in most modded tile entities as well (ie. tested Forestry, EnderIO).
So losing tile entity data while copying the block using a structure block is a behaviour specific to IC2 that differs from other tiles entities which are copied properly.
Not supporting vanilla structure blocks might be a choice of yours, but the observed behaviour is specific to IC2.
||This is caused by Template.takeBlocksFromWorld() not calling getActualState() (Line 77: IBlockState iblockstate = worldIn.getBlockState(blockpos$mutableblockpos);)|
||Is it possible fix this problem by myself somehow?|
||The limitation is within how Minecraft saves things within structure blocks so there isn't anything you (or IC2 either really) could do to change that. 1.13 should resolve it however as it gives an opportunity to simplify the block logic|
|2016-08-04 10:06||Lythom||New Issue|
|2016-08-04 12:19||Aroma1997||Note Added: 0004666|
|2016-08-04 12:19||Aroma1997||Status||new => closed|
|2016-08-04 12:19||Aroma1997||Assigned To||=> Aroma1997|
|2016-08-04 12:19||Aroma1997||Resolution||open => not fixable|
|2016-08-04 12:41||Lythom||Note Added: 0004667|
|2016-08-04 12:41||Lythom||Status||closed => feedback|
|2016-08-04 12:41||Lythom||Resolution||not fixable => reopened|
|2016-08-04 13:22||Aroma1997||Note Added: 0004668|
|2016-08-04 13:22||Aroma1997||Assigned To||Aroma1997 => Player|
|2016-08-04 13:22||Aroma1997||Status||feedback => assigned|
|2018-07-22 12:01||yura2997||Note Added: 0005758|
|2018-07-22 12:33||Chocohead||Note Added: 0005759|