【问题标题】:Removing certain biomes when generating world in Bukkit/Spigot在 Bukkit/Spigot 生成世界时移除某些生物群落
【发布时间】:2017-07-04 16:59:46
【问题描述】:

在服务器上生成新世界时,有没有办法从 WorldCreator 中移除某些生物群系(如丛林)?我试图仅在一个世界而不是所有世界中禁用生物群落(大多数在线示例似乎都在这样做)。有什么方法可以实现吗?

【问题讨论】:

    标签: java minecraft bukkit


    【解决方案1】:

    您可以使用自己的 ChunkGenerator 并覆盖方法 generateExtBlockSections、generateBlockSections 和 generateChunkData。现在遍历块中的所有 x 和 z 并从 BiomeGrid 获取假定的 Biome。如果生物群系是您想要移除的生物群系,请通过#setBiome 将其替换为不同的生物群系。使用操纵的 BiomeGrid,您现在可以调用超级方法。

    我没有对此进行测试,但是通过这种方法,我在我的 SkyBlock 插件中将整个世界的生物群系设置为海洋。所以它应该可以工作。

    【讨论】:

    • 感谢您的提示!我通过创建一个扩展 ChunkGenerator 的类并按照你所说的做了一些进展。我现在唯一遇到的问题是将任何玩家传送到新世界会导致他们被传送回主世界。这是否意味着世界没有正确加载或什么?
    • ChunkGenerator 类没有实现默认的世界生成。此外,调用超级方法 generateChunkData 会引发 UnsupportedOperationException,说明自定义生成器缺少实现。
    猜你喜欢
    • 1970-01-01
    • 2022-12-05
    • 1970-01-01
    • 2013-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多