注:至少要有双持的版本才可以运行,所以只支持1.9+(因为本人即将隐退,以后可能来不及改,所以先这么放着)。使用快照版本最好使用15w33b以上的快照版本,因为刷怪蛋利用的是15w33b的新特性。
所谓山田之术,大致意为"操控掉落物,使掉落物悬浮并砸向实体"。以下为原版和我做的装置的对比图↓
(手上的效果是模仿热血时代剧中发动山田之术时手上的闪光效果。由于时代剧通关起来非常麻烦(清兵慢),所以先用这个来代替)
1.发动山田之术的准备动作:
在发动山田之术时,盔甲架的双手会有闪光的效果并张开。注意观察gif便能看出,盔甲架手上实际上是两张纸。首先先利用的是两个命令方块,指令分别为
- replaceitem entity @e[type=ArmorStand,name=shantian] slot.weapon.offhand paper
- replaceitem entity @e[type=ArmorStand,name=shantian] slot.weapon.mainhand paper
- replaceitem entity @e[type=ArmorStand] slot.weapon.offhand air
- replaceitem entity @e[type=ArmorStand] slot.weapon.mainhand air
- entitydata @e[type=ArmorStand,name=shantian] {Pose:{LeftArm:[0.0F,0.0F,270.0F],RightArm:[0.0F,0.0F,90.0F]}}
由于目前似乎没有让掉落物Item不会下落的nbt,这里使用的是放置屏障来阻挡掉落物下降。利用屏障不在手里拿着时会变成透明的特性(这里用的是创造模式)来做到这个效果。
首先使用
- tp @e[type=Item] ~ ~5 ~
- execute @e[type=Item] ~ ~ ~ setblock ~ ~-1 ~ minecraft:barrier
3.扔物品的动作:
改变盔甲架双手的动作只需要将Pose中的LeftArm以及RightArm的度数改变即可。
- entitydata @e[type=ArmorStand,name=shantian] {Pose:{LeftArm:[180.0F,0.0F,0.0F],RightArm:[180.0F,0.0F,0.0F]}}
- entitydata @e[type=ArmorStand,name=shantian] {Pose:{LeftArm:[160.0F,0.0F,0.0F],RightArm:[160.0F,0.0F,0.0F]}}
- entitydata @e[type=ArmorStand,name=shantian] {Pose:{LeftArm:[140.0F,0.0F,0.0F],RightArm:[140.0F,0.0F,0.0F]}}
- entitydata @e[type=ArmorStand,name=shantian] {Pose:{LeftArm:[160.0F,0.0F,0.0F],RightArm:[160.0F,0.0F,0.0F]}}
- entitydata @e[type=ArmorStand,name=shantian] {Pose:{LeftArm:[180.0F,0.0F,0.0F],RightArm:[180.0F,0.0F,0.0F]}}
- entitydata @e[type=ArmorStand,name=shantian] {Pose:{LeftArm:[200.0F,0.0F,0.0F],RightArm:[200.0F,0.0F,0.0F]}}
- entitydata @e[type=ArmorStand,name=shantian] {Pose:{LeftArm:[220.0F,0.0F,0.0F],RightArm:[220.0F,0.0F,0.0F]}}
- entitydata @e[type=ArmorStand,name=shantian] {Pose:{LeftArm:[240.0F,0.0F,0.0F],RightArm:[240.0F,0.0F,0.0F]}}
- entitydata @e[type=ArmorStand,name=shantian] {Pose:{LeftArm:[260.0F,0.0F,0.0F],RightArm:[260.0F,0.0F,0.0F]}}
- entitydata @e[type=ArmorStand,name=shantian] {Pose:{LeftArm:[290.0F,0.0F,0.0F],RightArm:[290.0F,0.0F,0.0F]}}
- entitydata @e[type=ArmorStand,name=shantian] {Pose:{LeftArm:[300.0F,0.0F,0.0F],RightArm:[300.0F,0.0F,0.0F]}}
4.掉落物砸僵尸:
首先创造一个名称为1的积分板(变量为dummy即可),之后不断的高频
- scoreboard players set @e[type=Item] 1 1
- tp @e[score_1_min=1] @e[type=Zombie,c=1]
- execute @e[type=ArmorStand,name=shantian] ~ ~ ~ effect @e[type=Zombie,c=1] 6 1 10
5.盔甲架和豹猫:
盔甲架在生成时,也会生成一只豹猫。豹猫在生成时时无敌隐身的,但是打掉盔甲架豹猫会死。原因就是利用了非电路。首先利用testfor指令探测盔甲架是否存在。
指令方块后面连接比较器,上面利用红石火把并连接kill指令做一个非电路。如果探测到盔甲架不存在的话,比较器会熄灭,上面的红石火把会被激活并触发kill指令。若盔甲架生成,比较器会输出,火把会熄灭。其他的可以进入存档来探索。
bug:
1.若掉落物太多或者因为高频的时差,可能会造成当掉落物在空中待一小会之后会直接下落,之后僵尸死了才tp到它身上的问题。这个bug已经尝试用延时来修复,但是似乎没有什么成果(不知是不是因为渣机自身的问题)
2.掉落物起来的速度有时可能不太理想。这似乎跟高频积分板的速度有关。
3.因为我用的是探测僵尸的基础上探测掉落物,所以有时先放掉落物再放僵尸可能会出点小问题。
4.若连续使用并不停止有可能会出现电路暂停工作。这一点正在修复中。
进入存档须知:
绿色旗帜:可以获得一颗生成特定盔甲架的蛋。
蓝色旗帜:生成豹猫的命令方块。这里是必改项目!不然豹猫不会跟着你而造成不便。
钻石块:调整探测的实体和探测半径。
金块:调整探测掉落物的半径。
铁块:调整要针对的实体(进入存档默认为僵尸)。
尽量不要随意调整中继器的延时,否则可能会造成在掉落物底下的屏障被消除之前就tp到了僵尸身上,以至于僵尸掉到虚空。
↓存档在此
因为自身时间越来越少,所以没有办法专心来做这些东西,还请见谅。如果不出意外的话,这应该是我2015年最后一个帖子了(不算隐退贴),还请多多包涵。
出自索引:http://www.mcbbs.net/thread-440268-1-1.html
[groupid=1009]The Command's Power[/groupid]