4D is fun too when you want to see 3-dimensional terrain bubble around like plasma At first i thought the extra dimension would be most feasible to use as seed, IE. for 2D world i'd use 3-dimensional noise where Z = seed. But i realized that i could alter the permutation table instead.

So that's what i did now, adding seed: int64 parameter to constructor. Then masking the permutation bytes with xor and seed. Basically what it does is:

Imagine seed was 4 bits (it's 64 bits really), for example seed=0110.
Then i have original permutation byte-array, going for example
100011011100... then make the seed wrap to same length:
011001100110... and finally XOR them for final permutation:
111010111010
And final touch, because seeds 0 through 1000 still showed hardly any change, i multiply seed at beginning with some constant 85123154182917 number, to force more bit-changes. Looks fine for now.