diff --git a/src/main/java/fr/nitorac/minestic/subscribers/ModEventSubscriber.java b/src/main/java/fr/nitorac/minestic/subscribers/ModEventSubscriber.java
new file mode 100644
index 0000000000000000000000000000000000000000..170b4b4f1d64f70e54730a981850065243202de0
--- /dev/null
+++ b/src/main/java/fr/nitorac/minestic/subscribers/ModEventSubscriber.java
@@ -0,0 +1,26 @@
+package fr.nitorac.minestic.subscribers;
+
+import fr.nitorac.minestic.Minestic;
+import fr.nitorac.minestic.init.MinesticBlocks;
+import net.minecraft.world.biome.Biome;
+import net.minecraft.world.gen.GenerationStage;
+import net.minecraft.world.gen.feature.Feature;
+import net.minecraft.world.gen.feature.OreFeatureConfig;
+import net.minecraft.world.gen.placement.CountRangeConfig;
+import net.minecraft.world.gen.placement.Placement;
+import net.minecraftforge.eventbus.api.SubscribeEvent;
+import net.minecraftforge.fml.common.Mod;
+import net.minecraftforge.fml.event.lifecycle.FMLLoadCompleteEvent;
+import net.minecraftforge.registries.ForgeRegistries;
+
+@Mod.EventBusSubscriber(modid = Minestic.MODID, bus = Mod.EventBusSubscriber.Bus.MOD)
+public class ModEventSubscriber {
+    @SubscribeEvent
+    public static void FMLLoadCompleteEvent(FMLLoadCompleteEvent event) {
+        for (Biome biome : ForgeRegistries.BIOMES) {
+            biome.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, Feature.ORE.withConfiguration(new OreFeatureConfig(
+                    OreFeatureConfig.FillerBlockType.NATURAL_STONE, MinesticBlocks.PLASTIC_ORE.get().getDefaultState(), 9))
+                    .withPlacement(Placement.COUNT_RANGE.configure(new CountRangeConfig(40, 0, 0, 196))));
+        }
+    }
+}