Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.thesuperbowser2.jcraft;
- import java.util.Random;
- import org.thesuperbowser2.jcraft.blocks.BlockBluetaniumBlock;
- import org.thesuperbowser2.jcraft.blocks.BlockBluetaniumOre;
- 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 JcraftWorldGenerator implements IWorldGenerator {
- @Override
- public void generate(Random random, int chunkX, int chunkZ, World world,
- IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
- switch(world.provider.dimensionId){
- case -1:
- generateNether(world, random, chunkX * 32, chunkZ * 32);
- break;
- case 0:
- generateSurface(world, random, chunkX * 32, chunkZ * 32);
- break;
- case 1:
- generateEnd(world, random, chunkX * 32, chunkZ * 32);
- break;
- }
- }
- private void generateEnd(World world, Random random, int i, int j) {
- }
- private void generateSurface(World world, Random random, int i, int j) {
- generateVeins(world, random, i, j,
- 8, 13, // 8 veins, 13 blocks per vein
- 40, 52, // depth 40 thru 52
- Jcraft.BluetaniumOre); //the type of block
- generateVeins(world, random, i, j,
- 6, 3, // 6 veins, 3 blocks per vein because it's SOOPER RAER
- 12, 32, // and it's very deep
- Jcraft.RainbowOre);
- generateVeins(world, random, i, j,
- 7, 4, // 7 veins, 4 blocks per vein because it's not as good as rainbow, but better than diamond
- 0, 32, // medium depth???
- Jcraft.ShadowOre);
- }
- private void generateVeins(World world, Random random, int i, int j,
- int veinsPerChunk, int blocksPerVein, int minDepth, int maxDepth,
- Block blockType) {
- for(int k = 0; k < veinsPerChunk; k++) {
- int firstBlockXCoord = i + random.nextInt(32);
- int firstBlockYCoord = minDepth + random.nextInt(1 + (maxDepth - minDepth));
- int firstBlockZCoord = j + random.nextInt(32);
- (new WorldGenMinable(blockType, blocksPerVein)).generate(world, random, firstBlockXCoord, firstBlockYCoord, firstBlockZCoord);
- }
- }
- private void generateNether(World world, Random random, int i, int j) {
- generateVeins(world, random, i, j,
- 8, 10, // 8 veins, 10 blocks per vein because it's COOKIAES
- 16, 32, //you'll find it most of the nether
- Jcraft.CookiteOre);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement