Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.hlaaftana.mods.EndOres.generation;
- import java.util.Random;
- import com.hlaaftana.mods.EndOres.handlers.ConfigHandler;
- import com.hlaaftana.mods.EndOres.init.ModBlocks;
- import net.minecraft.block.Block;
- import net.minecraft.world.World;
- import net.minecraft.world.chunk.IChunkProvider;
- import net.minecraft.world.gen.feature.WorldGenMinable;
- import cpw.mods.fml.common.IWorldGenerator;
- public class EndOresWorldGen implements IWorldGenerator {
- public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
- {
- switch (world.provider.dimensionId)
- {
- case 0:
- generateSurface(world, random, chunkX * 16, 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, int x, int z){
- }
- private void generateNether(World world, Random random, int x, int z){
- }
- private void generateEnd(World world, Random random, int x, int z){
- if(ConfigHandler.generateCoalOre){
- addOreSpawn(ModBlocks.oreCoal, world, random, x, z, 16, 16, 16 + random.nextInt(4), ConfigHandler.coalSpawnProbability, ConfigHandler.coalMinY, ConfigHandler.coalMaxY);
- }
- if(ConfigHandler.generateIronOre){
- addOreSpawn(ModBlocks.oreIron, world, random, x, z, 16, 16, 4 + random.nextInt(4), ConfigHandler.ironSpawnProbability, ConfigHandler.ironMinY, ConfigHandler.ironMaxY);
- }
- if(ConfigHandler.generateGoldOre){
- addOreSpawn(ModBlocks.oreGold, world, random, x, z, 16, 16, 4 + random.nextInt(4), ConfigHandler.goldSpawnProbability, ConfigHandler.goldMinY, ConfigHandler.goldMaxY);
- }
- if(ConfigHandler.generateLapisOre){
- addOreSpawn(ModBlocks.oreLapis, world, random, x, z, 16, 16, 4 + random.nextInt(4), ConfigHandler.lapisSpawnProbability, ConfigHandler.lapisMinY, ConfigHandler.lapisMaxY);
- }
- if(ConfigHandler.generateRedstoneOre){
- addOreSpawn(ModBlocks.oreRedstone, world, random, x, z, 16, 16, 4 + random.nextInt(4), ConfigHandler.redstoneSpawnProbability, ConfigHandler.redstoneMinY, ConfigHandler.coalMaxY);
- }
- if(ConfigHandler.generateDiamondOre){
- addOreSpawn(ModBlocks.oreDiamond, world, random, x, z, 16, 16, 4 + random.nextInt(4), ConfigHandler.diamondSpawnProbability, ConfigHandler.diamondMinY, ConfigHandler.diamondMaxY);
- }
- if(ConfigHandler.generateEmeraldOre){
- addOreSpawn(ModBlocks.oreEmerald, world, random, x, z, 16, 16, 4 + random.nextInt(4), ConfigHandler.emeraldSpawnProbability, ConfigHandler.emeraldMinY, ConfigHandler.emeraldMaxY);
- }
- if(ConfigHandler.generateQuartzOre){
- addOreSpawn(ModBlocks.oreQuartz, world, random, x, z, 16, 16, 4 + random.nextInt(4), ConfigHandler.quartzSpawnProbability, ConfigHandler.quartzMinY, ConfigHandler.quartzMaxY);
- }
- }
- private void addOreSpawn(Block block, World world, Random random, int blockXPos, int blockZPos, int maxX, int maxZ, int maxVeinSize, int chanceToSpawn, int minY, int maxY)
- {
- for (int i = 0; i < chanceToSpawn; i++)
- {
- int posX = blockXPos + random.nextInt(maxX);
- int posY = minY + random.nextInt(maxY - minY);
- int posZ = blockZPos + random.nextInt(maxZ);
- new WorldGenMinable(block, maxVeinSize).generate(world, random, posX, posY, posZ);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment