我的世界可以造什么怪物?

吉淦光吉淦光最佳答案最佳答案

最近在研究怪物模组,发现一个很有意思的事情,Mojang在设计怪物的时候似乎加入了隐藏彩蛋,如果我们按照一定的方法合成一些特殊材质,就可以还原出原版中未出现的生物!比如下面这张壁纸 这是一个很奇怪的图片,在我的世界中,无论将画面放大多少倍,都找不到任何生物的存在。但如果将这个图片进行一定程度上的合成,则可以还原出史蒂夫和末影人! 这张图片中只有史蒂夫和末影人两个人物,如果想要将他们还原出来,我们首先需要找到两个人物的贴图,然后检测他们身上与地面接触的部分(即腿部)是否有材质。如果有的话,我们就可以使用一种叫做“水地牢”的漏洞,生成出两个可互动的生物实体。 这个任务并不复杂,只需要两张人物贴图和一个指令即可搞定一切。我使用了命令方块来测试,最终的结果是非常成功的——两个未知种类的生物诞生了!

我尝试着让新生物攻击我,然而它们并没有任何动作……看来这些生物仅仅是被设计成可以被“看见”,但是不能被“触碰”的。 接下来就是考验想象力的时候了。既然可以还原出两种已知生物,那么按照同样的原理,我们可以还原出游戏中的其它未知生物吗?答案是可以的。只要你的想象力足够丰富,你可以创造任何你希望看到的生物。

以下是我的试验结果,我将原壁纸中所有的文字都删除后,按顺序添加三行不同的文字,最终得到了三幅完全不同的壁纸。每幅图中我保留了最后文字的位置,这样就会有一个生物出现在玩家视线内。接着我使用水地牢漏洞,成功生成了三个不同种类的未知生物。

当然,这些生物的素材并不是来源于原版文件,为了便于识别,我只给了它们每人一个专属的名字。如果小伙伴有兴趣的话,也可以自己试一试~ 另外再说一下关于这个问题,我查阅了Java版源代码,在data/world/gen_spawner.java中有这样一段代码,应该算是默认生成的生物名单吧(因为无法测试,所以不知道是否真正有效):

// Spawn list, ordered by spawn chance. 生成列表,排列顺序为生成几率。

private static final EntityType[] SPAWNLIST = new EntityType(EntityClassification.MONSTER, "SpawnList", 50); ... for (int var7 = 0; var7 0 && isValidPosition(pos, true)) { this.setEntityId(pos, SPACE_ID, SPAWNLIST[var7]); addEntityToWorld(new EntityCreature(Minecraft.getMinecraft().world, pos, SPAWNLIST[var7]), false, false){} } } 只要我们在游戏中输入指令: /give @s 64{CustomName:Spawnlist,Spawn Chance:100} 就可以获得上面代码中“Spawn List”部分的所有种子生物了~(我自己是没有试过这个指令啦,只是展示给大家看效果)

我来回答
请发表正能量的言论,文明评论!