zh_cn:tutorial:features
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
zh_cn:tutorial:features [2021/07/12 01:07] – [创建Feature类] solidblock | zh_cn:tutorial:features [2021/07/12 01:17] – [向生物群落添加Feature] solidblock | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== 添加特征地形 [1.17] ===== | + | ===== 添加地形特征 |
- | 岩石,树木,矿石和池塘都是Feature的示例。 它们是对世界的简单补充,它们的生成取决于它们的配置方式。 在本教程中,我们将研究如何在我们的世界中随机生成一个简单的石螺旋Feature。 | + | |
- | 岩石、树木、矿石、池塘都是特征地形的例子,是对世界的简单补充生成,并根据配置的方式生成。本教程中,我们将研究如何随机生成简单的石头螺旋地形。 | + | 岩石、树木、矿石、池塘都是地形特征的例子,是对世界的简单补充生成,并根据配置的方式生成。本教程中,我们将研究如何随机生成简单的石头螺旋地形。 |
- | 往生物群系中添加特征地形需要3个步骤。 | + | 往生物群系中添加地形特征需要3个步骤。 |
- | * 创建特征地形 | + | * 创建地形特征 |
- | * 配置特征地形 | + | * 配置地形特征 |
- | * 使用[[https:// | + | * 使用[[https:// |
注意生物群系修改API标记为实验性。如果API不起作用,考虑使用[[? | 注意生物群系修改API标记为实验性。如果API不起作用,考虑使用[[? | ||
- | ==== 创建特征地形 ==== | + | ==== 创建地形特征 |
- | 一个简单的特征地形如下所示: | + | 一个简单的地形特征如下所示: |
<code java> | <code java> | ||
public class StoneSpiralFeature extends Feature< | public class StoneSpiralFeature extends Feature< | ||
Line 37: | Line 36: | ||
'' | '' | ||
- | 区块决定生成特征地形时调用'' | + | 区块决定生成地形特征时调用'' |
在我们的实现中,我们从世界最高位置的方块构建一个简单的15个方块高的岩石螺旋。 | 在我们的实现中,我们从世界最高位置的方块构建一个简单的15个方块高的岩石螺旋。 | ||
- | 特征地形可以像游戏其他内容一样被注册,且你不需要担心没有特定的构建器(builder)和机制(mechanic)。 | + | 地形特征可以像游戏其他内容一样被注册,且你不需要担心没有特定的构建器(builder)和机制(mechanic)。 |
<code java> | <code java> | ||
Line 54: | Line 53: | ||
</ | </ | ||
- | ==== 注册一个Feature | + | ==== 配置地形特征 |
- | 可以像注册游戏中的其他大多数内容一样注册Feature,而且您不必担心任何特殊的构建器或机制。 | + | 我们需要为地形特征提供配置。确保注册配置的地形特征和地形特征。 |
<code java> | <code java> | ||
- | private | + | public class ExampleMod implements ModInitializer { |
- | Registry.FEATURE, | + | public |
- | new Identifier(" | + | |
- | new StoneSpiralFeature(DefaultFeatureConfig:: | + | |
- | ); | + | @Override |
+ | public void onInitialize() { | ||
+ | [...] | ||
+ | |||
+ | RegistryKey< | ||
+ | new Identifier(" | ||
+ | | ||
+ | } | ||
+ | } | ||
</ | </ | ||
- | ==== 向生物群落添加Feature | + | Decorator表示世界如何选择放置该特征。要选择正确的Decorator,检查原版的地形特征,你自己的应该要类似。装饰器配置是从这个分支出来的,在'' |
- | 生物群系有一种称为'' | + | |
+ | ==== 向生物群系添加特征地形 | ||
+ | 我们使用生物群系修改API。 | ||
- | 我们可以遍历'' | ||
<code java> | <code java> | ||
- | Registry.BIOME.forEach(biome -> biome.addFeature( | + | public class ExampleMod implements ModInitializer { |
- | | + | [...] |
- | Biome.configureFeature( | + | |
- | LAVA_HOLE, | + | |
- | new DefaultFeatureConfig(), | + | |
- | Decorator.CHANCE_HEIGHTMAP, | + | |
- | new ChanceDecoratorConfig(100) | + | |
- | ) | + | |
- | )); | + | |
- | </ | + | |
- | '' | + | @Override |
+ | public void onInitialize() { | ||
+ | [...] | ||
+ | BiomeModifications.addFeature(BiomeSelectors.all(), | ||
+ | } | ||
+ | } | ||
+ | </ | ||
- | '' | + | '' |
- | 装饰器代表世界如何选择放置要素。 '' | + | 第二个参数帮助你确定结构何时生成。对于地上的房子,可以用'' |
=== 结果 === | === 结果 === | ||
{{https:// | {{https:// |
zh_cn/tutorial/features.txt · Last modified: 2022/08/18 03:37 by solidblock