blob: 4793e945d7b75e8fc9184e1bfac462087e96d2ea [file] [log] [blame] [raw]
package mekanism.common.world;
import java.util.Random;
import mekanism.common.MekanismBlocks;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.init.Blocks;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.WorldGenerator;
public class WorldGenSalt extends WorldGenerator
{
private Block blockGen;
private int numberOfBlocks;
public WorldGenSalt(int blockNum)
{
blockGen = MekanismBlocks.SaltBlock;
numberOfBlocks = blockNum;
}
@Override
public boolean generate(World world, Random random, int x, int y, int z)
{
if(world.getBlock(x, y, z).getMaterial() != Material.water)
{
return false;
}
else {
int toGenerate = random.nextInt(numberOfBlocks - 2) + 2;
byte yOffset = 1;
for(int xPos = x - toGenerate; xPos <= x + toGenerate; xPos++)
{
for(int zPos = z - toGenerate; zPos <= z + toGenerate; zPos++)
{
int xOffset = xPos - x;
int zOffset = zPos - z;
if((xOffset*xOffset) + (zOffset*zOffset) <= toGenerate*toGenerate)
{
for(int yPos = y - yOffset; yPos <= y + yOffset; yPos++)
{
Block block = world.getBlock(xPos, yPos, zPos);
if(block == Blocks.dirt || block == Blocks.clay || block == MekanismBlocks.SaltBlock)
{
world.setBlock(xPos, yPos, zPos, blockGen, 0, 2);
}
}
}
}
}
return true;
}
}
}