zh_cn:tutorial:ores
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
zh_cn:tutorial:ores [2022/08/18 03:25] – solidblock | zh_cn:tutorial:ores [2024/05/21 10:00] (current) – [添加到主世界生物群系] sjk1949 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== 生成自定义的矿石(1.18.2) ====== | + | 如果你在找 1.19.3,矿石应该完全使用 json 完成。你可以了解到的有用的工具:[[https:// |
+ | |||
+ | ====== 生成自定义的矿石 | ||
许多模组会添加自己的矿石,您需要找到一种方法以将其放置在现有生物群系中让玩家寻找。在本教程中,我们将研究将矿石添加到现有生物群系以及其他模组添加的生物群系。将矿石添加到生物群系需要2个步骤。 | 许多模组会添加自己的矿石,您需要找到一种方法以将其放置在现有生物群系中让玩家寻找。在本教程中,我们将研究将矿石添加到现有生物群系以及其他模组添加的生物群系。将矿石添加到生物群系需要2个步骤。 | ||
* 制作一个 ConfiguredFeature(已配置的地物),定义你的矿石方块如何生成。 | * 制作一个 ConfiguredFeature(已配置的地物),定义你的矿石方块如何生成。 | ||
* 使用 [[https:// | * 使用 [[https:// | ||
- | 注意 Biome Modification API 仍是实验性的。如果 | + | 为了简化,我们使用原版的末地烛作为矿石,因为末地烛可以轻易地在地下发现,旁观模式下很容易看到。 |
+ | |||
+ | ==== 添加到主世界生物群系 ==== | ||
+ | 在这个章节中,我们会在主世界生成矿石。 | ||
+ | |||
+ | 首先,在你的模组的目录创建两个 JSON 文件: | ||
+ | |||
+ | <code JavaScript src\main\resources\data\tutorial\worldgen\configured_feature\ore_custom.json> | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | 这个已配置的地物(configured feature)会告诉游戏矿脉的大小、哪些矿石方块会因为空气暴露而被移除,以及,最重要的还有这个矿石能够替换哪些方块。注意我们的 '' | ||
+ | |||
+ | <code JavaScript src\main\resources\data\tutorial\worldgen\placed_feature\ore_custom.json> | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | 已放置的地物(placed feature)告诉游戏,一个区块内应该放置多少的矿脉,矿脉应该以什么形状放置,以及放置在哪些 y 轴级别上。注意,放置的地物的第一行引用了我们刚刚创建的配置的地物。 | ||
+ | |||
+ | 手写 JSON 文件可能会有些麻烦。注意这些工作可以借助像 [[https:// | ||
+ | |||
+ | 现在我们的数据已经创建好了,是时候编写代码了!好在 Minecraft 1.19.3 以来的更改,在世界中添加矿石需要的 Java 代码非常少。我们所需要做的,就只是注册这个地物,然后使用 Fabric | ||
+ | |||
+ | 在这个类中,我们创建新的 '' | ||
+ | |||
+ | <code Java src/ | ||
+ | public class ExampleMod implements ModInitializer { | ||
+ | |||
+ | public static final RegistryKey< | ||
+ | |||
+ | @Override | ||
+ | public void onInitialize() { | ||
+ | |||
+ | //Your other code here... | ||
+ | |||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | 注意两件事: | ||
+ | * '' | ||
+ | * 其中 identifier 使用的名字 '' | ||
+ | |||
+ | 现在将地物添加到生物群系中: | ||
+ | |||
+ | <code Java src/ | ||
+ | |||
+ | @Override | ||
+ | public void onInitialize() { | ||
+ | |||
+ | //Your other code here... | ||
+ | BiomeModifications.addFeature(BiomeSelectors.foundInOverworld(), | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== 测试==== | ||
+ | |||
+ | 要测试你的新矿石,生成一个新世界。你也可以打开已存在的世界,但需要走到新的区块。在这个末地烛的示例中,矿石可以直接在地下在旁观模式下看到。 | ||
+ | |||
+ | ==== 添加到下界或末地 ==== | ||
+ | |||
+ | 将矿石添加到其他维度的过程和添加到主世界的过程很类似。 | ||
+ | |||
+ | 就像在主世界中一样,我们创建 JSON 文件。如果以原版的下界金矿石为例,我们的已放置的地物看起来应该会像这样: | ||
+ | |||
+ | <code JavaScript src/ | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | 注意区别在于,其高度范围是以不同的方式描述的,高度类型是 '' | ||
+ | |||
+ | 和之前一样,添加配置的地物。 | ||
+ | |||
+ | <code JavaScript src/ | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | 在配置的地物中,记住 '' | ||
+ | |||
+ | 最后,回到 Java 代码,再添加一行 BiomdModifaction 的内容: | ||
+ | |||
+ | <code Java src/ | ||
+ | BiomeModifications.addFeature(BiomeSelectors.foundInNether(), | ||
+ | </ | ||
+ | |||
+ | ====== 生成自定义的矿石 [1.18.2 / 1.19.2] ====== | ||
我们假设您此时已经创建了自己的矿石。本教程中,我们使用羊毛方块进行替换。你可以适时将羊毛改成你自己的矿石。 | 我们假设您此时已经创建了自己的矿石。本教程中,我们使用羊毛方块进行替换。你可以适时将羊毛改成你自己的矿石。 |
zh_cn/tutorial/ores.1660793119.txt.gz · Last modified: 2022/08/18 03:25 by solidblock