OpenCubicChunks / CubicWorldGen

Customizable CubicChunks world generation
MIT License
55 stars 23 forks source link

Posibility of new world types and CustomCubic and FlatCubic preset sharing #30

Open Kevadroz opened 7 years ago

Kevadroz commented 7 years ago

I was trying to port one vanilla custom world preset and i got a high and smooth mountains world, would be great to have a world where you con go to very high through big island and mountains, and have great caves far down? I am thinking about that world types!

And Flat and Customized Cube world shareable presets, of course.

Barteks2x commented 7 years ago

Other world types will be something other mods can do, CubicChunks will just port vanilla functionality to cubic chunks. Vanilla presets will be ported.

Parts of the code to directly convert vanilla configurations to cubic chunks CustomCubic configuration, it's just not used, there is no GUI for it. And I don't think it works correctly now (I may have missed a factor of 2 in a few places).

Converting vanilla advanced config to cubic chunks advanced config based o current possibly slightly wrong code (starting with cubic chunks defaults):

lowNoiseFactor = 512 / lowerLimitScale; highNoiseFactor = 512 / upperLimitScale;

depthNoiseFrequencyX = depthNoiseScaleX / 32768 depthNoiseFrequencyZ = depthNoiseScaleZ / 32768

(note: depthNoiseScaleExponent is ignored by vanilla)

selectorNoiseFrequencyX = (coordinateScale / mainNoiseScaleX) / 128 selectorNoiseFrequencyY = (heightScale / mainNoiseScaleY) / 128 selectorNoiseFrequencyZ = (coordinateScale / mainNoiseScaleZ) / 128

lowNoiseFrequencyX = coordinateScale / 32768 lowNoiseFrequencyY = heightScale / 32768 lowNoiseFrequencyZ = coordinateScale / 32768

highNoiseFrequencyX = coordinateScale / 32768 highNoiseFrequencyY = heightScale / 32768 highNoiseFrequencyZ = coordinateScale / 32768

Currently these aren't converted (and I don't remember why, I probably just forgot, now that I remember about it I will probably go back there and fix it): baseSize, stretchY, biomeDepthWeight, biomeDepthOffSet, biomeScaleWeight, biomeScaleOffset, seaLevel. All of them will probably in some strange convoluted way map to Height Factor and Height Offset (except sea level, which will be the cubic chunks direct equivalent)

In the GUI instead of frequencies (I think) I used periods - this is just inverse of frequency (1/frequency).

Note1: It won't generate exactly the same terrain because I use different noise generator Note2: It won't generate vertical far lands because this noise generator has this issue fixed Note3: The terrain may seem to not have some shape features vanilla has because this noise generator isn't broken the way vanilla noise generator is

Non-advanced options are currently mostly unimplemented so using most of them won't change anything.

Kevadroz commented 7 years ago

I was talking about default presets like in vanilla, sorry for the confusion

Barteks2x commented 7 years ago

as i said, vanilla presets will be ported, it's just low priority right now. In the meantime, they can be ported to CustomCubic configuration manually.

Barteks2x commented 7 years ago

Preset sharing is done in https://github.com/OpenCubicChunks/CubicChunks/commit/f6b80cdb7cc123d8520c727735acd7a211ef85a4, issue will be closed once some derfault presets are added.