大致目标:编写一个数据包来完全自定义世界生成。
步骤:(以下讨论中将所有 X 轴和 Z 轴坐标相同的区块视为同一区块)
- 创建一个虚空超平坦世界;
- 在玩家出生点区块调用 生成函数 生成地形、建筑等;
- 当玩家所在区块相邻的八个区块未调用过 生成函数 时:
- 在相应区块调用 生成函数;
- 为调用过 生成函数 的区块做上标记。
问题:
- 生成函数的生成步骤
- 使用何种标记对资源占用最少
自己的方案:
生成函数:
- 调用 随机函数 确定所要生成的地形和建筑等;
- 自下而上使用 fill 指令填充地形,必要时使用结构方块的种子以实现随机性;(暂时无法实现地表的起伏变化)
- 使用 spreadplayers 配合药水云确定建筑的位置并生成建筑。
使用方块代替药水云,但是 不知道如何检测比较方便 。
希望可以得到更好的解决方案。