forEachFootprintCell
public static boolean forEachFootprintCell(Location origin, int width, int height, int depth, Predicate<Location> cellOk)
Iterates every block cell of a prop footprint anchored at origin, applying cellOk to each cell location in x → y → z order. The start offsets (blockX - width / 2, etc.) match ModelItemListener's placement space check (not PropEntity.applySolidify, which computes its dimensions with different rounding).
Return
true if every cell passed the predicate; false on the first failure