diff --git a/plugin/src/main/java/com/alttd/cometskyblock/worldgenerator/CometIslandGenerator.java b/plugin/src/main/java/com/alttd/cometskyblock/worldgenerator/CometIslandGenerator.java new file mode 100644 index 0000000..603bd7a --- /dev/null +++ b/plugin/src/main/java/com/alttd/cometskyblock/worldgenerator/CometIslandGenerator.java @@ -0,0 +1,17 @@ +package com.alttd.cometskyblock.worldgenerator; + +import org.bukkit.World; +import org.bukkit.generator.BlockPopulator; +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.List; + +public class CometIslandGenerator extends CometVoidGenerator { + @Override + public @NotNull List getDefaultPopulators(World world) { + List populators = new ArrayList<>(1); + populators.add(new IslandGenerator()); + return populators; + } +} \ No newline at end of file diff --git a/plugin/src/main/java/com/alttd/cometskyblock/worldgenerator/IslandGenerator.java b/plugin/src/main/java/com/alttd/cometskyblock/worldgenerator/IslandGenerator.java index b38805d..241554e 100644 --- a/plugin/src/main/java/com/alttd/cometskyblock/worldgenerator/IslandGenerator.java +++ b/plugin/src/main/java/com/alttd/cometskyblock/worldgenerator/IslandGenerator.java @@ -61,6 +61,8 @@ public class IslandGenerator extends BlockPopulator { // try to add a tree if (limitedRegion.isInRegion(startX + treeX, startY + 1, startX + treeZ)) { Location location = new Location(null, startX + treeX, startY + 1, startX + treeZ); + // Force air above to clear any flora preventing tree from growing + limitedRegion.setType(location.clone().add(0, +1, 0), Material.AIR); // always set a dirt block under the tree location limitedRegion.setType(location.clone().add(0, -1, 0), Material.DIRT); if (!limitedRegion.generateTree(location, random, TreeType.TREE)) {