static public ItemStack chiselBlock(final IContinuousInventory selected,final ActingPlayer player,final VoxelBlob vb,final World world,final BlockPos pos,final EnumFacing side,final int x,final int y,final int z,ItemStack output,final List<EntityItem> spawnlist){
  final boolean isCreative=player.isCreative();
  final int blk=vb.get(x,y,z);
  if (blk == 0) {
    return output;
  }
  if (!canMine(selected,Block.getStateById(blk),player.getPlayer(),world,pos)) {
    return output;
  }
  selected.useItem(blk);
  final boolean spawnBit=ChiselsAndBits.getItems().itemBlockBit != null;
  if (!world.isRemote && !isCreative) {
    double hitX=x * one_16th;
    double hitY=y * one_16th;
    double hitZ=z * one_16th;
    final double offset=0.5;
    hitX+=side.getFrontOffsetX() * offset;
    hitY+=side.getFrontOffsetY() * offset;
    hitZ+=side.getFrontOffsetZ() * offset;
    if (output == null || !ItemChiseledBit.sameBit(output,blk) || output.stackSize == 64) {
      output=ItemChiseledBit.createStack(blk,1,true);
      if (spawnBit) {
        spawnlist.add(new EntityItem(world,pos.getX() + hitX,pos.getY() + hitY,pos.getZ() + hitZ,output));
      }
    }
 else {
      output.stackSize++;
    }
  }
 else {
    output=ItemChiseledBit.createStack(blk,1,true);
  }
  vb.clear(x,y,z);
  return output;
}

static public ItemStack chiselBlock ( final IContinuousInventory selected , final ActingPlayer player , final VoxelBlob vb , final World world , final BlockPos pos , final EnumFacing side , final int x , final int y , final int z , ItemStack output , final List < EntityItem > spawnlist ) { final boolean isCreative = player . isCreative ( ) ; final int blk = vb . get ( x , y , z ) ; if ( blk == 0 ) { return output ; } if ( ! canMine ( selected , Block . getStateById ( blk ) , player . getPlayer ( ) , world , pos ) ) { return output ; } selected . useItem ( blk ) ; final boolean spawnBit = ChiselsAndBits . getItems ( ) . itemBlockBit != null ; if ( ! world . isRemote && ! isCreative ) { double hitX = x * one_16th ; double hitY = y * one_16th ; double hitZ = z * one_16th ; final double offset = 0.5 ; hitX += side . getFrontOffsetX ( ) * offset ; hitY += side . getFrontOffsetY ( ) * offset ; hitZ += side . getFrontOffsetZ ( ) * offset ; if ( output == null || ! ItemChiseledBit . sameBit ( output , blk ) || output . stackSize == 64 ) { output = ItemChiseledBit . createStack ( blk , 1 , true ) ; if ( spawnBit ) { spawnlist . add ( new EntityItem ( world , pos . getX ( ) + hitX , pos . getY ( ) + hitY , pos . getZ ( ) + hitZ , output ) ) ; } } else { output . stackSize ++ ; } } else { output = ItemChiseledBit . createStack ( blk , 1 , true ) ; } vb . clear ( x , y , z ) ; return output ; }
modifies voxeldata of tileentitychiseled
