pineapple_
本帖最后由 pineapple_ 于 2017-11-5 23:04 编辑

新版本传送门点这里

我是菠萝Pine_apple_,我之前发过一个关于自定义自然生成建筑的帖子http://www.mcbbs.net/thread-715065-1-1.html,只不过那是一个雏形版,20多天前,我就把它修改成了这个完整版的,只不过一直忘记发出来。这次我填补了上次的一些不足的地方,然而观赏性还是很差(你会知道到底多差的233333)。
正文
注意:看本帖之前建议先看完雏形版那个贴。
什么是自然生成建筑?村庄,要塞,废弃矿洞……都是原版的自然生成建筑,这很好理解对吧。
先直接放下载地址吧:https://pan.baidu.com/s/1bUUhGU 密码: wqir
把下载的压缩包复制到任意.minecraft\saves\任意地图下,解压到当前文件夹并覆盖原来的data文件夹,打开游戏即可。
效果就是只要玩家身处平原生物群系,就会在周围尝试自然生成"石英树",石英树上会随机地长苹果。
石英树到底长什么样呢,见过橡树吧,把橡树的"树干"换成"竖纹石英块","树叶"换成"錾制石英块",
树叶下面会有果子,具体什么样就留个悬念,开生存打掉可以获得一个"Apple(装饰)"。
主要原理

网好像炸了,图片死活传不了……所以只能文字叙述了
本次只是补充下上次的不足,所以看看上个贴子的图也是能理解什么意思的

先把advancement和function放这里,结合adv和func来说吧
data\advancements\generat\enter_plains.json

data\functions\generat\main.mcfunction

data\functions\generat\mark.mcfunction

data\functions\generat\spread.mcfunction


data\functions\generat\build.mcfunction


简单说一下:
在生成建筑之前,要先确定该区块是否被玩家加载过,被玩家加载过的区块不能生成建筑,
如果被加载过的区块可以生成建筑,那玩家在某处造了个房子,跑图回来发现自己的房子上长树就GG了。
所以在玩家经过的区块上必须被标记上无法生成,记号(marker)可以选用area_effect_cloud(药水云,简称aec)。
但是一个原版区块标记一次的话,不仅需要很多实体占用资源,还会使生成的效果不好(跑着跑着突然冒出来一棵树)。
所以这里记64×256×64大小为一个区块(不和原版区块对齐),以下所说区块均不为原版区块。

adv的作用就是只要玩家在平原生物群系,就会使玩家执行main这个func(省了高频又控制了生物群系)

玩家第一次进入生物草原生物群系,会对当前区块进行标记,并尝试生成树,summon出x个aec,(x与几率有关),和一个辅助用的aec,不断扩散这些aec,直到除了辅助aec都被扩散到没有被marker覆盖的区域,清除辅助aec,给予其中一个aec一个True标签,清除(x-1)个aec,如果留下的aec带有Ture标签,那么它就会在附近随机生成一些树。
离开这个区块并还在平原生物群系的话,就再标记一次并尝试生成树,每次生成的几率会固定在1/x
如果生成x个aec太多而无法扩散,但还想要很低的几率,比如想要1/10000的几率,就可以生成10个aec,分别随机给一个marker标签5次,同时拥有5个标签的aec才生成树


我这个贴的语言可能过于简单,有时间的话我再编辑一下



顺便打个广告:[优秀]1.11.2的多人小游戏地图http://www.mcbbs.net/thread-720335-1-1.html

1134443057
简单的说一下都没懂,我果然不适合这个游戏

ruhuasiyu
然而这苹果都不能吃……

2759159258
adv的一脸懵B
还是入门到入土好看些。。。

pineapple_
ruhuasiyu 发表于 2017-9-12 13:47
然而这苹果都不能吃……

在1.13更新之后配合自定义合成,它就能吃了,23333

ruhuasiyu
pineapple_ 发表于 2017-9-12 22:37
在1.13更新之后配合自定义合成,它就能吃了,23333

1.13自定义合成?不存在的

ruhuasiyu
关于苹果我倒是想起来可以这么弄,先在苹果处生成一个生物,然后检测为空气时杀死,掉落苹果,再清楚地面和背包的苹果头颅。这样就能吃了。。。

pineapple_
ruhuasiyu 发表于 2017-10-29 21:14
关于苹果我倒是想起来可以这么弄,先在苹果处生成一个生物,然后检测为空气时杀死,掉落苹果,再清楚地面和 ...

你这个让我想到
把苹果都换成头戴苹果头颅的小村民,这样还能让苹果贴到树叶上,怼这个村民一下让它summon苹果并把村民tp到虚空

ruhuasiyu
pineapple_ 发表于 2017-10-29 21:27
你这个让我想到
把苹果都换成头戴苹果头颅的小村民,这样还能让苹果贴到树叶上,怼这个村民一下让它summo ...

直接一血村民呗

ruhuasiyu
pineapple_ 发表于 2017-10-29 21:27
你这个让我想到
把苹果都换成头戴苹果头颅的小村民,这样还能让苹果贴到树叶上,怼这个村民一下让它summo ...

但是村民有一点不好,会吸引僵尸。

第一页 上一页 下一页 最后一页