首次上传

This commit is contained in:
Othniel su
2024-11-06 15:38:59 +08:00
parent 0ca1e8b1ba
commit 336c89c2b2
757 changed files with 6442 additions and 0 deletions

View File

@@ -0,0 +1,64 @@
# 游戏基本元素与功能
在本节中,我们将学习《我的世界》中的基本元素和功能,认识到《我的世界》中各个基本元素的概念和构成,这将有助于理解《我的世界》的运作机制,并提高你制作模组的全局把控能力。
## 物品
**物品** 是《我的世界》中最重要的组成结构。你物品栏中的,手上拿的,身上穿的,箱子里装的本质都是物品。物品为《我的世界》中资源流动、中转、再生提供了可能。一个物品会占据一个 **ID** **标识符** ID就是区分不同物品的标识。有些特殊的物品会占据同一个ID并利用 **附加值** 加以区分。
## 物品堆叠
**物品堆叠** 是一组堆叠在一起的物品。自然,物品堆叠拥有的必要属性之一是其数量 **计数** ,低头看一下你的物品栏,你会发现有些地方很多物品对在一个格子上,并显示一个堆叠数量,那便是物品堆叠。物品堆叠可以通过 **用户数据** 存储额外的信息。所以有时候相同物品的两个不同的堆叠或许携带的信息有所不同。
参考资料:
- [物品](https://zh.minecraft.wiki/w/%E7%89%A9%E5%93%81)
- [物品堆叠组件Java版](https://zh.minecraft.wiki/w/%E7%89%A9%E5%93%81%E5%A0%86%E5%8F%A0%E7%BB%84%E4%BB%B6)
## 方块
地上的草方块、泥土,树干上的原木,地底下的石头,都是 **方块** 。方块指世界中占据1x1x1方格位置的物体有时候我们也会把破坏掉拾取到手里的方块的也成为方块但实际上你要知道这是物品而非方块或者更准确的说这是方块的物品形式。每种方块也会占据一个方块 **ID** 有些方块共享一个ID那么他们会通过 **数据值** 来区分彼此。每种方块都拥有不同的 **方块状态** ,方块状态之间的排列组合便构成了整个方块的 **方块置换** 。数据值和方块置换通常是一一对应的,他们可以互相转换。除了方块状态之外,一个位于世界中的方块无法再存有额外的信息,如果要想存储额外的信息,我们需要额外的元素。
## 方块实体
**方块实体** 便是用于存储方块额外信息的对象。一些特殊的方块会在其所在位置额外生成一个方块实体,方块实体拥有一个 **额外的存储** 空间,可以存储你想存储的任意信息。方块实体还经常用于处理大批量的方块滴答,这是因为方块实体的滴答和方块的滴答使用不同的处理管线。
例如,我们最常见的,可以用八块圆石合成的熔炉便是一种带有方块实体的方块。熔炉的方块实体负责存储当前正在烧制的物品、当前正在使用的燃料和烧制完成但尚未取出的物品。因此,熔炉方块实体容器具有三个槽位。此外,熔炉的方块实体还负责通过滴答来计时。当前燃料还有多少的剩余燃烧时间,当前正在烧制的物品还有多久就可以烧制完成,这些计时器也都通过方块实体实现。最后,熔炉的方块实体还会记录和存储目前已烧制物品对应产生的经验值。当你将物品从熔炉取出时,记录的经验值便会添加至你的经验槽,而此时熔炉方块实体则会将自己记录的经验值重新归零。
参考资料:
- [方块](https://zh.minecraft.wiki/w/%E6%96%B9%E5%9D%97)
- [方块实体](https://zh.minecraft.wiki/w/%E6%96%B9%E5%9D%97%E5%AE%9E%E4%BD%93)
- [方块实体格式(基岩版)](https://zh.minecraft.wiki/w/%E5%9F%BA%E5%B2%A9%E7%89%88%E4%B8%96%E7%95%8C%E6%A0%BC%E5%BC%8F/%E6%96%B9%E5%9D%97%E5%AE%9E%E4%BD%93%E6%A0%BC%E5%BC%8F)
## 实体
**实体** 也是《我的世界》中重要的组成结构之一。猪、牛、羊、僵尸、骷髅、甚至你自己都是《我的世界》中的实体。每种实体占据一个 **ID** ,并且可以拥有非常多的属性,其中这些属性也全部存储在一个存储空间中。因为实体比较自由,实体可以做到其他对象无法做到的很多事情,比如快速的滴答。
参考资料:
- [实体](https://zh.minecraft.wiki/w/实体)
## 配方
**配方** 是物品之间转换的方式,每种配方都有特定的一些 **输入** ,并通过特定的方块作为工具媒介, **输出** 特定的物品。《我的世界》提供了很多类型的配方,我们最常见的工作台的合成、熔炉的烧炼、酿造台的酿造都是配方的一种。配方往往用来控制游戏流程和游戏平衡。
参考资料:
- [配方](https://zh.minecraft.wiki/w/%E9%85%8D%E6%96%B9)
## 生物群系
**生物群系** 是控制世界地形生成阶段的 **地形** 起伏,地表、地下 **方块类型** ,以及地上 **生物自然生成** 的重要工具。你在《我的世界》中游玩时看到的平原、山地、河流、海洋都是不同类型的生物群系。
参考资料:
- [生物群系](https://zh.minecraft.wiki/w/%E7%94%9F%E7%89%A9%E7%BE%A4%E7%B3%BB)
## 维度
**维度** 是互相独立的三维空间,往往我们可以通过传送门在维度之间穿梭。不同的维度之间往往地形、外观、资源都大不相同。《我的世界》原版中的主世界、下界和末地便是三个不同的维度。
## NBT
**NBT** ,译名为 **二进制命名标签** ,是《我的世界》提供的一种存储结构。《我的世界》中的存档皆是用这种格式进行存储。上述提到的物品的用户数据、方块实体的额外数据以及实体的存储数据也都是使用这种格式。你可以查看[NBT格式](https://zh.minecraft.wiki/w/NBT%E6%A0%BC%E5%BC%8F)来了解更多信息。

View File

@@ -0,0 +1,38 @@
# 修改元素
在了解了一些常见的游戏内基本元素之后,我们再一起来思考一下如何修改这些元素。在本节接下来的内容中,我们一起探讨哪些元素以及元素的哪些信息比较容易进行修改和产生良好的效果。
## 物品
- 自定义一个新的物品往往是最直接的物品修改方式。
- 为一些物品添加额外的功能,例如:
- 使一些物品成为食物。你还可以让该物品被食用时触发额外的效果。
- 使一些物品成为武器或工具。你还可以让该物品被使用时触发额外的效果。
- 使一些物品成为盔甲。你还可以让该物品被穿上或褪下时触发额外的效果。
- 使一些物品成为燃料等。
- 让物品的掉落物具有一些功能。
## 方块
- 同样的,最简单的方式是自定义一个新的方块。
- 方块可以实现的功能就更多了,例如:
- 改变方块的形状,使其成为装饰。
- 为方块添加一个UI使其可以实现某些功能比如提供新种类的配方。
- 让方块和某些物品可以交互,并实现一些功能。
- 让方块成为一种作物,并加入配套的种植体系。
- 加入 **方块实体** !让方块成为一个容器,或者利用其可以成为容器这一特点实现一些功能,比如流体管道?比如战利品箱?还请各位自行思考。
## 实体
- 实体可以修改的要点纷繁复杂,其中最简单的便是定义一个新的实体。
- 官方在基岩版中为实体提供了大量的接口可以实现实体的各类基本功能例如AI、寻路、交互、骑乘、战斗、实体自己的物品栏充当容器等。这些内容不一而足需要大家自行探索和自主思考。
## 定义世界
维度和生物群系相互配合,你可以定义出新的世界的一角。为你心目中的世界打造一个新的维度吧,然后你可以将你的模组流程融入这些维度,将模组的资源分散到维度中的方块、物品、配方和战利品中,让你的模组有趣好玩,可探索性十足。
## 加入新的机制
《我的世界》最重要的便是你可以进行无穷无尽的创新,机械、电力、魔法,都可以是你考虑的方向。向《我的世界》添加新的机制与功能可以使模组的游玩者眼中焕然一新。