From 36642c2b0a54eaaaf0855d3c835755908f10a18c Mon Sep 17 00:00:00 2001 From: Len <40720638+destro174@users.noreply.github.com> Date: Tue, 23 Jan 2024 18:03:10 +0100 Subject: [PATCH] Add CometIslandGenerator.java --- .../worldgenerator/CometIslandGenerator.java | 17 +++++++++++++++++ .../worldgenerator/IslandGenerator.java | 2 ++ 2 files changed, 19 insertions(+) create mode 100644 plugin/src/main/java/com/alttd/cometskyblock/worldgenerator/CometIslandGenerator.java 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)) {