diff --git a/src/main/java/world/bentobox/bentobox/listeners/flags/worldsettings/CleanSuperFlatListener.java b/src/main/java/world/bentobox/bentobox/listeners/flags/worldsettings/CleanSuperFlatListener.java index 6737bdea3..0344de84f 100644 --- a/src/main/java/world/bentobox/bentobox/listeners/flags/worldsettings/CleanSuperFlatListener.java +++ b/src/main/java/world/bentobox/bentobox/listeners/flags/worldsettings/CleanSuperFlatListener.java @@ -111,15 +111,11 @@ public class CleanSuperFlatListener extends FlagListener { if (!ready) { return true; } - // Clean super flat does not work if the world handles its own generator explicitly - if (getIWM().inWorld(world) && Flags.CLEAN_SUPER_FLAT.isSetForWorld(world) && getIWM().isUseOwnGenerator(world)) { - Flags.CLEAN_SUPER_FLAT.setSetting(world, false); - getPlugin().logWarning("Clean super flat is not available for " + world.getName()); - return true; - } - if (!getIWM().inWorld(world) || !Flags.CLEAN_SUPER_FLAT.isSetForWorld(world) || - (!e.getChunk().getBlock(0, 0, 0).getType().equals(Material.BEDROCK) + (!(e.getChunk().getBlock(0, 0, 0).getType().equals(Material.BEDROCK) + && e.getChunk().getBlock(0, 1, 0).getType().equals(Material.DIRT) + && e.getChunk().getBlock(0, 2, 0).getType().equals(Material.DIRT) + && e.getChunk().getBlock(0, 3, 0).getType().equals(Material.GRASS_BLOCK)) || (world.getEnvironment().equals(Environment.NETHER) && (!plugin.getIWM().isNetherGenerate(world) || !plugin.getIWM().isNetherIslands(world))) || (world.getEnvironment().equals(Environment.THE_END) && (!plugin.getIWM().isEndGenerate(world) diff --git a/src/test/java/world/bentobox/bentobox/listeners/flags/worldsettings/CleanSuperFlatListenerTest.java b/src/test/java/world/bentobox/bentobox/listeners/flags/worldsettings/CleanSuperFlatListenerTest.java index 2f868efab..b892ab0e4 100644 --- a/src/test/java/world/bentobox/bentobox/listeners/flags/worldsettings/CleanSuperFlatListenerTest.java +++ b/src/test/java/world/bentobox/bentobox/listeners/flags/worldsettings/CleanSuperFlatListenerTest.java @@ -101,7 +101,8 @@ public class CleanSuperFlatListenerTest { chunk = mock(Chunk.class); when(chunk.getWorld()).thenReturn(world); block = mock(Block.class); - when(block.getType()).thenReturn(Material.BEDROCK); + // Super flat! + when(block.getType()).thenReturn(Material.BEDROCK, Material.DIRT, Material.DIRT, Material.GRASS_BLOCK); when(chunk.getBlock(Mockito.anyInt(), Mockito.anyInt(), Mockito.anyInt())).thenReturn(block); // Fire the ready event