[工机巧艺] [15w05b|TML|乾坤]模拟自然生成球类建筑

大家好,我是TML的乾坤,这次的作品是:模拟自然生成球类建筑是一个概念性的原型机,又因为是快照版本,还有电路用到了区块价值的一些东西,导致BUG更多,这次主要是分享一下我的脑洞XD
话不多说,首先说是要生成建筑对吧,那先来看看(我都看不下去,建筑技能点-250)

楼主 乾坤轩辕1  发布于 2016-02-07 19:32:00 +0800 CST  
二楼备用

楼主 乾坤轩辕1  发布于 2016-02-07 19:32:00 +0800 CST  
三楼存档

楼主 乾坤轩辕1  发布于 2016-02-07 19:32:00 +0800 CST  
四楼拜年

楼主 乾坤轩辕1  发布于 2016-02-07 19:32:00 +0800 CST  


长得和毒瘤差不多。。。
内部(有一只自定义掉落随机物品的僵尸,那个箱子内物品也是通过Loot table随机生成的,具体参见我的LootTable教程贴:http://tieba.baidu.com/p/4128061765和其他触例如SYL的LootTable的教程)


大家可以看到,图中后面是一堆类似的建筑,就是用电路生成出来的,我为了让效果更加明显,故意调低了间隔距离,这个一会再谈。


(中间那个白色的就是源建筑)

楼主 乾坤轩辕1  发布于 2016-02-07 19:35:00 +0800 CST  
那我们来看看电路和使用:
电路总览:


虽然电路不大,甚至很小,但从图中可以看出,没有一个红石元件,全部是CB链组成的,这个的原理可以参考pca的纯CB逻辑(链接:http://www.mcbbs.net/thread-519679-1-1.html),能够大大简化逻辑门和计分板,所以本地图也没有一个计分板,包括Tag,说了那么多,先来看看命令(右边是主逻辑串,左边是被调用的CB链):
右:

/blockdata ~ ~ ~ {auto:0b}

/blockdata -9996 4 -9997 {auto:1b}

/blockdata -9996 4 -9998 {auto:0b}

/testfor @e[type=ArmorStand,name=SP]

/blockdata -9996 4 -9997 {auto:0b}

/blockdata -9996 4 -9998 {auto:1b}

/execute @e[type=ArmorStand,name=SP] ~ ~ ~ /testfor @e[type=ArmorStand,name=Build,r=200]

/blockdata -9996 4 -9998 {auto:0b}

/execute @e[type=ArmorStand,name=SP] ~ ~ ~ /spreadplayers ~ ~ 1 300 false @e[type=ArmorStand,name=SP]

/summon ArmorStand ~2 ~ ~2 {CustomName:SP}

/blockdata -10000 4 -9988 {auto:1b}

/blockdata -9996 4 -9988 {auto:1b}


左(被调用):

/blockdata ~ ~ ~ {auto:0b}

/execute @e[type=ArmorStand,name=SP] ~ ~ ~ /clone -10014 3 -10013 -10020 13 -10020 ~ ~ ~ replace force

/execute @e[type=ArmorStand,name=SP] ~ ~ ~ /summon Zombie ~3 ~2 ~4 {DeathLootTable:test:test1}

/execute @e[type=ArmorStand,name=SP] ~ ~ ~ /summon ArmorStand ~ ~ ~ {CustomName:Build}


主逻辑我就不重点提了,无非是逻辑嵌套,这里说一些有意思的东西:
/execute @e[type=ArmorStand,name=SP] ~ ~ ~ /testfor @e[type=ArmorStand,name=Build,r=200]
/execute @e[type=ArmorStand,name=SP] ~ ~ ~ /spreadplayers ~ ~ 1 300 false @e[type=ArmorStand,name=SP]
首先看这两条命令,第一条控制的是两个建筑物之间的最小距离(r=200),而第二条控制的是刷出建筑物的落点随机范围(1-300)这两个命令决定了最终建筑的距离,这个大家可以自己体会一下。


然后是两个Loottable的代码:
箱子:
{"pools":[{"rolls":{"min":3,"max":5},"entries":[{"type":"item","name":"minecraft:diamond","weight":2,"functions":[{"function":"set_count","count":{"min":1,"max":3}}]},{"type":"item","name":"minecraft:cookie","weight":5},{"type":"item","name":"minecraft:enchanted_book","weight":2,"functions":[{"function":"set_nbt","tag":"{StoredEnchantments:[{lvl:3s,id:35s}]}"}]},{"type":"item","name":"minecraft:iron_pickaxe","weight":3,"functions":[{"function":"enchant_with_levels","treasure":false,"levels":{"min":10,"max":30}},{"function":"set_damage","damage":{"min":0,"max":1}}]},{"type":"item","name":"minecraft:iron_ingot","weight":6}]}]}


僵尸:

{"pools":[{"rolls":{"min":3,"max":3},"entries":[{"type":"item","name":"minecraft:iron_ingot","weight":5,"functions":[{"function":"looting_enchant","count":{"min":1,"max":3}},{"function":"set_count","count":{"min":0,"max":2}}]},{"type":"item","name":"minecraft:diamond_sword","weight":1,"functions":[{"function":"enchant_with_levels","treasure":false,"levels":{"min":20,"max":30},"conditions":[{"condition":"random_chance_with_looting","chance":0.05,"looting_multiplier":0.03}]},{"function":"set_count","count":{"min":1,"max":1}},{"function":"set_damage","damage":{"min":0,"max":0.25}}],"conditions":[{"condition":"killed_by_player","inverse":false}]}]}]}


总而言之就是做到了每个建筑都不相同,符合MC自然生成的规律
还有最后一个CB是用来控制循环的,要想停止刷出,就将这个cb的need redstone开启即可.


楼主 乾坤轩辕1  发布于 2016-02-07 19:39:00 +0800 CST  
好了,作品主要已经交代完了,接下来说几句题外话,其实这个原型机拓展空间很大,例如可以加入探测生物群系生成等,这样可以做到很接近那些原版自然建筑(如雪屋只在雪原生成,这个可通过STATS指令比对方块做到,但可能有简便的做法),这个SYL,PCA他们告诉我国外有个叫GameMode4的原版地图,似乎是有这些功能,应该非常强大,大家可以去了解一下(我没去看,要翻墙)
好了就这些吧,谢谢大家的浏览!
下载链接:http://pan.baidu.com/s/1nt2DEyP



楼主 乾坤轩辕1  发布于 2016-02-07 19:40:00 +0800 CST  
小组贴吧:http://tieba.baidu.com/f?kw=the_minecraft_lover
小组招收贴:http://tieba.baidu.com/p/4083473843
小组交流QQ群号:302614131
贴吧群号:1433841136
欢迎各位加入THE MINECRAFT LOVER 小组(大家庭(搞基群))!


楼主 乾坤轩辕1  发布于 2016-02-07 19:40:00 +0800 CST  
@爱吐槽喵星人@1041159637@duoduo_123dong@堕落o的风@逆流彡时光
求精品呜( ´▽` )ノ

楼主 乾坤轩辕1  发布于 2016-02-07 19:53:00 +0800 CST  

楼主:乾坤轩辕1

字数:4593

发表时间:2016-02-08 03:32:00 +0800 CST

更新时间:2016-07-20 08:19:56 +0800 CST

评论数:32条评论

帖子来源:百度贴吧  访问原帖

 

热门帖子

随机列表

大家在看