NoisyPatterns

基于 libnoise 的、高度可配置的 FastAsyncWorldEdit 模式。

资源图片
# NoisyPatterns 这个工具扩展了[FastAsyncWorldEdit](https://modrinth.com/plugin/fastasyncworldedit),增加了新的图案。 这些图案可以用于诸如`//set`命令或其他接受图案的地方。 实际的功能基于[jlibnoise](https://github.com/EngineHub/jlibnoise)。 这个库提供了不同的模块来构建自定义噪声函数。 其中一些模块已经在WorldEdit (在表达式中) 和 FastAsyncWorldEdit (例如 `#perlin` 图案) 中被暴露出来。 这个扩展将其提升到下一步:它允许你自由地以你想要的方式组合模块! ## 用法 本节将使用 `//set` 命令作为例子,但它同样适用于其他命令和画笔。 噪声图案的主要结构是 `#noise[<模块配置>][<使用的方块>][<可选的缩放参数>]`。 一个非常简单的命令可以如下所示:`//set #noise[voronoi][black_wool,white_wool]` ![没有缩放的黑白羊毛沃罗诺伊噪声](assets/voronoi_wool_unscaled.png) 配合额外的缩放,例如 `//set #noise[voronoi][black_wool,white_wool][2]`,结果会看起来不同: ![缩放的黑白羊毛沃罗诺伊噪声](assets/voronoi_wool_scaled.png) 模块允许更多配置。 具体的参数可以在[libnoise 文档](https://libnoise.sourceforge.net/docs/classnoise_1_1module_1_1Module.html)中找到。 例如,沃罗诺伊模块有一个 `EnableDistance` 函数, 我们可以像这样在 NoisyPatterns 中使用它:`voronoi[enableDistance=true]`。 作为一个完整的命令,它可以如下所示:`//set #noise[voronoi[enableDistance=true]][##wool][8]`,结果是 ![启用 `enableDistance=true` 的彩色沃罗诺伊噪声](assets/voronoi_enableDistance.png) 某些模块也接受其他模块作为输入。 在这种情况下,内部模块编号从 0 到 (n - 1), 其中 n 是期望的模块数量。 例如,`blend` 需要 3 个模块来生成噪声,所以你需要指定模块 0、1 和 2。 `//set #noise[blend[0=voronoi[enableDistance=true],1=checkerboard,2=perlin]][##wool][8]` 的例子: ![混合](assets/blend.png)