Hi im making a mod on 1.7.10 and I have a block that I only want to spawn in oceans (all ocean biomes)
I'm quite new to modding and I can't really find much on the internet for this so I wanted to make this thread.
here is my current code
package com.swift.swiftsmod;
import java.util.Random;
import cpw.mods.fml.common.IWorldGenerator;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.feature.WorldGenMinable;
public class OreGeneration implements IWorldGenerator {
@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator,
IChunkProvider chunkProvider) {
switch (world.provider.dimensionId)
{
case 1:
generateEnd(world, random, chunkX, chunkZ);
break;
case 0:
generateOverworld(world, random, chunkX, chunkZ);
break;
case -1:
generateNether(world, random, chunkX, chunkZ);
break;
}
}
public void generateEnd(World world, Random rand, int x, int z) {
}
public void generateOverworld(World world, Random rand, int x, int z) {
generateOre(SwiftsMod.blockwaterOre, world, rand, x, z, 3, 9, 15, 1, 80, Blocks.stone);
generateOre(SwiftsMod.blockmoneyOre, world, rand, x, z, 4, 14, 20, 1, 130, Blocks.stone); //4 min vien, 14 max vien, chance 20, 1 min level, 130 max level
}
public void generateNether(World world, Random rand, int x, int z) {
}
public void generateOre(Block block, World world, Random random, int chunkX, int chunkZ, int minVienSize, int maxVienSize,
int chance, int minY, int maxY, Block generateIn) {
int veinSize = minVienSize + random.nextInt(maxVienSize - minVienSize);
int heightRange = maxY - minY;
WorldGenMinable gen = new WorldGenMinable(block, veinSize, generateIn);
for(int i = 0; i < chance; i++){
int xRand = chunkX * 16 + random.nextInt(16);
int yRand = random.nextInt(heightRange) + minY;
int zRand = chunkZ * 16 + random.nextInt(16);
gen.generate(world, random, xRand, yRand, zRand);
}
}
}