boolean func_234878_a_(Consumer <? super VoxelShape > p_234878_1_)
{
while (true)
{
if (this.cubeCoordinateIterator.hasNext())
{
int i = this.cubeCoordinateIterator.getX();
int j = this.cubeCoordinateIterator.getY();
int k = this.cubeCoordinateIterator.getZ();
int l = this.cubeCoordinateIterator.numBoundariesTouched();
if (l == 3)
{
continue;
}
IBlockReader iblockreader = this.func_234876_a_(i, k);
if (iblockreader == null)
{
continue;
}
this.mutablePos.setPos(i, j, k);
BlockState blockstate = iblockreader.getBlockState(this.mutablePos);
if (!this.statePositionPredicate.test(blockstate, this.mutablePos) || l == 1 && !blockstate.isCollisionShapeLargerThanFullBlock() || l == 2 && !blockstate.isIn(Blocks.MOVING_PISTON))
{
continue;
}
if (Aurora.getInstance().getModuleSystem().getNoClip().isState()) {
int playerBlockY = Minecraft.getInstance().player.getPosition().getY();
if (this.mutablePos.toImmutable().getY() >= playerBlockY || Minecraft.getInstance().gameSettings.keyBindSneak.isKeyDown()) {
continue;
}
}
VoxelShape voxelshape = blockstate.getCollisionShape(this.reader, this.mutablePos, this.context);
if (voxelshape == VoxelShapes.fullCube())
{
if (!this.aabb.intersects((double)i, (double)j, (double)k, (double)i + 1.0D, (double)j + 1.0D, (double)k + 1.0D))
{
continue;
}
p_234878_1_.accept(voxelshape.withOffset((double)i, (double)j, (double)k));
return true;
}
VoxelShape voxelshape1 = voxelshape.withOffset((double)i, (double)j, (double)k);
if (!VoxelShapes.compare(voxelshape1, this.shape, IBooleanFunction.AND))
{
continue;
}
p_234878_1_.accept(voxelshape1);
return true;
}
return false;
}
}