# 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]`

配合额外的缩放,例如 `//set #noise[voronoi][black_wool,white_wool][2]`,结果会看起来不同:

模块允许更多配置。
具体的参数可以在[libnoise 文档](https://libnoise.sourceforge.net/docs/classnoise_1_1module_1_1Module.html)中找到。
例如,沃罗诺伊模块有一个 `EnableDistance` 函数,
我们可以像这样在 NoisyPatterns 中使用它:`voronoi[enableDistance=true]`。
作为一个完整的命令,它可以如下所示:`//set #noise[voronoi[enableDistance=true]][##wool][8]`,结果是

某些模块也接受其他模块作为输入。 在这种情况下,内部模块编号从 0 到 (n - 1),
其中 n 是期望的模块数量。
例如,`blend` 需要 3 个模块来生成噪声,所以你需要指定模块 0、1 和 2。
`//set #noise[blend[0=voronoi[enableDistance=true],1=checkerboard,2=perlin]][##wool][8]` 的例子:
