View Issue Details

IDProjectCategoryView StatusLast Update
0002458Industrial-Craft²crossmod-compatibility / submodules / APIpublic2018-12-27 23:08
ReporterLemADECAssigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionwon't fix 
Product Version 
Target VersionFixed in Version 
Summary0002458: BlockTileEntity is missing ITileEntityProvider
DescriptionAs of industrialcraft-2-2.8.105-ex112, the ic2.core.block.BlockTileEntity is expected to have an attached TileEntity, returning true to hasTileEntity, yet it doesn't implement the expected class net.minecraft.block.ITileEntityProvider.

By extension, this prevents other mods from creating any IC2 cables or machines during world generation.
TagsNo tags attached.
Minecraft Version1.12.2

Activities

Chocohead

2018-12-27 23:08

developer   ~0005854

IC2 has additional syncing for placed TileEntities, blindly placing them how vanilla does will result in invalid states on the client. Thus the null returns are to avoid getting these effectively half placed TileEntities by making sure they're either properly placed or not placed at all. If you're insistent to place IC2 tiles you can use the same logic the items in IC2 do:

//Make the tile entity instance if all you've got is a class, typically from ITeBlock#getTeClass()
TileEntityBlock te = TileEntityBlock.instantiate(/* TileEntityBlock extending class */);
//Then place it down, automatically sending the client the data it needs
//Stack can be null if desired but it might cause crash bugs for a very small pool of blocks
boolean placed = ItemBlockTileEntity.placeTeBlock(stack, player, world, pos, side, te);

Issue History

Date Modified Username Field Change
2018-12-25 21:43 LemADEC New Issue
2018-12-27 23:08 Chocohead Status new => closed
2018-12-27 23:08 Chocohead Resolution open => won't fix
2018-12-27 23:08 Chocohead Note Added: 0005854