View Issue Details

IDProjectCategoryView StatusLast Update
0001957Industrial-Craft²crossmod-compatibility / submodules / APIpublic2018-07-22 12:33
ReporterLythom Assigned ToPlayer  
PrioritynormalSeveritymajorReproducibilityalways
Status assignedResolutionreopened 
Summary0001957: Compatibility with structure blocks
DescriptionHi,

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 ReproducePlace 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 InformationUsing 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.
TagsNo tags attached.
Minecraft Version1.10.2

Activities

Aroma1997

2016-08-04 12:19

developer   ~0004666

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.

Lythom

2016-08-04 12:41

reporter   ~0004667

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.

Aroma1997

2016-08-04 13:22

developer   ~0004668

This is caused by Template.takeBlocksFromWorld() not calling getActualState() (Line 77: IBlockState iblockstate = worldIn.getBlockState(blockpos$mutableblockpos);)

yura2997

2018-07-22 12:01

reporter   ~0005758

Is it possible fix this problem by myself somehow?

Chocohead

2018-07-22 12:33

developer   ~0005759

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

Issue History

Date Modified Username Field Change
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