See, the problem is as follows:Yeah. Reika's tile entities are well known for being temperamental with fake players and artificial placement.
Reika should either add support for it, or make the crystals inert not registering to a network and safe when placed by fake players.
But both of those instances are probably easier said than done.
Sent from my GT-I9100 using Tapatalk
Most of my TileEntities have a great deal of additional data that is used during their operation. Most commonly used examples are placing player, orientation, item NBT, and similar, but many have their own unique properties. Now, for all of these - including RotaryCraft machines and ChromatiCraft tiles - you never get the ItemBlock (the "placer item" for the block itself) but a special placer item instead. Using the ItemBlock, which spawning the block directly in will do - like if people spawned "Duct" from ReactorCraft or "Engine" from RotaryCraft - will create a TileEntity with null values and which very well may throw errors. Most of my TileEntities catch errors thrown during onUpdate() - hence the "TileEntity A at XYZ threw Exception on update" - which helps prevent crashes, but other logic using that data does not. For example, a call to breakBlock() or onBlockActivated() or onEntityCollidedWith() may use data that was not populated and will throw an exception. As it happens, the whole Crystal Network is referenced from world save code - it literally installs a .dat into the world - to help avoid the need for chunkloading. If this throws an exception, your world can crash on load or save, resulting in the entire thing becoming completely corrupted. This is the same reason that moving a network block is so dangerous, because that puts it in a different location than the cache expects and reads on save.