/*
* Copyright (c) CovertJaguar, 2014 http://railcraft.info
*
* This code is the property of CovertJaguar
* and may only be used with explicit written
* permission unless otherwise specified on the
* license page at http://railcraft.info/wiki/info:license.
*/
package mods.railcraft.common.worldgen;
import mods.railcraft.common.blocks.ore.BlockOre;
import mods.railcraft.common.blocks.ore.EnumOre;
import mods.railcraft.common.plugins.forge.WorldPlugin;
import net.minecraft.block.Block;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import mods.railcraft.common.util.misc.MiscTools;
import net.minecraft.init.Blocks;
/**
*
* @author CovertJaguar <http://www.railcraft.info>
*/
public class WorldGenSulfur extends WorldGenSmallDeposits {
private static final int AMOUNT = 10;
public WorldGenSulfur() {
super(BlockOre.getBlock(), EnumOre.SULFUR.ordinal(), AMOUNT, Blocks.stone);
}
@Override
protected boolean canGen(World world, int x, int y, int z) {
for (int side = 2; side < 6; side++) {
ForgeDirection s = ForgeDirection.getOrientation(side);
int i = MiscTools.getXOnSide(x, s);
int j = MiscTools.getYOnSide(y, s);
int k = MiscTools.getZOnSide(z, s);
if (world.blockExists(i, j, k)) {
Block block = WorldPlugin.getBlock(world, i, j, k);
if (block == Blocks.lava || block == Blocks.flowing_lava)
return true;
}
}
for (int j = 0; j < 4; j++) {
Block block = WorldPlugin.getBlock(world, x, y - j, z);
if (block == Blocks.lava || block == Blocks.flowing_lava)
return true;
else if (block != Blocks.air)
return false;
}
return false;
}
}