动物遗传学

动物遗传学

让游戏中的所有动物都有真实的遗传特性。

你是否曾尝试培育一匹优秀的 Minecraft 马,然后想:为什么我不能培育出一匹比鞘翅还快的马!好吧,动物遗传学为你解决了这个问题!同时还为猪、羊、牛、马、炽足兽、狐狸、狼等生物引入了真正的遗传数学!动物遗传学让选择性培育动物成为可能,你可以让它们按你的意愿发展。

动物遗传学的机制足够简单,只有遗传学的数学部分比较复杂。首先繁殖 2 只动物,让它们生出几只幼崽,每只幼崽都会混合 2 个亲本的基因。如果你只繁殖拥有你想要的性状的幼崽,比如速度,那么你选出最快的 2 只幼崽并让它们繁衍下一代,然后重复,直到你得到一只比喷气机还快的猪!

基因组

你可能会问,有多少性状受遗传控制?每只动物有 5 个基因组,这些基因组实际上就是它们的遗传数据(管理员可以用命令查看遗传数据)。速度基因组、力量基因组、生命基因组、跳跃基因组和外观基因组。

速度

控制生物的速度,你可以让一个生物慢到无法移动,或者让一个生物快到比鞘翅还快。

力量

控制攻击伤害、体型以及生物掉落物数量。它甚至会提高鸡产蛋的数量!如果一只生物拥有极大的力量,它们会破坏走过的树叶;力量更高时,它们会破坏栅栏。需要注意的是,生物的最小和最大体型分别为 0.25 倍和 2 倍。最大掉落倍率为 4,最小为 0。掉落物倍增和体型变化需要 pekui 模组。

生命

控制生物生命值。最大约 35,最小为 1。

跳跃

仅对马有效,这可以控制跳跃高度,范围从无法跳跃到跳跃 25 格。

外观

因生物而异。对于马,它控制颜色。对于狐狸,控制它们的颜色。兔子,控制颜色,以及是否为杀手兔。熊猫,控制它们的性格。等等。它们也存储突变。

突变

每当你繁殖 2 只动物时,它们会混合 2 个亲本的性状,并随机突变基因组的部分内容。每个基因组上有 5 个基因,会带来极端的正面或负面效果。也就是说,只有通过突变才能获得极端数值。也就是说,只能通过繁殖获得。(因为自然生成时,它们不会获得突变) 然而,对于外观基因组,5 个突变基因中编码了超能力。

飞行/无摔落伤害

使可骑乘生物在被骑乘时能够飞行,同时也使不可骑乘和可骑乘生物不受摔落伤害。未安装 pekui 时,飞行速度较慢。在 1.19.4 之前使用数据包时可能无效。不过应该不会造成大问题。

抗火

它们拥有永久抗火效果。

水下呼吸

它们拥有永久水下呼吸效果。

冰霜行者

永久冰霜行者。

生命恢复

它们拥有永久生命恢复效果。

管理员控制与设置

此数据包还为 op 菜单添加了许多设置。如果你处于创造模式,并且有命令权限,你可以使用 op 菜单。只需输入“/trigger op_menu”。如果你将鼠标悬停在菜单中的设置上,它们会告诉你设置的作用。有各种各样的设置。从禁用外观基因组影响不同生物的颜色,到禁用特殊突变。这让你可以根据自己服务器的需求平衡此数据包。还有一些较小的工具,比如查看附近生物基因组的命令,或者重新随机它们的基因组。

极客技术细节

我首先以记分板的形式存储遗传信息。我想要遗传的每个性状对应 2 个记分板。例如:一个速度雄性记分板,一个速度雌性记分板。然后我使用二进制转十进制转换器,将记分板中的十进制数转换为 1 和 0 的列表。然后合并雌性和雄性记分板。例如:9 雄性 -> 01001,8 雌性 -> 01000。然后合并后的速度遗传信息为:02001。

当世界启动时,我有一个随机数生成器,会生成 31 个不同的 1 和 0,然后将它们合并成一个十进制数。之所以是 31,是因为这是记分板中能存储的最大二进制数。

老实说,生物的外观表现是较难实现的功能之一。如果我想做到准确,就需要特定基因具有特定效果,并与其他基因的效果相互作用。因为现实世界中就是这样运作的。基因 1、2、3 控制马的深浅,5、6、7 控制它是否有斑点,等等。基本上,你让基因效果越混乱,基因效果之间相互抵消或相互帮助越多,它们之间的相互作用越多,对于一款方块游戏而言就越准确。

当需要读取遗传信息并用它来施加实际效果时,我会将十进制数转换为二进制,并对每一位施加不同的效果。需要注意的是,来自雌性侧和雄性侧的合并遗传信息都会被使用,这意味着有 3 个值:0、1、2。如果第一位是 0,增加 0.1 速度。如果第一位是 1,增加 -0.1 速度。如果第一位是 2,增加 0.5 速度。