服务器使用量
未统计
服务玩家数
未统计
下载量
18,901
插件详细介绍
AdvancedWorldCreatorAPI 是一款强大的 Minecraft 插件 API,它允许你深度自定义世界生成,包括生物群系、维度设置和结构生成等。你可以自由使用、修改和分享此 API,但请注明来源。
基本信息
- 支持版本: Minecraft 1.18.1
- API 版本: 2.3
- 许可证: 可自由分享或修改,但需注明此资源出处。
- 作者留言: 我是发布资源的新手,非常欢迎收到评分作为鼓励。如果你有改进建议或缺少某些功能,请联系我或在资源页面留言。
资源链接
- JavaDocs (1.20.5): https://fshx.de/JavaDocs/AdvancedWorldCreatorAPI/1.20.5/
- 源代码 (1.20.5): https://github.com/FreeSoccerHDX/AdvancedWorldCreatorAPI/tree/main/1.20.5 Source/main
- 使用与示例 (GitHub):
- 1.17 版本: https://github.com/FreeSoccerHDX/AdvancedWorldCreatorAPI- 1.18.1 版本 (源代码): https://github.com/FreeSoccerHDX/AdvancedWorldCreatorAPI/tree/main/1.18 Source核心功能
- 自定义生物群系
- 自定义颜色、音效、粒子效果。- 自定义生成规则。- 自定义世界生成
- 支持主世界、放大化、下界、末地、洞穴、浮空岛屿等多种预设。- 可创建混合型世界(例如主世界与末地混合)。- 自定义维度设置
- 固定时间、天空光照、末影龙战斗、猪灵安全等属性。- 自定义结构生成频率
- 可调整村庄、林地府邸、下界要塞等结构的生成几率。- 自定义生物群系提供器
使用与示例
详细的用法和代码示例请查阅上方提供的 GitHub 仓库链接。其中包含了不同版本的实现源码供你参考。
效果示例
- 棋盘格生物群系: 由平原生物群系和自定义生物群系(红色草地)交替生成。
- 自定义世界生成器: 创建了一个主世界与末地特征混合的世界。
AdvancedWorldCreatorAPI 文档
AdvancedWorldCreatorAPI 是一个强大的 Minecraft 插件开发库,允许开发者深度自定义世界生成,包括创建自定义生物群系、地形环境以及完整的生成器配置。本指南将介绍其核心功能与基本用法。
创建自定义生物群系
你可以使用 BiomeCreator 类来创建全新的生物群系。
基础创建示例
以下代码展示了如何创建一个自定义生物群系并设置其颜色。
BiomeCreator biomeCreator = new BiomeCreator("firstname", "secondname");
biomeCreator.setWaterColor(new java.awt.Color(76, 255, 255));
biomeCreator.setGrassColor(new java.awt.Color(136, 0, 0));
biomeCreator.setSkyColor(new java.awt.Color(1, 73, 51));
biomeCreator.setWaterFogColor(new java.awt.Color(255, 255, 255));
// ... 可以在此处添加更多设置(生物、结构等)
// 参数为 true 时,允许此生物群系覆盖已存在的同名生物群系(也可覆盖原版生物群系,如 minecraft:plains)
BiomeCreator.CustomBiome customBiome = biomeCreator.createBiome(true);使用自定义装饰填充器
你可以在生物群系中添加自定义的装饰生成逻辑。
// 可以使用以下 PlacementType 之一来影响装饰物放置的 Y 坐标
BiomeDecorationPopulator.PlacementType placementType_heightMap = new BiomeDecorationPopulator.HeightmapPlacementType(HeightMap.MOTION_BLOCKING);
BiomeDecorationPopulator.PlacementType placementType_range = new BiomeDecorationPopulator.RangePlacementType(10, 10);
// 像下面的例子一样,使用一个或多个 PlacementType
biomeCreator.addCustomDecorationPopulator(BiomeDecorationType.TOP_LAYER_MODIFICATION,
new BiomeDecorationPopulator(new BiomeDecorationPopulator.PlacementType[]{placementType_heightMap}) {
@Override
public void populateDecoration(WorldModifier worldModifier, int x, int y, int z) {
// worldModifier 只有少数方法,但你可以用它们来修改世界
// 一个方法允许获取特定位置的 BlockData
// 另一个方法允许在特定位置设置 BlockData
// 注意:绝对不要在此处尝试通过 Bukkit API 设置方块,这会导致严重卡顿甚至崩溃
// 此示例将检查给定位置的方块,如果是 AIR,则将其设置为钻石块
// x 和 z 是当前正在生成区块的最低 x 和 z 坐标
// y 是经过 PlacementTypes 调整后的 Y 坐标
BlockData blockData = worldModifier.getBlockData(x, y, z);
if (blockData.getMaterial() == Material.AIR) {
worldModifier.setBlockData(x, y, z, Material.DIAMOND_BLOCK.createBlockData());
}
}
});使用自定义生物群系
注意:自定义生物群系只能与 AdvancedWorldCreator 一起使用,通过 #setAdvancedBiomeProvider(AdvancedBiomeProvider) 方法。
以下示例创建一个重复的线条式生物群系提供器,它可以处理默认生物群系和自定义生物群系。
BiomeProviderLines.Builder builder = new BiomeProviderLines.Builder(1, true); // size: 1, true: 在 X 方向重复
builder.addBiome(myCustomBiome);
builder.addBiome(org.bukkit.block.Biome.PLAINS);
AdvancedBiomeProvider biomeprovider = builder.create();
AdvancedWorldCreator#setAdvancedBiomeProvider(biomeprovider);创建高级世界
以下代码将创建一个名为 “advancedworld”、种子为 “123456789” 的世界。默认方块被设置为钻石块(原版默认为石头)。minY 设置为 -128,比原版世界深两倍。高度 (256+128) 意味着从 0 开始向上有 256 个方块可用。(这解释了 minY 和 Height 的含义)
环境配置
EnvironmentBuilder 用于改变 Minecraft 的逻辑功能,如环境光照、床是否工作等。
AdvancedWorldCreator creator = new AdvancedWorldCreator("advancedworld");
creator.seed(123456789);
// 使用 NamespacedKey 可以更改原版环境或创建新环境
EnvironmentBuilder environmentBuilder = new EnvironmentBuilder(new NamespacedKey("my_cutom_environment", "the_environment_to_use"));
environmentBuilder.setOverwriteSettingsIfExist(true);
environmentBuilder.setHeight(384 + 64);
environmentBuilder.setMinY(-128);
environmentBuilder.setLogicalHeight(384 + 64);
environmentBuilder.setAmbientLight(0.0f);
environmentBuilder.setBedWorks(false);
environmentBuilder.setUltraWarm(true);
environmentBuilder.setRespawnAnchorWorks(true);
environmentBuilder.setNatural(false);
creator.setEnvironmentBuilder(environmentBuilder);生成器配置
GeneratorConfiguration 允许你完全改变世界生成。
// 注意:minY、Height 和 LogicalHeight 的设置应与 EnvironmentBuilder 中的一致,两者都需要设置才能生效。
// 使用 NamespacedKey 可以更改原版 GeneratorSettings 或创建新的设置
GeneratorConfiguration generatorConfig = new GeneratorConfiguration(new NamespacedKey("my_cutom_genconfig", "the_genconfig_to_use"));
generatorConfig.setDefaultBlock(Material.DIAMOND_BLOCK);
generatorConfig.getNoiseGeneration().setMinY(-128);
generatorConfig.getNoiseGeneration().setHeight(256 + 128);
// 以下代码复制现有生成器(如主世界、末地)的 NoiseRouterData
generatorConfig.setNoiseRouterData(NoiseRouterData.OVERWORLD);
creator.setGeneratorConfiguration(generatorConfig);
// 创建世界
org.bukkit.World advancedworld = creator.createWorld();重要说明
- 版本兼容性:此 API 文档基于 Minecraft 1.18.1。
- API 文档:详细类与方法说明请查阅 https://javadocs.duckdns.org/AdvancedWorldCreatorAPI/。
- 性能警告:在
populateDecoration方法中,务必使用提供的WorldModifier修改世界,直接调用 Bukkit API 可能导致严重卡顿或服务器崩溃。 - 配置同步:创建世界时,确保
EnvironmentBuilder和GeneratorConfiguration中的minY、height等关键参数设置一致。
测试支持版本
版本分布
基本信息
插件名称
AdvancedWorldCreatorAPI
作者
FreeSoccerHDX
平台
Bukkit / Spigot
支持版本
1.19 - 1.20
点赞数
3
最近版本
暂无数据
-