Advertisement
Brigson

Untitled

May 25th, 2015
1,156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 32.56 KB | None | 0 0
  1. Итак, начнем туториал по созданию посоха Бога естественно с создания самого посоха.
  2. В качестве посоха у нас взят предмет палка, зачарованная на остроту сотого уровня и силу также сотого уровня. В итоге мы получили посох Бога, который с одного удара по мобу наносит ему урон в 1260 единиц. Естественно для убычного убийства любого моба ему хватит одного удара.
  3. Но нам нужно создать ему магию. Поэтому далее создаем события в скорборд.
  4. Первое событие связанное с обнаружением в руках игрока посоха Бога. Это событие с фиктивным критерием dummy, который ничего не считает сам по себе, и назвал я его posoh. Как только мы берем в руки посох Бога, его обнаруживает тест-команда
  5. 1. /testfor @a {SelectedItem:{tag:{display:{Name:"посох Бога"}}}}
  6. и сразу от этого командного блока подается через компаратор сигнал на командный блок, в котором нам сразу устанавливается 1 очко в событии посох
  7. 2. /scoreboard players set @a posoh 1
  8. на командном блоке здесь же ставим красный факел, который потушен пока у нас в руках посох Бога, как только мы уберем из рук посох, красный факел зажигается и активирует команду в командном блоке, которая устанавливает в событии посох 0 очков игрокам
  9. 3. /scoreboard players set @a posoh 0
  10. Создаем второе событие в скорборд с соединенным критерием stat.damageDealt, который будет считать нанесенный игроком урон. Я назвал его damage
  11. 4. /scoreboard objectives add damage stat.damageDealt
  12. Создаем третье событие в скорборд с соединенным критерием stat.walkOneCm, который будет считать пройденное нами расстояние. Я назвал его walk
  13. 5. /scoreboard objectives add walk stat.walkOneCm
  14. Чуть позже я объясню назначение второго и третьего событий. И наконец, создаем последнее четвертое событие, с фиктивным критерием dummy, которое я назвал радиус
  15. 6. /scoreboard objectives add radius dummy
  16. и о нем я расскажу сразу и подробно. я создал на поверхности земли вот такую окружность, естественно в 360°. Чтобы было более наглядно, я разделил эту окружность на 12 секторов. На границе каждого сектора установлен редстоун. Это ориентиры. В одном из видео на моем канале я говорил о тесте взгляда игрока, туториал так и называется "Тестер взгляда". И в создании посоха Бога я это и применил в полной мере, но здесь использовал тест только по горизонтали. Итак, когда мой взгляд направлен в границах определенного сектора, между двумя ориентирами это фиксируется игрой. И для каждого сектора мы устанавливаем определенное количество очков в событии радиус.
  17. Со скорбордом на этом всё. Для чего все эти события были нужны? Для того, чтобы задать аргументы в последующих командах, а именно - игрок, имеющий определенные очки в событиях будет соответствовать заданным аргументам, и все команды будут выполняться только относительно игрока, соответствующему нужным аргументам. Конечно, на радиус можно было и не создавать событие, а в аргументах постоянно указывать координаты на направление взгляда, но это было бы очень нудно и путанно.
  18. Дальше нам нужно создать довольно большой клок-генератор на командных блоках, к которому в первую очередь подключаем 12 командных блоков, которые и будут устанавливать нам определенные очки в событии радиус. По одному командному блоку на каждый сектор, и каждый командный блок будет устанавливать свой счет игроку, если взгляд игрока будет находиться в соответствующем секторе между двумя ориентирами. Все эти 12 команд в описании под видео, так как в них показаны координаты взгляда на все 360° по горизонтали.
  19. 7. /scoreboard players set @a[rym=76,ry=105] radius 1
  20. /scoreboard players set @a[rym=106,ry=136] radius 2
  21. /scoreboard players set @a[rym=137,ry=166] radius 3
  22. /scoreboard players set @a[rym=167,ry=-163] radius 4
  23. /scoreboard players set @a[rym=-162,ry=-133] radius 5
  24. /scoreboard players set @a[rym=-132,ry=-106] radius 6
  25. /scoreboard players set @a[rym=-105,ry=-74] radius 7
  26. /scoreboard players set @a[rym=-73,ry=-44] radius 8
  27. /scoreboard players set @a[rym=-43,ry=-14] radius 9
  28. /scoreboard players set @a[rym=-13,ry=16] radius 10
  29. /scoreboard players set @a[rym=17,ry=47] radius 11
  30. /scoreboard players set @a[rym=47,ry=75] radius 12
  31. С радиусом думаю всё понятно, вернемся к событию на ходьбу walk. Когда мы ходим, это событие считает пройденный нами путь. Вроде бы зачем? Но как я говорил в видео премьеры посоха Бога, я сделал, чтобы он работал лишь тогда, когда игрок стоит на месте, а когда движется посох работать не будет. Это нужно для того, чтобы не перегружать игру и чтоб она не залагала. Дальше вы поймете почему. Итак, мы ходим и счет в событии walk у нас постоянно увеличивается. Я поставил командный блок с командой, которая устанавливает игроку в событии walk 1 очко
  32. 8. /scoreboard players set @a walk 1
  33. и этот командный блок подключил к генератору импульсов, у которого задержка между импульсами в два такта - два повторителя. Теперь у нас постоянно устанавливается игроку в этом событии 1 очко. Когда игрок движется, счет все равно успевает вырастать до определенного количества, когда игрок стоит - его счет в этом событии будет равен одному очку, тем самым игрок будет соответствовать аргументу, который определяет игрока с одним очком в событии walk
  34. Теперь перейдем опять к нашему генератору импульсу на командных блоках и начнем создавать тесты. Для этого к импульсу ставим командный блок с тестом игрока, соответствующего заданным в команде аргументам. А именно, в первом тесте мы ищем игрока, у которого в событии радиус максимум и минимум 1 очко, то есть взгляд его должен находится в первом секторе. Также у этого игрока должно быть одно очко в событии посох, то есть этот игрок должен держать в руке посох Бога. И наконец у этого же игрока еще должно быть максимум 1 очко в событии walk. В итоге тест ищет игрока, который стоит на месте с посохом Бога в руке и взгляд этого игрока находится в пределах первого сектора.
  35. 9. /testfor @a[score_radius=1,score_radius_min=1,score_posoh_min=1,score_walk=1]
  36. как только игрок, то есть я или вы, будет соответствовать всем аргументам в команде, то подастся сигнал через компаратор на последующий командный блок в котором относительно игрока с такими же аргументами на один блок по убывающей по оси икс на уровне головы заспаунится невидимая летучая мышь с именем 1. Имя мыши соответствует номеру сектора взгляда
  37. 10. /execute @a[score_radius=1,score_radius_min=1,score_posoh_min=1,score_walk=1] ~-1 ~ ~ /summon Bat ~ ~1 ~ {Attributes:[{Name:generic.maxHealth,Base:500}],NoAI:1,Silent:1,CustomName:"1",ActiveEffects:[{Id:14,Amplifier:5,Duration:19999980,ShowParticles:0b}]}
  38. почему я не присоединил этот командный блок сразу к импульсу сигналов, а поставил его через тестер? Потому что при данной схеме как только мы будет соответствовать всем аргументам, тестер нас найдет и сигнал на компараторе будет находится постоянно, пока мы соответствуем указанным аргументам, соответственно заспаунится лишь одна летучая мышь. А если я поставлю сразу командный блок с командой execute к клок-генератору, то как только мы будем соответствовать всем аргументам у нас постоянно будут спауниться летучие мыши, десятки-сотни, из-за этого могут быть лаги.
  39. Отвлечемся на летучую мышь. Команда спаунит летучую мышь с именем, соответствующему как номеру каждого сектора взгляда, так и количеству очей в событии радиус. Мышь без интеллекта, бесшумная, с эффектом невидимости и атрибутом здоровья равным 500. Чтобы убить летучую мышь с таким атрибутом здоровья нам нужно нанести ей 5040 единиц урона, тогда как наш посох Бога за один удар наносит 1260 единиц. Это нужно для того, чтобы мы, махнув посохом, не убили мышь, так как при ее убийстве вызовутся частицы explode, которые появляются при смерти моба, а они нам не нужны здесь.
  40. Как только мы нанесем одним ударом этой летучей мыши урон в 1260 единиц, у нас сработает команда в командном блоке, присоединенному к клок-генератору, в котором относительно игрока, имеющему минимум 1000 очей урона все летучие мыши в радиусе 20-ти блоков от него телепортируются к стойке для брони с именем killer
  41. 11. /execute @a[score_damage_min=1000] ~ ~ ~ /tp @e[type=Bat,r=20] @e[name=killer]
  42. у стойки с именем killer уже сработает команда в другом командном блоке, подключенному к генератору импульсов, которая убивает всех летучих мышей в радиусе пяти блоков от стойки.
  43. 12. /execute @e[name=killer] ~ ~ ~ kill @e[type=Bat,r=5]
  44. В том случае, если мы остановились с посохом в руке и захотели например срубить дерево и взяли в руки топор, то для того, чтобы заспаунившаяся летучая мышь с мегаздоровьем нам не мешала, мы подсоединяем к общему клок-генератору командный блок с командой, которая телепортирует летучую мышь к стойке с именем killer, как только мы убираем посох Бога из руки.
  45. 13. /execute @a[score_posoh=0] ~ ~ ~ tp @e[type=Bat,r=20] @e[name=killer]
  46. Вернемся опять к нашим тестерам. Когда тест нашел игрока с заданными аргументами на направление взгляда в первом секторе и с одним очком в событии walk и выдал сигнал, красный факел гасится. Если игрок снова пойдет и его очки в событии walk не будут равным одному, либо его взгляд уйдет из первого сектора, сигнал с теста пропадет и красный факел загорится, активировав команду в командном блоке, которая телепортирует сущность, летучую мышь с именем 1 к стойке для брони с именем killer, и там эта мышь умрет.
  47. 14. /tp @e[name=1] @e[name=killer]
  48. точно также работают тесты для остальных одиннадцати секторов, только с аргументами, соответствующими сектору, в котором находится взгляд, с именем мыши, соотетствующему сектору и редактируем место спауна мыши, чтобы они телепортировалась перед игроком. Все эти команды в описании под видео под номером 15
  49. 15. сектор 2
  50. /testfor @a[score_radius=2,score_radius_min=2,score_posoh_min=1,score_walk=1]
  51. execute @a[score_radius=2,score_radius_min=2,score_posoh_min=1,score_walk=1] ~-1 ~ ~-0.5 /summon Bat ~ ~1 ~ {Attributes:[{Name:generic.maxHealth,Base:127}],NoAI:1,Silent:1,CustomName:"2",ActiveEffects:[{Id:14,Amplifier:5,Duration:19999980,ShowParticles:0b}]}
  52. tp @e[name=2] @e[name=killer]
  53. сектор 3
  54. /testfor @a[score_radius=3,score_radius_min=3,score_posoh_min=1,score_walk=1]
  55. execute @a[score_radius=3,score_radius_min=3,score_posoh_min=1,score_walk=1] ~-0.5 ~ ~-1 /summon Bat ~ ~1 ~ {Attributes:[{Name:generic.maxHealth,Base:127}],NoAI:1,Silent:1,CustomName:"3",ActiveEffects:[{Id:14,Amplifier:5,Duration:19999980,ShowParticles:0b}]}
  56. tp @e[name=3] @e[name=killer]
  57. сектор 4
  58. /testfor @a[score_radius=4,score_radius_min=4,score_posoh_min=1,score_walk=1]
  59. execute @a[score_radius=4,score_radius_min=4,score_posoh_min=1,score_walk=1] ~ ~ ~-1 /summon Bat ~ ~1 ~ {Attributes:[{Name:generic.maxHealth,Base:127}],NoAI:1,Silent:1,CustomName:"4",ActiveEffects:[{Id:14,Amplifier:5,Duration:19999980,ShowParticles:0b}]}
  60. tp @e[name=4] @e[name=killer]
  61. сектор 5
  62. /testfor @a[score_radius=5,score_radius_min=5,score_posoh_min=1,score_walk=1]
  63. execute @a[score_radius=5,score_radius_min=5,score_posoh_min=1,score_walk=1] ~0.5 ~ ~-1 /summon Bat ~ ~1 ~ {Attributes:[{Name:generic.maxHealth,Base:127}],NoAI:1,Silent:1,CustomName:"5",ActiveEffects:[{Id:14,Amplifier:5,Duration:19999980,ShowParticles:0b}]}
  64. tp @e[name=5] @e[name=killer]
  65. сектор 6
  66. /testfor @a[score_radius=6,score_radius_min=6,score_posoh_min=1,score_walk=1]
  67. execute @a[score_radius=6,score_radius_min=6,score_posoh_min=1,score_walk=1] ~1 ~ ~-0.5 /summon Bat ~ ~1 ~ {Attributes:[{Name:generic.maxHealth,Base:127}],NoAI:1,Silent:1,CustomName:"6",ActiveEffects:[{Id:14,Amplifier:5,Duration:19999980,ShowParticles:0b}]}
  68. tp @e[name=6] @e[name=killer]
  69. сектор 7
  70. /testfor @a[score_radius=7,score_radius_min=7,score_posoh_min=1,score_walk=1]
  71. execute @a[score_radius=7,score_radius_min=7,score_posoh_min=1,score_walk=1] ~1 ~ ~ /summon Bat ~ ~1 ~ {Attributes:[{Name:generic.maxHealth,Base:127}],NoAI:1,Silent:1,CustomName:"7",ActiveEffects:[{Id:14,Amplifier:5,Duration:19999980,ShowParticles:0b}]}
  72. tp @e[name=7] @e[name=killer]
  73. сектор 8
  74. /testfor @a[score_radius=8,score_radius_min=8,score_posoh_min=1,score_walk=1]
  75. execute @a[score_radius=8,score_radius_min=8,score_posoh_min=1,score_walk=1] ~1 ~ ~0.5 /summon Bat ~ ~1 ~ {Attributes:[{Name:generic.maxHealth,Base:127}],NoAI:1,Silent:1,CustomName:"8",ActiveEffects:[{Id:14,Amplifier:5,Duration:19999980,ShowParticles:0b}]}
  76. tp @e[name=8] @e[name=killer]
  77. сектор 9
  78. /testfor @a[score_radius=9,score_radius_min=9,score_posoh_min=1,score_walk=1]
  79. execute @a[score_radius=9,score_radius_min=9,score_posoh_min=1,score_walk=1] ~0.5 ~ ~1 /summon Bat ~ ~1 ~ {Attributes:[{Name:generic.maxHealth,Base:127}],NoAI:1,Silent:1,CustomName:"9",ActiveEffects:[{Id:14,Amplifier:5,Duration:19999980,ShowParticles:0b}]}
  80. tp @e[name=9] @e[name=killer]
  81. сектор 10
  82. /testfor @a[score_radius=10,score_radius_min=10,score_posoh_min=1,score_walk=1]
  83. execute @a[score_radius=10,score_radius_min=10,score_posoh_min=1,score_walk=1] ~ ~ ~1 /summon Bat ~ ~1 ~ {Attributes:[{Name:generic.maxHealth,Base:127}],NoAI:1,Silent:1,CustomName:"10",ActiveEffects:[{Id:14,Amplifier:5,Duration:19999980,ShowParticles:0b}]}
  84. tp @e[name=10] @e[name=killer]
  85. сектор 11
  86. /testfor @a[score_radius=11,score_radius_min=11,score_posoh_min=1,score_walk=1]
  87. execute @a[score_radius=11,score_radius_min=11,score_posoh_min=1,score_walk=1] ~-0.5 ~ ~1 /summon Bat ~ ~1 ~ {Attributes:[{Name:generic.maxHealth,Base:127}],NoAI:1,Silent:1,CustomName:"11",ActiveEffects:[{Id:14,Amplifier:5,Duration:19999980,ShowParticles:0b}]}
  88. tp @e[name=11] @e[name=killer]
  89. сектор 12
  90. /testfor @a[score_radius=12,score_radius_min=12,score_posoh_min=1,score_walk=1]
  91. execute @a[score_radius=12,score_radius_min=12,score_posoh_min=1,score_walk=1] ~-1 ~ ~0.5 /summon Bat ~ ~1 ~ {Attributes:[{Name:generic.maxHealth,Base:127}],NoAI:1,Silent:1,CustomName:"12",ActiveEffects:[{Id:14,Amplifier:5,Duration:19999980,ShowParticles:0b}]}
  92. tp @e[name=12] @e[name=killer]
  93. теперь нам к общему клок-генератору нужно присоединить еще 12 командных блоков, по одному на сектор, в котором относительно игрока с аргументами на направление взгляда в определенном секторе, с посохом в руке и с нанесенным уроном минимум в 1000 единиц спаунится невидимая маленькая стойка для брони с именем weapon сразу с заданным движением, причем место спауна относительно игрока и направление движения стойка разные для каждого сектора
  94. 16. execute @a[score_radius=1,score_radius_min=1,score_posoh_min=1,score_damage_min=1000] ~-1 ~1 ~ /summon ArmorStand ~ ~1 ~ {CustomName:"weapon",Motion:[-1.8,0.2,0.0],Small:1,Invisible:1,Invulnerable:1}
  95. execute @a[score_radius=2,score_radius_min=2,score_posoh_min=1,score_damage_min=1000] ~-1 ~1 ~-0.5 /summon ArmorStand ~ ~1 ~ {CustomName:"weapon",Motion:[-1.8,0.2,-1.1],Small:1,Invisible:1,Invulnerable:1}
  96. execute @a[score_radius=3,score_radius_min=3,score_posoh_min=1,score_damage_min=1000] ~-0.5 ~1 ~-1 /summon ArmorStand ~ ~1 ~ {CustomName:"weapon",Motion:[-0.9,0.2,-1.8],Small:1,Invisible:1,Invulnerable:1}
  97. execute @a[score_radius=4,score_radius_min=4,score_posoh_min=1,score_damage_min=1000] ~ ~1 ~-1 /summon ArmorStand ~ ~1 ~ {CustomName:"weapon",Motion:[0.0,0.2,-1.8],Small:1,Invisible:1,Invulnerable:1}
  98. execute @a[score_radius=5,score_radius_min=5,score_posoh_min=1,score_damage_min=1000] ~0.5 ~1 ~-1 /summon ArmorStand ~ ~1 ~ {CustomName:"weapon",Motion:[1.0,0.2,-1.8],Small:1,Invisible:1,Invulnerable:1}
  99. execute @a[score_radius=6,score_radius_min=6,score_posoh_min=1,score_damage_min=1000] ~1 ~1 ~-0.5 /summon ArmorStand ~ ~1 ~ {CustomName:"weapon",Motion:[1.8,0.2,-1.0],Small:1,Invisible:1,Invulnerable:1}
  100. execute @a[score_radius=7,score_radius_min=7,score_posoh_min=1,score_damage_min=1000] ~1 ~1 ~ /summon ArmorStand ~ ~1 ~ {CustomName:"weapon",Motion:[1.8,0.2,0.0],Small:1,Invisible:1,Invulnerable:1}
  101. execute @a[score_radius=8,score_radius_min=8,score_posoh_min=1,score_damage_min=1000] ~1 ~1 ~0.5 /summon ArmorStand ~ ~1 ~ {CustomName:"weapon",Motion:[1.8,0.2,1.1],Small:1,Invisible:1,Invulnerable:1}
  102. execute @a[score_radius=9,score_radius_min=9,score_posoh_min=1,score_damage_min=1000] ~0.5 ~1 ~1 /summon ArmorStand ~ ~1 ~ {CustomName:"weapon",Motion:[1.0,0.2,1.8],Small:1,Invisible:1,Invulnerable:1}
  103. execute @a[score_radius=10,score_radius_min=10,score_posoh_min=1,score_damage_min=1000] ~ ~1 ~1 /summon ArmorStand ~ ~1 ~ {CustomName:"weapon",Motion:[0.0,0.2,1.8],Small:1,Invisible:1,Invulnerable:1}
  104. execute @a[score_radius=11,score_radius_min=11,score_posoh_min=1,score_damage_min=1000] ~-0.5 ~1 ~1 /summon ArmorStand ~ ~1 ~ {CustomName:"weapon",Motion:[-1.1,0.2,1.8],Small:1,Invisible:1,Invulnerable:1}
  105. execute @a[score_radius=12,score_radius_min=12,score_posoh_min=1,score_damage_min=1000] ~-1 ~1 ~0.5 /summon ArmorStand ~ ~1 ~ {CustomName:"weapon",Motion:[-1.8,0.2,1.0],Small:1,Invisible:1,Invulnerable:1}
  106. В итоге, как только мы ударим посохом летучую мышь, наносим урон 1260 единиц - перед нами вызывается невидимая стойка для брони с заданным движением. Чтобы относительно стойки с именем weapon вызвались частицы witchMagic, к общему клок-генератору присоединяем командый блок с командой на вызов частиц возле этой стойки.
  107. 17. /execute @e[name=weapon] ~ ~ ~ particle witchMagic ~ ~ ~ 0.1 0.1 0.1 0 50
  108. движения самой стойки видно не будет, видны будут только летящие частицы witchMagic.
  109. нам также нужно постоянно сбрасывать наш нанесенный урон, чтобы всё работало. Для этого к общему клок-генератору ставим командный блок с командой сброса очков в событии damage у игрока, у которого в этом событии минимум 1000 очков
  110. 18. execute @a[score_damage_min=1000] ~ ~ ~ /scoreboard players reset @a[score_damage_min=100] damage
  111. сразу хочу заметить, что командный блок с этой командой я присоединил к клок-генератору на координатах по z больше, чем командые блоки с вызовом стоек weapon или телепорта летучей мыши к стойке killer относительно игроков, имеющих нанесенный урон минимум 1000 единиц, так как если я его поставлю на меньших координатах, чем вышеперечисленные командные блоки, то команда в нем сработает быстрее, у игрока очиститься очки урона и команды со спауном стоек и телепортом летучей мыши не сработают, так как они работают лишь относительно игрока с минимальным нанесенным уроном в 1000 единиц.
  112. Итак, мы ударили посохом мышь, от нас полетела невидимая стойка weapon с частицами в нужном направлении. Теперь зададим тест этой стойки на поверхности.
  113. 19. testfor @e[name=weapon] {OnGround:1b}
  114. как только тест подтвердится, подастся команда на спаун возле стойки с именем weapon другой невидимой стойки с именем target
  115. 20. /execute @e[name=weapon] ~ ~ ~ /summon ArmorStand ~ ~1 ~ {CustomName:"target",Small:1,Invisible:1,Invulnerable:1}
  116. стойка с именем weapon нам больше не нужна, она свое предназначение выполнила, и теперь возле стойки с именем target мы ее убиваем
  117. 21. /execute @e[name=target] ~ ~ ~ kill @e[name=weapon,r=1]
  118. а относительно самой стойки target создаем магический столб, используя команду для вызова частиц witchMagic и crit
  119. /execute @e[name=target] ~ ~ ~ particle witchMagic ~ ~ ~ 0.1 2.0 0.1 0 20
  120. /execute @e[name=target] ~ ~ ~ particle crit ~ ~ ~ 0.01 2.0 0.01 0 200
  121. также для страховки от лагов и глюков, мы задаем дополнительные команды на убийство стойки с именем weapon каждые 8 секунд
  122. 22. /kill @e[name=weapon]
  123. /blockdata 146 63 237 {TransferCooldown:160}
  124. Итак, у нас есть магический столб возле стойки с именем target, относительно этой стойки и будут накладываться эффекты урона на мобов
  125. Присоединяем командные блоки с командами, дающими урон мобам к общему клок генератору
  126. относительно скелета, который в радиусе 10 блоков от магического столба вызываются стрелы, которые поражают его с пяти сторон.
  127. 23. /execute @e[name=target] ~ ~ ~ execute @e[type=Skeleton,r=10] ~-1 ~ ~ /summon Arrow ~ ~ ~ {Motion:[1.0,0.0,0.0],pickup:0,damage:10,life:1200}
  128. /execute @e[name=target] ~ ~ ~ execute @e[type=Skeleton,r=10] ~1 ~ ~-1 /summon Arrow ~ ~ ~ {Motion:[0.0,0.0,1.0],pickup:0,damage:10,life:1200}
  129. /execute @e[name=target] ~ ~ ~ execute @e[type=Skeleton,r=10] ~1 ~ ~1 /summon Arrow ~ ~ ~ {Motion:[0.0,0.0,-1.0],pickup:0,damage:10,life:1200}
  130. /execute @e[name=target] ~ ~ ~ execute @e[type=Skeleton,r=10] ~1 ~ ~ /summon Arrow ~ ~ ~ {Motion:[-1.0,0.0,0.0],pickup:0,damage:10,life:1200}
  131. /execute @e[name=target] ~ ~ ~ execute @e[type=Skeleton,r=10] ~ ~2 ~ /summon Arrow ~ ~ ~ {Motion:[0.0,-0.5,0.0],pickup:0,damage:50,life:1200}
  132. зомби в радиусе 10 блоков от магического столба получают эффект мгновенного лечения, который наносит урон нежити, а также начинают гореть
  133. 24. /execute @e[name=target] ~ ~ ~ effect @e[type=Zombie,r=10] minecraft:instant_health 1 0
  134. /execute @e[name=target] ~ ~ ~ execute @e[type=Zombie,r=10] ~ ~ ~ setblock ~ ~0.1 ~ minecraft:fire 0 replace
  135. пауки в радиусе 10 блоков от магического столба получают эффект замедления 7-го уровня, который их обездвиживает, а также эффект иссушения
  136. 25. /execute @e[name=target] ~ ~ ~ effect @e[type=Spider,r=10] minecraft:wither 10 20
  137. /execute @e[name=target] ~ ~ ~ effect @e[type=Spider,r=10] minecraft:slowness 10 7
  138. ведьмы в радиусе 10 блоков от магического столба получают мгновенный урон и умирают от магии
  139. 26. /execute @e[name=target] ~ ~ ~ effect @e[type=Witch,r=10] minecraft:instant_damage 10 3
  140. эндермены в радиусе 30 блоков от магического столба притягиваются к нему, и пока магический столб не исчез, они не могут никуда от него телепортироваться
  141. 27. /execute @e[name=target] ~ ~ ~ /tp @e[type=Enderman,r=30] @e[name=target]
  142. все криперы в радиусе 10 блоков от магического столба переименовываются, им дается имя fall
  143. 28. /execute @e[name=target] ~ ~ ~ entitydata @e[type=Creeper,r=10] {CustomName:"fall"}
  144. далее всех сущностей с именем fall телепортирует на два блока вверх и через два такта задержки после их телепортации возле них вызывается взрыв
  145. 29. /tp @e[name=fall] ~ ~2 ~
  146. /execute @e[name=fall] ~ ~ ~ summon PrimedTnt
  147. Ну и в заключении, когда мы ударим мышь, вызовется стойка с именем weapon, далее заспауниться наша ключевая стойка с именем target, относительно которой и вызывается магический столб и даются эффекты урона мобам. Мы задаем тест этой стойки на поверхности. Как только наша ключевая стойка обнаружится на поверхности, компаратор выдаст сигнал на командный блок, который меняет задержку воронки и она через 8 секунд передает предмет в другую воронку, от которой выходит сигналы на командые блоки с командой возвращающие первой воронке опять бесконечную задержку и командой, убивающей нашу ключевую стойку.
  148. 30. /testfor @e[name=target] {OnGround:1b}
  149. /blockdata 145 63 268 {TransferCooldown:160}
  150. /blockdata 145 63 268 {TransferCooldown:1000000}
  151. kill @e[name=target]
  152. То есть, чтоб не засорять карту, наш магический столб живет всего лишь 8 секунд.
  153. Напомню, что к основному клок-генератору можно присоединить еще кучу разных командных блоков и возможности посоха Бога на самом деле могут быть безграничны.
  154. Я надеюсь, что вам понравился туториал и вы оцените мой немалый труд лайками и положительными комментариями. Ссылка на карту, как и обещал, есть под видео. Играйте на карте и выживайте с посохом Бога. Я думаю вам понравится. Механизм я спрячу и он не будет вам мешать играть. Кто захочет посмотреть механизм в живую, просто наберите команду телепорта к стойке с именем killer. На этом всё, всем удачи и до новых встреч
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement