zh_cn:tutorial:jigsaw
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
zh_cn:tutorial:jigsaw [2020/02/05 04:52] – created lightcolour | zh_cn:tutorial:jigsaw [2020/02/24 02:59] (current) – [创建一个StructureStart类] lightcolour | ||
---|---|---|---|
Line 17: | Line 17: | ||
</ | </ | ||
- | // | + | // |
<code java [enable_line_numbers=" | <code java [enable_line_numbers=" | ||
@Override | @Override | ||
Line 26: | Line 25: | ||
</ | </ | ||
- | // | + | // |
- | * Serializing and Deserializing your structure from a chunk | + | |
- | * Locating your structure | + | |
- | * Labeling your structure | + | |
- | Vanilla convention is a properly capitalized title. "Igloo," "Village," and "Fortress," are all valid.((Do not use a '' | + | 原版约定是适当大写的标题。'' |
<code java [enable_line_numbers=" | <code java [enable_line_numbers=" | ||
@Override | @Override | ||
Line 38: | Line 37: | ||
</ | </ | ||
- | The exact usage for // | + | // |
<code java [enable_line_numbers=" | <code java [enable_line_numbers=" | ||
@Override | @Override | ||
Line 45: | Line 44: | ||
} | } | ||
</ | </ | ||
- | + | 最后,// | |
- | Finally, | + | |
<code java [enable_line_numbers=" | <code java [enable_line_numbers=" | ||
@Override | @Override | ||
Line 53: | Line 51: | ||
} | } | ||
</ | </ | ||
- | + | 我们完成的'' | |
- | Our finalized | + | |
<code java [enable_line_numbers=" | <code java [enable_line_numbers=" | ||
import com.mojang.datafixers.Dynamic; | import com.mojang.datafixers.Dynamic; | ||
Line 92: | Line 89: | ||
</ | </ | ||
- | ==== Creating a StructureStart | + | ==== 创建一个StructureStart类 ===== |
- | '' | + | '' |
<code java [enable_line_numbers=" | <code java [enable_line_numbers=" | ||
public class ExampleStructureStart extends StructureStart { | public class ExampleStructureStart extends StructureStart { | ||
Line 108: | Line 105: | ||
</ | </ | ||
- | To understand what happens here, we'll have to dive into jigsaws | + | 要了解这里发生的情况,我们必须深入研究拼图 |
- | Structure Blocks are a simple way of saving a structure to a .nbt file for future use. Jigsaws are a component of structure blocks that assemble multiple structures into a single one; similar to normal jigsaws, each piece of the structure connects at a jigsaw block, which is like a connection wedge in a puzzle piece. We'll assume you're familiar with saving structures-- if you aren' | + | 结构放块是一种将结构保存到.nbt文件以供将来使用的简单方法。 拼图是结构块的组成部分,将多个结构组装成一个结构。 与普通的拼图游戏类似,结构的每一块都在拼图块处连接,就像拼图块中的连接楔子一样。 我们假设您熟悉保存结构-如果不熟悉,请先阅读结构块页面,然后再进行任何操作。 |
- | + | ||
- | The jigsaw menu consists of 3 fields: | + | |
- | * target pool | + | |
- | * attachment type | + | |
- | * turns into | + | |
+ | 拼图菜单包含3个: | ||
+ | *目标池 | ||
+ | *附件类型 | ||
+ | *转成 | ||
{{https:// | {{https:// | ||
- | When thinking about this as a puzzle, the target pool is the group of puzzle pieces you can search through. If you have a total of 10 pieces, one target pool may have 7 of the total pieces. This field is how a jigsaw specifies, | + | 将其视为难题时,目标池就是您可以搜索的一组难题. 如果您共有10件,那么一个目标池可能有7件. 拼图是如何在此字段中指定的:"嗨,我希望B组的一块可以和我联系!" |
- | + | ||
- | The attachment type can be seen as a more specific filter within target pools-- a jigsaw can only connect to other jigsaws with the same attachment type. This is like the type of connector on a puzzle piece. The usages for this are a little bit more specific. | + | |
- | Finally, the "turns into" field is simply what the jigsaw is replaced with after it finds a match. If the jigsaw is inside your cobblestone floor, it should probably turn into cobblestone. | + | 附件类型可以看作是目标池中更具体的过滤器-拼图只能连接到具有相同附件类型的其他拼图。 这就像拼图块上的连接器类型。 用法更加具体. |
- | Here's an example implementation: | + | 最后,“turns into”字段只是拼图找到匹配项后所替换的内容。 如果拼图位于您的鹅卵石地板内,它可能会变成原石. |
+ | 这是一个示例实现:给定的拼图将从// tutorial: | ||
{{https:// | {{https:// | ||
Line 193: | Line 188: | ||
</ | </ | ||
- | Here, we're registering | + | 在这里,我们要注册2个池(基础和颜色),然后将它们各自的子级添加到它们中。 |
- | | + | *池的注册表名称,与竖锯顶部的目标池相同 |
- | * @Draylar | + | *@Draylar,如果您知道这是做什么的 |
- | | + | *池元素列表 |
- | | + | *池的投影类型 |
- | + | 对于元素列表,我们添加池元素和整数的Pairs((com.mojang.datafixers.util))。 传递到元素的字符串是结构在数据目录中的位置,而int是元素在整个目标池中的权重。 对每个元素使用1可以确保每个元素被均匀地拾取. | |
- | For the list of elements, we add Pairs((com.mojang.datafixers.util)) | + | |
- | The projection is how the pool is placed in the world. Rigid means it will be placed directly as is, and terrain matching means it will be bent to sit on top of the terrain. The latter may be good for a wheat field structure that moves with the terrain shape, whereas the first would be better for houses with solid floors. | + | 投影是如何将池放置在世界上的。 刚性表示将直接按原样放置,而地形匹配则表示将其弯曲以位于地形顶部。 后者可能适合随地形变化的麦田结构,而前者则适合具有坚固地板的房屋。 |
- | Now all we have to do is add our starting piece in our '' | + | 现在,我们要做的就是在'' |
<code java [enable_line_numbers=" | <code java [enable_line_numbers=" | ||
@Override | @Override | ||
Line 211: | Line 205: | ||
} | } | ||
</ | </ | ||
- | The Identifier | + | Identifier是可供选择的起始池,int是整个结构的大小(其中7为“7 squares out”),第3个参数是我们将在第二秒注册的零件的工厂. |
- | ==== Creating a Piece ==== | + | ==== 创作作品 |
- | This portion is very simple. A piece represents one section or element in your full structure. You'll need to create a basic piece class, and we'll register it later: | + | 这部分非常简单。 一块代表整个结构中的一个部分或元素。 您需要创建一个基本的计件类,稍后我们将进行注册: |
<code java [enable_line_numbers=" | <code java [enable_line_numbers=" | ||
public class ExamplePiece extends PoolStructurePiece { | public class ExamplePiece extends PoolStructurePiece { | ||
Line 228: | Line 222: | ||
</ | </ | ||
- | Where '' | + | 其中'' |
- | ==== Registering Everything | + | ==== 注册所有 |
- | We'll need to register our structure as both a feature | + | 我们需要将结构既注册为特征//和//还是结构特征,并注册我们的作品。 将结构注册为StructureFeature是可选的,并且用于将其保存到块中。 如果世界在您的结构加载过程中途中止,则在重新打开世界后对其进行注册将使其继续存在。 如果未将其注册到结构特征中,并且发生了这种情况,则该结构将中途停止(大多数情况下只会发生在较大的,多块宽的结构中)。 |
<code java [enable_line_numbers=" | <code java [enable_line_numbers=" | ||
public static final StructureFeature< | public static final StructureFeature< | ||
Line 252: | Line 246: | ||
</ | </ | ||
- | ==== Spawning Our Structure | + | ==== 生成我们的结构 |
- | Finally, we'll have to spawn our structure. A basic example which adds it to every biome is: | + | 最后,我们必须生成我们的结构。 将其添加到每个生物群系的一个基本示例是: |
<code java [enable_line_numbers=" | <code java [enable_line_numbers=" | ||
Registry.BIOME.forEach(biome -> { | Registry.BIOME.forEach(biome -> { | ||
Line 261: | Line 255: | ||
</ | </ | ||
- | === Finished! === | + | === 完成! === |
- | As you can see, we have a single white square in the center, with boxes going off the edges. Note that the radius in this screenshot was increased to 14 instead of the 7 used in the tutorial. | + | 如您所见,我们在中心有一个白色正方形,框在边缘之外。 请注意,此屏幕截图中的半径已增加到14,而不是本教程中使用的7。 |
- | {{https:// | + | {{https:// |
zh_cn/tutorial/jigsaw.txt · Last modified: 2020/02/24 02:59 by lightcolour