本帖最后由 PotatoMaster101 于 2014-9-30 06:08 编辑

大家好。今天无聊时做了一个智能的@末影矿工 (Woody_Mo)。由于他做了高仿真PotatoMaster101,所以今天就做了智能Woody_Mo。

Woody_Mo的智能生物系列,就是一些生物有特殊的技能什么,可以做Boss单位。今天仿照的是他本人和他的熊孩子本性。

---------------分割线-------------

首先,要的是召唤Woody_Mo。这个需要很多资源:4个金块,4个绿宝石块和1个钻石块。首先在中间放一个钻石块,然后使用绿宝石块围起来,然后在十字架的斜上方放金块。截图:


之后,玩家站在钻石块的中间就可以了。Woody_Mo就会出现,并且击碎所有的宝石块。

之后就慢慢和他PK把,他的技能有:破坏地形,扔TNT,召唤凋零保镖,周围玩家爆炸,周围玩家盲目,周围玩家卡到地板下,周围玩家清空背包和杀了附近的所有生物(不包括玩家和Woody_Mo)。

---------------分割线-------------

这些技能全部都是随机器做的,随机器随机选中一个技能。

首先是破坏地形。这个很简单,直接使用/fill就可以完成:
  1. /execute @e[type=Zombie,name=Woody_Mo] ~ ~ ~
  2. /fill ~-3 ~ ~-3 ~3 ~5 ~3 minecraft:air 0 destroy
复制代码
把Woody_Mo四周的方块/fill了,全部换成空气。如果他在玩家的房子里,那么房子会坏掉,不管是什么材料。

之后是扔TNT,这个也很简单,直接刷掉落沙就可以了。一共4条指令:
  1. /execute @e[type=Zombie,name=Woody_Mo] ~ ~ ~
  2. /summon FallingSand ~ ~0.5 ~
  3. {Time:1,Block:"minecraft:tnt",Motion:[0.7,0.7,0.0]}
复制代码
  1. /execute @e[type=Zombie,name=Woody_Mo] ~ ~ ~
  2. /summon FallingSand ~ ~0.5 ~
  3. {Time:1,Block:"minecraft:tnt",Motion:[0.0,0.7,0.7]}
复制代码
  1. /execute @e[type=Zombie,name=Woody_Mo] ~ ~ ~
  2. /summon FallingSand ~ ~0.5 ~
  3. {Time:1,Block:"minecraft:tnt",Motion:[-0.7,0.7,0.0]}
复制代码
  1. /execute @e[type=Zombie,name=Woody_Mo] ~ ~ ~
  2. /summon FallingSand ~ ~0.5 ~
  3. {Time:1,Block:"minecraft:tnt",Motion:[0.0,0.7,-0.7]}
复制代码
这些指令方块同时激活,往4个不同方位扔TNT

之后是凋零保镖。这个在Woody_Mo头上刷出一个持续几秒的无敌凋零来攻击生物。几秒后消失。
  1. /execute @e[type=Zombie,name=Woody_Mo] ~ ~ ~
  2. /summon WitherBoss ~ ~4 ~
  3. {CustomName:"BodyGuard",Invulnerable:1b}
复制代码
刷出一个叫“BodyGuard”的无敌凋零。之后有延迟特长的红石线,连上:
  1. /tp @e[type=WitherBoss,name=BodyGuard] ~ ~-9999 ~
复制代码
凋零杀掉

之后就是玩家爆炸了。这个也很简单:
  1. /execute @e[type=Zombie,name=Woody_Mo] ~ ~ ~
  2. /execute @a[r=5] ~ ~ ~
  3. /summon Creeper ~ ~ ~
  4. {ignited:1b,Fuse:0,ExplosionPower:50}
复制代码
把Woody_Mo四周的玩家那里刷苦力怕,没装备的玩家会被瞬间炸死。

其他的玩家卡地板,清理背包,药水属性什么都是使用/execute然后加上一些简单的指令,我就不多说了。

---------------分割线-------------
之后来说下激活系统的工作原理。主要使用/execute detect的功能做的。指令:
  1. /execute @a ~ ~ ~ detect ~-1 ~-1 ~0 minecraft:emerald_block 0
  2. /execute @p ~ ~ ~ detect ~-1 ~0 ~-1 minecraft:gold_block 0
  3. /execute @p ~ ~ ~ detect ~-1 ~0 ~1 minecraft:gold_block 0
  4. /execute @p ~ ~ ~ detect ~0 ~-1 ~-1 minecraft:emerald_block 0
  5. /execute @p ~ ~ ~ detect ~0 ~-1 ~0 minecraft:diamond_block 0
  6. /execute @p ~ ~ ~ detect ~0 ~-1 ~1 minecraft:emerald_block 0
  7. /execute @p ~ ~ ~ detect ~1 ~-1 ~0 minecraft:emerald_block 0
  8. /execute @p ~ ~ ~ detect ~1 ~0 ~-1 minecraft:gold_block 0
  9. /execute @p ~ ~ ~ detect ~1 ~0 ~1 minecraft:gold_block 0
  10. /setblock -770 5 -1631 minecraft:redstone_block 0 replace
复制代码

这条指令探测玩家四周的所有方块,并且有没有达到要求(要求就是站在钻石块上面,然后周围有绿宝石和金块)。达到的话,机器就会/setblock在一个地方,开启机器。

开启机器后激活5个指令方块,分别是:刷生物,使用/title告诉玩家信息,清空玩家的宝石建筑和随机器。这里使用了2个/title,一个是标题一个是字幕。
首先是/title
  1. /title @a title
  2. {text:"Woody_Mo",color:aqua}
复制代码
  1. /title @a subtitle
  2. {text:"has been summoned",color:red}
复制代码
这2条指令告诉玩家Woody_Mo被正确刷出了。

之后就是刷出Woody_Mo:
  1. /execute @a ~ ~ ~ detect ~-1 ~-1 ~0 minecraft:emerald_block 0
  2. /execute @p ~ ~ ~ detect ~-1 ~0 ~-1 minecraft:gold_block 0
  3. /execute @p ~ ~ ~ detect ~-1 ~0 ~1 minecraft:gold_block 0
  4. /execute @p ~ ~ ~ detect ~0 ~-1 ~-1 minecraft:emerald_block 0
  5. /execute @p ~ ~ ~ detect ~0 ~-1 ~0 minecraft:diamond_block 0
  6. /execute @p ~ ~ ~ detect ~0 ~-1 ~1 minecraft:emerald_block 0
  7. /execute @p ~ ~ ~ detect ~1 ~-1 ~0 minecraft:emerald_block 0
  8. /execute @p ~ ~ ~ detect ~1 ~0 ~-1 minecraft:gold_block 0
  9. /execute @p ~ ~ ~ detect ~1 ~0 ~1 minecraft:gold_block 0
  10. /summon Zombie ~2 ~1 ~2
  11. {Equipment:[{id:"minecraft:diamond_sword",Count:1b,Damage:0s,tag:{Unbreakable:1b,ench:[{id:19,lvl:2},{id:16,lvl:5}]}},{id:"minecraft:chainmail_boots",Count:1b,Damage:0s,tag:{Unbreakable:1b,ench:[{id:0,lvl:30},{id:3,lvl:50}]}},{id:"minecraft:chainmail_leggings",Count:1b,Damage:0s,tag:{Unbreakable:1b,ench:[{id:0,lvl:30},{id:3,lvl:50}]}},{id:"minecraft:chainmail_chestplate",Count:1b,Damage:0s,tag:{Unbreakable:1b,ench:[{id:0,lvl:30},{id:3,lvl:50}]}},{id:"minecraft:skull",Damage:3s,Count:1b,tag:{SkullOwner:"Woody_Mo",ench:[{id:0,lvl:30},{id:3,lvl:50}]}}],DropChances:[0.0F,0.0F,0.0F,0.0F,0.0F],Silent:1b,CustomNameVisible:1b,CustomName:"Woody_Mo",ActiveEffects:[{Id:14,ShowParticles:0b,Duration:99999},{Id:12,ShowParticles:0b,Duration:99999},{Id:5,Amplifier:5,ShowParticles:0b,Duration:99999}],Attributes:[{Name:generic.maxHealth,Base:1000}]}
复制代码
和刚才的一样,探测玩家四周的方块,然后刷出一个叫“Woody_Mo”的自定义僵尸
然后就是摧毁玩家的建筑
  1. /execute @a ~ ~ ~ detect ~-1 ~-1 ~0 minecraft:emerald_block 0
  2. /execute @p ~ ~ ~ detect ~-1 ~0 ~-1 minecraft:gold_block 0
  3. /execute @p ~ ~ ~ detect ~-1 ~0 ~1 minecraft:gold_block 0
  4. /execute @p ~ ~ ~ detect ~0 ~-1 ~-1 minecraft:emerald_block 0
  5. /execute @p ~ ~ ~ detect ~0 ~-1 ~0 minecraft:diamond_block 0
  6. /execute @p ~ ~ ~ detect ~0 ~-1 ~1 minecraft:emerald_block 0
  7. /execute @p ~ ~ ~ detect ~1 ~-1 ~0 minecraft:emerald_block 0
  8. /execute @p ~ ~ ~ detect ~1 ~0 ~-1 minecraft:gold_block 0
  9. /execute @p ~ ~ ~ detect ~1 ~0 ~1 minecraft:gold_block 0
  10. /fill ~-1 ~-1 ~-1 ~1 ~1 ~1 minecraft:air 0 destroy
复制代码
把召唤的玩家的四方方块都删掉

然后就开启随机器
  1. /setblock -764 4 -1640 minecraft:mob_spawner 0 replace
  2. {MinSpawnDelay:75,MaxSpawnDelay:75,SpawnCount:1,Delay:1,RequiredPlayerRange:100,MaxNearbyEntities:1,SpawnRange:1,EntityId:FallingSand,SpawnPotentials:[{Type:FallingSand,Properties:{Pos:[-765.5,4.0,-1642.5],Time:50,DropItem:0,Block:"minecraft:redstone_block"},Weight:2},{Type:FallingSand,Properties:{Pos:[-764.5,4.0,-1642.5],Time:50,DropItem:0,Block:"minecraft:redstone_block"},Weight:3},{Type:FallingSand,Properties:{Pos:[-763.5,4.0,-1642.5],Time:50,DropItem:0,Block:"minecraft:redstone_block"},Weight:1},{Type:FallingSand,Properties:{Pos:[-762.5,4.0,-1642.5],Time:50,DropItem:0,Block:"minecraft:redstone_block"},Weight:4},{Type:FallingSand,Properties:{Pos:[-760.5,4.0,-1642.5],Time:50,DropItem:0,Block:"minecraft:redstone_block"},Weight:3},{Type:FallingSand,Properties:{Pos:[-759.5,4.0,-1642.5],Time:50,DropItem:0,Block:"minecraft:redstone_block"},Weight:2},{Type:FallingSand,Properties:{Pos:[-758.5,4.0,-1642.5],Time:50,DropItem:0,Block:"minecraft:redstone_block"},Weight:4},{Type:FallingSand,Properties:{Pos:[-761.5,4.0,-1642.5],Time:50,DropItem:0,Block:"minecraft:redstone_block"},Weight:6}]}
复制代码

之后就完工了。还有最后一个系统:探测Woody_Mo还在不在。如果死了,那么会关闭随机器。这个很简单,/testfor就能做到:
  1. /testfor @e[type=Zombie,name=Woody_Mo]
复制代码
后面反转信号,关闭随机器:
  1. /setblock -764 4 -1640 minecraft:air 0 replace
复制代码

截图和解释:


Woody_Mo成功刷出



电路截图
http://v.youku.com/v_show/id_XNzkyMTAzODI4.html
==========END============
[groupid=546]Command Block Logic[/groupid]