package micdoodle8.mods.galacticraft.planets.asteroids.world.gen.base;
import net.minecraft.init.Blocks;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.World;
import net.minecraft.world.gen.structure.StructureBoundingBox;
import java.util.Random;
public class BaseLinking extends SizedPiece
{
public BaseLinking()
{
}
public BaseLinking(BaseConfiguration configuration, Random rand, int blockPosX, int blockPosY, int blockPosZ, int sizeX, int sizeY, int sizeZ, EnumFacing direction)
{
super(configuration, sizeX, sizeY, sizeZ, direction);
this.coordBaseMode = EnumFacing.SOUTH;
this.boundingBox = new StructureBoundingBox(blockPosX, blockPosY, blockPosZ, blockPosX + sizeX, blockPosY + sizeY, blockPosZ + sizeZ);
}
@Override
public boolean addComponentParts(World worldIn, Random randomIn, StructureBoundingBox structureBoundingBoxIn)
{
for (int i = 0; i < this.boundingBox.getXSize(); i++)
{
for (int j = 0; j < this.boundingBox.getYSize(); j++)
{
for (int k = 0; k < this.boundingBox.getZSize(); k++)
{
if ((this.getDirection().getAxis() == EnumFacing.Axis.Z && (i == 0 || i == this.boundingBox.getXSize() - 1)) ||
j == 0 || j == this.boundingBox.getYSize() - 1 ||
(this.getDirection().getAxis() == EnumFacing.Axis.X && (k == 0 || k == this.boundingBox.getZSize() - 1)))
{
this.setBlockState(worldIn, this.configuration.getWallBlock(), i, j, k, this.boundingBox);
}
else
{
if (j == this.boundingBox.getYSize() - 2)
{
if (this.getDirection().getAxis() == EnumFacing.Axis.Z && (k + 1) % 4 == 0 && (i == 1 || i == this.boundingBox.getXSize() - 2))
{
//TODO: windows or decor
// this.setBlockState(worldIn, GCBlocks.unlitTorch.getDefaultState().withProperty(BlockUnlitTorch.FACING, i == 1 ? EnumFacing.WEST.getOpposite() : EnumFacing.EAST.getOpposite()), i, j, k, this.boundingBox);
continue;
}
else if (this.getDirection().getAxis() == EnumFacing.Axis.X && (i + 1) % 4 == 0 && (k == 1 || k == this.boundingBox.getZSize() - 2))
{
// this.setBlockState(worldIn, GCBlocks.unlitTorch.getDefaultState().withProperty(BlockUnlitTorch.FACING, k == 1 ? EnumFacing.NORTH.getOpposite() : EnumFacing.SOUTH.getOpposite()), i, j, k, this.boundingBox);
continue;
}
}
this.setBlockState(worldIn, Blocks.air.getDefaultState(), i, j, k, this.boundingBox);
}
}
}
}
return true;
}
}