After looking through the code a bit, I have found that createAndLoadTileEntity is called when a TE is loaded from nbt storage. If you want an event when a TE is placed, it needs to go in world#addTileEntity and/or the methods related to these like the methods for TE removal.