--- a/net/minecraft/server/commands/CommandSpreadPlayers.java
+++ b/net/minecraft/server/commands/CommandSpreadPlayers.java
@@ -79,7 +79,7 @@
             if (entity instanceof EntityHuman) {
                 set.add(entity.getTeam());
             } else {
-                set.add((Object) null);
+                set.add((ScoreboardTeamBase) null); // CraftBukkit - decompile error
             }
         }
 
@@ -288,7 +288,7 @@
 
             for (boolean flag2 = iblockaccess.getBlockState(blockposition_mutableblockposition).isAir(); blockposition_mutableblockposition.getY() > iblockaccess.getMinBuildHeight(); flag2 = flag1) {
                 blockposition_mutableblockposition.move(EnumDirection.DOWN);
-                flag1 = iblockaccess.getBlockState(blockposition_mutableblockposition).isAir();
+                flag1 = getBlockState(iblockaccess, blockposition_mutableblockposition).isAir(); // CraftBukkit
                 if (!flag1 && flag2 && flag) {
                     return blockposition_mutableblockposition.getY() + 1;
                 }
@@ -301,7 +301,7 @@
 
         public boolean isSafe(IBlockAccess iblockaccess, int i) {
             BlockPosition blockposition = new BlockPosition(this.x, (double) (this.getSpawnY(iblockaccess, i) - 1), this.z);
-            IBlockData iblockdata = iblockaccess.getBlockState(blockposition);
+            IBlockData iblockdata = getBlockState(iblockaccess, blockposition); // CraftBukkit
             Material material = iblockdata.getMaterial();
 
             return blockposition.getY() < i && !material.isLiquid() && material != Material.FIRE;
@@ -311,5 +311,12 @@
             this.x = MathHelper.nextDouble(random, d0, d2);
             this.z = MathHelper.nextDouble(random, d1, d3);
         }
+
+        // CraftBukkit start - add a version of getBlockState which force loads chunks
+        private static IBlockData getBlockState(IBlockAccess iblockaccess, BlockPosition position) {
+            ((WorldServer) iblockaccess).getChunkSource().getChunk(position.getX() >> 4, position.getZ() >> 4, true);
+            return iblockaccess.getBlockState(position);
+        }
+        // CraftBukkit end
     }
 }