Tile entity overhaul