package wtf.opal.event.impl.game.world;

import java.util.List;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.block.BlockState;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.shape.VoxelShape;

@Environment(EnvType.CLIENT)
public final class BlockShapeEvent {
   private final BlockPos blockPos;
   private final BlockState blockState;
   private VoxelShape voxelShape;
   private final List<VoxelShape> extraVoxelShapes;

   public BlockShapeEvent(BlockPos blockPos, BlockState blockState, VoxelShape voxelShape, List<VoxelShape> extraVoxelShapes) {
      this.blockPos = blockPos;
      this.blockState = blockState;
      this.voxelShape = voxelShape;
      this.extraVoxelShapes = extraVoxelShapes;
   }

   public BlockPos getBlockPos() {
      return this.blockPos;
   }

   public BlockState getBlockState() {
      return this.blockState;
   }

   public VoxelShape getVoxelShape() {
      return this.voxelShape;
   }

   public List<VoxelShape> getExtraVoxelShapes() {
      return this.extraVoxelShapes;
   }

   public void setVoxelShape(VoxelShape voxelShape) {
      this.voxelShape = voxelShape;
   }
}
