Brigson

Радиация

Nov 9th, 2015
3,242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.42 KB | None | 0 0
  1. Команда, образующая механизм (вставить команду в ком.блок и активировать его сбоку блоком красного камня)
  2.  
  3. /summon FallingSand ~ ~1 ~ {Block:redstone_block,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:fill ~ ~ ~1 ~ ~-33 ~1 redstone_block},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:fill ~ ~2 ~ ~ ~-34 ~1 air},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~3 ~-2 ~ {Block:command_block,Time:1,TileEntityData:{Command:fill ~ ~ ~-1 ~6 ~ ~1 quartz_block}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:setblock ~6 ~-28 ~2 minecraft:command_block 0 replace {Command:/scoreboard players set @a[score_rad_min=100] rad 0}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:setblock ~6 ~-26 ~3 minecraft:command_block 0 replace {Command:/execute @a ~ ~ ~ detect ~ ~-1 ~ minecraft:mycelium 0 /scoreboard players set @a[r=0] rad 99}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:setblock ~6 ~-26 ~3 minecraft:redstone_torch 0 replace},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:setblock ~6 ~-26 ~3 minecraft:quartz_block 0 replace},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:setblock ~6 ~-25 ~2 minecraft:unpowered_comparator 2 replace},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/setblock ~1 ~-27 ~5 minecraft:wooden_button 2 replace},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/fill ~2 ~-25 ~3 ~2 ~-25 ~7 minecraft:redstone_wire 0 replace},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/setblock ~2 ~-25 ~7 minecraft:command_block 0 replace {Command:/give @p minecraft:leather_boots 1 0 {display:{color:16440883,Name:"бахилы"}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/setblock ~2 ~-24 ~6 minecraft:command_block 0 replace {Command:/give @p minecraft:leather_leggings 1 0 {display:{color:16440883,Name:"защитный полукомбинезон"}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/setblock ~2 ~-23 ~5 minecraft:command_block 0 replace {Command:/give @p minecraft:leather_chestplate 1 0 {display:{color:16440883,Name:"защитная куртка"}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/setblock ~2 ~-22 ~4 minecraft:command_block 0 replace {Command:/give @p minecraft:leather_helmet 1 0 {display:{color:16440883,Name:"противогаз"}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/setblock ~2 ~-21 ~3 minecraft:command_block 0 replace {Command:/give @a minecraft:potion 1 0 {display:{Name:"антидот"}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~4 ~-15 ~-1 {Block:quartz_block,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players remove @a[score_healf_min=1] healf 1},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard objectives add rad dummy},Time:1,}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~5 ~-14 ~-1 {Block:quartz_block,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard objectives add time stat.playOneMinute },Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/effect @a[score_rad_min=98,score_rad=99] minecraft:poison 1 5 true},Time:1,}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~6 ~-13 ~-1 {Block:quartz_block,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @a ~ ~ ~ detect ~ ~-1 ~ minecraft:mycelium 0 /scoreboard players set @a[score_rad=99,r=0] rad 99},Time:1,}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~7 ~-12 ~-1 {Block:quartz_block,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players remove @a[score_rad_min=2,score_rad=99] rad 1},Time:1,}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~8 ~-11 ~-1 {Block:quartz_block,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/effect @a[score_rad_min=1,score_rad=2] minecraft:poison 1 1 true},Time:1,}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~9 ~-10 ~-1 {Block:quartz_block,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @e[score_healf_min=1] rad 0},Time:1,}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~4 ~-10 ~1 {Block:quartz_block,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @a[score_rad=0] rad 100 {Inventory:[{Slot:103b,tag:{display:{Name:"противогаз"}}},{Slot:102b,tag:{display:{Name:"защитная куртка"}}},{Slot:101b,tag:{display:{Name:"защитный полукомбинезон"}}},{Slot:100b,tag:{display:{Name:"бахилы"}}}]}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e ~ ~ ~ detect ~ ~-1 ~ minecraft:mycelium 0 /effect @e[type=!Player,r=0] minecraft:instant_damage 999999 0 true},Time:1,}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~5 ~-9 ~1 {Block:quartz_block,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @a[score_time_min=1,score_time=300] rad 0},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard objectives add healf stat.useItem.minecraft.potion},Time:1,}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~6 ~-8 ~1 {Block:quartz_block,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/testfor @a {Inventory:[{Slot:103b,tag:{display:{Name:"противогаз"}}},{Slot:102b,tag:{display:{Name:"защитная куртка"}}},{Slot:101b,tag:{display:{Name:"защитный полукомбинезон"}}},{Slot:100b,tag:{display:{Name:"бахилы"}}}]}},Time:1,}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~7 ~-7 ~1 {Block:quartz_block,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @a[score_rad_min=2,score_rad=2] rad 98},Time:1,}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~8 ~-6 ~1 {Block:quartz_block,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @a[score_healf_min=1,score_healf=1] healf 1 {SelectedItem:{tag:{display:{Name:"антидот"}}}}},Time:1,}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~9 ~-5 ~1 {Block:quartz_block,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/effect @a[score_healf_min=2] clear },Time:1,}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:gamerule commandBlockOutput false},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:fill ~3 ~-4 ~ ~9 ~-3 ~ redstone_block},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:setblock ~3 ~-3 ~-1 command_block 0 replace {Command:fill ~ ~ ~1 ~6 ~1 ~1 stone 0 replace redstone_block}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:setblock ~3 ~-2 ~1 command_block 0 replace {Command:fill ~ ~ ~-1 ~6 ~1 ~-1 redstone_block 0 replace stone}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:fill ~2 ~-1 ~-2 ~10 ~0 ~2 stained_glass 0 replace quartz_block},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:fill ~3 ~ ~-1 ~9 ~4 ~1 air 0 replace quartz_block},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:fill ~2 ~ ~-2 ~10 ~3 ~2 quartz_block},Time:1,Riding:{id:FallingSand,Block:stone,Time:1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
  4.  
  5. Команды в механизме (просто для объяснения, для чего они нужны:
  6.  
  7. создать событие для радиации
  8. /scoreboard objectives add rad dummy
  9.  
  10. наложение урона от радиации всем живым существам, кроме игроков (всем, кто наступает на мицелий)
  11. /execute @e ~ ~ ~ detect ~ ~-1 ~ minecraft:mycelium 0 /effect @e[type=!Player,r=0] minecraft:instant_damage 999999 0 true
  12.  
  13. наложение урона от радиации игроку, если он наступает на мицелий (зараженную зону) без защитного костюма
  14. /effect @a[score_rad_min=98,score_rad=99] minecraft:poison 1 5 true
  15.  
  16. создать событие на использование пузырька с водой (т.е на его выпивание)
  17. /scoreboard objectives add healf stat.useItem.minecraft.potion
  18.  
  19. установить игроку, который на мицелии без защитного костюма 99 очков в событии на радиацию
  20. /execute @a ~ ~ ~ detect ~ ~-1 ~ minecraft:mycelium 0 /scoreboard players set @a[score_rad=99,r=0] rad 99
  21.  
  22. тест игрока, надет ли на нем защитный костюм
  23. /testfor @a {Inventory:[{Slot:103b,tag:{display:{Name:"противогаз"}}},{Slot:102b,tag:{display:{Name:"защитная куртка"}}},{Slot:101b,tag:{display:{Name:"защитный полукомбинезон"}}},{Slot:100b,tag:{display:{Name:"бахилы"}}}]}
  24.  
  25. удаление по одному очку игроку в событии на радиацию, у которого от 2 до 99 очков в этом событии
  26. /scoreboard players remove @a[score_rad_min=2,score_rad=99] rad 1
  27.  
  28. установить снова 98 очков игроку, у которого 2 очка в событии на радиацию
  29. /scoreboard players set @a[score_rad_min=2,score_rad=2] rad 98
  30.  
  31. наложение урона от лучевой болезни игроку, который получил облучение, но уже не в зоне радиации
  32. /effect @a[score_rad_min=1,score_rad=2] minecraft:poison 1 1 true
  33.  
  34. установить 1 очко в событии на использование пузырька с водой игроку, держащему в руке пузырек с водой и выпившему его
  35. /scoreboard players set @a[score_healf_min=1,score_healf=1] healf 1 {SelectedItem:{tag:{display:{Name:"антидот"}}}}
  36.  
  37. установить 0 очков игроку в событии на радиацию, выпившему антидот.
  38. /scoreboard players set @e[score_healf_min=1] rad 0
  39.  
  40. удалить эффект урона от радиации игроку, выпившему антидот
  41. /effect @a[score_healf_min=2] clear
  42.  
  43. удалить одно очко в событии на использование пузырька игроку, у которого в этом событии минимум 1 очко
  44. /scoreboard players remove @a[score_healf_min=1] healf 1
  45.  
  46. дать игроку антидот
  47. /give @a minecraft:potion 1 0 {display:{Name:"антидот"}}
  48.  
  49. дать игроку противогаз
  50. /give @p minecraft:leather_helmet 1 0 {display:{color:16440883,Name:"противогаз"}}
  51.  
  52. дать игроку защитную куртку
  53. /give @p minecraft:leather_chestplate 1 0 {display:{color:16440883,Name:"защитная куртка"}}
  54.  
  55. дать игроку защитный полукомбинезон
  56. /give @p minecraft:leather_leggings 1 0 {display:{color:16440883,Name:"защитный полукомбинезон"}}
  57.  
  58. дать игроку бахилы
  59. /give @p minecraft:leather_boots 1 0 {display:{color:16440883,Name:"бахилы"}}
  60.  
  61. установить игроку, который на мицелии 99 очков в событии на радиацию
  62. /execute @a ~ ~ ~ detect ~ ~-1 ~ minecraft:mycelium 0 /scoreboard players set @a[r=0] rad 99
  63.  
  64. установить 0 очков в событии на радиацию игроку, у которого минимум 100 очков в этом событии (т.е на нем надет защитный костюм)
  65. /scoreboard players set @a[score_rad_min=100] rad 0
  66.  
  67. установить 100 очков в событии на радиацию игроку, на котором надет защитный костюм
  68. /scoreboard players set @a[score_rad=0] rad 100 {Inventory:[{Slot:103b,tag:{display:{Name:"противогаз"}}},{Slot:102b,tag:{display:{Name:"защитная куртка"}}},{Slot:101b,tag:{display:{Name:"защитный полукомбинезон"}}},{Slot:100b,tag:{display:{Name:"бахилы"}}}]}
  69.  
  70. создать событие на длительность нахождения игрока в игре
  71. /scoreboard objectives add time stat.playOneMinute
  72.  
  73. установить игроку, который находится в игре от 1 до 300 тактов по времени (т.е не дольше 15 секунд) 0 очков в событии на радиацию. Это нужно, чтобы работал механизм. Необходимо, чтобы у игрока был счет в событии на радиацию, а именно 0 очков. И чтобы дальше наш механизм работал, а не устанавливал постоянно от импульсов счет на 0 очков, тем самым сбивая механизм, я ограничил это. Счет будет постоянно устанавливаться в событии на радиацию только тем игрокам, которые в игре не дольше 15-ти секунд. Для остальных игроков этот счет не будет постоянно сбрасываться на ноль. Поэтому если вы в игре уже достаточно долго и решили создать механизм, а он не работает на вас, то просто выйдите и снова зайдите в игру (на карту)
  74. /scoreboard players set @a[score_time_min=1,score_time=300] rad 0
Advertisement
Add Comment
Please, Sign In to add comment