In TilePreChangeEvent handling, the inner loop used `i` instead of `j` when checking nearby tiles, which could lead to incorrect nearSolid flag updates. This fixes the variable naming conflict.
In TilePreChangeEvent handling, the inner loop used `i` instead of `j` when checking nearby tiles, which could lead to incorrect nearSolid flag updates. This fixes the variable naming conflict.