Closed Uziskull closed 6 years ago
Yeah, this is definitely something that is needed in the API. Right now, I'm working on making it compatible with Paper's async chunk generation feature, but after that I'll implement this.
Ok, both issues have now been addressed. The WorldDecorator interface now contains methods to control both. I introduced "base decorations", which operate on a single chunk, instead of a 2x2 chunk area like most other decorations do.
worldDecorator.setDefaultDecoratorsEnabled(DecorationType.CARVING_LIQUID, false)
.worldDecorator.setDefaultDecoratorsEnabled(DecorationType.LOCAL_MODIFICATIONS, false)
. (This was already possible before).worldDecorator.setDefaultBaseDecoratorsEnabled(BaseDecorationType.BEDROCK, false)
.worldDecorator.withCustomDecoration(..)
or worldDecorator.withCustomBaseDecorator(..)
.
Right now, if I want to edit the part of the generation that has to do with underground lakes (those belong to the
ChunkStatus.LIQUID_CARVED
status of chunk creation), I have to use reflection to access those classes. Or, even if I want to edit something a bit less tricky, like lower bedrock generation (which belongs toChunkStatus.BASE
, like block generation does), I have to edit yourInjectedChunkGenerator
class (specifically, thecreateChunk
method).Ideally, it would be great if these were able to be customized by simply using your API. Some of these might be tricky to provide customization for, but at least an option to be able to generate flat bedrock would be easily doable and would provide a higher level of customization.