I need to generate samples from a pdf given by $\frac{f_Z(z)\cdot 1_{Z \in B}}{P(Z \in B)}$ where $Z \in \mathbb{R}^d$ is a normal random vector with independent components. $Z \in B$ is a set that is hard to characterize and may be defined implicitly. However, it can be assumed that it is a closed set with no holes.
After evaluating my options, the most convenient approach would be Metropolis MCMC. I am aware that the result involves correlated instead of independent samples. My objective is not to compute any mean, variance, or any other statistics. I just need to generate samples of $Z$ with pdf above. However, if the chain mixes well, the samples I get should be good enough to be roughly independent and construct histograms of $Z$, etc.
The MCMC algorithm according to Wikipedia says that if a proposed state is rejected, then the current state is set as the old state. Does this also mean that I have to "save" the old state a second time (the first time when it got accepted and the second time when the proposed state is rejected) in the list of samples that I plan to use after sampling? Or can I simply discard these "duplicates" from the list of samples that I have?