Карта для Майнкрафт с ванильной механикой фитилей из пороха. Брошенный на землю порох превращается в фитиль, который можно подобрать правой кнопкой мыши, поджечь огнём и использовать для подрыва динамита.
Особенности
- Огонь от горящего фитиля передаётся соседним фитилям в области 3×3×3.
- Динамит под фитилём либо рядом с ним по осям X и Z мгновенно активируется.
Как играть
Сначала создайте цели счётчика:
/scoreboard objectives add GFGunpowder dummy
/scoreboard objectives add GFEmptyFuse dummy
/scoreboard objectives add GFLitFuse dummy
Чтобы порох на земле создавал фитили, подключите к быстрому тактовому генератору и выполняйте в один тик:
/scoreboard players set @e[type=Item] GFGunpowder 1 {Item:{id:minecraft:gunpowder},OnGround:1b}
/execute @e[score_GFGunpowder_min=1] ~ ~ ~ /summon ItemFrame ~ ~-1 ~ {CustomName:GFTemp}
/execute @e[name=GFTemp] ~ ~ ~ /summon ArmorStand ~0.2 ~-0.5 ~0.7 {Small:1,Equipment:[{id:minecraft:gunpowder,Count:1},{},{},{},{}],Pose:{RightArm:[160f,0f,0f]},NoGravity:1,Invisible:1,CustomName:GFFuse}
/kill @e[name=GFTemp]
/kill @e[score_GFGunpowder_min=1]
Для удаления подхваченных игроком фитилей используйте на быстром генераторе в один тик:
/scoreboard players set @e[name=GFFuse] GFEmptyFuse 1
/scoreboard players set @e[name=GFFuse] GFEmptyFuse 0 {Equipment:[{Count:1b}]}
/kill @e[score_GFEmptyFuse_min=1]
Подожгите блок, в котором расположен фитиль. Для распространения огня подключите команды к генератору с задержкой не менее одного тика:
/execute @e[name=GFFuse] ~ ~ ~ detect ~ ~1 ~ fire 0 /scoreboard players set @e[name=GFFuse,r=0] GFLitFuse 1
execute @e[score_GFLitFuse_min=1] ~-1 ~-1 ~-1 /execute @e[name=GFFuse,dx=2,dy=2,dz=2] ~ ~ ~ /setblock ~ ~1 ~ fire
/kill @e[score_GFLitFuse_min=1]
Перед последней командой предыдущего блока добавьте команды для активации динамита:
/execute @e[score_GFLitFuse_min=1] ~ ~ ~ detect ~ ~ ~ tnt 0 /summon ArmorStand ~ ~ ~ {CustomName:GFTnt,Invisible:1,Invulnerable:1,Marker:1}
/execute @e[score_GFLitFuse_min=1] ~-1 ~1 ~ detect ~ ~ ~ tnt 0 /summon ArmorStand ~ ~ ~ {CustomName:GFTnt,Invisible:1,Invulnerable:1,Marker:1}
/execute @e[score_GFLitFuse_min=1] ~1 ~1 ~ detect ~ ~ ~ tnt 0 /summon ArmorStand ~ ~ ~ {CustomName:GFTnt,Invisible:1,Invulnerable:1,Marker:1}
/execute @e[score_GFLitFuse_min=1] ~ ~1 ~-1 detect ~ ~ ~ tnt 0 /summon ArmorStand ~ ~ ~ {CustomName:GFTnt,Invisible:1,Invulnerable:1,Marker:1}
/execute @e[score_GFLitFuse_min=1] ~ ~1 ~1 detect ~ ~ ~ tnt 0 /summon ArmorStand ~ ~ ~ {CustomName:GFTnt,Invisible:1,Invulnerable:1,Marker:1}
/execute @e[name=GFTnt] ~ ~ ~ /setblock ~ ~ ~ air
/execute @e[name=GFTnt] ~ ~ ~ /playsound game.tnt.primed @a
/execute @e[name=GFTnt] ~ ~ ~ /summon PrimedTnt ~-0.2 ~ ~-0.23 {Fuse:80,Motion:[0d,0.25d,0d]}
