Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.imrblurr.manyores.world;
- import java.util.Random;
- import net.imrblurr.manyores.handlers.ConfigHandler;
- import net.imrblurr.manyores.init.MOBlocks;
- import net.minecraft.block.Block;
- import net.minecraft.block.state.pattern.BlockHelper;
- import net.minecraft.init.Blocks;
- import net.minecraft.util.BlockPos;
- import net.minecraft.world.World;
- import net.minecraft.world.chunk.IChunkProvider;
- import net.minecraft.world.gen.feature.WorldGenMinable;
- import net.minecraftforge.fml.common.IWorldGenerator;
- public class MOWorldGeneration implements IWorldGenerator
- {
- public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
- {
- switch (world.provider.getDimensionId())
- {
- case 0:
- generateSurface(world, random, new BlockPos(chunkX * 16, 64, chunkZ * 16));
- case -1:
- generateNether(world, random, chunkX * 16, chunkZ * 16);
- case 1:
- generateEnd(world, random, chunkX * 16, chunkZ * 16);
- }
- }
- private void generateSurface(World world, Random random, BlockPos pos){
- if (ConfigHandler.generateObsidianOre){
- addOreSpawn(MOBlocks.obsidian_ore, world, random, pos, 16, 16, 5 + random.nextInt(3), ConfigHandler.obsidianSpawnProbability, ConfigHandler.obsidianMinY, ConfigHandler.obsidianMaxY, BlockHelper.forBlock(Blocks.stone));
- }
- if (ConfigHandler.generateEnderOre){
- addOreSpawn(MOBlocks.ender_ore, world, random, pos, 16, 16, 3 + random.nextInt(3), ConfigHandler.enderSpawnProbability, ConfigHandler.enderMinY, ConfigHandler.enderMaxY, BlockHelper.forBlock(Blocks.stone));
- }
- }
- private void generateNether(World world, Random random, int x, int z){
- }
- private void generateEnd(World world, Random random, int x, int z){
- }
- private void addOreSpawn(Block block, World world, Random random, BlockPos pos, int maxX, int maxZ, int maxVeinSize, int chanceToSpawn, int minY, int maxY, BlockHelper blockHelper)
- {
- WorldGenMinable mine = new WorldGenMinable(block.getDefaultState(), maxVeinSize);
- for (int i = 0; i < chanceToSpawn; i++)
- {
- int x = pos.getX() + random.nextInt(maxX);
- int y = minY + random.nextInt(maxY = minY);
- int z = pos.getZ() + random.nextInt(maxZ);
- mine.generate(world, random, new BlockPos(x, y, z));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment