diff --git a/.idea/modules.xml b/.idea/modules.xml
index 242f4dc..02d0572 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -4,6 +4,7 @@
+
diff --git a/.idea/modules/minecraft.PixelBlocks.main.iml b/.idea/modules/minecraft.PixelBlocks.main.iml
new file mode 100644
index 0000000..3cf00db
--- /dev/null
+++ b/.idea/modules/minecraft.PixelBlocks.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ PAPER
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/eu/mhsl/minecraft/pixelblocks/Main.java b/src/main/java/eu/mhsl/minecraft/pixelblocks/Main.java
index 90e1124..25018c6 100644
--- a/src/main/java/eu/mhsl/minecraft/pixelblocks/Main.java
+++ b/src/main/java/eu/mhsl/minecraft/pixelblocks/Main.java
@@ -73,7 +73,8 @@ public final class Main extends JavaPlugin {
new PreventPistonsListener(),
new PreventEntityPlacementListener(),
new DiscoverRecipesListener(),
- new QuitWhileInPixelBlockListener()
+ new QuitWhileInPixelBlockListener(),
+ new PreventGrowthListener()
};
for (Listener listener : listeners) {
diff --git a/src/main/java/eu/mhsl/minecraft/pixelblocks/listeners/PreventGrowthListener.java b/src/main/java/eu/mhsl/minecraft/pixelblocks/listeners/PreventGrowthListener.java
new file mode 100644
index 0000000..ce227b8
--- /dev/null
+++ b/src/main/java/eu/mhsl/minecraft/pixelblocks/listeners/PreventGrowthListener.java
@@ -0,0 +1,23 @@
+package eu.mhsl.minecraft.pixelblocks.listeners;
+
+import eu.mhsl.minecraft.pixelblocks.pixelblock.PixelBlock;
+import eu.mhsl.minecraft.pixelblocks.pixelblock.PixelBlockWorld;
+import org.bukkit.Material;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.block.BlockFertilizeEvent;
+
+import java.util.Objects;
+
+public class PreventGrowthListener implements Listener {
+ @EventHandler
+ public void inBoneMeal(BlockFertilizeEvent event) {
+ if(!PixelBlockWorld.isPixelWorld(event.getBlock().getWorld())) return;
+ PixelBlock pixelBlock = PixelBlock.getPixelBlockFromBlockWorld(event.getBlock().getWorld());
+ Objects.requireNonNull(pixelBlock);
+
+ event.getBlocks().stream()
+ .filter(blockState -> !pixelBlock.getPixelWorld().allowPlacements(blockState.getBlock().getLocation()))
+ .forEach(blockState -> blockState.setType(Material.AIR));
+ }
+}