User Tools

Site Tools


zh_cn:tutorial:concepts

必要的 Minecraft 概念

本节旨在为初学者提供最基本的概述,涵盖在您开始第一个模组之前所需的基本概念和定义,作为一些背景知识。一些概念与游戏中可见的元素有关,另一些概念与修改时经常使用的文件或类有关。理解这些术语和概念有望使您更容易理解 wiki 的其他部分。

概念 英文名 描述
物品 Item 一些你可以拿在手上的东西,同样也可以丢在地上,放在物品栏中,或存储在容器中。物品可以是一些工具,或者是手中还未放置的方块。
方块 Block Minecraft 中建造一切的关键元素。很多方块都是立方体(cubes),但大多数你在放置的东西其实都是作为方块实现的,例如熔炉。有些方块看上去并不像立方体,例如按钮、栅栏和门,但仍然视作方块。需要注意:在代码中,方块应该视为一类方块的定义,而不是你在游戏中看见的一个单个方块。
方块状态 Block states 方块状态(有时简称为 state)是特定的由方块及其属性(properties)(例如方向、含水、生长阶段)组成的实例。方块状态在游玩时通常直接视作方块。每一个方块状态都有自己的 3D 模型。
方块物品 Block item 方块的物品形式,这样你可以拿在手里、堆叠或者存储。
实体 Entity 世界中的动态对象,通常可以移动。例如,ItemEntity 表示物品,当然还有 LivingEntity。一些特定的东西有时也实现为实体,例如投射物、物品展示框和画。
生物实体 Living entity 实体的子类,是活的,并且可以在世界里移动,例如玩家和实体(牛、僵尸、蝙蝠等)。
方块实体 Block entity 为方块存储额外数据,例如容器物品或者合成进程。方块实体可以为方块提供额外的逻辑,例如每刻执行时。不是所有的方块都有方块实体——只有实现了 BlockEntityProvider 的才会。“方块实体”和“实体”不是同一概念!
方块/物品模型 Block/item model
实体模型 Entity model 实体也有自己的 3D 模型,通常是直接在代码中使用 net.minecraft.client.render.entity.model.EntityModel 的实例定义的。
纹理(旧称材质) Texture 纹理是图形图像,用来给面提供独特的外观。纹理通常是为方块或物品以 16×16 像素的 .PNG 文件实现的,对于实体和 GUI 元素则可以是更大的图像。
渲染器 Renderer 虽然大多数模组会利用方块状态和模型的 JSON 文件以及 .PNG 的纹理来为方块和物品提供完整外观,并依赖默认的渲染机制以在世界中显示,就像你预期的那样,但有时候你也需要更加复杂的行为。这些情况下,你需要创建自定义的渲染器以实现所需要的结果。实体都是使用了渲染器。
NBT NBT NBT 是 Minecraft 使用的数据存储文件格式。你在你的实体或方块类中就会使用 NBT 存储和加载方法,以确保数据会在世界存档中正确保存和加载。这似乎比较复杂,但是覆盖数个方法并在代码中添加几行并不复杂。在“添加方块实体”那一节中将会详细描述。
Sides Minecraft 设计为两个分离的部分:客户端(client)和服务器(server)。当你在服务器中游玩时,这分得很清楚,但是在你自己的电脑上游玩时,服务器这部分依然存在。你会经常看到一些被覆盖的方法被客户端和服务器两端同时调用,因此需要区分你对应的哪一端以进行检测。最简单常用的方法就是检测布尔值方法 world.isClient()。参见此链接以了解更详细的信息。
数据同步 Data sync 尽管你可以在方块实体中存储方块数据,但这些数据并不会在客户端和服务器中自动传输。你需要使用几行代码手动启用它,参见blockentity

这是“必要的 Minecraft 概念”页面的早期版本。还有很多概念都需要添加。对于初学者,如果您遇到没有描述且让您困惑的概念,请将其添加到此页(添加到英文版页面)。对于专家,请纠正您发现的任何错误,并尽可能保持简洁易懂,以确保没接触过 Minecraft 和 Fabric 模组编写的人也能够理解。

zh_cn/tutorial/concepts.txt · Last modified: 2022/08/08 03:48 by 127.0.0.1