mirror of
https://github.com/TechnoVisionDev/Forge-Modding-Tutorial-1.16
synced 2024-10-27 20:34:04 +00:00
Ore Generation
This commit is contained in:
parent
93fbf920f8
commit
286a12f142
@ -1,10 +1,8 @@
|
|||||||
package com.technovision.tutorial;
|
package com.technovision.tutorial;
|
||||||
|
|
||||||
import com.technovision.tutorial.util.RegistryHandler;
|
import com.technovision.tutorial.util.RegistryHandler;
|
||||||
import net.minecraft.block.Blocks;
|
|
||||||
import net.minecraft.item.ItemGroup;
|
import net.minecraft.item.ItemGroup;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.item.Items;
|
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
import net.minecraftforge.fml.common.Mod;
|
import net.minecraftforge.fml.common.Mod;
|
||||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
||||||
|
53
src/main/java/com/technovision/tutorial/world/ModOreGen.java
Normal file
53
src/main/java/com/technovision/tutorial/world/ModOreGen.java
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
package com.technovision.tutorial.world;
|
||||||
|
|
||||||
|
import com.technovision.tutorial.Tutorial;
|
||||||
|
import com.technovision.tutorial.util.RegistryHandler;
|
||||||
|
import net.minecraft.block.BlockState;
|
||||||
|
import net.minecraft.block.Blocks;
|
||||||
|
import net.minecraft.block.pattern.BlockMatcher;
|
||||||
|
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.ConfiguredPlacement;
|
||||||
|
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 = Tutorial.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
|
||||||
|
public class ModOreGen {
|
||||||
|
|
||||||
|
public static OreFeatureConfig.FillerBlockType END_STONE = OreFeatureConfig.FillerBlockType.create("END_STONE","end_stone", new BlockMatcher(Blocks.END_STONE));
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public static void generateOres(FMLLoadCompleteEvent event) {
|
||||||
|
for (Biome biome : ForgeRegistries.BIOMES) {
|
||||||
|
|
||||||
|
//World Generation
|
||||||
|
if (biome.getCategory() == Biome.Category.NETHER) {
|
||||||
|
genOre(biome, 15, 20, 5, 50, OreFeatureConfig.FillerBlockType.NETHERRACK, RegistryHandler.RUBY_BLOCK.get().getDefaultState(), 6);
|
||||||
|
|
||||||
|
//End Generation
|
||||||
|
} else if (biome.getCategory() == Biome.Category.THEEND) {
|
||||||
|
genOre(biome, 15, 5, 5, 80, END_STONE, RegistryHandler.RUBY_BLOCK.get().getDefaultState(), 8);
|
||||||
|
|
||||||
|
//Nether Generation
|
||||||
|
} else {
|
||||||
|
genOre(biome, 15, 5, 5, 80, OreFeatureConfig.FillerBlockType.NATURAL_STONE, RegistryHandler.RUBY_BLOCK.get().getDefaultState(), 12);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void genOre(Biome biome, int count, int bottomOffset, int topOffset, int max, OreFeatureConfig.FillerBlockType filler, BlockState defaultBlockstate, int size) {
|
||||||
|
System.out.println("STARTING: " + biome.getCategory().getName());
|
||||||
|
CountRangeConfig range = new CountRangeConfig(count, bottomOffset, topOffset, max);
|
||||||
|
OreFeatureConfig feature = new OreFeatureConfig(filler, defaultBlockstate, size);
|
||||||
|
ConfiguredPlacement config = Placement.COUNT_RANGE.configure(range);
|
||||||
|
biome.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, Feature.ORE.withConfiguration(feature).withPlacement(config));
|
||||||
|
System.out.println("FINISHED: " + biome.getCategory().getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user